diff --git a/README.md b/README.md index 5b42e54..ffd0187 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,13 @@ # template +## GIT + +### clone + git clone http://sethub.club/sethub/XML_Data_Parsing.git + git checkout -b dev_xxx origin/dev + +### pull + git pull origin dev + +## push + git push origin dev_xxx -u diff --git a/libxml2/.editorconfig b/libxml2/.editorconfig new file mode 100644 index 0000000..f752fe1 --- /dev/null +++ b/libxml2/.editorconfig @@ -0,0 +1,11 @@ +# EditorConfig : http://EditorConfig.org + +root = true + +[*] +indent_style = space +indent_size = 4 +tab_width = 8 + +[Makefile*] +indent_style = tab diff --git a/libxml2/.git_backup/HEAD b/libxml2/.git_backup/HEAD new file mode 100644 index 0000000..cb089cd --- /dev/null +++ b/libxml2/.git_backup/HEAD @@ -0,0 +1 @@ +ref: refs/heads/master diff --git a/libxml2/.git_backup/config b/libxml2/.git_backup/config new file mode 100644 index 0000000..0b2d7a6 --- /dev/null +++ b/libxml2/.git_backup/config @@ -0,0 +1,13 @@ +[core] + repositoryformatversion = 0 + filemode = false + bare = false + logallrefupdates = true + symlinks = false + ignorecase = true +[remote "origin"] + url = https://gitlab.gnome.org/GNOME/libxml2.git + fetch = +refs/heads/*:refs/remotes/origin/* +[branch "master"] + remote = origin + merge = refs/heads/master diff --git a/libxml2/.git_backup/description b/libxml2/.git_backup/description new file mode 100644 index 0000000..498b267 --- /dev/null +++ b/libxml2/.git_backup/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/libxml2/.git_backup/hooks/applypatch-msg.sample b/libxml2/.git_backup/hooks/applypatch-msg.sample new file mode 100644 index 0000000..a5d7b84 --- /dev/null +++ b/libxml2/.git_backup/hooks/applypatch-msg.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +commitmsg="$(git rev-parse --git-path hooks/commit-msg)" +test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"} +: diff --git a/libxml2/.git_backup/hooks/commit-msg.sample b/libxml2/.git_backup/hooks/commit-msg.sample new file mode 100644 index 0000000..f7458ef --- /dev/null +++ b/libxml2/.git_backup/hooks/commit-msg.sample @@ -0,0 +1,74 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines and messages that +# would confuse 'git am'. + +ret=0 + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + ret=1 +} + +comment_re="$( + { + git config --get-regexp "^core\.comment(char|string)\$" || + echo '#' + } | sed -n -e ' + ${ + s/^[^ ]* // + s|[][*./\]|\\&|g + s/^auto$/[#;@!$%^&|:]/ + p + }' +)" +scissors_line="^${comment_re} -\{8,\} >8 -\{8,\}\$" +comment_line="^${comment_re}.*" +blank_line='^[ ]*$' +# Disallow lines starting with "diff -" or "Index: " in the body of the +# message. Stop looking if we see a scissors line. +line="$(sed -n -e " + # Skip comments and blank lines at the start of the file. + /${scissors_line}/q + /${comment_line}/d + /${blank_line}/d + # The first paragraph will become the subject header so + # does not need to be checked. + : subject + n + /${scissors_line}/q + /${blank_line}/!b subject + # Check the body of the message for problematic + # prefixes. + : body + n + /${scissors_line}/q + /${comment_line}/b body + /^diff -/{p;q;} + /^Index: /{p;q;} + b body + " "$1")" +if test -n "$line" +then + echo >&2 "Message contains a diff that will confuse 'git am'." + echo >&2 "To fix this indent the diff." + ret=1 +fi + +exit $ret diff --git a/libxml2/.git_backup/hooks/fsmonitor-watchman.sample b/libxml2/.git_backup/hooks/fsmonitor-watchman.sample new file mode 100644 index 0000000..429e0a5 --- /dev/null +++ b/libxml2/.git_backup/hooks/fsmonitor-watchman.sample @@ -0,0 +1,168 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use IPC::Open2; + +# An example hook script to integrate Watchman +# (https://facebook.github.io/watchman/) with git to speed up detecting +# new and modified files. +# +# The hook is passed a version (currently 2) and last update token +# formatted as a string and outputs to stdout a new update token and +# all files that have been modified since the update token. Paths must +# be relative to the root of the working tree and separated by a single NUL. +# +# To enable this hook, rename this file to "query-watchman" and set +# 'git config core.fsmonitor .git/hooks/query-watchman' +# +my ($version, $last_update_token) = @ARGV; + +# Uncomment for debugging +# print STDERR "$0 $version $last_update_token\n"; + +# Check the hook interface version +if ($version ne 2) { + die "Unsupported query-fsmonitor hook version '$version'.\n" . + "Falling back to scanning...\n"; +} + +my $git_work_tree = get_working_dir(); + +my $json_pkg; +eval { + require JSON::XS; + $json_pkg = "JSON::XS"; + 1; +} or do { + require JSON::PP; + $json_pkg = "JSON::PP"; +}; + +launch_watchman(); + +sub launch_watchman { + my $o = watchman_query(); + if (is_work_tree_watched($o)) { + output_result($o->{clock}, @{$o->{files}}); + } +} + +sub output_result { + my ($clockid, @files) = @_; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # binmode $fh, ":utf8"; + # print $fh "$clockid\n@files\n"; + # close $fh; + + binmode STDOUT, ":utf8"; + print $clockid; + print "\0"; + local $, = "\0"; + print @files; +} + +sub watchman_clock { + my $response = qx/watchman clock "$git_work_tree"/; + die "Failed to get clock id on '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + + return $json_pkg->new->utf8->decode($response); +} + +sub watchman_query { + my $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'watchman -j --no-pretty') + or die "open2() failed: $!\n" . + "Falling back to scanning...\n"; + + # In the query expression below we're asking for names of files that + # changed since $last_update_token but not from the .git folder. + # + # To accomplish this, we're using the "since" generator to use the + # recency index to select candidate nodes and "fields" to limit the + # output to file names only. Then we're using the "expression" term to + # further constrain the results. + my $last_update_line = ""; + if (substr($last_update_token, 0, 1) eq "c") { + $last_update_token = "\"$last_update_token\""; + $last_update_line = qq[\n"since": $last_update_token,]; + } + my $query = <<" END"; + ["query", "$git_work_tree", {$last_update_line + "fields": ["name"], + "expression": ["not", ["dirname", ".git"]] + }] + END + + # Uncomment for debugging the watchman query + # open (my $fh, ">", ".git/watchman-query.json"); + # print $fh $query; + # close $fh; + + print CHLD_IN $query; + close CHLD_IN; + my $response = do {local $/; }; + + # Uncomment for debugging the watch response + # open ($fh, ">", ".git/watchman-response.json"); + # print $fh $response; + # close $fh; + + die "Watchman: command returned no output.\n" . + "Falling back to scanning...\n" if $response eq ""; + die "Watchman: command returned invalid output: $response\n" . + "Falling back to scanning...\n" unless $response =~ /^\{/; + + return $json_pkg->new->utf8->decode($response); +} + +sub is_work_tree_watched { + my ($output) = @_; + my $error = $output->{error}; + if ($error and $error =~ m/unable to resolve root .* directory (.*) is not watched/) { + my $response = qx/watchman watch "$git_work_tree"/; + die "Failed to make watchman watch '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + $output = $json_pkg->new->utf8->decode($response); + $error = $output->{error}; + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # close $fh; + + # Watchman will always return all files on the first query so + # return the fast "everything is dirty" flag to git and do the + # Watchman query just to get it over with now so we won't pay + # the cost in git to look up each individual file. + my $o = watchman_clock(); + $error = $o->{error}; + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + output_result($o->{clock}, ("/")); + return 0; + } + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + return 1; +} + +sub get_working_dir { + my $working_dir; + if ($^O =~ 'msys' || $^O =~ 'cygwin') { + $working_dir = Win32::GetCwd(); + $working_dir =~ tr/\\/\//; + } else { + require Cwd; + $working_dir = Cwd::cwd(); + } + + return $working_dir; +} diff --git a/libxml2/.git_backup/hooks/post-update.sample b/libxml2/.git_backup/hooks/post-update.sample new file mode 100644 index 0000000..ec17ec1 --- /dev/null +++ b/libxml2/.git_backup/hooks/post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/libxml2/.git_backup/hooks/pre-applypatch.sample b/libxml2/.git_backup/hooks/pre-applypatch.sample new file mode 100644 index 0000000..4142082 --- /dev/null +++ b/libxml2/.git_backup/hooks/pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +precommit="$(git rev-parse --git-path hooks/pre-commit)" +test -x "$precommit" && exec "$precommit" ${1+"$@"} +: diff --git a/libxml2/.git_backup/hooks/pre-commit.sample b/libxml2/.git_backup/hooks/pre-commit.sample new file mode 100644 index 0000000..29ed5ee --- /dev/null +++ b/libxml2/.git_backup/hooks/pre-commit.sample @@ -0,0 +1,49 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=$(git hash-object -t tree /dev/null) +fi + +# If you want to allow non-ASCII filenames set this variable to true. +allownonascii=$(git config --type=bool hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ASCII filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff-index --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + cat <<\EOF +Error: Attempt to add a non-ASCII file name. + +This can cause problems if you want to work with people on other platforms. + +To be portable it is advisable to rename the file. + +If you know what you are doing you can disable this check using: + + git config hooks.allownonascii true +EOF + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/libxml2/.git_backup/hooks/pre-merge-commit.sample b/libxml2/.git_backup/hooks/pre-merge-commit.sample new file mode 100644 index 0000000..399eab1 --- /dev/null +++ b/libxml2/.git_backup/hooks/pre-merge-commit.sample @@ -0,0 +1,13 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git merge" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message to +# stderr if it wants to stop the merge commit. +# +# To enable this hook, rename this file to "pre-merge-commit". + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" +: diff --git a/libxml2/.git_backup/hooks/pre-push.sample b/libxml2/.git_backup/hooks/pre-push.sample new file mode 100644 index 0000000..4ce688d --- /dev/null +++ b/libxml2/.git_backup/hooks/pre-push.sample @@ -0,0 +1,53 @@ +#!/bin/sh + +# An example hook script to verify what is about to be pushed. Called by "git +# push" after it has checked the remote status, but before anything has been +# pushed. If this script exits with a non-zero status nothing will be pushed. +# +# This hook is called with the following parameters: +# +# $1 -- Name of the remote to which the push is being done +# $2 -- URL to which the push is being done +# +# If pushing without using a named remote those arguments will be equal. +# +# Information about the commits which are being pushed is supplied as lines to +# the standard input in the form: +# +# +# +# This sample shows how to prevent push of commits where the log message starts +# with "WIP" (work in progress). + +remote="$1" +url="$2" + +zero=$(git hash-object --stdin &2 "Found WIP commit in $local_ref, not pushing" + exit 1 + fi + fi +done + +exit 0 diff --git a/libxml2/.git_backup/hooks/pre-rebase.sample b/libxml2/.git_backup/hooks/pre-rebase.sample new file mode 100644 index 0000000..6cbef5c --- /dev/null +++ b/libxml2/.git_backup/hooks/pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up to date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /usr/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +<<\DOC_END + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". + +DOC_END diff --git a/libxml2/.git_backup/hooks/pre-receive.sample b/libxml2/.git_backup/hooks/pre-receive.sample new file mode 100644 index 0000000..a1fd29e --- /dev/null +++ b/libxml2/.git_backup/hooks/pre-receive.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to make use of push options. +# The example simply echoes all push options that start with 'echoback=' +# and rejects all pushes when the "reject" push option is used. +# +# To enable this hook, rename this file to "pre-receive". + +if test -n "$GIT_PUSH_OPTION_COUNT" +then + i=0 + while test "$i" -lt "$GIT_PUSH_OPTION_COUNT" + do + eval "value=\$GIT_PUSH_OPTION_$i" + case "$value" in + echoback=*) + echo "echo from the pre-receive-hook: ${value#*=}" >&2 + ;; + reject) + exit 1 + esac + i=$((i + 1)) + done +fi diff --git a/libxml2/.git_backup/hooks/prepare-commit-msg.sample b/libxml2/.git_backup/hooks/prepare-commit-msg.sample new file mode 100644 index 0000000..10fa14c --- /dev/null +++ b/libxml2/.git_backup/hooks/prepare-commit-msg.sample @@ -0,0 +1,42 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first one removes the +# "# Please enter the commit message..." help message. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +COMMIT_MSG_FILE=$1 +COMMIT_SOURCE=$2 +SHA1=$3 + +/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE" + +# case "$COMMIT_SOURCE,$SHA1" in +# ,|template,) +# /usr/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;; +# *) ;; +# esac + +# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE" +# if test -z "$COMMIT_SOURCE" +# then +# /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE" +# fi diff --git a/libxml2/.git_backup/hooks/push-to-checkout.sample b/libxml2/.git_backup/hooks/push-to-checkout.sample new file mode 100644 index 0000000..af5a0c0 --- /dev/null +++ b/libxml2/.git_backup/hooks/push-to-checkout.sample @@ -0,0 +1,78 @@ +#!/bin/sh + +# An example hook script to update a checked-out tree on a git push. +# +# This hook is invoked by git-receive-pack(1) when it reacts to git +# push and updates reference(s) in its repository, and when the push +# tries to update the branch that is currently checked out and the +# receive.denyCurrentBranch configuration variable is set to +# updateInstead. +# +# By default, such a push is refused if the working tree and the index +# of the remote repository has any difference from the currently +# checked out commit; when both the working tree and the index match +# the current commit, they are updated to match the newly pushed tip +# of the branch. This hook is to be used to override the default +# behaviour; however the code below reimplements the default behaviour +# as a starting point for convenient modification. +# +# The hook receives the commit with which the tip of the current +# branch is going to be updated: +commit=$1 + +# It can exit with a non-zero status to refuse the push (when it does +# so, it must not modify the index or the working tree). +die () { + echo >&2 "$*" + exit 1 +} + +# Or it can make any necessary changes to the working tree and to the +# index to bring them to the desired state when the tip of the current +# branch is updated to the new commit, and exit with a zero status. +# +# For example, the hook can simply run git read-tree -u -m HEAD "$1" +# in order to emulate git fetch that is run in the reverse direction +# with git push, as the two-tree form of git read-tree -u -m is +# essentially the same as git switch or git checkout that switches +# branches while keeping the local changes in the working tree that do +# not interfere with the difference between the branches. + +# The below is a more-or-less exact translation to shell of the C code +# for the default behaviour for git's push-to-checkout hook defined in +# the push_to_deploy() function in builtin/receive-pack.c. +# +# Note that the hook will be executed from the repository directory, +# not from the working tree, so if you want to perform operations on +# the working tree, you will have to adapt your code accordingly, e.g. +# by adding "cd .." or using relative paths. + +if ! git update-index -q --ignore-submodules --refresh +then + die "Up-to-date check failed" +fi + +if ! git diff-files --quiet --ignore-submodules -- +then + die "Working directory has unstaged changes" +fi + +# This is a rough translation of: +# +# head_has_history() ? "HEAD" : EMPTY_TREE_SHA1_HEX +if git cat-file -e HEAD 2>/dev/null +then + head=HEAD +else + head=$(git hash-object -t tree --stdin &2 + exit 1 +} + +unset GIT_DIR GIT_WORK_TREE +cd "$worktree" && + +if grep -q "^diff --git " "$1" +then + validate_patch "$1" +else + validate_cover_letter "$1" +fi && + +if test "$GIT_SENDEMAIL_FILE_COUNTER" = "$GIT_SENDEMAIL_FILE_TOTAL" +then + git config --unset-all sendemail.validateWorktree && + trap 'git worktree remove -ff "$worktree"' EXIT && + validate_series +fi diff --git a/libxml2/.git_backup/hooks/update.sample b/libxml2/.git_backup/hooks/update.sample new file mode 100644 index 0000000..c4d426b --- /dev/null +++ b/libxml2/.git_backup/hooks/update.sample @@ -0,0 +1,128 @@ +#!/bin/sh +# +# An example hook script to block unannotated tags from entering. +# Called by "git receive-pack" with arguments: refname sha1-old sha1-new +# +# To enable this hook, rename this file to "update". +# +# Config +# ------ +# hooks.allowunannotated +# This boolean sets whether unannotated tags will be allowed into the +# repository. By default they won't be. +# hooks.allowdeletetag +# This boolean sets whether deleting tags will be allowed in the +# repository. By default they won't be. +# hooks.allowmodifytag +# This boolean sets whether a tag may be modified after creation. By default +# it won't be. +# hooks.allowdeletebranch +# This boolean sets whether deleting branches will be allowed in the +# repository. By default they won't be. +# hooks.denycreatebranch +# This boolean sets whether remotely creating branches will be denied +# in the repository. By default this is allowed. +# + +# --- Command line +refname="$1" +oldrev="$2" +newrev="$3" + +# --- Safety check +if [ -z "$GIT_DIR" ]; then + echo "Don't run this script from the command line." >&2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --type=bool hooks.allowunannotated) +allowdeletebranch=$(git config --type=bool hooks.allowdeletebranch) +denycreatebranch=$(git config --type=bool hooks.denycreatebranch) +allowdeletetag=$(git config --type=bool hooks.allowdeletetag) +allowmodifytag=$(git config --type=bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero=$(git hash-object --stdin &2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/libxml2/.git_backup/index b/libxml2/.git_backup/index new file mode 100644 index 0000000..dda4272 Binary files /dev/null and b/libxml2/.git_backup/index differ diff --git a/libxml2/.git_backup/info/exclude b/libxml2/.git_backup/info/exclude new file mode 100644 index 0000000..a5196d1 --- /dev/null +++ b/libxml2/.git_backup/info/exclude @@ -0,0 +1,6 @@ +# git ls-files --others --exclude-from=.git/info/exclude +# Lines that start with '#' are comments. +# For a project mostly in C, the following would be a good set of +# exclude patterns (uncomment them if you want to use them): +# *.[oa] +# *~ diff --git a/libxml2/.git_backup/logs/HEAD b/libxml2/.git_backup/logs/HEAD new file mode 100644 index 0000000..26c8223 --- /dev/null +++ b/libxml2/.git_backup/logs/HEAD @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 ddcb79dc9934fd8a26263f6368c4eb7aa43f6d49 unknown 1785055843 +0800 clone: from https://gitlab.gnome.org/GNOME/libxml2.git diff --git a/libxml2/.git_backup/logs/refs/heads/master b/libxml2/.git_backup/logs/refs/heads/master new file mode 100644 index 0000000..26c8223 --- /dev/null +++ b/libxml2/.git_backup/logs/refs/heads/master @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 ddcb79dc9934fd8a26263f6368c4eb7aa43f6d49 unknown 1785055843 +0800 clone: from https://gitlab.gnome.org/GNOME/libxml2.git diff --git a/libxml2/.git_backup/logs/refs/remotes/origin/HEAD b/libxml2/.git_backup/logs/refs/remotes/origin/HEAD new file mode 100644 index 0000000..26c8223 --- /dev/null +++ b/libxml2/.git_backup/logs/refs/remotes/origin/HEAD @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 ddcb79dc9934fd8a26263f6368c4eb7aa43f6d49 unknown 1785055843 +0800 clone: from https://gitlab.gnome.org/GNOME/libxml2.git diff --git a/libxml2/.git_backup/objects/pack/pack-7636ec2394c137c78d0f30f64a7b3818886de1c5.idx b/libxml2/.git_backup/objects/pack/pack-7636ec2394c137c78d0f30f64a7b3818886de1c5.idx new file mode 100644 index 0000000..befb18f Binary files /dev/null and b/libxml2/.git_backup/objects/pack/pack-7636ec2394c137c78d0f30f64a7b3818886de1c5.idx differ diff --git a/libxml2/.git_backup/objects/pack/pack-7636ec2394c137c78d0f30f64a7b3818886de1c5.pack b/libxml2/.git_backup/objects/pack/pack-7636ec2394c137c78d0f30f64a7b3818886de1c5.pack new file mode 100644 index 0000000..02e7669 Binary files /dev/null and b/libxml2/.git_backup/objects/pack/pack-7636ec2394c137c78d0f30f64a7b3818886de1c5.pack differ diff --git a/libxml2/.git_backup/objects/pack/pack-7636ec2394c137c78d0f30f64a7b3818886de1c5.rev b/libxml2/.git_backup/objects/pack/pack-7636ec2394c137c78d0f30f64a7b3818886de1c5.rev new file mode 100644 index 0000000..08d4c75 Binary files /dev/null and b/libxml2/.git_backup/objects/pack/pack-7636ec2394c137c78d0f30f64a7b3818886de1c5.rev differ diff --git a/libxml2/.git_backup/packed-refs b/libxml2/.git_backup/packed-refs new file mode 100644 index 0000000..c2ebf22 --- /dev/null +++ b/libxml2/.git_backup/packed-refs @@ -0,0 +1,491 @@ +# pack-refs with: peeled fully-peeled sorted +ee0520e097d5d5eabc355041f350558fadd07492 refs/remotes/origin/2.10 +0740a367a570c40246fe8077c2d172b63693f105 refs/remotes/origin/2.11 +d7657811964eac1cb9743bb98649278ad948f0d2 refs/remotes/origin/2.12 +04af2cabb9f859c198b8a553c028a87481199410 refs/remotes/origin/2.13 +d23960a130c5bb82779c9405fbbf85e65fb3c57c refs/remotes/origin/2.14 +c94eb0210183b9d7cb43f8e7fddc6be55843ef49 refs/remotes/origin/2.15 +7846b0a677f8d3ce72486125fa281e92ac9970e8 refs/remotes/origin/2.9 +0b348def38d88a639dae39870a23757dfdc4d4b7 refs/remotes/origin/LIB_XML_1_BRANCH +05a8ffeada05501f7a0288454e79c21203a31dd1 refs/remotes/origin/copy-entities +ddcb79dc9934fd8a26263f6368c4eb7aa43f6d49 refs/remotes/origin/master +163dc10dc51629c2ff9c027598a1a788213aadd4 refs/tags/CVE-2013-2877 +^e50ba8164eee06461c73cd8abb9b46aa0be81869 +fd5fad283f439e6711ac6c6cbba1e5eb4e7f9dc7 refs/tags/CVE-2014-0191 +^9cd1c3cfbd32655d60572c0a413e017260c854df +e0dbd9dfe4c93a326c88b917a388d29795b5f296 refs/tags/CVE-2014-3660 +^be2a7edaf289c5da74a4f9ed3a0b6c733e775230 +e1f895952796c7e1e264bee4bc6bb1195d2279ab refs/tags/CVE-2015-1819 +^213f1fe0d76d30eaed6e5853057defc43e6df2c9 +c4c966b3841b775cd7d6719aa7fcaa0f345264e2 refs/tags/CVE-2015-5312 +^69030714cde66d525a8884bda01b9e8f0abf8e1e +8f8bd7c77eba811e0566bfbe1f36a3d3837c59c2 refs/tags/CVE-2015-7497 +^6360a31a84efe69d155ed96306b9a931a40beab9 +b70d6d6dcf442e8769d2d290218ab75f2413e920 refs/tags/CVE-2015-7498 +^afd27c21f6b36e22682b7da20d726bce2dcb2f43 +ceaa9b17834d2986e93d304972e8c72380c602a8 refs/tags/CVE-2015-7499-1 +^28cd9cb747a94483f4aea7f0968d202c20bb4cfc +a5ec74ac392aac86fba093ecd0136ae6245cb2d5 refs/tags/CVE-2015-7499-2 +^35bcb1d758ed70aa7b257c9c3b3ff55e54e3d0da +b2a2bcfca4e09dbdc06cce57e19f14313590052e refs/tags/CVE-2015-7500 +^f1063fdbe7fa66332bbb76874101c2a7b51b519f +e892062051dd4bf2f18c1388f68d3fa6207fca99 refs/tags/CVE-2015-7941_1 +^a7dfab7411cbf545f359dd3157e5df1eb0e7ce31 +943170f1d822aa50ae4bbf37cfef56b2116735b7 refs/tags/CVE-2015-7941_2 +^9b8512337d14c8ddf662fcb98b0135f225a1c489 +4bafc7d56574333a7b865eef5a1d89484e9af453 refs/tags/CVE-2015-7942 +^bd0526e66a56e75a18da8c15c4750db8f801c52d +62f98ac9b842635e5874383c5cd1f91691443a9a refs/tags/CVE-2015-7942-2 +^41ac9049a27f52e7a1f3b341f8714149fc88d450 +c41fcb5c6e928a91dd4b29225b866baee7f687a7 refs/tags/CVE-2015-8035 +^f0709e3ca8f8947f2d91ed34e92e38a4c23eae63 +b27782bf51e7190816f62460bbe6d39fbba86caa refs/tags/CVE-2015-8242 +^8fb4a770075628d6441fb17a1e435100e2f3b1a2 +3293785cecdd5cc99a9c6d528f34826ba0868be4 refs/tags/CVE-2015-8317 +^709a952110e98621c9b78c4f26462a9d8333102e +294a51cccca59b83ded6337150dafc4b35f7adb7 refs/tags/CVE-2016-1762 +^a7a94612aa3b16779e2c74e1fa353b5d9786c602 +158f6d9604e60f1b0b742e83082ff725f87168fa refs/tags/CVE-2016-1833 +^0bcd05c5cd83dec3406c8f68b769b1d610c72f76 +4a189503c845360fd6c5004a4e696ac4e69505c7 refs/tags/CVE-2016-1834 +^8fbbf5513d609c1770b391b99e33314cd0742704 +9cad8ce3d3e8f426bb98046b983a6ff103321d00 refs/tags/CVE-2016-1835 +^38eae571111db3b43ffdeb05487c9f60551906fb +67dd1fda4bcaf457f922b2e0bb3169382ec3baf2 refs/tags/CVE-2016-1836 +^45752d2c334b50016666d8f0ec3691e2d680f0a0 +275b9f71a2c77fc76dec38b3e97a1d4dad497a17 refs/tags/CVE-2016-1837 +^11ed4a7a90d5ce156a18980a4ad4e53e77384852 +970aa35a0c96ec6dd44eb9e16b6ed7598a4c1702 refs/tags/CVE-2016-1838 +^db07dd613e461df93dde7902c6505629bf0734e9 +e804274a08ea2d5b7be5172dd05faeee9bb1dc7f refs/tags/CVE-2016-1839 +^a820dbeac29d330bae4be05d9ecd939ad6b4aa33 +bb9d3ea8b9b81bea178ef01e5e7092d40819c1ed refs/tags/CVE-2016-1840 +^cbb271655cadeb8dbb258a64701d9a3a0c4835b4 +82a7217b1c6eb37b9daca1dedd4c49618f0e7ac6 refs/tags/CVE-2016-3627 +^bdd66182ef53fe1f7209ab6535fda56366bd7ac9 +5f089881420bcd86034f3dba89935712b5491d83 refs/tags/CVE-2016-3705 +^8f30bdff69edac9075f4663ce3b56b0c52d48ce6 +d606f2da652964a79d86a7b920bde4e9a8863bfa refs/tags/CVE-2016-4449 +^b1d34de46a11323fccffa9fadeb33be670d602f5 +80dc44d75773a8f5d122ddf5e33ba7656fd43ce7 refs/tags/CVE-2016-4483 +^c97750d11bb8b6f3303e7131fe526a61ac65bcfd +33c656c8cfa423aa5c0f40421b84ae3c3b523060 refs/tags/CVE-2021-3541 +^8598060bacada41a0eb09d95c97744ff4e428f8e +6f67896efe30c2c748a77fa152fa318fdd31863c refs/tags/ChangeLog +^30fbd3f40eb514294b0f1a32f73db30a86c5b2e4 +6278cf2922e700a5122943e4a9d3b8e0f08e599b refs/tags/EAZEL-NAUTILUS-MS-AUG07 +^76234da1520f108588bbec7428f7d7f663e4b96e +58f71630e32934536da0b122e839853fcb213f00 refs/tags/FOR_GNOME_0_99_1 +^8f8b4c80f6dfcc5d3985367cfd078c8b6d6e3f4b +069c04b1511d99804f72e3dcbe876001e2806984 refs/tags/GNOME_0_30 +^8e0137ced4d14942286fe9ff8d423d986973795d +bcb6b9d6261a3f831ec611a433ab7e6f938dac24 refs/tags/GNOME_PRINT_0_24 +^4b0755c68b0182809a7db5b6ab1478cb2767abfb +555474d5bf57162b5bbef8d11c4d1cb615a8ffe3 refs/tags/GNUMERIC_FIRST_PUBLIC_RELEASE +^8e0137ced4d14942286fe9ff8d423d986973795d +5fef2815562c67e6367f15f5aefb50c91548f85a refs/tags/LIBXML2.6.31 +^216850b27ecf0a48bff5802f04760f5bdf027bfc +f4e1fc182582ff420cf8b7d2aa52b4c5085a1cd6 refs/tags/LIBXML2.6.32 +^596da973eb47ae1c5fcec9e0085994a689648868 +0461a0c499a6a58ad1a6732f2f76e38789b31e6b refs/tags/LIBXML2.7.0 +^1572425c2774b3fef6af062b87351a0e42c3e172 +2d3852c8072758184e8d1ef084cd8f2f0fc81236 refs/tags/LIBXML2.7.1 +^a7036d93a0fd81c34e1d1f25b9a099454c8b8ac5 +d9e71cf4744d527b6f27ef3b8f51afa8155ca924 refs/tags/LIBXML2.7.2 +^7f4547cdbd76a2931553759fb433df88b8b99452 +a30f67e606819120fa84931004eacb45db9e716d refs/tags/LIBXML2.7.3 +^97ff9b367a6428f7703aa7938595c03ad39652e0 +493ecdf13794c5c28b2cb5997932e53bd744af44 refs/tags/LIBXML2_2_4_21 +^fc57b41cb14a9920fa73cbb9fa1e495047970f2b +98b6e2e0ad4133df54ea9e6ba11aec5693930a65 refs/tags/LIBXML2_2_5_0 +^7b4b2f9d8fc712c49beaf75985161a130c77d13a +ae174f24106a3faee155f4ac363943e05c423547 refs/tags/LIBXML2_2_5_10 +^cfba2fe0bbbdd1158666fc1090c7f48c0fdb00e1 +ef1152a1bb47d73162ebb169f2187010e78853e8 refs/tags/LIBXML2_2_5_11 +^b42dc2bb2d66d31d2f811ad72880b4ba655a8f58 +594a62a749038ccfeddb97090526c81e92902a5f refs/tags/LIBXML2_2_5_7 +^92fc02cc52326430de4d7009b177e845fb69dba0 +0e641fffb721aadb23c4221b8c0cd7f5e0bb2e58 refs/tags/LIBXML2_2_5_8 +^560c2a441bf27f5b9d55252a70f3d5952d9ae351 +dbd8be27bbd3f3c1fd0502e3bbd6ffc43bf984f8 refs/tags/LIBXML2_2_5_9 +^83ee40de7569cf3e4cb45080fc9c9cb337a1e8cd +945d471f5eae6adb42841e57f6df34d7cbf478d6 refs/tags/LIBXML2_2_5_x +^cfba2fe0bbbdd1158666fc1090c7f48c0fdb00e1 +1866f526ba0d9dc85fe68d77657c42fb54579354 refs/tags/LIBXML2_2_6_1 +^ceffd451992ced3747ecd7477d74e3c88d3ad681 +d621edb6f28d8a91ba066b17c7eda5b5170e07a3 refs/tags/LIBXML2_2_6_11 +^45cb0f41e457439d508f03a19d7a6c98d9803d9f +fadd1eaf40a8960444cc078c4193ced10756ac80 refs/tags/LIBXML2_2_6_12 +^b331fffbb90064c98e4e6ec5c08bfbe8efa17ffd +1351130ccb631fc0c60a1be9d128145f3850442c refs/tags/LIBXML2_2_6_13 +^d1de4a3da9e5364a37469108b932e5ad66055a5e +6e4939285c4ca104695a45d78caf29e98011f378 refs/tags/LIBXML2_2_6_14 +^210818b18aec4674f43b45143f4f4eed850c9e50 +6070cd3f5d98c15ee39f6b3b8d0b7fec6c6cc33c refs/tags/LIBXML2_2_6_15 +^c2f83d1fad48c4483f34213dcf6935e308e0c596 +deea881c69a077adbe6289f22511f116f097846a refs/tags/LIBXML2_2_6_16 +^c3d7cb4e582da89a442d6da32b13950af4cf7067 +31398af43568e5dd3a216f54147e83c1c8694564 refs/tags/LIBXML2_2_6_18 +^57c000e33d0f970846aaa35d47a2b7faf5262032 +82466b40494d537d2c050dd96ca5a8d92714f385 refs/tags/LIBXML2_2_6_19 +^771971f2e5077482fce3d9c234455118f2352f73 +3a1b40aba764c9319781c4535b404b95036e7470 refs/tags/LIBXML2_2_6_2 +^6d373a26fff17281ac1c872adae95b14727ca959 +2ff310f0463982c9ed9ec2b6fc2fc8771437c399 refs/tags/LIBXML2_2_6_20 +^e4aaae2640843b4e1453f57c62a64d70faf95edb +1144760805ea47e56ce26556cccb9281db8e7e69 refs/tags/LIBXML2_2_6_21 +^0bcc7f6ae97a8bd8615dfd9d3acf8188ab66580e +83f982c60e1abf40ed98a1ba242629ec6e422077 refs/tags/LIBXML2_2_6_22 +^33b20b70e2b0cc036bd23909fe262f816228f305 +7ccf4c8f185a87d846e48385cdaf2bc244e34344 refs/tags/LIBXML2_2_6_23 +^6795260135a78da60182504a2d7efb4e3177eb57 +76ae427a860d53da573126c5d3defd1fbb1ae2a4 refs/tags/LIBXML2_2_6_24 +^b2f8f1de7a02900f3e62a8170618ac35bd189269 +6990c2948bab125fb3216e58981be116b9af5d90 refs/tags/LIBXML2_2_6_26 +^7cb3fa9d51a0a57d1e538854e4be84db82b75098 +4093371c160d427494f2b459e34762ca49cad824 refs/tags/LIBXML2_2_6_27 +^c8338f1a52e7712dbba5e7c2fd5f76ecf01bf14f +c23b0423f20e59dc2eeaf3913bef1c78b9404705 refs/tags/LIBXML2_2_6_28 +^e61d75f11e1e061d0394db395937cd8cdad7d689 +3283d0df55d21811897074b757cf32746a75f030 refs/tags/LIBXML2_2_6_29 +^9049c1c50a9e2454f2b43c988c6069631d313c1e +3d508f7d89b6c069f3d730a55e01e0ddf4fdf09d refs/tags/LIBXML2_2_6_3 +^c480c4ea56bbb5aad5ac991dafef5702dabb6360 +bba1bb9e7ca47ca5a3e73ccecede542da47f3964 refs/tags/LIBXML2_2_6_30 +^22f476e0f2f5549e0a246be62a3affba276f4b75 +d3e8c95b24821db0a34332f877e2f1f4919391f0 refs/tags/LIBXML2_2_6_4 +^e6e59cdf33e02648fc8f33c357accadf2a657668 +e5e563aa3507fc2d1c708b8d2bfe17869cf103f4 refs/tags/LIBXML2_2_6_5 +^189f46b18cf94b0c941f34138611dc56a16cc6f1 +f9548bdf541a0a1261034dee1749e9ba255858f9 refs/tags/LIBXML2_2_6_6 +^5c9547e4f3173e92501d735193767705eab9ac31 +cd9ffc78f627bda4b38322e4994873b80711ec24 refs/tags/LIBXML2_2_6_7 +^9291449d9e7ca7179a2b26182ef1ab375ff4731e +954f4c261bcf5e7b0e33076198886867b79895ee refs/tags/LIBXML2_2_6_8 +^252004df14b680d40c29e2ab479660162e15431e +c292b6aeacf7a0d17f7e938e548b704d6840dd36 refs/tags/LIBXML2_2_6_9 +^f70f7b2da92c10e551724fdc955c8b668e5ec0b6 +d1b1f19d55e17a37afa91f87909366f4bfd01788 refs/tags/LIBXML2_6_0 +^2189b59b1005976970ebadb65edbb289f9e091ff +f5210f2ab3bd0d3030d19b904421e905fcd79a03 refs/tags/LIBXML_0_99 +^29fb727eb480f10010f37ca9e0b984bbd4dcae3b +6e7609f2a73f3633f6e090e27c9ce0d7420e0f6a refs/tags/LIBXML_1_5_0 +^424af3912493b654c46e569b06b7cd58cb2947c9 +f64eef45b0dec07ef6e69d277aeb430f8d05da47 refs/tags/LIBXML_1_8_10 +^7cb7a77c30b4d64a276c43f9c446be165e5b6b1e +7872d3ee8561df9a75937b5762077c73fea74a54 refs/tags/LIBXML_1_8_10_REAL +^c0408519798f2e10497cb46e4d01b53cc7a08ce6 +a05e695a83ae96dda7712fd63614714992324952 refs/tags/LIBXML_1_8_12 +^73a4bfe95229a0f89ac9335a4f5f3960561d0158 +42344bf524ffced12be408577a1b78095350b72a refs/tags/LIBXML_1_8_14 +^146f50561fa2ad63cbf81571887b1e26101d64be +66cab196da7c222b0cb26e4de7812cb6806e1c8c refs/tags/LIBXML_1_8_16 +^a1ac9b0c7a23734d77fdd9235cb385f0e8b70025 +bb50ea3628cbd82f2869b5f27e2b63726277dec2 refs/tags/LIBXML_1_8_17 +^ead1ea69da2cceea4018cb411971261f8952444c +09e31436c4e938f3eba2b3f726c1da83d62dcb65 refs/tags/LIBXML_1_8_5 +^461a66c9428af63ee8de68fbb45deaf58c0f79fc +501e80104894e407e267da087f4a488cdc4a4163 refs/tags/LIBXML_1_8_6 +^e41f2b74c53d9d97b51dfc1d20aa201e4b2c9201 +b22494c4ada06e09e2aeed3be32b249291e277e2 refs/tags/LIBXML_1_8_8 +^08746ae6f0fe219b8c760ff6e85bddf9f39ac1ab +7ba7b81be0b6f52564a7395d5c87e02d3b7561b2 refs/tags/LIBXML_1_8_9 +^e98991955c4e6661ed1bfe8c84951ff6fd2ed1d6 +8d86f6fc6a5ef306638ae0bb59bac7cbe2750886 refs/tags/LIBXML_2_0_0 +^18b0ef6d41fdc3905e60fce0123f9ff5f48581da +1270f021d26d5ec3f8fba2fd932cc27fa2634518 refs/tags/LIBXML_2_1_0 +^c230410eadbada15092c04f92d01068af8a19f8d +ca834ba122b807fb2ce88142385a1475de22de5e refs/tags/LIBXML_2_1_1 +^663a607aa40e095a2e43a78a950a73a8ac1299dd +f8457304220ac4e34b0343d82d589ab9e1108409 refs/tags/LIBXML_2_2_1 +^69f94a3b722e33fc980ee9e59a78f5ec26863d26 +30a3c2d958db6a20c783cb87b2282a7911aad603 refs/tags/LIBXML_2_2_3 +^04698d9e1c56467007fcbb9472e5db67cf5938f5 +360a48b58ccbb9beddb707e6a0a3db237283d954 refs/tags/LIBXML_2_2_4 +^3bff2b0e5d2428cff9778ae60d38476f6c58c43b +1c168bcf814a286a761f3652b4ea0ca5bcb51b30 refs/tags/LIBXML_2_2_6 +^29a11cc696655f9ac841a5ca28b272e4150aafa1 +2da5a07b0b3bc69c9d74b310e27e6248a66b313d refs/tags/LIBXML_2_2_7 +^a4964b75003d138d4643ab03e3e116a8453f8308 +7e3278760ac64a94adcacfbb1837b6e175410e58 refs/tags/LIBXML_2_2_8 +^4e19074bc26bac984de1d8eb3e54a5aeee421af1 +a7ed8d41e2498fca91da0fe05b2245a2dd288c67 refs/tags/LIBXML_2_3_0 +^6a2e40604393375cf4c42c464a532dee0be82845 +b92adf88125b7e9d3a88b58fb004fc54d73bfa2e refs/tags/LIBXML_2_3_10 +^b3a182e53326cce1438bc2951372ffc1ca4eb18c +ec28ff67eb27b33d3a025d8675ed5be7373f787b refs/tags/LIBXML_2_3_11 +^6d473ed349020894228f29d334cba4749f9a7cea +e8544c76a86f17d33c7e6cd62ea43b530e27e40d refs/tags/LIBXML_2_3_12 +^823a77f8f9effd47b22715f66883bfd889c771ff +1aa09dd44d790f3583f000cbc4ade9ed5908a181 refs/tags/LIBXML_2_3_13 +^b37ecd0e51908bc9922fa37d1ec0aaaf9dc9d8e8 +a445536c5a474948ef1ac271be3f4d201fbfc298 refs/tags/LIBXML_2_3_14 +^5b43fde43de0b9a507f25238ad6ff3aec7cdafb2 +8accf226f0600685d5ed2127153ef5d329b572c2 refs/tags/LIBXML_2_3_2 +^59a3bd3744b5e46e30ab63dc772bfe924ad81469 +bf5e305a26c27f3a72a61430a49c563a972438e8 refs/tags/LIBXML_2_3_3 +^b402c07ca541924d89cd6ff49f99bd1b59097278 +00943a4a2de3546bf14b913378883103c023cee4 refs/tags/LIBXML_2_3_4 +^e356c280069914f0052891861a55fdfaff6dcf65 +72d74b776193484557d6a649685b26d22c154085 refs/tags/LIBXML_2_3_5 +^c7ad7ce598261a447cfceb7837219fcd93151336 +e21e54203aeef732dfa459cf4838e9040542e9d2 refs/tags/LIBXML_2_3_6 +^fac26a1f9330f404a90a8f347c8d13fdf08dbba1 +adbdbc4f8f746f02f38c99112864abf4cefa2278 refs/tags/LIBXML_2_3_7 +^393df01cac24c7344ddcdc3b6968f893790c5e67 +e3847ae4bcdb6e4e258bfa651a52dccb561018f9 refs/tags/LIBXML_2_3_8 +^3bbbe6fa2a16ce1e1c1ff08725cf09857d7c0428 +68fb039bfda99e6f4c2576bf70b5735914aa0e17 refs/tags/LIBXML_2_3_9 +^bed7b052a318695f5e0856f12fc0c86f66472cb3 +deade41e955fb930d0bc528bba8087b88e249f6a refs/tags/LIBXML_2_4_0 +^09ab7e1c1c943a6ba160037208c58a0dda3fe8ec +fade9185f8862bf496e6c35f900f6eadcd453eac refs/tags/LIBXML_2_4_11 +^bd9b0e8eedacd57d26bbe655d76a6bc858ab95ec +703a08b6efa6d902a8c3ba83801fe76d3c53b32a refs/tags/LIBXML_2_4_12 +^ef90ba7e3b530a8eb9ed27f57f0ced139b839780 +6543d5679b5ffeda3ffb311db4b4f9ef39888b24 refs/tags/LIBXML_2_4_13 +^af43f63aaabf0dc4b4a070773875d0927da3d8a2 +d74637c3f6dbfe3249ba01f79a0c056e6975b9b7 refs/tags/LIBXML_2_4_14 +^07be19bb1e73b86bdd1014eb1d9f84cb7d08e9fa +5baae18ca7ece6da7809840dcf26c1b95ebca10c refs/tags/LIBXML_2_4_16 +^5f4b5999b4eeda2ca68e6d9f54a3c534a8474b38 +13ba6f67deac547beaa954065cfd2a63e4388b78 refs/tags/LIBXML_2_4_18 +^34ce8bece2f22cc99d25221b77315cd008f4866b +991e738a986bd7af093489d4051d65fd6df12859 refs/tags/LIBXML_2_4_2 +^9a0b3d63c152fd11e2e49a308f4f102dc6043d97 +cb220ae9180fb44709c2aa1f0dbf510d49f33906 refs/tags/LIBXML_2_4_20 +^a7084cd57e055ac5f768c0d2aacd1bdab952798c +2d9fad9527c5a9c902d8cd774b1307933e728f8a refs/tags/LIBXML_2_4_22 +^d5e22ef5802bc1d2d730cded59a700a88abfa47a +17fb73c4b80399cf37ad2762d4ef2152b0b82995 refs/tags/LIBXML_2_4_23 +^539638ba2359774d184bd87cf713c7e2afc23a8c +690c9d30526aabcf0a22e2f8bcb9bf716afa139c refs/tags/LIBXML_2_4_24 +^42766c0eea0fa40c7b721fa4c9cf56b4c484b4c7 +ea847274005ee18c78f93fdf3b9f4354881f71f0 refs/tags/LIBXML_2_4_25 +^e16b57406a96297a6ce39e509e06511c3c8a200e +7a13ab487e54688b5f4f490e7dfa5a9457c18258 refs/tags/LIBXML_2_4_26 +^4826743d1643bd01d5ceaeaf627b0d71b60beb2f +4a8a33fe201084427668e814cfd7b160c98728cd refs/tags/LIBXML_2_4_27 +^dad3f680e504b25b3bfd30a411adb55b4d0efe09 +3996c4428a894592c28422c18c306e551976e2ff refs/tags/LIBXML_2_4_29 +^9b4bb4d07ab8f820fdc19a4fc7e8d7a39e159c66 +7b7a8929f92402ae6bd73cd82823870efe22481c refs/tags/LIBXML_2_4_3 +^e8f379330e16fcfae7d2737bbc22007b69cc3704 +fdad8d1875fb14da9dbd6b322cfc4915c3833d33 refs/tags/LIBXML_2_4_30 +^2d45f52c14fe508f003b42dca81264147a0fcabc +a5fa03e1a93ef1d8d5f79509d3000629d978dc65 refs/tags/LIBXML_2_4_4 +^baa8854e4e005f7a58ee1b0aa306c978247da9a7 +c94b7df0bdd68d94545575b7edf88cb797b106c3 refs/tags/LIBXML_2_4_6 +^60087f30f3b4cf21de48f39181736e7d71e7a661 +898487ecf5beb7047e1671aedfcb09276fc55699 refs/tags/LIBXML_2_4_7 +^52dcab3999cc9c480b275bc3ddf66dbb66f92d68 +6d315cb263e6b956fadf65a421061e7b20303921 refs/tags/LIBXML_2_5_1 +^e2830f1e65ddef63fc74a22addfea30d97ef8d65 +dae9a5a6fb8fde389d693a854e8033a14414aea3 refs/tags/LIBXML_2_5_2 +^72fef16e5c05224a81425b2ada12f4147b5194be +74d430bf12c9422842cdb70f7c9191d5c70ad3d4 refs/tags/LIBXML_2_5_3 +^869fb32050e8e89c0c4848087970a58df9966f51 +4672f42c45796bb9c56ecabce4a4be7625a33e74 refs/tags/LIBXML_2_5_4 +^17bed98106ac388a6eae80515aae6957782d6029 +1d4de4b34555e0b3fca79e6a589a42901449536a refs/tags/LIBXML_2_5_5 +^9adc0469d4691e798ea4ad59b84c874cdea8b38d +9ff4a158ebe9ece4bb03b4f2f77c4e35c3f58774 refs/tags/LIBXML_2_5_6 +^c2d4a93d4f6ecc658e63ddc416be918318cea7a9 +11fb419f2b9ddc4e661e400f3a836415ed87c75c refs/tags/LIBXML_2_6_10 +^4e6fef4dab062b22d2e0386415a5218070952faa +b8d74ccc2f8da503e9526d7d03143f7402342cb8 refs/tags/LIBXML_TEST_2_0_0 +^5d211f4c7a150e45a301cec55426a7ed7edb7f50 +080725036cf5184d3fcc3a218b83a4801a3c56e2 refs/tags/LIB_XML_1_1 +^011b63cb2034476017dde1d4ad5a6aea43b94066 +cefebfc541511ae9689fe6974fbca23e3e4c3dd1 refs/tags/LIB_XML_1_3 +^97fea18b7138caf76bf17d003f4985d8797d26f9 +dc13fa6616f650c4883e5d4dcd60361119e50755 refs/tags/LIB_XML_1_4 +^1566d3a91b50e08f8bd928da5a06d9c53a99747f +0b62127e46dd8131fe7ce0f1c1ba38d3c9393b4e refs/tags/LIB_XML_1_6_1 +^d2d38e9ab3691d11755857b87d83f2322b85d93d +7b0dc286b7b99b0e7e5cc3e7a1094844544cf9b9 refs/tags/LIB_XML_1_6_2 +^c08a2c6fd41773f55853c5d93a67a932c61511e9 +71da3e0339adb75e12fa5dd643e85ae90c3a53d5 refs/tags/LIB_XML_1_7_0 +^4ecf39f3e3e51df736cbb7bdc3d24739a786fb3b +5000182a4ff1c18fb16dfbbcce18408c9a471b5f refs/tags/LIB_XML_1_7_1 +^dd6b36766fb1cc83020cc12f226452ba2d640e35 +b41926302ec35da1c0009a4dcf493cc1edcd0600 refs/tags/LIB_XML_1_7_3 +^ad21944c30f85761a9339fe054e1f93e176b7152 +42ce4e01ec843426c961900a710d7c24edd33a0d refs/tags/LIB_XML_1_8_3 +^f3a7358dcae937caacd7149d080bf275e920ba69 +6b2edc001df59352a92d9e124c085b508f050ded refs/tags/LIB_XML_1_X +^76234da1520f108588bbec7428f7d7f663e4b96e +9942b0f93d22dc8e4b081f0907365616c8da976a refs/tags/PRE_MUCKUP +^4b637079f26d8f5879ed45eb18cd249cad261951 +d95c7184373f24ab680fea530aed57d2775993d9 refs/tags/PRE_MUCKUP2 +^4b637079f26d8f5879ed45eb18cd249cad261951 +48b237e1d5e319fe7473f11037884f58931b1646 refs/tags/PRE_MUCKUP3 +^4b637079f26d8f5879ed45eb18cd249cad261951 +8b3ff3d64c7bef4d4e3b2c7f65013d0136ba343b refs/tags/help +^3ed155fcdf123a94ac885923a9262f250bdb3301 +82936c45494bb1336b19b2cc456204ddc0d7506a refs/tags/v2.10.0 +^ae383bdb74523ddaf831d7db0690173c25e483b3 +3fdcf0b4150a6e8b2df3189568b810e46dcdafc5 refs/tags/v2.10.1 +^d85c4a01407b75eb4005256df106d121e766a1d8 +b8965a6c8994b19cf360d3f35b97c5b0399c17ca refs/tags/v2.10.2 +^21b24b51608d471bb9f7c4225e23d0db2acecc52 +096ae438216478f676df7ea7a8532d565132d22d refs/tags/v2.10.3 +^f507d167f1755b7eaea09fb1a44d29aab828b6d1 +9ddf8ecda72891d1bbe8517be1a59153e8ae944d refs/tags/v2.10.4 +^223cb03a5d27b1b2393b266a8657443d046139d6 +4f14180cc7066c06735cb8a4a7cc7ab1d8817a5d refs/tags/v2.11.0 +^f296934ade688baab79caf1c62a82149ad78accf +777ca04136443748218d3aeca79442f103af2d4a refs/tags/v2.11.1 +^ab9fea4ac0d494bcf68864e9be0574137e48a80e +752811ac559fcd72e518c144c328a6a90e66154a refs/tags/v2.11.2 +^838bf42d54f94c8ff99b6e5022899a32875ed5d7 +11b9961d22c1bc72e651b07c3c542e9b64d19be5 refs/tags/v2.11.3 +^787ae0390a3b90a76c2c54d6a18d7f1abe888c64 +be5448432faaf7b108665fb2f4336c407dcecee9 refs/tags/v2.11.4 +^2e9f7860a9cb8be29eca90b7409ef0278d30ef10 +0884fd4019dcca3b57be83ae15272eec10519370 refs/tags/v2.11.5 +^2b998a4ffbdfea04fc6a620721abc690a15743af +2ee598b7bf849ee7ee990977fe5d17ec63f651bd refs/tags/v2.11.6 +^93f0179d9d0bcd0d053d2df3e2fd382e6dac6954 +8651f4757b6a6855ea322dd49af1c5a77842bf34 refs/tags/v2.11.7 +^8711320065405c4bb08aaccd4bd2881450b5ce41 +5ca98838f76cb3791df01b5d2cbc8cd1c40463a4 refs/tags/v2.11.8 +^58a973c40ba927e5ad941789723da7c47a2d60e3 +81517a021421977c185c4ebb970e372f6301a9c9 refs/tags/v2.11.9 +^954e851e1d8d1f4c1dfbdf043623b3c11a1c723c +a816094b4370aebb48ed8a8015b7ef89603fdc1e refs/tags/v2.12.0 +^5e9b167dce73bd6a804ab107ae4c4b95e6849597 +ad035cb0a2872f8bbc2f936c25b16b4d6a0f5a23 refs/tags/v2.12.1 +^f4ac9926a463ecb628f73049e4fd7ecced8fb7cf +ede4fc0a676c47c40612d26ef93b0cd973df319d refs/tags/v2.12.10 +^02d577715e1951cf114ca4e9adaf5605156c4f4c +3772809730ffdc1b58f2e0474daa39d1c1823779 refs/tags/v2.12.2 +^4d8fa5b292fc902268217fa0f7031e77e5437b5a +e6d5e1ca18550f26eb864e267798f1304cbb8f74 refs/tags/v2.12.3 +^30d22bec03893ad646907050959bdfe9e8000146 +8992d2c17dba0b1842935bc626a3108b0844e509 refs/tags/v2.12.4 +^8292f361458fcffe0bff515a385be02e9d35582c +906253a1d2d6dea0bf53cd8228746a163b21f221 refs/tags/v2.12.5 +^e189e9945317ad4c8603fa2300d11d11f5e2e335 +583f84988ae976b2683addce4107fd4afaab66f4 refs/tags/v2.12.6 +^505e2e872e767405be565aa9d47ae9d6d5677f79 +87d84ef5ab9dc42e31d31a9ee5929f89b1908191 refs/tags/v2.12.7 +^0b6d8130737125ba45981d54be7f15fe398ad2e0 +251d8617d7768e81d00d57a6257e8668deb19285 refs/tags/v2.12.8 +^83fce0a3f9ef22c90a980b03bb90cbd364d5c9ab +94175bb9217a889e0d287962e6a0a8f4b658371e refs/tags/v2.12.9 +^00301f0fe8bccdb9945fb684e9bbd72449b961a5 +b51780c6ba0bb92d70093935bda36ccffff66039 refs/tags/v2.13.0 +^cdd2575f7fbab1d8162600f4048bc37503c80e28 +5c0a632451b7442a606fbe1b2ad8e6cbb431ee97 refs/tags/v2.13.1 +^48dba1e21f8f1a7d8a817eaf65831396e74b78d2 +9fc170941a355569b252470e4ede6846b9d8074d refs/tags/v2.13.2 +^4b3f860e5420ade19a825dc7f4d75789489535ba +72c519a5220e5ed2d50d3092ad32264c58f6b021 refs/tags/v2.13.3 +^3b1742b8391e966be780bdc43fdf959f7b3a118c +5d08d498f89e857756978ce092b7e4af2b74c62b refs/tags/v2.13.4 +^60d3056c97067e6cb2125284878ed7c99c90ed81 +912cb0a6552b5dd099e283a234447208638c2209 refs/tags/v2.13.5 +^de918d45e1b2276a28a4cd32bcf556bef65284e4 +8e7a3f7643aeb3f00c5d8480cfd9907e218f253a refs/tags/v2.13.6 +^66453240c94b5cbd3e9ae9b32016fdafb13cdf18 +92013f5e380c7027f89002d1fa150a656bb5cb66 refs/tags/v2.13.7 +^9b8fbe99ad14fe32c5dd5913743046d80cf347fe +c1a40ead7b592be7112cd1a9e60cc7d31bf4b595 refs/tags/v2.13.8 +^eb0a2f2b91566384f378d870ffcd69c0a24162cc +01d801ed453402320ca67f28bd7b71ca07d473d9 refs/tags/v2.13.9 +^04af2cabb9f859c198b8a553c028a87481199410 +8f31df3715c794325282f91e06836808ec0e3e25 refs/tags/v2.14.0 +^a372cbf5821302ebaf757235b29ba812df78204d +103391ea91479da9b918448dc707001b3114a2bb refs/tags/v2.14.1 +^0f10a05d2e1043dcc178736b82277223a76eacc9 +718a140a367cb89192587d3dc80bf389f5aca531 refs/tags/v2.14.2 +^0e145ae4881c2a05ae00128a3bd90d76d4dadc4b +514a3a41e7e273fb5642cde2dbd53a76e4aebf63 refs/tags/v2.14.3 +^8d509f483dd5ce268b2fded9c738132c47d820d8 +2f93c7b32890525107153c8920398058d33f17b4 refs/tags/v2.14.4 +^4c6b2c3096b1da0d0780fe0b4f147e837140468d +97bd75ab83e6c2c2596cc520abe80d6779e4a69c refs/tags/v2.14.5 +^74f3154320df8950eceae4951975cc9dfc3a254d +20f532eb52155e0657858712823f5908d1022a6d refs/tags/v2.14.6 +^d23960a130c5bb82779c9405fbbf85e65fb3c57c +1b21b6c77bc1860e1a2b732bd2d9bff304d112c3 refs/tags/v2.15.0 +^0bea77c8289324483c0504d36ac730bb03f6a70b +c36a6d572993da7e72a95fc8d6bbe4d371b57a72 refs/tags/v2.15.1 +^b7fa62cbe8ef0df5869e000d5b690bdedd07f33e +580f6350dcb08d07723069c8a0163b9f7961eb84 refs/tags/v2.15.2 +^3d840e17858de03a09fba8b202e3a89267d5795a +5e0a659ebe62aec93c518135d669404e108c7593 refs/tags/v2.15.3 +^c94eb0210183b9d7cb43f8e7fddc6be55843ef49 +32c00ab1f275a5cb405984b9d05074f0220c51b2 refs/tags/v2.7.4 +^293416828e1467f877d9dd928f174dcf81b103bc +16d832067a0cd91c872bddcbaaa333ecfde4e21f refs/tags/v2.7.5 +^7a896ce260d2447d405b4ae683bf9d643eef6cda +09722218f6b34cf7956b9d783b6c4c22245ae0cf refs/tags/v2.7.6 +^96bb740e2102f103777f0a630d29ba88996dd80c +d87cd23dc35db8e3740278437b9788e04842ee8a refs/tags/v2.7.7 +^bb5055f3875c5a3c45f4daa8058e35aab8c5ac3f +dfb55d16be9160f47c2d975787c51e542317bf98 refs/tags/v2.7.8 +^4c2e7c651f6c2f0d1a74f350cbda95f7df3e7017 +60f2ea93af9cf5fb703619b1f70b6efe44e72a68 refs/tags/v2.8.0 +^c943f708f1853de4eb15e5a94cf0b35d108da87a +33ea7b311ab9ef2876f6f637d9d3070168097d6d refs/tags/v2.8.0-rc1 +^9d9685ad88c17d35b6688695af3ceba7c7309b13 +873af1e595d9d38161713173abe886c2f964ecf3 refs/tags/v2.8.0-rc2 +^ee8f1d4cda8dc1a6f2c515fe234f7bc89cdc9f80 +64ff9c0b6c1428b22139e96e9c8a6073cb13621c refs/tags/v2.9.0 +^38bbd3412d1c2a2016cf5a1a221ad4010216d28e +68dbd0731a531c518af3119fd28fd76d358cb0fe refs/tags/v2.9.0-rc2 +^f933c898132f20a50ba39ac6116378b71a01c700 +3c5a219589cd29e14cc98ff3888782f3b4d44fc1 refs/tags/v2.9.1 +^f4e5a6994ed230dfa3fb5b5c3fd94c4993ef1ba7 +f1840421fcb591dac8da7ca337687f9901e7a6f2 refs/tags/v2.9.10 +^41a34e1f4ffae2ce401600dbb5fe43f8fe402641 +bf8ef642e5628ae14d6e08af901266ddea34e397 refs/tags/v2.9.10-rc1 +^9acef289285008f81b4b66b4880baf600773cf67 +45d730733714c9845dc9dc703dac896c6e8ee778 refs/tags/v2.9.11 +^e1bcffea180d6cc0651757bb64284a763e0e2239 +adf8e7ce9659c5d7e8401b1962fdbd3183413970 refs/tags/v2.9.12 +^b48e77cf4f6fa0792c5f4b639707a2b0675e461b +0d2678b55df8165c9957d727f65ea7bc5db45394 refs/tags/v2.9.13 +^a075d256fd9ff15590b86d981b75a50ead124fca +bd61cd3e2641f73dfeb1477cc96f4fce66695441 refs/tags/v2.9.14 +^7846b0a677f8d3ce72486125fa281e92ac9970e8 +1981966910ce8b9fccbe2d389539cc9d4a0f2b8b refs/tags/v2.9.2 +^726f67e2f140f8d936dfe993bf9ded3180d750d2 +a0be0ee781ee75068ed09e3689cedb86bb3fc6f8 refs/tags/v2.9.2-rc1 +^f985ada79027570d5e3f0d1b29c8ecf23921044a +a7ee9ac2c9501a0bc19fecc79835e88ee3a0fb8b refs/tags/v2.9.2-rc2 +^af62eb4fabda119f12c53da2e68cf0decb68b0d8 +9393796f3d9fe9c3695bb04d04c4d63115201dc1 refs/tags/v2.9.3 +^6657afe83a38278f124ace71dc85f60420beb2d5 +56a6e1aebed937941d2960cc5012665a5ca0115e refs/tags/v2.9.4 +^bdec2183f34b37ee89ae1d330c6ad2bb4d76605f +497393910ff3b586deaa497bc4a2e9f26eb0bdc0 refs/tags/v2.9.4-rc1 +^a1dca81df7c352cd9a14ab678750b1623f8f8ed7 +c1cda08208d5d5f5799e08a0b94dec639b99afe8 refs/tags/v2.9.4-rc2 +^8effcb578e0590cc01bbcab0f9dccefc6bdbcdbd +f3ec1e3f525ac665f35d5f08013b30b9988cd2ad refs/tags/v2.9.5 +^2960178fe8f9fe690b7f8c1c49093ff54bb56934 +aecbb680b62a451695faa0058125c036eda308f9 refs/tags/v2.9.5-rc1 +^e29e50e54f471c7019059e5358b2739442266246 +ac79e63dc73782adf84b7cac4ea4884cf8082652 refs/tags/v2.9.5-rc2 +^69936b129fedcda3514fee1a0d6b39521923cbac +60937cf0a9bf4f7c2e85fde7311d2faa9509a3b2 refs/tags/v2.9.6 +^4b4d3d85165e6bfca23893cf98834c4bc747a96c +088e58814aab32e5a52fff33e5b8b5cc28988a0b refs/tags/v2.9.6-rc1 +^0f3b843b3534784ef57a4f9b874238aa1fda5a73 +6b6c944506736ab8c1e026b0bc7dcf39f5dedd17 refs/tags/v2.9.7 +^bc5a5d658320c37e206fe4e7b525b4a24466d0c6 +8bb75f1fd0d7060127851da63330e5a7805f01ae refs/tags/v2.9.7-rc1 +^09f51ecbc5b8ea418bacca4ad43a4d2d1e3ccdfb +8b595673b8fcb5d5769e38bb40fde00ac8ddba0b refs/tags/v2.9.8 +^18890f471c420411aa3c989e104d090966ec9dbf +d6d2d9a1413638f2c98a5404665e8071917ae3d0 refs/tags/v2.9.8-rc1 +^ab362ab0ad3af54406ae8237a525405c6e2a705b +e555d28c1c16469b396d44827c1b8e2d59bf92bc refs/tags/v2.9.9 +^f8a8c1f59db355b46962577e7b74f1a1e8149dc6 +11a505b2d5d3778c39759e1a16c5a58546a2a058 refs/tags/v2.9.9-rc1 +^c8e5f9588b986c6e81c9028825aeff8151375d28 +f67b2a86b67d8fcadc1b9f25ae3cebbfdb0c9cb6 refs/tags/v2.9.9-rc2 +^a71b98ec9dee2d44e16a74ab8472868891bbc7b4 diff --git a/libxml2/.git_backup/refs/heads/master b/libxml2/.git_backup/refs/heads/master new file mode 100644 index 0000000..7954ab0 --- /dev/null +++ b/libxml2/.git_backup/refs/heads/master @@ -0,0 +1 @@ +ddcb79dc9934fd8a26263f6368c4eb7aa43f6d49 diff --git a/libxml2/.git_backup/refs/remotes/origin/HEAD b/libxml2/.git_backup/refs/remotes/origin/HEAD new file mode 100644 index 0000000..6efe28f --- /dev/null +++ b/libxml2/.git_backup/refs/remotes/origin/HEAD @@ -0,0 +1 @@ +ref: refs/remotes/origin/master diff --git a/libxml2/.gitattributes b/libxml2/.gitattributes new file mode 100644 index 0000000..a688634 --- /dev/null +++ b/libxml2/.gitattributes @@ -0,0 +1,2 @@ +/result/** -text +/test/** -text diff --git a/libxml2/.gitignore b/libxml2/.gitignore new file mode 100644 index 0000000..b29f5b3 --- /dev/null +++ b/libxml2/.gitignore @@ -0,0 +1,70 @@ +*.exe +*.o +*.la +*.lo +*.pyc + +# local build directories +/build +/install + +# Executables +/xmlcatalog +/xmllint + +# Test executables +/runsuite +/runtest +/runxmlconf +/testModule +/testapi +/testchar +/testdict +/testlimits +/testparser +/testrecurse + +# Tests +/missing.lst +/runsuite.log +/runxmlconf.log +/test.out +/xmlconf +/xstc/Tests + +# Generated by build system +/config.h +/include/libxml/xmlversion.h +/libxml-2.0.pc +/libxml2-config.cmake +/xml2-config + +# Autotools +.deps +.libs +Makefile +Makefile.in +/INSTALL +/aclocal.m4 +/autom4te.cache +/compile +/config.guess +/config.guess~ +/config.h.in +/config.h.in~ +/config.log +/config.status +/config.sub +/config.sub~ +/configure +/configure~ +/depcomp +/install-sh +/install-sh~ +/libtool +/ltmain.sh +/missing +/m4/libtool.m4 +/m4/lt*.m4 +/py-compile +/stamp-h1 diff --git a/libxml2/.gitlab-ci.yml b/libxml2/.gitlab-ci.yml new file mode 100644 index 0000000..8ef4f1b --- /dev/null +++ b/libxml2/.gitlab-ci.yml @@ -0,0 +1,355 @@ +include: + - component: "gitlab.gnome.org/GNOME/citemplates/release-service@master" + inputs: + dist-job-name: "dist" + tarball-artifact-path: "${TARBALL_ARTIFACT_PATH}" + +install: + image: registry.gitlab.gnome.org/gnome/libxml2/docs + before_script: + - rm -rf libxml2-build + - mkdir libxml2-build + - ln -s /tests/xmlconf . + script: + - sh .gitlab-ci/install.sh + variables: + CFLAGS: "-O2" + DOXYGEN_WARN_AS_ERROR: "FAIL_ON_WARNINGS" + artifacts: + expire_in: 2 hrs + paths: + - install + +.test: + image: registry.gitlab.gnome.org/gnome/libxml2 + variables: + BASE_CONFIG: "--with-http --with-schematron --with-zlib --with-python" + before_script: + - rm -rf libxml2-build + - mkdir libxml2-build + - ln -s /tests/xmlconf . + script: + - sh .gitlab-ci/test.sh + +gcc: + extends: .test + variables: + CFLAGS: "-O2" + +gcc:c89: + extends: .test + variables: + CONFIG: "--without-python" + CFLAGS: "-O2 -std=c89 -D_XOPEN_SOURCE=600 -Wno-error=unused-function -Wno-error=overlength-strings" + +gcc:minimum: + extends: .test + variables: + BASE_CONFIG: "--with-minimum" + CFLAGS: "-O2" + +gcc:medium: + extends: .test + variables: + BASE_CONFIG: "--with-minimum" + CONFIG: "--with-threads --with-tree --with-xpath --with-output --with-html --with-iso8859x --with-valid" + CFLAGS: "-O2" + +gcc:legacy: + extends: .test + only: + - schedules + variables: + BASE_CONFIG: "--with-legacy --with-python" + CFLAGS: "-O2" + +gcc:static: + extends: .test + variables: + CONFIG: "--disable-shared --without-python --without-modules" + CFLAGS: "-O2" + +clang:asan: + extends: .test + tags: + - asan + variables: + CONFIG: "--without-python" + CC: clang + CFLAGS: "-O2 -g -fno-omit-frame-pointer -fsanitize=address,undefined,integer -fno-sanitize-recover=all" + UBSAN_OPTIONS: "print_stacktrace=1" + ASAN_SYMBOLIZER_PATH: "$CI_PROJECT_DIR/.gitlab-ci/llvm-symbolizer" + +clang:msan: + extends: .test +# only: +# - schedules + variables: + CONFIG: "--without-python --without-zlib" + CC: clang + CFLAGS: "-O2 -g -fno-omit-frame-pointer -fsanitize=memory" + MSAN_SYMBOLIZER_PATH: "$CI_PROJECT_DIR/.gitlab-ci/llvm-symbolizer" + +.mingw: + tags: + - win32-ps + variables: + BASE_CONFIG: "--with-http --with-schematron --with-zlib --with-python" + # Python is disabled for now, see #658 + CONFIG: "--with-docs --without-python" + CHERE_INVOKING: "yes" + before_script: + - $Env:Path="C:\msys64\usr\bin;$Env:Path" + - bash -lc 'sh .gitlab-ci/setup_mingw.sh autotools' + script: + - bash -lc 'sh .gitlab-ci/test.sh' + cache: + key: "$MSYSTEM" + paths: + - xmlconf/ + +mingw:w64-x86_64:shared: + extends: .mingw + variables: + CFLAGS: "-O2" + MSYSTEM: MINGW64 + +mingw:w64-i686:shared: + extends: .mingw + only: + - schedules + variables: + CFLAGS: "-O2" + MSYSTEM: MINGW32 + +# Disabled, GCC missing? +.mingw:msys:shared: + extends: .mingw + variables: + CFLAGS: "-O2" + MSYSTEM: MSYS + +.cmake:linux: + image: registry.gitlab.gnome.org/gnome/libxml2 + before_script: + - rm -rf libxml2-build + - mkdir libxml2-build + - ln -s /tests/xmlconf . + script: + - sh .gitlab-ci/test_cmake.sh + artifacts: + paths: + - libxml2-$CI_COMMIT_SHORT_SHA-$SUFFIX.tar.gz + expire_in: 1 day + +cmake:linux:gcc:shared: + extends: .cmake:linux + variables: + BUILD_SHARED_LIBS: "ON" + CONFIG: "-DLIBXML2_WITH_DOCS=ON" + CC: gcc + SUFFIX: linux-gcc-shared + +cmake:linux:gcc:static: + extends: .cmake:linux + only: + - schedules + variables: + BUILD_SHARED_LIBS: "OFF" + CC: gcc + SUFFIX: linux-gcc-static + +cmake:linux:clang:shared: + extends: .cmake:linux + only: + - schedules + variables: + BUILD_SHARED_LIBS: "ON" + CC: clang + SUFFIX: linux-clang-shared + +cmake:linux:clang:static: + extends: .cmake:linux + only: + - schedules + variables: + BUILD_SHARED_LIBS: "OFF" + CC: clang + SUFFIX: linux-clang-static + +.cmake:mingw: + tags: + - win32-ps + variables: + CHERE_INVOKING: "yes" + before_script: + - $Env:Path="C:\msys64\usr\bin;$Env:Path" + - bash -lc 'sh .gitlab-ci/setup_mingw.sh cmake ninja' + script: + - bash -lc 'sh .gitlab-ci/test_cmake.sh -G Ninja' + cache: + key: "$MSYSTEM" + paths: + - xmlconf/ + artifacts: + paths: + - libxml2-$Env:CI_COMMIT_SHORT_SHA-$Env:SUFFIX.tar.gz + expire_in: 1 day + +cmake:mingw:w64-i686:shared: + extends: .cmake:mingw + only: + - schedules + variables: + BUILD_SHARED_LIBS: "ON" + CONFIG: "-DLIBXML2_WITH_DOCS=ON" + MSYSTEM: MINGW32 + SUFFIX: mingw-w64-i686-shared + +cmake:mingw:w64-i686:static: + extends: .cmake:mingw +# only: +# - schedules + variables: + BUILD_SHARED_LIBS: "OFF" + MSYSTEM: MINGW32 + SUFFIX: mingw-w64-i686-static + +cmake:mingw:w64-x86_64:shared: + extends: .cmake:mingw +# only: +# - schedules + variables: + BUILD_SHARED_LIBS: "ON" + MSYSTEM: MINGW64 + SUFFIX: mingw-w64-x86_64-shared + +cmake:mingw:w64-x86_64:static: + extends: .cmake:mingw + only: + - schedules + variables: + BUILD_SHARED_LIBS: "OFF" + MSYSTEM: MINGW64 + SUFFIX: mingw-w64-x86_64-static + +.cmake:msvc: + tags: + - win32-ps + variables: + # MSVC warns when casting `const char **` to `void *` which is wrong. + # Disable warning C4090. + CFLAGS: /WX /wd4090 + CMAKE_VERSION: 3.19.4 + script: + - .gitlab-ci/Test-Msvc + cache: + key: "msvc" + paths: + - cmake-$Env:CMAKE_VERSION-win64-x64/ + - xmlconf/ + - 7za.exe + artifacts: + paths: + - libxml2-$Env:CI_COMMIT_SHORT_SHA-$Env:CMAKE_GENERATOR_TOOLSET-$Env:CMAKE_GENERATOR_PLATFORM-$Env:SUFFIX.7z + expire_in: 1 day + +.cmake:msvc:v141: + extends: .cmake:msvc + variables: + CMAKE_GENERATOR: Visual Studio 15 2017 + CMAKE_GENERATOR_TOOLSET: v141 + +.cmake:msvc:v141:x64: + extends: .cmake:msvc:v141 + variables: + CMAKE_GENERATOR_PLATFORM: x64 + +cmake:msvc:v141:x64:shared: + extends: .cmake:msvc:v141:x64 + variables: + BUILD_SHARED_LIBS: "ON" + SUFFIX: shared + +cmake:msvc:v141:x64:static: + extends: .cmake:msvc:v141:x64 + only: + - schedules + variables: + BUILD_SHARED_LIBS: "OFF" + SUFFIX: static + +.cmake:msvc:v141:x86: + extends: .cmake:msvc:v141 + only: + - schedules + variables: + CMAKE_GENERATOR_PLATFORM: Win32 + +cmake:msvc:v141:x86:shared: + extends: .cmake:msvc:v141:x86 + only: + - schedules + variables: + BUILD_SHARED_LIBS: "ON" + SUFFIX: shared + +cmake:msvc:v141:x86:static: + extends: .cmake:msvc:v141:x86 + variables: + BUILD_SHARED_LIBS: "OFF" + SUFFIX: static + +meson: + image: registry.gitlab.gnome.org/gnome/libxml2 + before_script: + - ln -s /tests/xmlconf . + script: + - sh .gitlab-ci/test_meson.sh + +cmake:linux:gcc:shared: + extends: .cmake:linux + variables: + BUILD_SHARED_LIBS: "ON" + CC: gcc + SUFFIX: linux-gcc-shared + +dist: + image: registry.gitlab.gnome.org/gnome/libxml2 + script: + - sh .gitlab-ci/dist.sh + - echo "TARBALL_ARTIFACT_PATH=$(ls libxml2-dist/*.tar.xz)" >> build.env + artifacts: + paths: + - libxml2-dist/*.tar.xz + reports: + dotenv: build.env + +pages: + needs: [install] + script: + - cp -r install/share/doc/libxml2 public + - cp doc/_redirects public + artifacts: + paths: + - public + only: + - master@GNOME/libxml2 + +downstream-lxml: + image: registry.gitlab.gnome.org/gnome/libxml2 + needs: [install] + script: + - sh .gitlab-ci/downstream-lxml.sh + +downstream-nokogiri: + # owner: @flavorjones + image: ghcr.io/sparklemotion/nokogiri-test:upstream-libxml + script: + - .gitlab-ci/downstream-nokogiri.sh + +downstream-php: + image: registry.gitlab.gnome.org/gnome/libxml2 + needs: [install] + script: + - sh .gitlab-ci/downstream-php.sh diff --git a/libxml2/.gitlab-ci/Dockerfile b/libxml2/.gitlab-ci/Dockerfile new file mode 100644 index 0000000..fec433e --- /dev/null +++ b/libxml2/.gitlab-ci/Dockerfile @@ -0,0 +1,58 @@ +# The image is also used for libxslt. +# +# package required for +# ------------------------------------------------------------ +# libclang-rt-dev sanitizer runtimes +# llvm llvm-symbolizer (for sanitizer backtraces) +# git libxslt, downstream projects +# libgcrypt-dev libxslt +# xz-utils make dist +# doxygen documentation +# xsltproc documentation +# docbook-xsl documentation + +FROM ubuntu:26.04 +ENV DEBIAN_FRONTEND=noninteractive +RUN apt-get update && \ + apt-get upgrade -y && \ + apt-get install -y --no-install-recommends \ + curl git ca-certificates \ + autoconf automake libtool pkg-config \ + make gcc clang llvm libclang-rt-dev \ + zlib1g-dev libgcrypt-dev \ + python3-dev \ + cmake meson \ + xz-utils \ + doxygen xsltproc docbook-xsl +WORKDIR /tests +RUN curl https://www.w3.org/XML/Test/xmlts20080827.tar.gz |tar xz + +# XML::LibXML uses Alien::Libxml2 which has a huge dependency chain. +# We try to install most dependencies with apt. We also require +# libxml2-dev to stop Alien::Libxml2 from downloading and building +# libxml2 on its own. +RUN apt-get install -y --no-install-recommends \ + libperl-dev libxml2-dev cpanminus \ + libalien-build-perl \ + libio-socket-ssl-perl \ + libsort-versions-perl \ + liburi-perl \ + libxml-namespacesupport-perl \ + libxml-sax-perl \ + libyaml-perl +RUN cpanm -n Alien::Libxml2 +RUN apt-get remove -y libxml2-dev + +# PHP +RUN apt-get install -y --no-install-recommends \ + bison re2c libsqlite3-dev + +# lxml +# ubuntu cython3 is too old, so we install using pip +RUN apt-get install -y --no-install-recommends \ + python3-pip +RUN pip3 install Cython --break-system-packages + +# xmlstarlet +RUN apt-get install -y --no-install-recommends \ + docbook-xsl-ns diff --git a/libxml2/.gitlab-ci/Dockerfile.docs b/libxml2/.gitlab-ci/Dockerfile.docs new file mode 100644 index 0000000..5a3260e --- /dev/null +++ b/libxml2/.gitlab-ci/Dockerfile.docs @@ -0,0 +1,5 @@ +# Image used to generate documentation with a recent version of Doxygen. +# 1.14.0 fixes an important bug. + +FROM archlinux:base-devel +RUN pacman -Syu --noconfirm doxygen libxslt docbook-xsl git diff --git a/libxml2/.gitlab-ci/Test-Msvc.ps1 b/libxml2/.gitlab-ci/Test-Msvc.ps1 new file mode 100644 index 0000000..708bbbc --- /dev/null +++ b/libxml2/.gitlab-ci/Test-Msvc.ps1 @@ -0,0 +1,46 @@ +[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 + +if (-not (Test-Path 7za.exe)) { + Invoke-WebRequest ` + -Uri https://www.7-zip.org/a/7z1900-extra.7z ` + -OutFile 7z1900-extra.7z + cmake -E tar xf 7z1900-extra.7z 7za.exe +} + +if (-not (Test-Path xmlconf)) { + Invoke-WebRequest ` + -Uri https://www.w3.org/XML/Test/xmlts20080827.tar.gz ` + -OutFile xmlts20080827.tar.gz ; + .\7za.exe x xmlts20080827.tar.gz + .\7za.exe x xmlts20080827.tar +} + +cmake ` + -G "Visual Studio 16 2019" ` + -DBUILD_SHARED_LIBS="$Env:BUILD_SHARED_LIBS" ` + -DCMAKE_INSTALL_PREFIX=libxml2-install ` + -DLIBXML2_WITH_SCHEMATRON=ON ` + -DLIBXML2_WITH_ICONV=OFF ` + -DLIBXML2_WITH_PYTHON=OFF ` + -DLIBXML2_WITH_ZLIB=OFF ` + -S . -B libxml2-build +if ($LastExitCode -ne 0) { + throw "cmake failed" +} +cmake --build libxml2-build --config Debug --target install +cmake --build libxml2-build --config Release --target install +New-Item -ItemType Directory libxml2-install\share\libxml2 +Copy-Item Copyright libxml2-install\share\libxml2 + +cd libxml2-build +ctest -C Debug -VV +if ($LastExitCode -ne 0) { + throw "ctest failed" +} +ctest -C Release -VV +if ($LastExitCode -ne 0) { + throw "ctest failed" +} +cd .. + +.\7za.exe a libxml2-$Env:CI_COMMIT_SHORT_SHA-$Env:CMAKE_GENERATOR_TOOLSET-$Env:CMAKE_GENERATOR_PLATFORM-$Env:SUFFIX.7z .\libxml2-install\* diff --git a/libxml2/.gitlab-ci/dist.sh b/libxml2/.gitlab-ci/dist.sh new file mode 100644 index 0000000..65f2148 --- /dev/null +++ b/libxml2/.gitlab-ci/dist.sh @@ -0,0 +1,23 @@ +#!/bin/sh + +set -e + +mkdir -p libxml2-dist +cd libxml2-dist +sh ../autogen.sh --with-docs --with-legacy +VERSION=$(cat libxml-2.0.pc | grep Version | cut -d" " -f2) + +# Build doc into the dist: https://gitlab.gnome.org/GNOME/libxml2/-/issues/1048 +cd doc +make +cd .. + +make distcheck V=1 DISTCHECK_CONFIGURE_FLAGS='--with-docs --with-legacy' + +tar xJvf libxml2-$VERSION.tar.xz +cp -rf doc libxml2-$VERSION/dist-doc +tar cJvf libxml2-$VERSION.tar.xz libxml2-$VERSION + +if [ -z "$CI_COMMIT_TAG" ]; then + mv libxml2-$VERSION.tar.xz libxml2-git-$CI_COMMIT_SHORT_SHA.tar.xz +fi diff --git a/libxml2/.gitlab-ci/downstream-lxml.sh b/libxml2/.gitlab-ci/downstream-lxml.sh new file mode 100644 index 0000000..d1eb7bd --- /dev/null +++ b/libxml2/.gitlab-ci/downstream-lxml.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +set -e + +srcdir=$(pwd) +installdir="$srcdir/install" +export PKG_CONFIG_PATH="$installdir/lib/pkgconfig" + +git clone --depth 1 https://github.com/lxml/lxml.git +cd lxml +make +LD_LIBRARY_PATH="$installdir/lib" make TESTFLAGS='' test diff --git a/libxml2/.gitlab-ci/downstream-nokogiri.sh b/libxml2/.gitlab-ci/downstream-nokogiri.sh new file mode 100644 index 0000000..64a5329 --- /dev/null +++ b/libxml2/.gitlab-ci/downstream-nokogiri.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +set -e + +export LIBXML_DIR=$(pwd) +export MAKEFLAGS=-j$(nproc) +export NOCONFIGURE=1 +./autogen.sh + +git clone https://github.com/sparklemotion/nokogiri +cd nokogiri +gem install bundler:2.7.2 +bundle _2.7.2_ install +bundle exec rake compile -- --with-xml2-source-dir=${LIBXML_DIR} --disable-xml2-legacy +bundle exec rake test diff --git a/libxml2/.gitlab-ci/downstream-php.sh b/libxml2/.gitlab-ci/downstream-php.sh new file mode 100644 index 0000000..a490042 --- /dev/null +++ b/libxml2/.gitlab-ci/downstream-php.sh @@ -0,0 +1,26 @@ +#!/bin/sh + +set -e + +srcdir=$(pwd) +installdir="$srcdir/install" +export PKG_CONFIG_PATH="$installdir/lib/pkgconfig" + +git clone --depth 1 https://github.com/php/php-src.git +cd php-src +./buildconf +./configure --with-xsl --enable-soap --enable-debug +make -j$(nproc) +make TESTS=" \ + -g FAIL \ + --show-diff \ + --no-progress \ + ext/dom \ + ext/libxml \ + ext/simplexml \ + ext/soap \ + ext/xml \ + ext/xmlreader \ + ext/xmlwriter \ + ext/xsl \ +" test diff --git a/libxml2/.gitlab-ci/install.sh b/libxml2/.gitlab-ci/install.sh new file mode 100644 index 0000000..70decf8 --- /dev/null +++ b/libxml2/.gitlab-ci/install.sh @@ -0,0 +1,24 @@ +#!/bin/sh + +set -e + +srcdir=$(pwd) + +mkdir -p install +installdir="$srcdir/install" +export PKG_CONFIG_PATH="$installdir/lib/pkgconfig" + +sh autogen.sh "--prefix=$installdir" --with-docs --with-schematron --with-zlib +make -j$(nproc) +make install + +# Make system XML catalog available +ln -s /etc install/etc + +git clone --depth 1 https://gitlab.gnome.org/GNOME/libxslt.git +cd libxslt +sh autogen.sh \ + "--prefix=$installdir" \ + --without-python +make -j$(nproc) +make install diff --git a/libxml2/.gitlab-ci/llvm-symbolizer b/libxml2/.gitlab-ci/llvm-symbolizer new file mode 100644 index 0000000..cfc85e8 --- /dev/null +++ b/libxml2/.gitlab-ci/llvm-symbolizer @@ -0,0 +1,9 @@ +#!/bin/sh + +# Newer versions of llvm-symbolizer require libxml2 themselves. Running +# a test program with LD_LIBRARY_PATH set to .libs makes llvm-symbolizer +# pick up the tested development version of libxml2 which breaks +# completely if the build is instrumented with ASan. This wrapper script +# invokes llvm-symbolizer with an empty LD_LIBRARY_PATH. + +LD_LIBRARY_PATH='' llvm-symbolizer "$@" diff --git a/libxml2/.gitlab-ci/setup_mingw.sh b/libxml2/.gitlab-ci/setup_mingw.sh new file mode 100644 index 0000000..7eb3e35 --- /dev/null +++ b/libxml2/.gitlab-ci/setup_mingw.sh @@ -0,0 +1,18 @@ +#!/bin/sh + +pacman --noconfirm -Syu + +prefix= +if [ -n "$MINGW_PACKAGE_PREFIX" ]; then + prefix="${MINGW_PACKAGE_PREFIX}-" +fi +for module in docbook-xsl doxygen libiconv python xsltproc xz zlib "$@"; do + pacman --noconfirm -S --needed ${prefix}$module +done + +mkdir -p libxml2-build + +if [ ! -e xmlconf ]; then + wget https://www.w3.org/XML/Test/xmlts20080827.tar -O - | + tar -x +fi diff --git a/libxml2/.gitlab-ci/test.sh b/libxml2/.gitlab-ci/test.sh new file mode 100644 index 0000000..5caa649 --- /dev/null +++ b/libxml2/.gitlab-ci/test.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +set -e + +cd libxml2-build +sh ../autogen.sh $BASE_CONFIG $CONFIG || cat config.log +make -j$(nproc) V=1 CFLAGS="$CFLAGS -Werror" +make CFLAGS="$CFLAGS -Werror" check diff --git a/libxml2/.gitlab-ci/test_cmake.sh b/libxml2/.gitlab-ci/test_cmake.sh new file mode 100644 index 0000000..37c96d4 --- /dev/null +++ b/libxml2/.gitlab-ci/test_cmake.sh @@ -0,0 +1,23 @@ +#!/bin/sh + +set -e + +CFLAGS="-Werror $CFLAGS" \ +cmake "$@" \ + -DBUILD_SHARED_LIBS=$BUILD_SHARED_LIBS \ + -DCMAKE_INSTALL_PREFIX=libxml2-install \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DLIBXML2_WITH_HTTP=ON \ + -DLIBXML2_WITH_SCHEMATRON=ON \ + -DLIBXML2_WITH_ZLIB=ON \ + -DLIBXML2_WITH_PYTHON=ON \ + $CONFIG \ + -S . -B libxml2-build +cmake --build libxml2-build --target install + +(cd libxml2-build && ctest -VV) + +mkdir -p libxml2-install/share/libxml2 +cp Copyright libxml2-install/share/libxml2 +(cd libxml2-install && + tar -czf ../libxml2-$CI_COMMIT_SHORT_SHA-$SUFFIX.tar.gz *) diff --git a/libxml2/.gitlab-ci/test_meson.sh b/libxml2/.gitlab-ci/test_meson.sh new file mode 100644 index 0000000..a95c6c6 --- /dev/null +++ b/libxml2/.gitlab-ci/test_meson.sh @@ -0,0 +1,23 @@ +#!/bin/sh + +set -e + +# compile with the following warnings: +# --warnlevel 3 : passes to the compiler -Wall -Wextra -Wpedantic +# --werror : passes to the compiler -Werror +# --default-library : can be 'shared', 'static' or 'both' +meson setup \ + --warnlevel 3 \ + --werror \ + --buildtype=debugoptimized \ + --default-library shared \ + -Ddocs=enabled \ + -Dhttp=enabled \ + -Dschematron=enabled \ + -Dzlib=enabled \ + -Dpython=enabled \ + builddir + +ninja -C builddir + +meson test --verbose -C builddir diff --git a/libxml2/CMakeLists.txt b/libxml2/CMakeLists.txt new file mode 100644 index 0000000..04d373b --- /dev/null +++ b/libxml2/CMakeLists.txt @@ -0,0 +1,847 @@ +cmake_minimum_required(VERSION 3.18) + +file(READ "VERSION" VERSION) +string(STRIP ${VERSION} VERSION) +if(${VERSION} MATCHES [[([0-9]+)\.([0-9]+)\.([0-9]+)]]) + set(LIBXML_MAJOR_VERSION ${CMAKE_MATCH_1}) + set(LIBXML_MINOR_VERSION ${CMAKE_MATCH_2}) + set(LIBXML_MICRO_VERSION ${CMAKE_MATCH_3}) +endif() + +project(libxml2 VERSION ${VERSION} LANGUAGES C) + +set(CMAKE_C_STANDARD 11) + +include(CheckCSourceCompiles) +include(CheckFunctionExists) +include(CheckIncludeFiles) +include(CheckLibraryExists) +include(CheckStructHasMember) +include(CheckSymbolExists) +include(CMakeDependentOption) +include(CMakePackageConfigHelpers) +include(CMakePushCheckState) +include(FindPkgConfig) +include(GNUInstallDirs) + +option(BUILD_SHARED_LIBS "Build shared libraries" ON) +option(LIBXML2_WITH_CATALOG "Add the Catalog support" ON) +option(LIBXML2_WITH_DEBUG "Add the debugging module" ON) +option(LIBXML2_WITH_DOCS "Build documentation" OFF) +option(LIBXML2_WITH_HTML "Add the HTML support" ON) +option(LIBXML2_WITH_HTTP "ABI compatibility for removed HTTP support" OFF) +option(LIBXML2_WITH_ICONV "Add ICONV support" ON) +option(LIBXML2_WITH_ICU "Add ICU support" OFF) +option(LIBXML2_WITH_ISO8859X "Add ISO8859X support if no iconv" ON) +option(LIBXML2_WITH_LEGACY "Add deprecated APIs for compatibility" OFF) +option(LIBXML2_WITH_MODULES "Add the dynamic modules support" ON) +option(LIBXML2_WITH_OUTPUT "Add the serialization support" ON) +option(LIBXML2_WITH_PATTERN "Add the xmlPattern selection interface" ON) +option(LIBXML2_WITH_PROGRAMS "Build programs" ON) +option(LIBXML2_WITH_PUSH "Add the PUSH parser interfaces" ON) +option(LIBXML2_WITH_PYTHON "Build Python bindings" OFF) +option(LIBXML2_WITH_READLINE "readline support for xmllint shell" OFF) +option(LIBXML2_WITH_REGEXPS "Add Regular Expressions support" ON) +option(LIBXML2_WITH_SAX1 "Add the older SAX1 interface" ON) +option(LIBXML2_WITH_TESTS "Build tests" ON) +option(LIBXML2_WITH_THREADS "Add multithread support" ON) +option(LIBXML2_WITH_TLS "Enable thread-local storage" OFF) +option(LIBXML2_WITH_VALID "Add the DTD validation support" ON) +if(WIN32 OR CYGWIN) + option(LIBXML2_WITH_WINPATH "Handle Windows-styled path" ON) +else() + option(LIBXML2_WITH_WINPATH "Handle Windows-styled path" OFF) +endif() +option(LIBXML2_WITH_XINCLUDE "Add the XInclude support" ON) +option(LIBXML2_WITH_XPATH "Add the XPATH support" ON) + +cmake_dependent_option( + LIBXML2_WITH_ZLIB "Use libz" OFF + "NOT LIBXML2_WITH_LEGACY" ON) + +cmake_dependent_option( + LIBXML2_WITH_C14N "Add the Canonicalization support" ON + "LIBXML2_WITH_OUTPUT;LIBXML2_WITH_XPATH" OFF) +cmake_dependent_option( + LIBXML2_WITH_HISTORY "history support for xmllint shell" OFF + "LIBXML2_WITH_READLINE" OFF) +cmake_dependent_option( + LIBXML2_WITH_READER "Add the xmlReader parsing interface" ON + "LIBXML2_WITH_PUSH" OFF) +cmake_dependent_option( + LIBXML2_WITH_SCHEMAS "Add XML Schemas 1.0 support" ON + "LIBXML2_WITH_PATTERN;LIBXML2_WITH_REGEXPS" OFF) +cmake_dependent_option( + LIBXML2_WITH_SCHEMATRON "Add Schematron support" OFF + "LIBXML2_WITH_PATTERN;LIBXML2_WITH_XPATH" OFF) +cmake_dependent_option( + LIBXML2_WITH_THREAD_ALLOC "Add per-thread malloc hooks" OFF + "LIBXML2_WITH_THREADS" OFF) +cmake_dependent_option( + LIBXML2_WITH_WRITER "Add the xmlWriter saving interface" ON + "LIBXML2_WITH_OUTPUT;LIBXML2_WITH_PUSH" OFF) +cmake_dependent_option( + LIBXML2_WITH_XPTR "Add the XPointer support" ON + "LIBXML2_WITH_XPATH" OFF) + +cmake_dependent_option( + LIBXML2_WITH_RELAXNG "Add Relax-NG support" ON + "LIBXML2_WITH_REGEXPS;LIBXML2_WITH_SCHEMAS" OFF) + +if(LIBXML2_WITH_PYTHON) + find_package(Python3 COMPONENTS Interpreter Development REQUIRED) + #set(LIBXML2_PYTHON_INSTALL_DIR ${Python3_SITEARCH} CACHE PATH "Python bindings install directory") + set(LIBXML2_PYTHON_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/python" + CACHE PATH "Python bindings install directory") +endif() + +foreach(VARIABLE IN ITEMS WITH_C14N WITH_CATALOG WITH_DEBUG WITH_HTML WITH_HTTP WITH_ICONV WITH_ICU WITH_ISO8859X WITH_MODULES WITH_OUTPUT WITH_PATTERN WITH_PUSH WITH_READER WITH_REGEXPS WITH_RELAXNG WITH_SAX1 WITH_SCHEMAS WITH_SCHEMATRON WITH_THREADS WITH_THREAD_ALLOC WITH_VALID WITH_WINPATH WITH_WRITER WITH_XINCLUDE WITH_XPATH WITH_XPTR WITH_ZLIB) + if(LIBXML2_${VARIABLE}) + set(${VARIABLE} 1) + else() + set(${VARIABLE} 0) + endif() +endforeach() + +set(LIBXML_VERSION ${VERSION}) +set(LIBXML_VERSION_EXTRA "") +math(EXPR LIBXML_VERSION_NUMBER " + ${LIBXML_MAJOR_VERSION} * 10000 + + ${LIBXML_MINOR_VERSION} * 100 + + ${LIBXML_MICRO_VERSION} +") + +set(MODULE_EXTENSION "${CMAKE_SHARED_LIBRARY_SUFFIX}") + +if(LIBXML2_WITH_ICONV) + find_package(Iconv REQUIRED) +endif() + +if(LIBXML2_WITH_ICU) + find_package(ICU REQUIRED COMPONENTS uc) +endif() + +if(LIBXML2_WITH_THREADS) + find_package(Threads REQUIRED) + set(THREAD_LIBS ${CMAKE_THREAD_LIBS_INIT}) + list(APPEND CMAKE_REQUIRED_LIBRARIES Threads::Threads) +endif() + +if(LIBXML2_WITH_ZLIB) + find_package(ZLIB REQUIRED) +endif() + +check_c_source_compiles(" + void __attribute__((destructor)) + f(void) {} + int main(void) { return 0; } +" HAVE_FUNC_ATTRIBUTE_DESTRUCTOR) +check_symbol_exists(getentropy "sys/random.h" HAVE_DECL_GETENTROPY) +check_symbol_exists(glob "glob.h" HAVE_DECL_GLOB) +check_symbol_exists(mmap "sys/mman.h" HAVE_DECL_MMAP) +check_include_files(stdint.h HAVE_STDINT_H) + +if(LIBXML2_WITH_READLINE) + check_library_exists(readline readline "" HAVE_LIBREADLINE) + if (LIBXML2_WITH_HISTORY) + check_library_exists(history append_history "" HAVE_LIBHISTORY) + endif() +endif() + +if(LIBXML2_WITH_TLS) + check_c_source_compiles( + "_Thread_local int v; int main(){return 0;}" + XML_THREAD_LOCAL_C11 + ) + if (XML_THREAD_LOCAL_C11) + set(XML_THREAD_LOCAL "_Thread_local") + else() + check_c_source_compiles( + "__thread int v; int main(){return 0;}" + XML_THREAD_LOCAL_THREAD + ) + if (XML_THREAD_LOCAL_THREAD) + set(XML_THREAD_LOCAL "__thread") + else() + check_c_source_compiles( + "__declspec(thread) int v; int main(){return 0;}" + XML_THREAD_LOCAL_DECLSPEC + ) + if (XML_THREAD_LOCAL_DECLSPEC) + set(XML_THREAD_LOCAL "__declspec(thread)") + endif() + endif() + endif() +endif() + +# Headers which are private. +set( + LIBXML2_PRIVATE_HDRS + include/private/buf.h + include/private/cata.h + include/private/dict.h + include/private/enc.h + include/private/entities.h + include/private/error.h + include/private/globals.h + include/private/html.h + include/private/io.h + include/private/lint.h + include/private/memory.h + include/private/parser.h + include/private/regexp.h + include/private/save.h + include/private/string.h + include/private/threads.h + include/private/tree.h + include/private/xinclude.h + include/private/xpath.h +) + +set( + LIBXML2_HDRS + include/libxml/c14n.h + include/libxml/catalog.h + include/libxml/chvalid.h + include/libxml/debugXML.h + include/libxml/dict.h + include/libxml/encoding.h + include/libxml/entities.h + include/libxml/globals.h + include/libxml/hash.h + include/libxml/HTMLparser.h + include/libxml/HTMLtree.h + include/libxml/list.h + include/libxml/nanoftp.h + include/libxml/nanohttp.h + include/libxml/parser.h + include/libxml/parserInternals.h + include/libxml/pattern.h + include/libxml/relaxng.h + include/libxml/SAX.h + include/libxml/SAX2.h + include/libxml/schemasInternals.h + include/libxml/schematron.h + include/libxml/threads.h + include/libxml/tree.h + include/libxml/uri.h + include/libxml/valid.h + include/libxml/xinclude.h + include/libxml/xlink.h + include/libxml/xmlIO.h + include/libxml/xmlautomata.h + include/libxml/xmlerror.h + include/libxml/xmlexports.h + include/libxml/xmlmemory.h + include/libxml/xmlmodule.h + include/libxml/xmlreader.h + include/libxml/xmlregexp.h + include/libxml/xmlsave.h + include/libxml/xmlschemas.h + include/libxml/xmlschemastypes.h + include/libxml/xmlstring.h + include/libxml/xmlunicode.h + include/libxml/xmlwriter.h + include/libxml/xpath.h + include/libxml/xpathInternals.h + include/libxml/xpointer.h +) + +set( + LIBXML2_SRCS + buf.c + chvalid.c + dict.c + encoding.c + entities.c + error.c + globals.c + hash.c + list.c + parser.c + parserInternals.c + SAX2.c + threads.c + tree.c + uri.c + valid.c + xmlIO.c + xmlmemory.c + xmlstring.c +) + +if(LIBXML2_WITH_C14N) + list(APPEND LIBXML2_SRCS c14n.c) +endif() +if(LIBXML2_WITH_CATALOG) + list(APPEND LIBXML2_SRCS catalog.c) +endif() +if(LIBXML2_WITH_DEBUG) + list(APPEND LIBXML2_SRCS debugXML.c) +endif() +if(LIBXML2_WITH_HTML) + list(APPEND LIBXML2_SRCS HTMLparser.c HTMLtree.c) +endif() +if(LIBXML2_WITH_HTTP) + list(APPEND LIBXML2_SRCS nanohttp.c) +endif() +if(LIBXML2_WITH_MODULES) + list(APPEND LIBXML2_SRCS xmlmodule.c) +endif() +if(LIBXML2_WITH_OUTPUT) + list(APPEND LIBXML2_SRCS xmlsave.c) +endif() +if(LIBXML2_WITH_PATTERN) + list(APPEND LIBXML2_SRCS pattern.c) +endif() +if(LIBXML2_WITH_READER) + list(APPEND LIBXML2_SRCS xmlreader.c) +endif() +if(LIBXML2_WITH_REGEXPS) + list(APPEND LIBXML2_SRCS xmlregexp.c) +endif() +if(LIBXML2_WITH_RELAXNG) + list(APPEND LIBXML2_SRCS relaxng.c) +endif() +if(LIBXML2_WITH_SCHEMAS) + list(APPEND LIBXML2_SRCS xmlschemas.c xmlschemastypes.c) +endif() +if(LIBXML2_WITH_SCHEMATRON) + list(APPEND LIBXML2_SRCS schematron.c) +endif() +if(LIBXML2_WITH_WRITER) + list(APPEND LIBXML2_SRCS xmlwriter.c) +endif() +if(LIBXML2_WITH_XINCLUDE) + list(APPEND LIBXML2_SRCS xinclude.c) +endif() +if(LIBXML2_WITH_XPATH) + list(APPEND LIBXML2_SRCS xpath.c) +endif() +if(LIBXML2_WITH_XPTR) + list(APPEND LIBXML2_SRCS xlink.c xpointer.c) +endif() + +if(WIN32) + list(APPEND LIBXML2_SRCS win32/libxml2.rc) + file( + WRITE + ${CMAKE_CURRENT_BINARY_DIR}/rcVersion.h + "#define LIBXML_MAJOR_VERSION ${LIBXML_MAJOR_VERSION}\n" + "#define LIBXML_MINOR_VERSION ${LIBXML_MINOR_VERSION}\n" + "#define LIBXML_MICRO_VERSION ${LIBXML_MICRO_VERSION}\n" + "#define LIBXML_DOTTED_VERSION \"${VERSION}\"\n" + ) +endif() + +add_library(LibXml2 ${LIBXML2_HDRS} ${LIBXML2_SRCS} ${LIBXML2_PRIVATE_HDRS}) +add_library(LibXml2::LibXml2 ALIAS LibXml2) + +target_include_directories( + LibXml2 + PUBLIC + $ + $ + $/${CMAKE_INSTALL_INCLUDEDIR}/libxml2> +) + +if(LIBXML2_WITH_MODULES) + cmake_push_check_state(RESET) + set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_DL_LIBS}) + check_symbol_exists(dlopen "dlfcn.h" HAVE_DLOPEN) + cmake_pop_check_state() + if(HAVE_DLOPEN) + target_link_libraries(LibXml2 PRIVATE ${CMAKE_DL_LIBS}) + list(TRANSFORM CMAKE_DL_LIBS PREPEND "-l" REGEX "^[^-]" OUTPUT_VARIABLE MODULE_LIBS) + else() + check_library_exists(dld shl_load "" HAVE_SHLLOAD) + if(HAVE_SHLLOAD) + target_link_libraries(LibXml2 PRIVATE dld) + set(MODULE_LIBS "-ldld") + endif() + endif() +endif() + +if(UNIX) + target_link_libraries(LibXml2 PRIVATE m) + set(LIBM "-lm") +endif() + +if(WIN32) + target_link_libraries(LibXml2 PRIVATE bcrypt) + set(CRYPTO_LIBS "-lbcrypt") +endif() + +if(LIBXML2_WITH_ICONV) + target_link_libraries(LibXml2 PRIVATE Iconv::Iconv) + if(NOT Iconv_IS_BUILT_IN) + set(ICONV_LIBS "-liconv") + endif() +endif() + +if(LIBXML2_WITH_ICU) + target_link_libraries(LibXml2 PRIVATE ICU::uc) + set(ICU_LDFLAGS "-licuuc") + list(APPEND XML_PRIVATE_LIBS "${ICU_LDFLAGS}") + pkg_check_modules(ICU_PC IMPORTED_TARGET icu-uc) + if(ICU_PC_FOUND) + list(APPEND XML_PC_REQUIRES icu-uc) + else() + list(APPEND XML_PC_LIBS "${ICU_LDFLAGS}") + endif() +endif() + +if(LIBXML2_WITH_THREADS) + target_link_libraries(LibXml2 PRIVATE Threads::Threads) +endif() + +if(LIBXML2_WITH_ZLIB) + target_link_libraries(LibXml2 PRIVATE ZLIB::ZLIB) + set(ZLIB_LDFLAGS "-lz") + list(APPEND XML_PRIVATE_LIBS "${ZLIB_LDFLAGS}") + pkg_check_modules(ZLIB_PC IMPORTED_TARGET zlib) + if(ZLIB_PC_FOUND) + list(APPEND XML_PC_REQUIRES zlib) + else() + list(APPEND XML_PC_LIBS "${ZLIB_LDFLAGS}") + endif() +endif() + +if(CMAKE_C_COMPILER_ID MATCHES "Clang" OR CMAKE_C_COMPILER_ID STREQUAL "GNU") + # These compiler flags can break the checks above so keep them here. + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pedantic -Wall -Wextra -Wshadow \ +-Wpointer-arith -Wcast-align -Wwrite-strings \ +-Wstrict-prototypes -Wmissing-prototypes \ +-Wno-long-long -Wno-format-extra-args -Wno-array-bounds") +endif() + +set(LIBXML_MINOR_COMPAT 14) +math(EXPR LIBXML_SOVERSION "${LIBXML_MAJOR_VERSION} + ${LIBXML_MINOR_COMPAT}") +math(EXPR LIBXML_AGE "${LIBXML_MINOR_VERSION} - ${LIBXML_MINOR_COMPAT}") +math(EXPR LIBXML_MACHO_COMPAT "${LIBXML_MAJOR_VERSION} + ${LIBXML_MINOR_VERSION} + 1") +set_target_properties( + LibXml2 + PROPERTIES + IMPORT_PREFIX lib + OUTPUT_NAME xml2 + POSITION_INDEPENDENT_CODE ON + PREFIX lib + VERSION "${LIBXML_SOVERSION}.${LIBXML_AGE}.${LIBXML_MICRO_VERSION}" + SOVERSION ${LIBXML_SOVERSION} + MACHO_COMPATIBILITY_VERSION ${LIBXML_MACHO_COMPAT} + MACHO_CURRENT_VERSION "${LIBXML_MACHO_COMPAT}.${LIBXML_MICRO_VERSION}" +) + +if(MSVC) + if(BUILD_SHARED_LIBS) + set_target_properties( + LibXml2 + PROPERTIES + DEBUG_POSTFIX d + ) + else() + set_target_properties( + LibXml2 + PROPERTIES + DEBUG_POSTFIX sd + MINSIZEREL_POSTFIX s + RELEASE_POSTFIX s + RELWITHDEBINFO_POSTFIX s + ) + endif() +endif() + +set(XML_SYSCONFDIR "${CMAKE_INSTALL_FULL_SYSCONFDIR}") + +install(FILES ${LIBXML2_HDRS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libxml2/libxml COMPONENT development) + +install( + TARGETS LibXml2 + EXPORT LibXml2 + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT development + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT runtime NAMELINK_COMPONENT development + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT runtime +) + +if(MSVC AND BUILD_SHARED_LIBS) + install(FILES $ DESTINATION ${CMAKE_INSTALL_BINDIR} CONFIGURATIONS Debug RelWithDebInfo COMPONENT debug) +endif() + +if(LIBXML2_WITH_PROGRAMS) + add_executable(xmllint xmllint.c shell.c lintmain.c) + set(PROGRAMS xmllint) + if(LIBXML2_WITH_CATALOG AND LIBXML2_WITH_OUTPUT) + add_executable(xmlcatalog xmlcatalog.c) + list(APPEND PROGRAMS xmlcatalog) + endif() + foreach(PROGRAM ${PROGRAMS}) + add_executable(LibXml2::${PROGRAM} ALIAS ${PROGRAM}) + target_link_libraries(${PROGRAM} LibXml2) + if(HAVE_LIBHISTORY) + target_link_libraries(${PROGRAM} history) + endif() + if(HAVE_LIBREADLINE) + target_link_libraries(${PROGRAM} readline) + endif() + install(TARGETS ${PROGRAM} EXPORT LibXml2 RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT programs) + endforeach() + if(LIBXML2_WITH_ZLIB) + target_link_libraries(xmllint ZLIB::ZLIB) + endif() +endif() + +if(LIBXML2_WITH_TESTS) + enable_testing() + set( + TESTS + runtest + runxmlconf + runsuite + testapi + testcatalog + testchar + testdict + testModule + testlimits + testparser + testrecurse + ) + foreach(TEST ${TESTS}) + add_executable(${TEST} ${TEST}.c) + target_link_libraries(${TEST} LibXml2) + endforeach() + if(Threads_FOUND) + foreach(TEST runtest) + if(LIBXML2_WITH_ZLIB) + target_link_libraries(${TEST} ZLIB::ZLIB Threads::Threads) + else() + target_link_libraries(${TEST} Threads::Threads) + endif() + endforeach() + endif() + add_test(NAME runtest COMMAND runtest --out ${CMAKE_CURRENT_BINARY_DIR} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) + add_test(NAME runsuite COMMAND runsuite WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) + if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/xmlconf/xmlconf.xml) + add_test(NAME runxmlconf COMMAND runxmlconf WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) + endif() + add_test(NAME testapi COMMAND testapi) + add_test(NAME testcatalog COMMAND testcatalog) + add_test(NAME testchar COMMAND testchar) + add_test(NAME testdict COMMAND testdict) + add_test(NAME testparser COMMAND testparser WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) + add_test(NAME testrecurse COMMAND testrecurse WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) + + + function(ADD_SUITE test_dir program) + file(GLOB_RECURSE files_to_process CONFIGURE_DEPENDS "./test/${test_dir}/*.script") + + foreach(file_path ${files_to_process}) + file(RELATIVE_PATH file_relative "${CMAKE_CURRENT_SOURCE_DIR}" "${file_path}") + get_filename_component(dir_path ${file_relative} DIRECTORY) + get_filename_component(base_name ${file_relative} NAME_WE) + get_filename_component(extension ${file_relative} EXT) + + set(actual_stdout "${CMAKE_CURRENT_BINARY_DIR}/result/${test_dir}/${base_name}") + set(actual_stderr "${CMAKE_CURRENT_BINARY_DIR}/result/${test_dir}/${base_name}.err") + set(expected_stdout "${CMAKE_CURRENT_SOURCE_DIR}/result/${test_dir}/${base_name}") + set(expected_stderr "${CMAKE_CURRENT_SOURCE_DIR}/result/${test_dir}/${base_name}.err") + + set(xml_path "${CMAKE_CURRENT_SOURCE_DIR}/${dir_path}/${base_name}.xml") + set(sgml_path "${CMAKE_CURRENT_SOURCE_DIR}/${dir_path}/${base_name}.sgml") + + if(EXISTS "${xml_path}") + set(input_file "./${dir_path}/${base_name}.xml") + elseif(EXISTS "${sgml_path}") + set(input_file "./${dir_path}/${base_name}.sgml") + else() + message(FATAL_ERROR "Neither XML nor SGML exists for: ${dir_path}/${base_name}") + endif() + + add_test( + NAME ${test_dir}_${base_name} + COMMAND ${CMAKE_COMMAND} + -DPROG=$ + -DSTDIN=./${dir_path}/${base_name}.script + -DXML=${input_file} + -DSTDOUT=${actual_stdout} + -DSTDERR=${actual_stderr} + -DEXPECTED_STDOUT=${expected_stdout} + -DEXPECTED_STDERR=${expected_stderr} + -DWORKDIR=${CMAKE_CURRENT_SOURCE_DIR} + -P ${CMAKE_CURRENT_SOURCE_DIR}/run_and_diff.cmake + ) + + endforeach() + endfunction() + + if(LIBXML2_WITH_PROGRAMS) + add_suite("scripts" xmllint) + add_suite("catalogs" xmlcatalog) + + add_test( + NAME catalog_add_del + COMMAND ${CMAKE_COMMAND} + -DXMLCAT=$ + -DEXPECTED_FULL=${CMAKE_CURRENT_SOURCE_DIR}/result/catalogs/mycatalog.full + -DEXPECTED_EMPTY=${CMAKE_CURRENT_SOURCE_DIR}/result/catalogs/mycatalog.empty + -P ${CMAKE_CURRENT_SOURCE_DIR}/test_xmlcatalog_add_del.cmake + ) + endif() + +endif() + +if(LIBXML2_WITH_DOCS OR LIBXML2_WITH_PYTHON) + set(DOXYFILE ${CMAKE_CURRENT_SOURCE_DIR}/doc/Doxyfile) + add_custom_command( + OUTPUT doc/html doc/xml + COMMAND ${CMAKE_COMMAND} -E env + SOURCE_ROOT=${CMAKE_CURRENT_SOURCE_DIR}/ + BUILD_ROOT=${CMAKE_CURRENT_BINARY_DIR}/ + doxygen -q ${DOXYFILE} + MAIN_DEPENDENCY ${DOXYFILE} + DEPENDS ${LIBXML2_HDRS} ${LIBXML2_SRCS} + ) + add_custom_target(Doxygen ALL DEPENDS doc/html doc/xml) +endif() + +if(LIBXML2_WITH_PYTHON) + add_custom_command( + OUTPUT + libxml2-py.c + libxml2-py.h + libxml2.py + COMMAND + ${Python3_EXECUTABLE} + ${CMAKE_CURRENT_SOURCE_DIR}/python/generator.py + ${CMAKE_CURRENT_BINARY_DIR} + DEPENDS + python/generator.py + Doxygen + ) + + Python3_add_library( + LibXml2Mod MODULE WITH_SOABI + libxml2-py.c + libxml2-py.h + python/libxml.c + python/libxml_wrap.h + python/types.c + ) + target_include_directories( + LibXml2Mod + PRIVATE + $ + ) + target_link_libraries(LibXml2Mod PRIVATE LibXml2) + set_target_properties( + LibXml2Mod + PROPERTIES + IMPORT_PREFIX lib + OUTPUT_NAME xml2mod + PREFIX lib + ) + install( + TARGETS LibXml2Mod + ARCHIVE DESTINATION ${LIBXML2_PYTHON_INSTALL_DIR} COMPONENT development + LIBRARY DESTINATION ${LIBXML2_PYTHON_INSTALL_DIR} COMPONENT runtime NAMELINK_COMPONENT development + RUNTIME DESTINATION ${LIBXML2_PYTHON_INSTALL_DIR} COMPONENT runtime + ) + if(MSVC AND BUILD_SHARED_LIBS) + install(FILES $ DESTINATION ${LIBXML2_PYTHON_INSTALL_DIR} CONFIGURATIONS Debug RelWithDebInfo COMPONENT debug) + endif() + install(FILES python/drv_libxml2.py DESTINATION ${LIBXML2_PYTHON_INSTALL_DIR} COMPONENT runtime) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libxml2.py DESTINATION ${LIBXML2_PYTHON_INSTALL_DIR} COMPONENT runtime) +endif() + +if (LIBXML2_WITH_DOCS) + set(MAN_PAGES doc/xml2-config.1) + + if(LIBXML2_WITH_PROGRAMS) + set(PROGNAMES xmllint) + if(LIBXML2_WITH_CATALOG AND LIBXML2_WITH_OUTPUT) + list(APPEND PROGNAMES xmlcatalog) + endif() + foreach(PROG IN ITEMS ${PROGNAMES}) + set(XML_SRC ${CMAKE_CURRENT_SOURCE_DIR}/doc/${PROG}.xml) + + add_custom_command( + OUTPUT ${PROG}.1 + COMMAND xsltproc + --nonet --novalid + --param man.output.quietly 1 + -o ${PROG}.1 + http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl + ${XML_SRC} + MAIN_DEPENDENCY ${XML_SRC} + ) + list(APPEND MAN_PAGES ${CMAKE_CURRENT_BINARY_DIR}/${PROG}.1) + + add_custom_command( + OUTPUT ${PROG}.html + COMMAND xsltproc + --nonet --novalid + -o ${PROG}.html + http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl + ${XML_SRC} + MAIN_DEPENDENCY ${XML_SRC} + ) + list(APPEND HTML_PAGES ${CMAKE_CURRENT_BINARY_DIR}/${PROG}.html) + endforeach() + + add_custom_target(DocBook ALL DEPENDS ${MAN_PAGES} ${HTML_PAGES}) + + install( + FILES ${HTML_PAGES} + DESTINATION ${CMAKE_INSTALL_DOCDIR} + COMPONENT documentation + ) + endif() + + install( + FILES ${MAN_PAGES} + DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 + COMPONENT documentation + ) + install( + DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doc/html + DESTINATION ${CMAKE_INSTALL_DOCDIR} + COMPONENT documentation + ) +endif() + +configure_package_config_file( + libxml2-config.cmake.cmake.in libxml2-config.cmake + INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxml2 +) + +install( + FILES ${CMAKE_CURRENT_BINARY_DIR}/libxml2-config.cmake + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxml2 + COMPONENT development +) + +write_basic_package_version_file( + ${CMAKE_CURRENT_BINARY_DIR}/libxml2-config-version.cmake + VERSION ${PROJECT_VERSION} + COMPATIBILITY SameMajorVersion +) + +install( + FILES ${CMAKE_CURRENT_BINARY_DIR}/libxml2-config-version.cmake + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxml2 + COMPONENT development +) + +install( + EXPORT LibXml2 + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxml2 + NAMESPACE LibXml2:: + FILE libxml2-export.cmake + COMPONENT development +) + +configure_file(config.h.cmake.in config.h) +configure_file(include/libxml/xmlversion.h.in libxml/xmlversion.h) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libxml/xmlversion.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libxml2/libxml COMPONENT development) + +source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} + FILES ${LIBXML2_SRCS} ${LIBXML2_HDRS} ${LIBXML2_PRIVATE_HDRS}) + +if(LIBXML2_WITH_PYTHON) + set(prefix "${CMAKE_INSTALL_PREFIX}") + configure_file(python/setup.py.in setup.py @ONLY) +endif() + +set(NON_PC_LIBS "${THREAD_LIBS} ${ICONV_LIBS} ${LIBM} ${WINSOCK_LIBS} ${CRYPTO_LIBS} ${MODULE_LIBS}") +list(APPEND XML_PC_LIBS "${NON_PC_LIBS}") +list(APPEND XML_PRIVATE_LIBS "${NON_PC_LIBS}") +list(REMOVE_DUPLICATES XML_PC_LIBS) +list(REMOVE_DUPLICATES XML_PRIVATE_LIBS) + +list(JOIN XML_PC_REQUIRES " " XML_PC_REQUIRES) +list(JOIN XML_PC_LIBS " " XML_PC_LIBS) +list(JOIN XML_PRIVATE_LIBS " " XML_PRIVATE_LIBS) + +set(XML_INCLUDEDIR "-I\${includedir}/libxml2") +set(XML_LIBDIR "-L\${libdir}") +set(XML_LIBS "-lxml2") + +if(BUILD_SHARED_LIBS) + set(XML_PC_PRIVATE ".private") + set(XML_PC_LIBS_PRIVATE " +Libs.private:") +else() + set(XML_PRIVATE_LIBS_NO_SHARED "${XML_PRIVATE_LIBS}") +endif() + +if(WIN32) + set(XML_STATIC_CFLAGS "-DLIBXML_STATIC") + if (BUILD_SHARED_LIBS) + set(XML_PC_CFLAGS_PRIVATE " +Cflags.private:") + else() + target_compile_definitions(LibXml2 PUBLIC LIBXML_STATIC) + set(XML_CFLAGS "${XML_STATIC_CFLAGS}") + endif() +endif() + +file(RELATIVE_PATH PACKAGE_RELATIVE_PATH "${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig" "${CMAKE_INSTALL_PREFIX}") +string(REGEX REPLACE "/$" "" PACKAGE_RELATIVE_PATH "${PACKAGE_RELATIVE_PATH}") + +if(WIN32) + set(prefix "\${pcfiledir}/${PACKAGE_RELATIVE_PATH}") +else() + set(prefix "${CMAKE_INSTALL_PREFIX}") +endif() +set(exec_prefix "\${prefix}") +set(libdir "\${prefix}/${CMAKE_INSTALL_LIBDIR}") +set(includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}") +configure_file(libxml-2.0.pc.in libxml-2.0.pc @ONLY) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libxml-2.0.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig COMPONENT development) + +if(WIN32) + set(prefix "\$(cd \"\$(dirname \"\$0\")\"; pwd -P)/..") +endif() +configure_file(xml2-config.in xml2-config @ONLY) +install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/xml2-config DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT development) + +set(XML_INCLUDEDIR "-I${CMAKE_INSTALL_FULL_INCLUDEDIR}/libxml2") +set(XML_LIBDIR "-L${CMAKE_INSTALL_FULL_LIBDIR}") + +set(CPACK_COMPONENT_DEVELOPMENT_DEPENDS runtime) +set(CPACK_COMPONENT_PROGRAMS_DEPENDS runtime) +set(CPACK_DEB_COMPONENT_INSTALL ON) +set(CPACK_DEBIAN_DEVELOPMENT_PACKAGE_DEPENDS "${PACKAGE_TARNAME}") +set(CPACK_DEBIAN_DEVELOPMENT_PACKAGE_NAME "${PACKAGE_TARNAME}-dev") +set(CPACK_DEBIAN_DEVELOPMENT_PACKAGE_SECTION "libdevel") +set(CPACK_DEBIAN_PACKAGE_HOMEPAGE ${PACKAGE_URL}) +set(CPACK_DEBIAN_PACKAGE_NAME ${PACKAGE_TARNAME}) +set(CPACK_DEBIAN_PACKAGE_SECTION "devel") +set(CPACK_DEBIAN_PROGRAMS_PACKAGE_DEPENDS "${PACKAGE_TARNAME}") +set(CPACK_DEBIAN_PROGRAMS_PACKAGE_NAME "${PACKAGE_TARNAME}-utils") +set(CPACK_DEBIAN_PROGRAMS_PACKAGE_SECTION "utils") +set(CPACK_DEBIAN_RUNTIME_PACKAGE_NAME ${PACKAGE_TARNAME}) +set(CPACK_DEBIAN_RUNTIME_PACKAGE_RECOMMENDS "${PACKAGE_TARNAME}-utils") +set(CPACK_DEBIAN_RUNTIME_PACKAGE_SECTION "libs") +set(CPACK_NSIS_PACKAGE_NAME ${PACKAGE_STRING}) +set(CPACK_NSIS_URL_INFO_ABOUT ${PACKAGE_URL}) +set(CPACK_PACKAGE_DISPLAY_NAME ${PACKAGE_STRING}) +set(CPACK_PACKAGE_INSTALL_DIRECTORY "${PACKAGE_TARNAME}-${PACKAGE_VERSION}") +set(CPACK_PACKAGE_NAME ${PACKAGE_TARNAME}) +set(CPACK_PACKAGE_VERSION ${PACKAGE_VERSION}) +set(CPACK_PACKAGE_VERSION_MAJOR ${LIBXML_MAJOR_VERSION}) +set(CPACK_PACKAGE_VERSION_MINOR ${LIBXML_MINOR_VERSION}) +set(CPACK_PACKAGE_VERSION_PATCH ${LIBXML_MICRO_VERSION}) +set(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_CURRENT_SOURCE_DIR}/Copyright) +set(CPACK_RPM_COMPONENT_INSTALL ON) +set(CPACK_RPM_development_PACKAGE_NAME "${PACKAGE_NAME}-devel") +set(CPACK_RPM_development_PACKAGE_REQUIRES "${PACKAGE_NAME}") +set(CPACK_RPM_PACKAGE_GROUP "Development/Libraries") +set(CPACK_RPM_PACKAGE_NAME ${PACKAGE_TARNAME}) +set(CPACK_RPM_PACKAGE_URL ${PACKAGE_URL}) +set(CPACK_RPM_programs_PACKAGE_NAME "${PACKAGE_NAME}-utils") +set(CPACK_RPM_programs_PACKAGE_REQUIRES "${PACKAGE_NAME}") +set(CPACK_RPM_runtime_PACKAGE_NAME "${PACKAGE_NAME}") +set(CPACK_RPM_runtime_PACKAGE_SUGGESTS "${PACKAGE_NAME}-utils") + +include(CPack) diff --git a/libxml2/Copyright b/libxml2/Copyright new file mode 100644 index 0000000..8c0b7c1 --- /dev/null +++ b/libxml2/Copyright @@ -0,0 +1,24 @@ +Except where otherwise noted in the source code (e.g. the files dict.c and +list.c, which are covered by a similar licence but with different Copyright +notices) all the files are: + + Copyright (C) 1998-2012 Daniel Veillard. All Rights Reserved. + Copyright (C) The Libxml2 Contributors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is fur- +nished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT- +NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/libxml2/HTMLparser.c b/libxml2/HTMLparser.c new file mode 100644 index 0000000..655def0 --- /dev/null +++ b/libxml2/HTMLparser.c @@ -0,0 +1,6004 @@ +/* + * HTMLparser.c : an HTML parser + * + * References: + * HTML Living Standard + * https://html.spec.whatwg.org/multipage/parsing.html + * + * Tokenization now conforms to HTML5. Tree construction still follows + * a custom, non-standard implementation. See: + * + * https://gitlab.gnome.org/GNOME/libxml2/-/issues/211 + * + * See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#define IN_LIBXML +#include "libxml.h" +#ifdef LIBXML_HTML_ENABLED + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "private/buf.h" +#include "private/dict.h" +#include "private/enc.h" +#include "private/error.h" +#include "private/html.h" +#include "private/io.h" +#include "private/memory.h" +#include "private/parser.h" +#include "private/tree.h" + +#define HTML_MAX_NAMELEN 1000 +#define HTML_MAX_ATTRS 100000000 /* 100 million */ +#define HTML_PARSER_BIG_BUFFER_SIZE 1000 +#define HTML_PARSER_BUFFER_SIZE 100 + +#define IS_HEX_DIGIT(c) \ + ((IS_ASCII_DIGIT(c)) || \ + ((((c) | 0x20) >= 'a') && (((c) | 0x20) <= 'f'))) + +#define IS_UPPER(c) \ + (((c) >= 'A') && ((c) <= 'Z')) + +#define IS_ALNUM(c) \ + (IS_ASCII_LETTER(c) || IS_ASCII_DIGIT(c)) + +typedef enum { + INSERT_INITIAL = 1, + INSERT_IN_HEAD = 3, + INSERT_IN_BODY = 10 +} htmlInsertMode; + +typedef const unsigned htmlAsciiMask[2]; + +static htmlAsciiMask MASK_DQ = { + 0, + 1u << ('"' - 32), +}; +static htmlAsciiMask MASK_SQ = { + 0, + 1u << ('\'' - 32), +}; +static htmlAsciiMask MASK_GT = { + 0, + 1u << ('>' - 32), +}; +static htmlAsciiMask MASK_DASH = { + 0, + 1u << ('-' - 32), +}; +static htmlAsciiMask MASK_WS_GT = { + 1u << 0x09 | 1u << 0x0A | 1u << 0x0C | 1u << 0x0D, + 1u << (' ' - 32) | 1u << ('>' - 32), +}; +static htmlAsciiMask MASK_DQ_GT = { + 0, + 1u << ('"' - 32) | 1u << ('>' - 32), +}; +static htmlAsciiMask MASK_SQ_GT = { + 0, + 1u << ('\'' - 32) | 1u << ('>' - 32), +}; + +static int htmlOmittedDefaultValue = 1; + +static int +htmlParseElementInternal(htmlParserCtxtPtr ctxt); + +/************************************************************************ + * * + * Some factorized error routines * + * * + ************************************************************************/ + +/** + * Handle an out-of-memory error + * + * @param ctxt an HTML parser context + */ +static void +htmlErrMemory(xmlParserCtxtPtr ctxt) +{ + xmlCtxtErrMemory(ctxt); +} + +/** + * Handle a fatal parser error, i.e. violating Well-Formedness constraints + * + * @param ctxt an HTML parser context + * @param error the error number + * @param msg the error message + * @param str1 string infor + * @param str2 string infor + */ +static void LIBXML_ATTR_FORMAT(3,0) +htmlParseErr(xmlParserCtxtPtr ctxt, xmlParserErrors error, + const char *msg, const xmlChar *str1, const xmlChar *str2) +{ + xmlCtxtErr(ctxt, NULL, XML_FROM_HTML, error, XML_ERR_ERROR, + str1, str2, NULL, 0, msg, str1, str2); +} + +/************************************************************************ + * * + * Parser stacks related functions and macros * + * * + ************************************************************************/ + +/** + * Pushes a new element name on top of the name stack + * + * @param ctxt an HTML parser context + * @param value the element name + * @returns -1 in case of error, the index in the stack otherwise + */ +static int +htmlnamePush(htmlParserCtxtPtr ctxt, const xmlChar * value) +{ + if ((ctxt->html < INSERT_IN_HEAD) && (xmlStrEqual(value, BAD_CAST "head"))) + ctxt->html = INSERT_IN_HEAD; + if ((ctxt->html < INSERT_IN_BODY) && (xmlStrEqual(value, BAD_CAST "body"))) + ctxt->html = INSERT_IN_BODY; + if (ctxt->nameNr >= ctxt->nameMax) { + const xmlChar **tmp; + int newSize; + + newSize = xmlGrowCapacity(ctxt->nameMax, sizeof(tmp[0]), + 10, XML_MAX_ITEMS); + if (newSize < 0) { + htmlErrMemory(ctxt); + return (-1); + } + tmp = xmlRealloc(ctxt->nameTab, newSize * sizeof(tmp[0])); + if (tmp == NULL) { + htmlErrMemory(ctxt); + return(-1); + } + ctxt->nameTab = tmp; + ctxt->nameMax = newSize; + } + ctxt->nameTab[ctxt->nameNr] = value; + ctxt->name = value; + return (ctxt->nameNr++); +} +/** + * Pops the top element name from the name stack + * + * @param ctxt an HTML parser context + * @returns the name just removed + */ +static const xmlChar * +htmlnamePop(htmlParserCtxtPtr ctxt) +{ + const xmlChar *ret; + + if (ctxt->nameNr <= 0) + return (NULL); + ctxt->nameNr--; + if (ctxt->nameNr < 0) + return (NULL); + if (ctxt->nameNr > 0) + ctxt->name = ctxt->nameTab[ctxt->nameNr - 1]; + else + ctxt->name = NULL; + ret = ctxt->nameTab[ctxt->nameNr]; + ctxt->nameTab[ctxt->nameNr] = NULL; + return (ret); +} + +/** + * Pushes a new element name on top of the node info stack + * + * @param ctxt an HTML parser context + * @param value the node info + * @returns 0 in case of error, the index in the stack otherwise + */ +static int +htmlNodeInfoPush(htmlParserCtxtPtr ctxt, htmlParserNodeInfo *value) +{ + if (ctxt->nodeInfoNr >= ctxt->nodeInfoMax) { + xmlParserNodeInfo *tmp; + int newSize; + + newSize = xmlGrowCapacity(ctxt->nodeInfoMax, sizeof(tmp[0]), + 5, XML_MAX_ITEMS); + if (newSize < 0) { + htmlErrMemory(ctxt); + return (0); + } + tmp = xmlRealloc(ctxt->nodeInfoTab, newSize * sizeof(tmp[0])); + if (tmp == NULL) { + htmlErrMemory(ctxt); + return (0); + } + ctxt->nodeInfoTab = tmp; + ctxt->nodeInfoMax = newSize; + } + ctxt->nodeInfoTab[ctxt->nodeInfoNr] = *value; + ctxt->nodeInfo = &ctxt->nodeInfoTab[ctxt->nodeInfoNr]; + return (ctxt->nodeInfoNr++); +} + +/** + * Pops the top element name from the node info stack + * + * @param ctxt an HTML parser context + * @returns 0 in case of error, the pointer to NodeInfo otherwise + */ +static htmlParserNodeInfo * +htmlNodeInfoPop(htmlParserCtxtPtr ctxt) +{ + if (ctxt->nodeInfoNr <= 0) + return (NULL); + ctxt->nodeInfoNr--; + if (ctxt->nodeInfoNr < 0) + return (NULL); + if (ctxt->nodeInfoNr > 0) + ctxt->nodeInfo = &ctxt->nodeInfoTab[ctxt->nodeInfoNr - 1]; + else + ctxt->nodeInfo = NULL; + return &ctxt->nodeInfoTab[ctxt->nodeInfoNr]; +} + +/* + * Macros for accessing the content. Those should be used only by the parser, + * and not exported. + * + * Dirty macros, i.e. one need to make assumption on the context to use them + * + * CUR_PTR return the current pointer to the xmlChar to be parsed. + * CUR returns the current xmlChar value, i.e. a 8 bit value if compiled + * in ISO-Latin or UTF-8, and the current 16 bit value if compiled + * in UNICODE mode. This should be used internally by the parser + * only to compare to ASCII values otherwise it would break when + * running with UTF-8 encoding. + * NXT(n) returns the n'th next xmlChar. Same as CUR is should be used only + * to compare on ASCII based substring. + * UPP(n) returns the n'th next xmlChar converted to uppercase. Same as CUR + * it should be used only to compare on ASCII based substring. + * SKIP(n) Skip n xmlChar, and must also be used only to skip ASCII defined + * strings without newlines within the parser. + * + * Clean macros, not dependent of an ASCII context, expect UTF-8 encoding + * + * COPY(to) copy one char to *to, increment CUR_PTR and to accordingly + */ + +#define UPPER (toupper(*ctxt->input->cur)) + +#define SKIP(val) ctxt->input->cur += (val),ctxt->input->col+=(val) + +#define NXT(val) ctxt->input->cur[(val)] + +#define UPP(val) (toupper(ctxt->input->cur[(val)])) + +#define CUR_PTR ctxt->input->cur +#define BASE_PTR ctxt->input->base + +#define SHRINK \ + if ((!PARSER_PROGRESSIVE(ctxt)) && \ + (ctxt->input->cur - ctxt->input->base > 2 * INPUT_CHUNK) && \ + (ctxt->input->end - ctxt->input->cur < 2 * INPUT_CHUNK)) \ + xmlParserShrink(ctxt); + +#define GROW \ + if ((!PARSER_PROGRESSIVE(ctxt)) && \ + (ctxt->input->end - ctxt->input->cur < INPUT_CHUNK)) \ + xmlParserGrow(ctxt); + +#define SKIP_BLANKS htmlSkipBlankChars(ctxt) + +/* Imported from XML */ + +#define CUR (*ctxt->input->cur) + +/** + * Prescan to find encoding. + * + * Try to find an encoding in the current data available in the input + * buffer. + * + * TODO: Implement HTML5 prescan algorithm. + * + * @param ctxt the HTML parser context + * @returns an encoding string or NULL if not found + */ +static xmlChar * +htmlFindEncoding(xmlParserCtxtPtr ctxt) { + const xmlChar *start, *cur, *end; + xmlChar *ret; + + if ((ctxt == NULL) || (ctxt->input == NULL) || + (ctxt->input->flags & XML_INPUT_HAS_ENCODING)) + return(NULL); + if ((ctxt->input->cur == NULL) || (ctxt->input->end == NULL)) + return(NULL); + + start = ctxt->input->cur; + end = ctxt->input->end; + /* we also expect the input buffer to be zero terminated */ + if (*end != 0) + return(NULL); + + cur = xmlStrcasestr(start, BAD_CAST "HTTP-EQUIV"); + if (cur == NULL) + return(NULL); + cur = xmlStrcasestr(cur, BAD_CAST "CONTENT"); + if (cur == NULL) + return(NULL); + cur = xmlStrcasestr(cur, BAD_CAST "CHARSET="); + if (cur == NULL) + return(NULL); + cur += 8; + start = cur; + while ((IS_ALNUM(*cur)) || + (*cur == '-') || (*cur == '_') || (*cur == ':') || (*cur == '/')) + cur++; + if (cur == start) + return(NULL); + ret = xmlStrndup(start, cur - start); + if (ret == NULL) + htmlErrMemory(ctxt); + return(ret); +} + +static int +htmlMaskMatch(htmlAsciiMask mask, unsigned c) { + if (c >= 64) + return(0); + return((mask[c/32] >> (c & 31)) & 1); +} + +static int +htmlValidateUtf8(xmlParserCtxtPtr ctxt, const xmlChar *str, size_t len, + int partial) { + unsigned c = str[0]; + int size; + + if (c < 0xC2) { + goto invalid; + } else if (c < 0xE0) { + if (len < 2) + goto incomplete; + if ((str[1] & 0xC0) != 0x80) + goto invalid; + size = 2; + } else if (c < 0xF0) { + unsigned v; + + if (len < 3) + goto incomplete; + + v = str[1] << 8 | str[2]; /* hint to generate 16-bit load */ + v |= c << 16; + + if (((v & 0x00C0C0) != 0x008080) || + ((v & 0x0F2000) == 0x000000) || + ((v & 0x0F2000) == 0x0D2000)) + goto invalid; + + size = 3; + } else { + unsigned v; + + if (len < 4) + goto incomplete; + + v = c << 24 | str[1] << 16 | str[2] << 8 | str[3]; + + if (((v & 0x00C0C0C0) != 0x00808080) || + (v < 0xF0900000) || (v >= 0xF4900000)) + goto invalid; + + size = 4; + } + + return(size); + +incomplete: + if (partial) + return(0); + +invalid: + /* Only report the first error */ + if ((ctxt->input->flags & XML_INPUT_ENCODING_ERROR) == 0) { + htmlParseErr(ctxt, XML_ERR_INVALID_ENCODING, + "Invalid bytes in character encoding\n", NULL, NULL); + ctxt->input->flags |= XML_INPUT_ENCODING_ERROR; + } + + return(-1); +} + +/** + * skip all blanks character found at that point in the input streams. + * + * @param ctxt the HTML parser context + * @returns the number of space chars skipped + */ + +static int +htmlSkipBlankChars(xmlParserCtxtPtr ctxt) { + const xmlChar *cur = ctxt->input->cur; + size_t avail = ctxt->input->end - cur; + int res = 0; + int line = ctxt->input->line; + int col = ctxt->input->col; + + while (!PARSER_STOPPED(ctxt)) { + if (avail == 0) { + ctxt->input->cur = cur; + GROW; + cur = ctxt->input->cur; + avail = ctxt->input->end - cur; + + if (avail == 0) + break; + } + + if (*cur == '\n') { + line++; + col = 1; + } else if (IS_WS_HTML(*cur)) { + col++; + } else { + break; + } + + cur += 1; + avail -= 1; + + if (res < INT_MAX) + res++; + } + + ctxt->input->cur = cur; + ctxt->input->line = line; + ctxt->input->col = col; + + if (res > 8) + GROW; + + return(res); +} + + + +/************************************************************************ + * * + * The list of HTML elements and their properties * + * * + ************************************************************************/ + +/* + * Start Tag: 1 means the start tag can be omitted + * End Tag: 1 means the end tag can be omitted + * 2 means it's forbidden (empty elements) + * 3 means the tag is stylistic and should be closed easily + * Depr: this element is deprecated + * DTD: 1 means that this element is valid only in the Loose DTD + * 2 means that this element is valid only in the Frameset DTD + * + * Name,Start Tag,End Tag,Save End,Empty,Deprecated,DTD,inline,Description + */ + +static const htmlElemDesc +html40ElementTable[] = { +{ "a", 0, 0, 0, 0, 0, 0, 1, "anchor ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "abbr", 0, 0, 0, 0, 0, 0, 1, "abbreviated form", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "acronym", 0, 0, 0, 0, 0, 0, 1, "", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "address", 0, 0, 0, 0, 0, 0, 0, "information on author ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "applet", 0, 0, 0, 0, 1, 1, 2, "java applet ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "area", 0, 2, 2, 1, 0, 0, 0, "client-side image map area ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "b", 0, 3, 0, 0, 0, 0, 1, "bold text style", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "base", 0, 2, 2, 1, 0, 0, 0, "document base uri ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "basefont", 0, 2, 2, 1, 1, 1, 1, "base font size " , + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "bdo", 0, 0, 0, 0, 0, 0, 1, "i18n bidi over-ride ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "bgsound", 0, 0, 2, 1, 0, 0, 0, "", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "big", 0, 3, 0, 0, 0, 0, 1, "large text style", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "blockquote", 0, 0, 0, 0, 0, 0, 0, "long quotation ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "body", 1, 1, 0, 0, 0, 0, 0, "document body ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "br", 0, 2, 2, 1, 0, 0, 1, "forced line break ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "button", 0, 0, 0, 0, 0, 0, 2, "push button ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "caption", 0, 0, 0, 0, 0, 0, 0, "table caption ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "center", 0, 3, 0, 0, 1, 1, 0, "shorthand for div align=center ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "cite", 0, 0, 0, 0, 0, 0, 1, "citation", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "code", 0, 0, 0, 0, 0, 0, 1, "computer code fragment", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "col", 0, 2, 2, 1, 0, 0, 0, "table column ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "colgroup", 0, 1, 0, 0, 0, 0, 0, "table column group ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "dd", 0, 1, 0, 0, 0, 0, 0, "definition description ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "del", 0, 0, 0, 0, 0, 0, 2, "deleted text ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "dfn", 0, 0, 0, 0, 0, 0, 1, "instance definition", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "dir", 0, 0, 0, 0, 1, 1, 0, "directory list", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "div", 0, 0, 0, 0, 0, 0, 0, "generic language/style container", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "dl", 0, 0, 0, 0, 0, 0, 0, "definition list ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "dt", 0, 1, 0, 0, 0, 0, 0, "definition term ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "em", 0, 3, 0, 0, 0, 0, 1, "emphasis", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "embed", 0, 1, 2, 1, 1, 1, 1, "generic embedded object ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "fieldset", 0, 0, 0, 0, 0, 0, 0, "form control group ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "font", 0, 3, 0, 0, 1, 1, 1, "local change to font ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "form", 0, 0, 0, 0, 0, 0, 0, "interactive form ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "frame", 0, 2, 2, 1, 0, 2, 0, "subwindow " , + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "frameset", 0, 0, 0, 0, 0, 2, 0, "window subdivision" , + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "h1", 0, 0, 0, 0, 0, 0, 0, "heading ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "h2", 0, 0, 0, 0, 0, 0, 0, "heading ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "h3", 0, 0, 0, 0, 0, 0, 0, "heading ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "h4", 0, 0, 0, 0, 0, 0, 0, "heading ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "h5", 0, 0, 0, 0, 0, 0, 0, "heading ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "h6", 0, 0, 0, 0, 0, 0, 0, "heading ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "head", 1, 1, 0, 0, 0, 0, 0, "document head ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "hr", 0, 2, 2, 1, 0, 0, 0, "horizontal rule " , + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "html", 1, 1, 0, 0, 0, 0, 0, "document root element ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "i", 0, 3, 0, 0, 0, 0, 1, "italic text style", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "iframe", 0, 0, 0, 0, 0, 1, 2, "inline subwindow ", + NULL, NULL, NULL, NULL, NULL, + DATA_RAWTEXT +}, +{ "img", 0, 2, 2, 1, 0, 0, 1, "embedded image ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "input", 0, 2, 2, 1, 0, 0, 1, "form control ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "ins", 0, 0, 0, 0, 0, 0, 2, "inserted text", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "isindex", 0, 2, 2, 1, 1, 1, 0, "single line prompt ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "kbd", 0, 0, 0, 0, 0, 0, 1, "text to be entered by the user", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "keygen", 0, 0, 2, 1, 0, 0, 0, "", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "label", 0, 0, 0, 0, 0, 0, 1, "form field label text ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "legend", 0, 0, 0, 0, 0, 0, 0, "fieldset legend ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "li", 0, 1, 1, 0, 0, 0, 0, "list item ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "link", 0, 2, 2, 1, 0, 0, 0, "a media-independent link ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "map", 0, 0, 0, 0, 0, 0, 2, "client-side image map ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "menu", 0, 0, 0, 0, 1, 1, 0, "menu list ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "meta", 0, 2, 2, 1, 0, 0, 0, "generic metainformation ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "noembed", 0, 0, 0, 0, 0, 0, 0, "", + NULL, NULL, NULL, NULL, NULL, + DATA_RAWTEXT +}, +{ "noframes", 0, 0, 0, 0, 0, 2, 0, "alternate content container for non frame-based rendering ", + NULL, NULL, NULL, NULL, NULL, + DATA_RAWTEXT +}, +{ "noscript", 0, 0, 0, 0, 0, 0, 0, "alternate content container for non script-based rendering ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "object", 0, 0, 0, 0, 0, 0, 2, "generic embedded object ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "ol", 0, 0, 0, 0, 0, 0, 0, "ordered list ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "optgroup", 0, 0, 0, 0, 0, 0, 0, "option group ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "option", 0, 1, 0, 0, 0, 0, 0, "selectable choice " , + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "p", 0, 1, 0, 0, 0, 0, 0, "paragraph ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "param", 0, 2, 2, 1, 0, 0, 0, "named property value ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "plaintext", 0, 0, 0, 0, 0, 0, 0, "", + NULL, NULL, NULL, NULL, NULL, + DATA_PLAINTEXT +}, +{ "pre", 0, 0, 0, 0, 0, 0, 0, "preformatted text ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "q", 0, 0, 0, 0, 0, 0, 1, "short inline quotation ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "s", 0, 3, 0, 0, 1, 1, 1, "strike-through text style", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "samp", 0, 0, 0, 0, 0, 0, 1, "sample program output, scripts, etc.", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "script", 0, 0, 0, 0, 0, 0, 2, "script statements ", + NULL, NULL, NULL, NULL, NULL, + DATA_SCRIPT +}, +{ "select", 0, 0, 0, 0, 0, 0, 1, "option selector ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "small", 0, 3, 0, 0, 0, 0, 1, "small text style", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "source", 0, 0, 2, 1, 0, 0, 0, "", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "span", 0, 0, 0, 0, 0, 0, 1, "generic language/style container ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "strike", 0, 3, 0, 0, 1, 1, 1, "strike-through text", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "strong", 0, 3, 0, 0, 0, 0, 1, "strong emphasis", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "style", 0, 0, 0, 0, 0, 0, 0, "style info ", + NULL, NULL, NULL, NULL, NULL, + DATA_RAWTEXT +}, +{ "sub", 0, 3, 0, 0, 0, 0, 1, "subscript", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "sup", 0, 3, 0, 0, 0, 0, 1, "superscript ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "table", 0, 0, 0, 0, 0, 0, 0, "", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "tbody", 1, 0, 0, 0, 0, 0, 0, "table body ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "td", 0, 0, 0, 0, 0, 0, 0, "table data cell", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "textarea", 0, 0, 0, 0, 0, 0, 1, "multi-line text field ", + NULL, NULL, NULL, NULL, NULL, + DATA_RCDATA +}, +{ "tfoot", 0, 1, 0, 0, 0, 0, 0, "table footer ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "th", 0, 1, 0, 0, 0, 0, 0, "table header cell", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "thead", 0, 1, 0, 0, 0, 0, 0, "table header ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "title", 0, 0, 0, 0, 0, 0, 0, "document title ", + NULL, NULL, NULL, NULL, NULL, + DATA_RCDATA +}, +{ "tr", 0, 0, 0, 0, 0, 0, 0, "table row ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "track", 0, 0, 2, 1, 0, 0, 0, "", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "tt", 0, 3, 0, 0, 0, 0, 1, "teletype or monospaced text style", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "u", 0, 3, 0, 0, 1, 1, 1, "underlined text style", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "ul", 0, 0, 0, 0, 0, 0, 0, "unordered list ", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "var", 0, 0, 0, 0, 0, 0, 1, "instance of a variable or program argument", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "wbr", 0, 0, 2, 1, 0, 0, 0, "", + NULL, NULL, NULL, NULL, NULL, + 0 +}, +{ "xmp", 0, 0, 0, 0, 0, 0, 1, "", + NULL, NULL, NULL, NULL, NULL, + DATA_RAWTEXT +} +}; + +typedef struct { + const char *oldTag; + const char *newTag; +} htmlStartCloseEntry; + +/* + * start tags that imply the end of current element + */ +static const htmlStartCloseEntry htmlStartClose[] = { + { "a", "a" }, + { "a", "fieldset" }, + { "a", "table" }, + { "a", "td" }, + { "a", "th" }, + { "address", "dd" }, + { "address", "dl" }, + { "address", "dt" }, + { "address", "form" }, + { "address", "li" }, + { "address", "ul" }, + { "b", "center" }, + { "b", "p" }, + { "b", "td" }, + { "b", "th" }, + { "big", "p" }, + { "caption", "col" }, + { "caption", "colgroup" }, + { "caption", "tbody" }, + { "caption", "tfoot" }, + { "caption", "thead" }, + { "caption", "tr" }, + { "col", "col" }, + { "col", "colgroup" }, + { "col", "tbody" }, + { "col", "tfoot" }, + { "col", "thead" }, + { "col", "tr" }, + { "colgroup", "colgroup" }, + { "colgroup", "tbody" }, + { "colgroup", "tfoot" }, + { "colgroup", "thead" }, + { "colgroup", "tr" }, + { "dd", "dt" }, + { "dir", "dd" }, + { "dir", "dl" }, + { "dir", "dt" }, + { "dir", "form" }, + { "dir", "ul" }, + { "dl", "form" }, + { "dl", "li" }, + { "dt", "dd" }, + { "dt", "dl" }, + { "font", "center" }, + { "font", "td" }, + { "font", "th" }, + { "form", "form" }, + { "h1", "fieldset" }, + { "h1", "form" }, + { "h1", "li" }, + { "h1", "p" }, + { "h1", "table" }, + { "h2", "fieldset" }, + { "h2", "form" }, + { "h2", "li" }, + { "h2", "p" }, + { "h2", "table" }, + { "h3", "fieldset" }, + { "h3", "form" }, + { "h3", "li" }, + { "h3", "p" }, + { "h3", "table" }, + { "h4", "fieldset" }, + { "h4", "form" }, + { "h4", "li" }, + { "h4", "p" }, + { "h4", "table" }, + { "h5", "fieldset" }, + { "h5", "form" }, + { "h5", "li" }, + { "h5", "p" }, + { "h5", "table" }, + { "h6", "fieldset" }, + { "h6", "form" }, + { "h6", "li" }, + { "h6", "p" }, + { "h6", "table" }, + { "head", "a" }, + { "head", "abbr" }, + { "head", "acronym" }, + { "head", "address" }, + { "head", "b" }, + { "head", "bdo" }, + { "head", "big" }, + { "head", "blockquote" }, + { "head", "body" }, + { "head", "br" }, + { "head", "center" }, + { "head", "cite" }, + { "head", "code" }, + { "head", "dd" }, + { "head", "dfn" }, + { "head", "dir" }, + { "head", "div" }, + { "head", "dl" }, + { "head", "dt" }, + { "head", "em" }, + { "head", "fieldset" }, + { "head", "font" }, + { "head", "form" }, + { "head", "frameset" }, + { "head", "h1" }, + { "head", "h2" }, + { "head", "h3" }, + { "head", "h4" }, + { "head", "h5" }, + { "head", "h6" }, + { "head", "hr" }, + { "head", "i" }, + { "head", "iframe" }, + { "head", "img" }, + { "head", "kbd" }, + { "head", "li" }, + { "head", "listing" }, + { "head", "map" }, + { "head", "menu" }, + { "head", "ol" }, + { "head", "p" }, + { "head", "pre" }, + { "head", "q" }, + { "head", "s" }, + { "head", "samp" }, + { "head", "small" }, + { "head", "span" }, + { "head", "strike" }, + { "head", "strong" }, + { "head", "sub" }, + { "head", "sup" }, + { "head", "table" }, + { "head", "tt" }, + { "head", "u" }, + { "head", "ul" }, + { "head", "var" }, + { "head", "xmp" }, + { "hr", "form" }, + { "i", "center" }, + { "i", "p" }, + { "i", "td" }, + { "i", "th" }, + { "legend", "fieldset" }, + { "li", "li" }, + { "link", "body" }, + { "link", "frameset" }, + { "listing", "dd" }, + { "listing", "dl" }, + { "listing", "dt" }, + { "listing", "fieldset" }, + { "listing", "form" }, + { "listing", "li" }, + { "listing", "table" }, + { "listing", "ul" }, + { "menu", "dd" }, + { "menu", "dl" }, + { "menu", "dt" }, + { "menu", "form" }, + { "menu", "ul" }, + { "ol", "form" }, + { "option", "optgroup" }, + { "option", "option" }, + { "p", "address" }, + { "p", "blockquote" }, + { "p", "body" }, + { "p", "caption" }, + { "p", "center" }, + { "p", "col" }, + { "p", "colgroup" }, + { "p", "dd" }, + { "p", "dir" }, + { "p", "div" }, + { "p", "dl" }, + { "p", "dt" }, + { "p", "fieldset" }, + { "p", "form" }, + { "p", "frameset" }, + { "p", "h1" }, + { "p", "h2" }, + { "p", "h3" }, + { "p", "h4" }, + { "p", "h5" }, + { "p", "h6" }, + { "p", "head" }, + { "p", "hr" }, + { "p", "li" }, + { "p", "listing" }, + { "p", "menu" }, + { "p", "ol" }, + { "p", "p" }, + { "p", "pre" }, + { "p", "table" }, + { "p", "tbody" }, + { "p", "td" }, + { "p", "tfoot" }, + { "p", "th" }, + { "p", "title" }, + { "p", "tr" }, + { "p", "ul" }, + { "p", "xmp" }, + { "pre", "dd" }, + { "pre", "dl" }, + { "pre", "dt" }, + { "pre", "fieldset" }, + { "pre", "form" }, + { "pre", "li" }, + { "pre", "table" }, + { "pre", "ul" }, + { "s", "p" }, + { "script", "noscript" }, + { "small", "p" }, + { "span", "td" }, + { "span", "th" }, + { "strike", "p" }, + { "style", "body" }, + { "style", "frameset" }, + { "tbody", "tbody" }, + { "tbody", "tfoot" }, + { "td", "tbody" }, + { "td", "td" }, + { "td", "tfoot" }, + { "td", "th" }, + { "td", "tr" }, + { "tfoot", "tbody" }, + { "th", "tbody" }, + { "th", "td" }, + { "th", "tfoot" }, + { "th", "th" }, + { "th", "tr" }, + { "thead", "tbody" }, + { "thead", "tfoot" }, + { "title", "body" }, + { "title", "frameset" }, + { "tr", "tbody" }, + { "tr", "tfoot" }, + { "tr", "tr" }, + { "tt", "p" }, + { "u", "p" }, + { "u", "td" }, + { "u", "th" }, + { "ul", "address" }, + { "ul", "form" }, + { "ul", "menu" }, + { "ul", "pre" }, + { "xmp", "dd" }, + { "xmp", "dl" }, + { "xmp", "dt" }, + { "xmp", "fieldset" }, + { "xmp", "form" }, + { "xmp", "li" }, + { "xmp", "table" }, + { "xmp", "ul" } +}; + +/* + * The list of HTML attributes which are of content %Script; + * NOTE: when adding ones, check #htmlIsScriptAttribute since + * it assumes the name starts with 'on' + */ +static const char *const htmlScriptAttributes[] = { + "onclick", + "ondblclick", + "onmousedown", + "onmouseup", + "onmouseover", + "onmousemove", + "onmouseout", + "onkeypress", + "onkeydown", + "onkeyup", + "onload", + "onunload", + "onfocus", + "onblur", + "onsubmit", + "onreset", + "onchange", + "onselect" +}; + +/* + * This table is used by the htmlparser to know what to do with + * broken html pages. By assigning different priorities to different + * elements the parser can decide how to handle extra endtags. + * Endtags are only allowed to close elements with lower or equal + * priority. + */ + +typedef struct { + const char *name; + int priority; +} elementPriority; + +static const elementPriority htmlEndPriority[] = { + {"div", 150}, + {"td", 160}, + {"th", 160}, + {"tr", 170}, + {"thead", 180}, + {"tbody", 180}, + {"tfoot", 180}, + {"table", 190}, + {"head", 200}, + {"body", 200}, + {"html", 220}, + {NULL, 100} /* Default priority */ +}; + +/************************************************************************ + * * + * functions to handle HTML specific data * + * * + ************************************************************************/ + +static void +htmlParserFinishElementParsing(htmlParserCtxtPtr ctxt) { + /* + * Capture end position and add node + */ + if ( ctxt->node != NULL && ctxt->record_info ) { + ctxt->nodeInfo->end_pos = ctxt->input->consumed + + (CUR_PTR - ctxt->input->base); + ctxt->nodeInfo->end_line = ctxt->input->line; + ctxt->nodeInfo->node = ctxt->node; + xmlParserAddNodeInfo(ctxt, ctxt->nodeInfo); + htmlNodeInfoPop(ctxt); + } +} + +/** + * @deprecated This is a no-op. + */ +void +htmlInitAutoClose(void) { +} + +static int +htmlCompareTags(const void *key, const void *member) { + const xmlChar *tag = (const xmlChar *) key; + const htmlElemDesc *desc = (const htmlElemDesc *) member; + + return(xmlStrcasecmp(tag, BAD_CAST desc->name)); +} + +/** + * Lookup the HTML tag in the ElementTable + * + * @deprecated Only supports HTML 4. + * + * @param tag The tag name in lowercase + * @returns the related htmlElemDesc or NULL if not found. + */ +const htmlElemDesc * +htmlTagLookup(const xmlChar *tag) { + if (tag == NULL) + return(NULL); + + return((const htmlElemDesc *) bsearch(tag, html40ElementTable, + sizeof(html40ElementTable) / sizeof(htmlElemDesc), + sizeof(htmlElemDesc), htmlCompareTags)); +} + +/** + * @param name The name of the element to look up the priority for. + * @returns value: The "endtag" priority. + **/ +static int +htmlGetEndPriority (const xmlChar *name) { + int i = 0; + + while ((htmlEndPriority[i].name != NULL) && + (!xmlStrEqual((const xmlChar *)htmlEndPriority[i].name, name))) + i++; + + return(htmlEndPriority[i].priority); +} + + +static int +htmlCompareStartClose(const void *vkey, const void *member) { + const htmlStartCloseEntry *key = (const htmlStartCloseEntry *) vkey; + const htmlStartCloseEntry *entry = (const htmlStartCloseEntry *) member; + int ret; + + ret = strcmp(key->oldTag, entry->oldTag); + if (ret == 0) + ret = strcmp(key->newTag, entry->newTag); + + return(ret); +} + +/** + * Checks whether the new tag is one of the registered valid tags for + * closing old. + * + * @param newtag The new tag name + * @param oldtag The old tag name + * @returns 0 if no, 1 if yes. + */ +static int +htmlCheckAutoClose(const xmlChar * newtag, const xmlChar * oldtag) +{ + htmlStartCloseEntry key; + void *res; + + key.oldTag = (const char *) oldtag; + key.newTag = (const char *) newtag; + res = (void*)bsearch(&key, htmlStartClose, + sizeof(htmlStartClose) / sizeof(htmlStartCloseEntry), + sizeof(htmlStartCloseEntry), htmlCompareStartClose); + return(res != NULL); +} + +/** + * The HTML DTD allows an ending tag to implicitly close other tags. + * + * @param ctxt an HTML parser context + * @param newtag The new tag name + */ +static void +htmlAutoCloseOnClose(htmlParserCtxtPtr ctxt, const xmlChar * newtag) +{ + const htmlElemDesc *info; + int i, priority; + + if (ctxt->options & HTML_PARSE_HTML5) + return; + + priority = htmlGetEndPriority(newtag); + + for (i = (ctxt->nameNr - 1); i >= 0; i--) { + + if (xmlStrEqual(newtag, ctxt->nameTab[i])) + break; + /* + * A misplaced endtag can only close elements with lower + * or equal priority, so if we find an element with higher + * priority before we find an element with + * matching name, we just ignore this endtag + */ + if (htmlGetEndPriority(ctxt->nameTab[i]) > priority) + return; + } + if (i < 0) + return; + + while (!xmlStrEqual(newtag, ctxt->name)) { + info = htmlTagLookup(ctxt->name); + if ((info != NULL) && (info->endTag == 3)) { + htmlParseErr(ctxt, XML_ERR_TAG_NAME_MISMATCH, + "Opening and ending tag mismatch: %s and %s\n", + newtag, ctxt->name); + } + htmlParserFinishElementParsing(ctxt); + if ((ctxt->sax != NULL) && (ctxt->sax->endElement != NULL)) + ctxt->sax->endElement(ctxt->userData, ctxt->name); + htmlnamePop(ctxt); + } +} + +/** + * Close all remaining tags at the end of the stream + * + * @param ctxt an HTML parser context + */ +static void +htmlAutoCloseOnEnd(htmlParserCtxtPtr ctxt) +{ + int i; + + if (ctxt->options & HTML_PARSE_HTML5) + return; + + if (ctxt->nameNr == 0) + return; + for (i = (ctxt->nameNr - 1); i >= 0; i--) { + htmlParserFinishElementParsing(ctxt); + if ((ctxt->sax != NULL) && (ctxt->sax->endElement != NULL)) + ctxt->sax->endElement(ctxt->userData, ctxt->name); + htmlnamePop(ctxt); + } +} + +/** + * The HTML DTD allows a tag to implicitly close other tags. + * The list is kept in htmlStartClose array. This function is + * called when a new tag has been detected and generates the + * appropriates closes if possible/needed. + * If newtag is NULL this mean we are at the end of the resource + * and we should check + * + * @param ctxt an HTML parser context + * @param newtag The new tag name or NULL + */ +static void +htmlAutoClose(htmlParserCtxtPtr ctxt, const xmlChar * newtag) +{ + if (ctxt->options & HTML_PARSE_HTML5) + return; + + if (newtag == NULL) + return; + + while ((ctxt->name != NULL) && + (htmlCheckAutoClose(newtag, ctxt->name))) { + htmlParserFinishElementParsing(ctxt); + if ((ctxt->sax != NULL) && (ctxt->sax->endElement != NULL)) + ctxt->sax->endElement(ctxt->userData, ctxt->name); + htmlnamePop(ctxt); + } +} + +/** + * The HTML DTD allows a tag to implicitly close other tags. + * The list is kept in htmlStartClose array. This function checks + * if the element or one of it's children would autoclose the + * given tag. + * + * @deprecated Internal function, don't use. + * + * @param doc the HTML document + * @param name The tag name + * @param elem the HTML element + * @returns 1 if autoclose, 0 otherwise + */ +int +htmlAutoCloseTag(xmlDoc *doc, const xmlChar *name, xmlNode *elem) { + htmlNodePtr child; + + if (elem == NULL) return(1); + if (xmlStrEqual(name, elem->name)) return(0); + if (htmlCheckAutoClose(elem->name, name)) return(1); + child = elem->children; + while (child != NULL) { + if (htmlAutoCloseTag(doc, name, child)) return(1); + child = child->next; + } + return(0); +} + +/** + * The HTML DTD allows a tag to implicitly close other tags. + * The list is kept in htmlStartClose array. This function checks + * if a tag is autoclosed by one of it's child + * + * @deprecated Internal function, don't use. + * + * @param doc the HTML document + * @param elem the HTML element + * @returns 1 if autoclosed, 0 otherwise + */ +int +htmlIsAutoClosed(xmlDoc *doc, xmlNode *elem) { + htmlNodePtr child; + + if (elem == NULL) return(1); + child = elem->children; + while (child != NULL) { + if (htmlAutoCloseTag(doc, elem->name, child)) return(1); + child = child->next; + } + return(0); +} + +/** + * The HTML DTD allows a tag to exists only implicitly + * called when a new tag has been detected and generates the + * appropriates implicit tags if missing + * + * @param ctxt an HTML parser context + * @param newtag The new tag name + */ +static void +htmlCheckImplied(htmlParserCtxtPtr ctxt, const xmlChar *newtag) { + int i; + + if (ctxt->options & (HTML_PARSE_NOIMPLIED | HTML_PARSE_HTML5)) + return; + if (!htmlOmittedDefaultValue) + return; + if (xmlStrEqual(newtag, BAD_CAST"html")) + return; + if (ctxt->nameNr <= 0) { + htmlnamePush(ctxt, BAD_CAST"html"); + if ((ctxt->sax != NULL) && (ctxt->sax->startElement != NULL)) + ctxt->sax->startElement(ctxt->userData, BAD_CAST"html", NULL); + } + if ((xmlStrEqual(newtag, BAD_CAST"body")) || (xmlStrEqual(newtag, BAD_CAST"head"))) + return; + if ((ctxt->nameNr <= 1) && + ((xmlStrEqual(newtag, BAD_CAST"script")) || + (xmlStrEqual(newtag, BAD_CAST"style")) || + (xmlStrEqual(newtag, BAD_CAST"meta")) || + (xmlStrEqual(newtag, BAD_CAST"link")) || + (xmlStrEqual(newtag, BAD_CAST"title")) || + (xmlStrEqual(newtag, BAD_CAST"base")))) { + if (ctxt->html >= INSERT_IN_HEAD) { + /* we already saw or generated an before */ + return; + } + /* + * dropped OBJECT ... i you put it first BODY will be + * assumed ! + */ + htmlnamePush(ctxt, BAD_CAST"head"); + if ((ctxt->sax != NULL) && (ctxt->sax->startElement != NULL)) + ctxt->sax->startElement(ctxt->userData, BAD_CAST"head", NULL); + } else if ((!xmlStrEqual(newtag, BAD_CAST"noframes")) && + (!xmlStrEqual(newtag, BAD_CAST"frame")) && + (!xmlStrEqual(newtag, BAD_CAST"frameset"))) { + if (ctxt->html >= INSERT_IN_BODY) { + /* we already saw or generated a before */ + return; + } + for (i = 0;i < ctxt->nameNr;i++) { + if (xmlStrEqual(ctxt->nameTab[i], BAD_CAST"body")) { + return; + } + if (xmlStrEqual(ctxt->nameTab[i], BAD_CAST"head")) { + return; + } + } + + htmlnamePush(ctxt, BAD_CAST"body"); + if ((ctxt->sax != NULL) && (ctxt->sax->startElement != NULL)) + ctxt->sax->startElement(ctxt->userData, BAD_CAST"body", NULL); + } +} + +/** + * Prepare for non-whitespace character data. + * + * @param ctxt an HTML parser context + */ + +static void +htmlStartCharData(htmlParserCtxtPtr ctxt) { + if (ctxt->options & (HTML_PARSE_NOIMPLIED | HTML_PARSE_HTML5)) + return; + if (!htmlOmittedDefaultValue) + return; + + if (xmlStrEqual(ctxt->name, BAD_CAST "head")) + htmlAutoClose(ctxt, BAD_CAST "p"); + htmlCheckImplied(ctxt, BAD_CAST "p"); +} + +/** + * Check if an attribute is of content type Script + * + * @deprecated Only supports HTML 4. + * + * @param name an attribute name + * @returns 1 is the attribute is a script 0 otherwise + */ +int +htmlIsScriptAttribute(const xmlChar *name) { + unsigned int i; + + if (name == NULL) + return(0); + /* + * all script attributes start with 'on' + */ + if ((name[0] != 'o') || (name[1] != 'n')) + return(0); + for (i = 0; + i < sizeof(htmlScriptAttributes)/sizeof(htmlScriptAttributes[0]); + i++) { + if (xmlStrEqual(name, (const xmlChar *) htmlScriptAttributes[i])) + return(1); + } + return(0); +} + +/************************************************************************ + * * + * The list of HTML predefined entities * + * * + ************************************************************************/ + + +static const htmlEntityDesc html40EntitiesTable[] = { +/* + * the 4 absolute ones, plus apostrophe. + */ +{ 34, "quot", "quotation mark = APL quote, U+0022 ISOnum" }, +{ 38, "amp", "ampersand, U+0026 ISOnum" }, +{ 39, "apos", "single quote" }, +{ 60, "lt", "less-than sign, U+003C ISOnum" }, +{ 62, "gt", "greater-than sign, U+003E ISOnum" }, + +/* + * A bunch still in the 128-255 range + * Replacing them depend really on the charset used. + */ +{ 160, "nbsp", "no-break space = non-breaking space, U+00A0 ISOnum" }, +{ 161, "iexcl","inverted exclamation mark, U+00A1 ISOnum" }, +{ 162, "cent", "cent sign, U+00A2 ISOnum" }, +{ 163, "pound","pound sign, U+00A3 ISOnum" }, +{ 164, "curren","currency sign, U+00A4 ISOnum" }, +{ 165, "yen", "yen sign = yuan sign, U+00A5 ISOnum" }, +{ 166, "brvbar","broken bar = broken vertical bar, U+00A6 ISOnum" }, +{ 167, "sect", "section sign, U+00A7 ISOnum" }, +{ 168, "uml", "diaeresis = spacing diaeresis, U+00A8 ISOdia" }, +{ 169, "copy", "copyright sign, U+00A9 ISOnum" }, +{ 170, "ordf", "feminine ordinal indicator, U+00AA ISOnum" }, +{ 171, "laquo","left-pointing double angle quotation mark = left pointing guillemet, U+00AB ISOnum" }, +{ 172, "not", "not sign, U+00AC ISOnum" }, +{ 173, "shy", "soft hyphen = discretionary hyphen, U+00AD ISOnum" }, +{ 174, "reg", "registered sign = registered trade mark sign, U+00AE ISOnum" }, +{ 175, "macr", "macron = spacing macron = overline = APL overbar, U+00AF ISOdia" }, +{ 176, "deg", "degree sign, U+00B0 ISOnum" }, +{ 177, "plusmn","plus-minus sign = plus-or-minus sign, U+00B1 ISOnum" }, +{ 178, "sup2", "superscript two = superscript digit two = squared, U+00B2 ISOnum" }, +{ 179, "sup3", "superscript three = superscript digit three = cubed, U+00B3 ISOnum" }, +{ 180, "acute","acute accent = spacing acute, U+00B4 ISOdia" }, +{ 181, "micro","micro sign, U+00B5 ISOnum" }, +{ 182, "para", "pilcrow sign = paragraph sign, U+00B6 ISOnum" }, +{ 183, "middot","middle dot = Georgian comma Greek middle dot, U+00B7 ISOnum" }, +{ 184, "cedil","cedilla = spacing cedilla, U+00B8 ISOdia" }, +{ 185, "sup1", "superscript one = superscript digit one, U+00B9 ISOnum" }, +{ 186, "ordm", "masculine ordinal indicator, U+00BA ISOnum" }, +{ 187, "raquo","right-pointing double angle quotation mark right pointing guillemet, U+00BB ISOnum" }, +{ 188, "frac14","vulgar fraction one quarter = fraction one quarter, U+00BC ISOnum" }, +{ 189, "frac12","vulgar fraction one half = fraction one half, U+00BD ISOnum" }, +{ 190, "frac34","vulgar fraction three quarters = fraction three quarters, U+00BE ISOnum" }, +{ 191, "iquest","inverted question mark = turned question mark, U+00BF ISOnum" }, +{ 192, "Agrave","latin capital letter A with grave = latin capital letter A grave, U+00C0 ISOlat1" }, +{ 193, "Aacute","latin capital letter A with acute, U+00C1 ISOlat1" }, +{ 194, "Acirc","latin capital letter A with circumflex, U+00C2 ISOlat1" }, +{ 195, "Atilde","latin capital letter A with tilde, U+00C3 ISOlat1" }, +{ 196, "Auml", "latin capital letter A with diaeresis, U+00C4 ISOlat1" }, +{ 197, "Aring","latin capital letter A with ring above = latin capital letter A ring, U+00C5 ISOlat1" }, +{ 198, "AElig","latin capital letter AE = latin capital ligature AE, U+00C6 ISOlat1" }, +{ 199, "Ccedil","latin capital letter C with cedilla, U+00C7 ISOlat1" }, +{ 200, "Egrave","latin capital letter E with grave, U+00C8 ISOlat1" }, +{ 201, "Eacute","latin capital letter E with acute, U+00C9 ISOlat1" }, +{ 202, "Ecirc","latin capital letter E with circumflex, U+00CA ISOlat1" }, +{ 203, "Euml", "latin capital letter E with diaeresis, U+00CB ISOlat1" }, +{ 204, "Igrave","latin capital letter I with grave, U+00CC ISOlat1" }, +{ 205, "Iacute","latin capital letter I with acute, U+00CD ISOlat1" }, +{ 206, "Icirc","latin capital letter I with circumflex, U+00CE ISOlat1" }, +{ 207, "Iuml", "latin capital letter I with diaeresis, U+00CF ISOlat1" }, +{ 208, "ETH", "latin capital letter ETH, U+00D0 ISOlat1" }, +{ 209, "Ntilde","latin capital letter N with tilde, U+00D1 ISOlat1" }, +{ 210, "Ograve","latin capital letter O with grave, U+00D2 ISOlat1" }, +{ 211, "Oacute","latin capital letter O with acute, U+00D3 ISOlat1" }, +{ 212, "Ocirc","latin capital letter O with circumflex, U+00D4 ISOlat1" }, +{ 213, "Otilde","latin capital letter O with tilde, U+00D5 ISOlat1" }, +{ 214, "Ouml", "latin capital letter O with diaeresis, U+00D6 ISOlat1" }, +{ 215, "times","multiplication sign, U+00D7 ISOnum" }, +{ 216, "Oslash","latin capital letter O with stroke latin capital letter O slash, U+00D8 ISOlat1" }, +{ 217, "Ugrave","latin capital letter U with grave, U+00D9 ISOlat1" }, +{ 218, "Uacute","latin capital letter U with acute, U+00DA ISOlat1" }, +{ 219, "Ucirc","latin capital letter U with circumflex, U+00DB ISOlat1" }, +{ 220, "Uuml", "latin capital letter U with diaeresis, U+00DC ISOlat1" }, +{ 221, "Yacute","latin capital letter Y with acute, U+00DD ISOlat1" }, +{ 222, "THORN","latin capital letter THORN, U+00DE ISOlat1" }, +{ 223, "szlig","latin small letter sharp s = ess-zed, U+00DF ISOlat1" }, +{ 224, "agrave","latin small letter a with grave = latin small letter a grave, U+00E0 ISOlat1" }, +{ 225, "aacute","latin small letter a with acute, U+00E1 ISOlat1" }, +{ 226, "acirc","latin small letter a with circumflex, U+00E2 ISOlat1" }, +{ 227, "atilde","latin small letter a with tilde, U+00E3 ISOlat1" }, +{ 228, "auml", "latin small letter a with diaeresis, U+00E4 ISOlat1" }, +{ 229, "aring","latin small letter a with ring above = latin small letter a ring, U+00E5 ISOlat1" }, +{ 230, "aelig","latin small letter ae = latin small ligature ae, U+00E6 ISOlat1" }, +{ 231, "ccedil","latin small letter c with cedilla, U+00E7 ISOlat1" }, +{ 232, "egrave","latin small letter e with grave, U+00E8 ISOlat1" }, +{ 233, "eacute","latin small letter e with acute, U+00E9 ISOlat1" }, +{ 234, "ecirc","latin small letter e with circumflex, U+00EA ISOlat1" }, +{ 235, "euml", "latin small letter e with diaeresis, U+00EB ISOlat1" }, +{ 236, "igrave","latin small letter i with grave, U+00EC ISOlat1" }, +{ 237, "iacute","latin small letter i with acute, U+00ED ISOlat1" }, +{ 238, "icirc","latin small letter i with circumflex, U+00EE ISOlat1" }, +{ 239, "iuml", "latin small letter i with diaeresis, U+00EF ISOlat1" }, +{ 240, "eth", "latin small letter eth, U+00F0 ISOlat1" }, +{ 241, "ntilde","latin small letter n with tilde, U+00F1 ISOlat1" }, +{ 242, "ograve","latin small letter o with grave, U+00F2 ISOlat1" }, +{ 243, "oacute","latin small letter o with acute, U+00F3 ISOlat1" }, +{ 244, "ocirc","latin small letter o with circumflex, U+00F4 ISOlat1" }, +{ 245, "otilde","latin small letter o with tilde, U+00F5 ISOlat1" }, +{ 246, "ouml", "latin small letter o with diaeresis, U+00F6 ISOlat1" }, +{ 247, "divide","division sign, U+00F7 ISOnum" }, +{ 248, "oslash","latin small letter o with stroke, = latin small letter o slash, U+00F8 ISOlat1" }, +{ 249, "ugrave","latin small letter u with grave, U+00F9 ISOlat1" }, +{ 250, "uacute","latin small letter u with acute, U+00FA ISOlat1" }, +{ 251, "ucirc","latin small letter u with circumflex, U+00FB ISOlat1" }, +{ 252, "uuml", "latin small letter u with diaeresis, U+00FC ISOlat1" }, +{ 253, "yacute","latin small letter y with acute, U+00FD ISOlat1" }, +{ 254, "thorn","latin small letter thorn with, U+00FE ISOlat1" }, +{ 255, "yuml", "latin small letter y with diaeresis, U+00FF ISOlat1" }, + +{ 338, "OElig","latin capital ligature OE, U+0152 ISOlat2" }, +{ 339, "oelig","latin small ligature oe, U+0153 ISOlat2" }, +{ 352, "Scaron","latin capital letter S with caron, U+0160 ISOlat2" }, +{ 353, "scaron","latin small letter s with caron, U+0161 ISOlat2" }, +{ 376, "Yuml", "latin capital letter Y with diaeresis, U+0178 ISOlat2" }, + +/* + * Anything below should really be kept as entities references + */ +{ 402, "fnof", "latin small f with hook = function = florin, U+0192 ISOtech" }, + +{ 710, "circ", "modifier letter circumflex accent, U+02C6 ISOpub" }, +{ 732, "tilde","small tilde, U+02DC ISOdia" }, + +{ 913, "Alpha","greek capital letter alpha, U+0391" }, +{ 914, "Beta", "greek capital letter beta, U+0392" }, +{ 915, "Gamma","greek capital letter gamma, U+0393 ISOgrk3" }, +{ 916, "Delta","greek capital letter delta, U+0394 ISOgrk3" }, +{ 917, "Epsilon","greek capital letter epsilon, U+0395" }, +{ 918, "Zeta", "greek capital letter zeta, U+0396" }, +{ 919, "Eta", "greek capital letter eta, U+0397" }, +{ 920, "Theta","greek capital letter theta, U+0398 ISOgrk3" }, +{ 921, "Iota", "greek capital letter iota, U+0399" }, +{ 922, "Kappa","greek capital letter kappa, U+039A" }, +{ 923, "Lambda", "greek capital letter lambda, U+039B ISOgrk3" }, +{ 924, "Mu", "greek capital letter mu, U+039C" }, +{ 925, "Nu", "greek capital letter nu, U+039D" }, +{ 926, "Xi", "greek capital letter xi, U+039E ISOgrk3" }, +{ 927, "Omicron","greek capital letter omicron, U+039F" }, +{ 928, "Pi", "greek capital letter pi, U+03A0 ISOgrk3" }, +{ 929, "Rho", "greek capital letter rho, U+03A1" }, +{ 931, "Sigma","greek capital letter sigma, U+03A3 ISOgrk3" }, +{ 932, "Tau", "greek capital letter tau, U+03A4" }, +{ 933, "Upsilon","greek capital letter upsilon, U+03A5 ISOgrk3" }, +{ 934, "Phi", "greek capital letter phi, U+03A6 ISOgrk3" }, +{ 935, "Chi", "greek capital letter chi, U+03A7" }, +{ 936, "Psi", "greek capital letter psi, U+03A8 ISOgrk3" }, +{ 937, "Omega","greek capital letter omega, U+03A9 ISOgrk3" }, + +{ 945, "alpha","greek small letter alpha, U+03B1 ISOgrk3" }, +{ 946, "beta", "greek small letter beta, U+03B2 ISOgrk3" }, +{ 947, "gamma","greek small letter gamma, U+03B3 ISOgrk3" }, +{ 948, "delta","greek small letter delta, U+03B4 ISOgrk3" }, +{ 949, "epsilon","greek small letter epsilon, U+03B5 ISOgrk3" }, +{ 950, "zeta", "greek small letter zeta, U+03B6 ISOgrk3" }, +{ 951, "eta", "greek small letter eta, U+03B7 ISOgrk3" }, +{ 952, "theta","greek small letter theta, U+03B8 ISOgrk3" }, +{ 953, "iota", "greek small letter iota, U+03B9 ISOgrk3" }, +{ 954, "kappa","greek small letter kappa, U+03BA ISOgrk3" }, +{ 955, "lambda","greek small letter lambda, U+03BB ISOgrk3" }, +{ 956, "mu", "greek small letter mu, U+03BC ISOgrk3" }, +{ 957, "nu", "greek small letter nu, U+03BD ISOgrk3" }, +{ 958, "xi", "greek small letter xi, U+03BE ISOgrk3" }, +{ 959, "omicron","greek small letter omicron, U+03BF NEW" }, +{ 960, "pi", "greek small letter pi, U+03C0 ISOgrk3" }, +{ 961, "rho", "greek small letter rho, U+03C1 ISOgrk3" }, +{ 962, "sigmaf","greek small letter final sigma, U+03C2 ISOgrk3" }, +{ 963, "sigma","greek small letter sigma, U+03C3 ISOgrk3" }, +{ 964, "tau", "greek small letter tau, U+03C4 ISOgrk3" }, +{ 965, "upsilon","greek small letter upsilon, U+03C5 ISOgrk3" }, +{ 966, "phi", "greek small letter phi, U+03C6 ISOgrk3" }, +{ 967, "chi", "greek small letter chi, U+03C7 ISOgrk3" }, +{ 968, "psi", "greek small letter psi, U+03C8 ISOgrk3" }, +{ 969, "omega","greek small letter omega, U+03C9 ISOgrk3" }, +{ 977, "thetasym","greek small letter theta symbol, U+03D1 NEW" }, +{ 978, "upsih","greek upsilon with hook symbol, U+03D2 NEW" }, +{ 982, "piv", "greek pi symbol, U+03D6 ISOgrk3" }, + +{ 8194, "ensp", "en space, U+2002 ISOpub" }, +{ 8195, "emsp", "em space, U+2003 ISOpub" }, +{ 8201, "thinsp","thin space, U+2009 ISOpub" }, +{ 8204, "zwnj", "zero width non-joiner, U+200C NEW RFC 2070" }, +{ 8205, "zwj", "zero width joiner, U+200D NEW RFC 2070" }, +{ 8206, "lrm", "left-to-right mark, U+200E NEW RFC 2070" }, +{ 8207, "rlm", "right-to-left mark, U+200F NEW RFC 2070" }, +{ 8211, "ndash","en dash, U+2013 ISOpub" }, +{ 8212, "mdash","em dash, U+2014 ISOpub" }, +{ 8216, "lsquo","left single quotation mark, U+2018 ISOnum" }, +{ 8217, "rsquo","right single quotation mark, U+2019 ISOnum" }, +{ 8218, "sbquo","single low-9 quotation mark, U+201A NEW" }, +{ 8220, "ldquo","left double quotation mark, U+201C ISOnum" }, +{ 8221, "rdquo","right double quotation mark, U+201D ISOnum" }, +{ 8222, "bdquo","double low-9 quotation mark, U+201E NEW" }, +{ 8224, "dagger","dagger, U+2020 ISOpub" }, +{ 8225, "Dagger","double dagger, U+2021 ISOpub" }, + +{ 8226, "bull", "bullet = black small circle, U+2022 ISOpub" }, +{ 8230, "hellip","horizontal ellipsis = three dot leader, U+2026 ISOpub" }, + +{ 8240, "permil","per mille sign, U+2030 ISOtech" }, + +{ 8242, "prime","prime = minutes = feet, U+2032 ISOtech" }, +{ 8243, "Prime","double prime = seconds = inches, U+2033 ISOtech" }, + +{ 8249, "lsaquo","single left-pointing angle quotation mark, U+2039 ISO proposed" }, +{ 8250, "rsaquo","single right-pointing angle quotation mark, U+203A ISO proposed" }, + +{ 8254, "oline","overline = spacing overscore, U+203E NEW" }, +{ 8260, "frasl","fraction slash, U+2044 NEW" }, + +{ 8364, "euro", "euro sign, U+20AC NEW" }, + +{ 8465, "image","blackletter capital I = imaginary part, U+2111 ISOamso" }, +{ 8472, "weierp","script capital P = power set = Weierstrass p, U+2118 ISOamso" }, +{ 8476, "real", "blackletter capital R = real part symbol, U+211C ISOamso" }, +{ 8482, "trade","trade mark sign, U+2122 ISOnum" }, +{ 8501, "alefsym","alef symbol = first transfinite cardinal, U+2135 NEW" }, +{ 8592, "larr", "leftwards arrow, U+2190 ISOnum" }, +{ 8593, "uarr", "upwards arrow, U+2191 ISOnum" }, +{ 8594, "rarr", "rightwards arrow, U+2192 ISOnum" }, +{ 8595, "darr", "downwards arrow, U+2193 ISOnum" }, +{ 8596, "harr", "left right arrow, U+2194 ISOamsa" }, +{ 8629, "crarr","downwards arrow with corner leftwards = carriage return, U+21B5 NEW" }, +{ 8656, "lArr", "leftwards double arrow, U+21D0 ISOtech" }, +{ 8657, "uArr", "upwards double arrow, U+21D1 ISOamsa" }, +{ 8658, "rArr", "rightwards double arrow, U+21D2 ISOtech" }, +{ 8659, "dArr", "downwards double arrow, U+21D3 ISOamsa" }, +{ 8660, "hArr", "left right double arrow, U+21D4 ISOamsa" }, + +{ 8704, "forall","for all, U+2200 ISOtech" }, +{ 8706, "part", "partial differential, U+2202 ISOtech" }, +{ 8707, "exist","there exists, U+2203 ISOtech" }, +{ 8709, "empty","empty set = null set = diameter, U+2205 ISOamso" }, +{ 8711, "nabla","nabla = backward difference, U+2207 ISOtech" }, +{ 8712, "isin", "element of, U+2208 ISOtech" }, +{ 8713, "notin","not an element of, U+2209 ISOtech" }, +{ 8715, "ni", "contains as member, U+220B ISOtech" }, +{ 8719, "prod", "n-ary product = product sign, U+220F ISOamsb" }, +{ 8721, "sum", "n-ary summation, U+2211 ISOamsb" }, +{ 8722, "minus","minus sign, U+2212 ISOtech" }, +{ 8727, "lowast","asterisk operator, U+2217 ISOtech" }, +{ 8730, "radic","square root = radical sign, U+221A ISOtech" }, +{ 8733, "prop", "proportional to, U+221D ISOtech" }, +{ 8734, "infin","infinity, U+221E ISOtech" }, +{ 8736, "ang", "angle, U+2220 ISOamso" }, +{ 8743, "and", "logical and = wedge, U+2227 ISOtech" }, +{ 8744, "or", "logical or = vee, U+2228 ISOtech" }, +{ 8745, "cap", "intersection = cap, U+2229 ISOtech" }, +{ 8746, "cup", "union = cup, U+222A ISOtech" }, +{ 8747, "int", "integral, U+222B ISOtech" }, +{ 8756, "there4","therefore, U+2234 ISOtech" }, +{ 8764, "sim", "tilde operator = varies with = similar to, U+223C ISOtech" }, +{ 8773, "cong", "approximately equal to, U+2245 ISOtech" }, +{ 8776, "asymp","almost equal to = asymptotic to, U+2248 ISOamsr" }, +{ 8800, "ne", "not equal to, U+2260 ISOtech" }, +{ 8801, "equiv","identical to, U+2261 ISOtech" }, +{ 8804, "le", "less-than or equal to, U+2264 ISOtech" }, +{ 8805, "ge", "greater-than or equal to, U+2265 ISOtech" }, +{ 8834, "sub", "subset of, U+2282 ISOtech" }, +{ 8835, "sup", "superset of, U+2283 ISOtech" }, +{ 8836, "nsub", "not a subset of, U+2284 ISOamsn" }, +{ 8838, "sube", "subset of or equal to, U+2286 ISOtech" }, +{ 8839, "supe", "superset of or equal to, U+2287 ISOtech" }, +{ 8853, "oplus","circled plus = direct sum, U+2295 ISOamsb" }, +{ 8855, "otimes","circled times = vector product, U+2297 ISOamsb" }, +{ 8869, "perp", "up tack = orthogonal to = perpendicular, U+22A5 ISOtech" }, +{ 8901, "sdot", "dot operator, U+22C5 ISOamsb" }, +{ 8968, "lceil","left ceiling = apl upstile, U+2308 ISOamsc" }, +{ 8969, "rceil","right ceiling, U+2309 ISOamsc" }, +{ 8970, "lfloor","left floor = apl downstile, U+230A ISOamsc" }, +{ 8971, "rfloor","right floor, U+230B ISOamsc" }, +{ 9001, "lang", "left-pointing angle bracket = bra, U+2329 ISOtech" }, +{ 9002, "rang", "right-pointing angle bracket = ket, U+232A ISOtech" }, +{ 9674, "loz", "lozenge, U+25CA ISOpub" }, + +{ 9824, "spades","black spade suit, U+2660 ISOpub" }, +{ 9827, "clubs","black club suit = shamrock, U+2663 ISOpub" }, +{ 9829, "hearts","black heart suit = valentine, U+2665 ISOpub" }, +{ 9830, "diams","black diamond suit, U+2666 ISOpub" }, + +}; + +/************************************************************************ + * * + * Commodity functions to handle entities * + * * + ************************************************************************/ + +/** + * Lookup the given entity in EntitiesTable + * + * @deprecated Only supports HTML 4. + * + * TODO: the linear scan is really ugly, an hash table is really needed. + * + * @param name the entity name + * @returns the associated htmlEntityDesc if found, NULL otherwise. + */ +const htmlEntityDesc * +htmlEntityLookup(const xmlChar *name) { + unsigned int i; + + for (i = 0;i < (sizeof(html40EntitiesTable)/ + sizeof(html40EntitiesTable[0]));i++) { + if (xmlStrEqual(name, BAD_CAST html40EntitiesTable[i].name)) { + return((htmlEntityDescPtr) &html40EntitiesTable[i]); + } + } + return(NULL); +} + +static int +htmlCompareEntityDesc(const void *vkey, const void *vdesc) { + const unsigned *key = vkey; + const htmlEntityDesc *desc = vdesc; + + return((int) *key - (int) desc->value); +} + +/** + * Lookup the given entity in EntitiesTable + * + * @deprecated Only supports HTML 4. + * + * TODO: the linear scan is really ugly, an hash table is really needed. + * + * @param value the entity's unicode value + * @returns the associated htmlEntityDesc if found, NULL otherwise. + */ +const htmlEntityDesc * +htmlEntityValueLookup(unsigned int value) { + const htmlEntityDesc *desc; + size_t nmemb; + + nmemb = sizeof(html40EntitiesTable) / sizeof(html40EntitiesTable[0]); + desc = bsearch(&value, html40EntitiesTable, nmemb, sizeof(htmlEntityDesc), + htmlCompareEntityDesc); + + return(desc); +} + +/** + * Take a block of UTF-8 chars in and try to convert it to an ASCII + * plus HTML entities block of chars out. + * + * @deprecated Internal function, don't use. + * + * @param out a pointer to an array of bytes to store the result + * @param outlen the length of `out` + * @param in a pointer to an array of UTF-8 chars + * @param inlen the length of `in` + * @returns 0 if success, -2 if the transcoding fails, or -1 otherwise + * The value of `inlen` after return is the number of octets consumed + * as the return value is positive, else unpredictable. + * The value of `outlen` after return is the number of octets consumed. + */ +int +htmlUTF8ToHtml(unsigned char* out, int *outlen, + const unsigned char* in, int *inlen) { + const unsigned char* instart = in; + const unsigned char* inend; + unsigned char* outstart = out; + unsigned char* outend; + int ret = XML_ENC_ERR_SPACE; + + if ((out == NULL) || (outlen == NULL) || (inlen == NULL)) + return(XML_ENC_ERR_INTERNAL); + + if (in == NULL) { + /* + * initialization nothing to do + */ + *outlen = 0; + *inlen = 0; + return(XML_ENC_ERR_SUCCESS); + } + + inend = in + *inlen; + outend = out + *outlen; + while (in < inend) { + const htmlEntityDesc *ent; + const char *cp; + char nbuf[16]; + unsigned c, d; + int seqlen, len, i; + + d = *in; + + if (d < 0x80) { + if (out >= outend) + goto done; + *out++ = d; + in += 1; + continue; + } + + if (d < 0xE0) { c = d & 0x1F; seqlen = 2; } + else if (d < 0xF0) { c = d & 0x0F; seqlen = 3; } + else { c = d & 0x07; seqlen = 4; } + + if (inend - in < seqlen) + break; + + for (i = 1; i < seqlen; i++) { + d = in[i]; + c <<= 6; + c |= d & 0x3F; + } + + /* + * Try to lookup a predefined HTML entity for it + */ + ent = htmlEntityValueLookup(c); + + if (ent == NULL) { + snprintf(nbuf, sizeof(nbuf), "#%u", c); + cp = nbuf; + } else { + cp = ent->name; + } + + len = strlen(cp); + if (outend - out < len + 2) + goto done; + + *out++ = '&'; + memcpy(out, cp, len); + out += len; + *out++ = ';'; + + in += seqlen; + } + + ret = out - outstart; + +done: + *outlen = out - outstart; + *inlen = in - instart; + return(ret); +} + +/** + * Take a block of UTF-8 chars in and try to convert it to an ASCII + * plus HTML entities block of chars out. + * + * @deprecated Only supports HTML 4. + * + * @param out a pointer to an array of bytes to store the result + * @param outlen the length of `out` + * @param in a pointer to an array of UTF-8 chars + * @param inlen the length of `in` + * @param quoteChar the quote character to escape (' or ") or zero. + * @returns 0 if success, -2 if the transcoding fails, or -1 otherwise + * The value of `inlen` after return is the number of octets consumed + * as the return value is positive, else unpredictable. + * The value of `outlen` after return is the number of octets consumed. + */ +int +htmlEncodeEntities(unsigned char* out, int *outlen, + const unsigned char* in, int *inlen, int quoteChar) { + const unsigned char* processed = in; + const unsigned char* outend; + const unsigned char* outstart = out; + const unsigned char* instart = in; + const unsigned char* inend; + unsigned int c, d; + int trailing; + + if ((out == NULL) || (outlen == NULL) || (inlen == NULL) || (in == NULL)) + return(-1); + outend = out + (*outlen); + inend = in + (*inlen); + while (in < inend) { + d = *in++; + if (d < 0x80) { c= d; trailing= 0; } + else if (d < 0xC0) { + /* trailing byte in leading position */ + *outlen = out - outstart; + *inlen = processed - instart; + return(-2); + } else if (d < 0xE0) { c= d & 0x1F; trailing= 1; } + else if (d < 0xF0) { c= d & 0x0F; trailing= 2; } + else if (d < 0xF8) { c= d & 0x07; trailing= 3; } + else { + /* no chance for this in Ascii */ + *outlen = out - outstart; + *inlen = processed - instart; + return(-2); + } + + if (inend - in < trailing) + break; + + while (trailing--) { + if (((d= *in++) & 0xC0) != 0x80) { + *outlen = out - outstart; + *inlen = processed - instart; + return(-2); + } + c <<= 6; + c |= d & 0x3F; + } + + /* assertion: c is a single UTF-4 value */ + if ((c < 0x80) && (c != (unsigned int) quoteChar) && + (c != '&') && (c != '<') && (c != '>')) { + if (out >= outend) + break; + *out++ = c; + } else { + const htmlEntityDesc * ent; + const char *cp; + char nbuf[16]; + int len; + + /* + * Try to lookup a predefined HTML entity for it + */ + ent = htmlEntityValueLookup(c); + if (ent == NULL) { + snprintf(nbuf, sizeof(nbuf), "#%u", c); + cp = nbuf; + } + else + cp = ent->name; + len = strlen(cp); + if (outend - out < len + 2) + break; + *out++ = '&'; + memcpy(out, cp, len); + out += len; + *out++ = ';'; + } + processed = in; + } + *outlen = out - outstart; + *inlen = processed - instart; + return(0); +} + +/************************************************************************ + * * + * Commodity functions, cleanup needed ? * + * * + ************************************************************************/ +/* + * all tags allowing pc data from the html 4.01 loose dtd + * NOTE: it might be more appropriate to integrate this information + * into the html40ElementTable array but I don't want to risk any + * binary incompatibility + */ +static const char *const allowPCData[] = { + "a", "abbr", "acronym", "address", "applet", "b", "bdo", "big", + "blockquote", "body", "button", "caption", "center", "cite", "code", + "dd", "del", "dfn", "div", "dt", "em", "font", "form", "h1", "h2", + "h3", "h4", "h5", "h6", "i", "iframe", "ins", "kbd", "label", "legend", + "li", "noframes", "noscript", "object", "p", "pre", "q", "s", "samp", + "small", "span", "strike", "strong", "td", "th", "tt", "u", "var" +}; + +/** + * Is this a sequence of blank chars that one can ignore ? + * + * @param ctxt an HTML parser context + * @param str a xmlChar * + * @param len the size of `str` + * @returns 1 if ignorable 0 if whitespace, -1 otherwise. + */ + +static int areBlanks(htmlParserCtxtPtr ctxt, const xmlChar *str, int len) { + unsigned int i; + int j; + xmlNodePtr lastChild; + xmlDtdPtr dtd; + + for (j = 0;j < len;j++) + if (!(IS_WS_HTML(str[j]))) return(-1); + + if (CUR == 0) return(1); + if (CUR != '<') return(0); + if (ctxt->name == NULL) + return(1); + if (xmlStrEqual(ctxt->name, BAD_CAST"html")) + return(1); + if (xmlStrEqual(ctxt->name, BAD_CAST"head")) + return(1); + + /* Only strip CDATA children of the body tag for strict HTML DTDs */ + if (xmlStrEqual(ctxt->name, BAD_CAST "body") && ctxt->myDoc != NULL) { + dtd = xmlGetIntSubset(ctxt->myDoc); + if (dtd != NULL && dtd->ExternalID != NULL) { + if (!xmlStrcasecmp(dtd->ExternalID, BAD_CAST "-//W3C//DTD HTML 4.01//EN") || + !xmlStrcasecmp(dtd->ExternalID, BAD_CAST "-//W3C//DTD HTML 4//EN")) + return(1); + } + } + + if (ctxt->node == NULL) return(0); + lastChild = xmlGetLastChild(ctxt->node); + while ((lastChild) && (lastChild->type == XML_COMMENT_NODE)) + lastChild = lastChild->prev; + if (lastChild == NULL) { + if ((ctxt->node->type != XML_ELEMENT_NODE) && + (ctxt->node->content != NULL)) return(0); + /* keep ws in constructs like ... ... + for all tags "b" allowing PCDATA */ + for ( i = 0; i < sizeof(allowPCData)/sizeof(allowPCData[0]); i++ ) { + if ( xmlStrEqual(ctxt->name, BAD_CAST allowPCData[i]) ) { + return(0); + } + } + } else if (xmlNodeIsText(lastChild)) { + return(0); + } else { + /* keep ws in constructs like

xy z

+ for all tags "p" allowing PCDATA */ + for ( i = 0; i < sizeof(allowPCData)/sizeof(allowPCData[0]); i++ ) { + if ( xmlStrEqual(lastChild->name, BAD_CAST allowPCData[i]) ) { + return(0); + } + } + } + return(1); +} + +/** + * Creates a new HTML document without a DTD node if `URI` and `publicId` + * are NULL + * + * @param URI system ID (URI) of the DTD (optional) + * @param publicId public ID of the DTD (optional) + * @returns a new document, do not initialize the DTD if not provided + */ +xmlDoc * +htmlNewDocNoDtD(const xmlChar *URI, const xmlChar *publicId) { + xmlDocPtr cur; + + /* + * Allocate a new document and fill the fields. + */ + cur = (xmlDocPtr) xmlMalloc(sizeof(xmlDoc)); + if (cur == NULL) + return(NULL); + memset(cur, 0, sizeof(xmlDoc)); + + cur->type = XML_HTML_DOCUMENT_NODE; + cur->version = NULL; + cur->intSubset = NULL; + cur->doc = cur; + cur->name = NULL; + cur->children = NULL; + cur->extSubset = NULL; + cur->oldNs = NULL; + cur->encoding = NULL; + cur->standalone = 1; + cur->compression = 0; + cur->ids = NULL; + cur->refs = NULL; + cur->_private = NULL; + cur->charset = XML_CHAR_ENCODING_UTF8; + cur->properties = XML_DOC_HTML | XML_DOC_USERBUILT; + if ((publicId != NULL) || + (URI != NULL)) { + xmlDtdPtr intSubset; + + intSubset = xmlCreateIntSubset(cur, BAD_CAST "html", publicId, URI); + if (intSubset == NULL) { + xmlFree(cur); + return(NULL); + } + } + if ((xmlRegisterCallbacks) && (xmlRegisterNodeDefaultValue)) + xmlRegisterNodeDefaultValue((xmlNodePtr)cur); + return(cur); +} + +/** + * Creates a new HTML document + * + * @param URI system ID (URI) of the DTD (optional) + * @param publicId public ID of the DTD (optional) + * @returns a new document + */ +xmlDoc * +htmlNewDoc(const xmlChar *URI, const xmlChar *publicId) { + if ((URI == NULL) && (publicId == NULL)) + return(htmlNewDocNoDtD( + BAD_CAST "http://www.w3.org/TR/REC-html40/loose.dtd", + BAD_CAST "-//W3C//DTD HTML 4.0 Transitional//EN")); + + return(htmlNewDocNoDtD(URI, publicId)); +} + + +/************************************************************************ + * * + * The parser itself * + * Relates to http://www.w3.org/TR/html40 * + * * + ************************************************************************/ + +/************************************************************************ + * * + * The parser itself * + * * + ************************************************************************/ + +/** + * parse an HTML tag or attribute name, note that we convert it to lowercase + * since HTML names are not case-sensitive. + * + * @param ctxt an HTML parser context + * @param attr whether this is an attribute name + * @returns the Tag Name parsed or NULL + */ + +static xmlHashedString +htmlParseHTMLName(htmlParserCtxtPtr ctxt, int attr) { + xmlHashedString ret; + xmlChar buf[HTML_PARSER_BUFFER_SIZE]; + const xmlChar *in; + size_t avail; + int eof = PARSER_PROGRESSIVE(ctxt); + int nbchar = 0; + int stop = attr ? '=' : ' '; + + in = ctxt->input->cur; + avail = ctxt->input->end - in; + + while (1) { + int c, size; + + if ((!eof) && (avail < 32)) { + size_t oldAvail = avail; + + ctxt->input->cur = in; + + SHRINK; + xmlParserGrow(ctxt); + + in = ctxt->input->cur; + avail = ctxt->input->end - in; + + if (oldAvail == avail) + eof = 1; + } + + if (avail == 0) + break; + + c = *in; + size = 1; + + if ((nbchar != 0) && + ((c == '/') || (c == '>') || (c == stop) || + (IS_WS_HTML(c)))) + break; + + if (c == 0) { + if (nbchar + 3 <= HTML_PARSER_BUFFER_SIZE) { + buf[nbchar++] = 0xEF; + buf[nbchar++] = 0xBF; + buf[nbchar++] = 0xBD; + } + } else if (c < 0x80) { + if (nbchar < HTML_PARSER_BUFFER_SIZE) { + if (IS_UPPER(c)) + c += 0x20; + buf[nbchar++] = c; + } + } else { + size = htmlValidateUtf8(ctxt, in, avail, /* partial */ 0); + + if (size > 0) { + if (nbchar + size <= HTML_PARSER_BUFFER_SIZE) { + memcpy(buf + nbchar, in, size); + nbchar += size; + } + } else { + size = 1; + + if (nbchar + 3 <= HTML_PARSER_BUFFER_SIZE) { + buf[nbchar++] = 0xEF; + buf[nbchar++] = 0xBF; + buf[nbchar++] = 0xBD; + } + } + } + + in += size; + avail -= size; + } + + ctxt->input->cur = in; + + SHRINK; + + ret = xmlDictLookupHashed(ctxt->dict, buf, nbchar); + if (ret.name == NULL) + htmlErrMemory(ctxt); + + return(ret); +} + +static const short htmlC1Remap[32] = { + 0x20AC, 0x0081, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021, + 0x02C6, 0x2030, 0x0160, 0x2039, 0x0152, 0x008D, 0x017D, 0x008F, + 0x0090, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, + 0x02DC, 0x2122, 0x0161, 0x203A, 0x0153, 0x009D, 0x017E, 0x0178 +}; + +static const xmlChar * +htmlCodePointToUtf8(int c, xmlChar *out, int *osize) { + int i = 0; + int bits, hi; + + if ((c >= 0x80) && (c < 0xA0)) { + c = htmlC1Remap[c - 0x80]; + } else if ((c <= 0) || + ((c >= 0xD800) && (c < 0xE000)) || + (c > 0x10FFFF)) { + c = 0xFFFD; + } + + if (c < 0x80) { bits = 0; hi = 0x00; } + else if (c < 0x800) { bits = 6; hi = 0xC0; } + else if (c < 0x10000) { bits = 12; hi = 0xE0; } + else { bits = 18; hi = 0xF0; } + + out[i++] = (c >> bits) | hi; + + while (bits > 0) { + bits -= 6; + out[i++] = ((c >> bits) & 0x3F) | 0x80; + } + + *osize = i; + return(out); +} + +#include "codegen/html5ent.inc" + +#define ENT_F_SEMICOLON 0x80u +#define ENT_F_SUBTABLE 0x40u +#define ENT_F_ALL 0xC0u + +static const xmlChar * +htmlFindEntityPrefix(const xmlChar *string, size_t slen, int isAttr, + int *nlen, int *rlen) { + const xmlChar *match = NULL; + unsigned left, right; + int first = string[0]; + size_t matchLen = 0; + size_t soff = 1; + + if (slen < 2) + return(NULL); + if (!IS_ASCII_LETTER(first)) + return(NULL); + + /* + * Look up range by first character + */ + first &= 63; + left = htmlEntAlpha[first*3] | htmlEntAlpha[first*3+1] << 8; + right = left + htmlEntAlpha[first*3+2]; + + /* + * Binary search + */ + while (left < right) { + const xmlChar *bytes; + unsigned mid; + size_t len; + int cmp; + + mid = left + (right - left) / 2; + bytes = htmlEntStrings + htmlEntValues[mid]; + len = bytes[0] & ~ENT_F_ALL; + + cmp = string[soff] - bytes[1]; + + if (cmp == 0) { + if (slen < len) { + cmp = strncmp((const char *) string + soff + 1, + (const char *) bytes + 2, + slen - 1); + /* Prefix can never match */ + if (cmp == 0) + break; + } else { + cmp = strncmp((const char *) string + soff + 1, + (const char *) bytes + 2, + len - 1); + } + } + + if (cmp < 0) { + right = mid; + } else if (cmp > 0) { + left = mid + 1; + } else { + int term = soff + len < slen ? string[soff + len] : 0; + int isAlnum, isTerm; + + isAlnum = IS_ALNUM(term); + isTerm = ((term == ';') || + ((bytes[0] & ENT_F_SEMICOLON) && + ((!isAttr) || + ((!isAlnum) && (term != '='))))); + + if (isTerm) { + match = bytes + len + 1; + matchLen = soff + len; + if (term == ';') + matchLen += 1; + } + + if (bytes[0] & ENT_F_SUBTABLE) { + if (isTerm) + match += 2; + + if ((isAlnum) && (soff + len < slen)) { + left = mid + bytes[len + 1]; + right = left + bytes[len + 2]; + soff += len; + continue; + } + } + + break; + } + } + + if (match == NULL) + return(NULL); + + *nlen = matchLen; + *rlen = match[0]; + return(match + 1); +} + +/** + * Parse data until terminator is reached. + * + * @param ctxt an HTML parser context + * @param mask mask of terminating characters + * @param comment true if parsing a comment + * @param refs true if references are allowed + * @param maxLength maximum output length + * @returns the parsed string or NULL in case of errors. + */ + +static xmlChar * +htmlParseData(htmlParserCtxtPtr ctxt, htmlAsciiMask mask, + int comment, int refs, int maxLength) { + xmlParserInputPtr input = ctxt->input; + xmlChar *ret = NULL; + xmlChar *buffer; + xmlChar utf8Char[4]; + size_t buffer_size; + size_t used; + int eof = PARSER_PROGRESSIVE(ctxt); + int line, col; + int termSkip = -1; + + used = 0; + buffer_size = ctxt->spaceMax; + buffer = (xmlChar *) ctxt->spaceTab; + if (buffer == NULL) { + buffer_size = 500; + buffer = xmlMalloc(buffer_size + 1); + if (buffer == NULL) { + htmlErrMemory(ctxt); + return(NULL); + } + } + + line = input->line; + col = input->col; + + while (!PARSER_STOPPED(ctxt)) { + const xmlChar *chunk, *in, *repl; + size_t avail, chunkSize, extraSize; + int replSize; + int skip = 0; + int ncr = 0; + int ncrSize = 0; + int cp = 0; + + chunk = input->cur; + avail = input->end - chunk; + in = chunk; + + repl = BAD_CAST ""; + replSize = 0; + + while (!PARSER_STOPPED(ctxt)) { + size_t j; + int cur, size; + + if ((!eof) && (avail <= 64)) { + size_t oldAvail = avail; + size_t off = in - chunk; + + input->cur = in; + + xmlParserGrow(ctxt); + + in = input->cur; + chunk = in - off; + input->cur = chunk; + avail = input->end - in; + + if (oldAvail == avail) + eof = 1; + } + + if (avail == 0) { + termSkip = 0; + break; + } + + cur = *in; + size = 1; + col += 1; + + if (htmlMaskMatch(mask, cur)) { + if (comment) { + if (avail < 2) { + termSkip = 1; + } else if (in[1] == '-') { + if (avail < 3) { + termSkip = 2; + } else if (in[2] == '>') { + termSkip = 3; + } else if (in[2] == '!') { + if (avail < 4) + termSkip = 3; + else if (in[3] == '>') + termSkip = 4; + } + } + + if (termSkip >= 0) + break; + } else { + termSkip = 0; + break; + } + } + + if (ncr) { + int lc = cur | 0x20; + int digit; + + if ((cur >= '0') && (cur <= '9')) { + digit = cur - '0'; + } else if ((ncr == 16) && (lc >= 'a') && (lc <= 'f')) { + digit = (lc - 'a') + 10; + } else { + if (cur == ';') { + in += 1; + size += 1; + ncrSize += 1; + } + goto next_chunk; + } + + cp = cp * ncr + digit; + if (cp >= 0x110000) + cp = 0x110000; + + ncrSize += 1; + + goto next_char; + } + + switch (cur) { + case '&': + if (!refs) + break; + + j = 1; + + if ((j < avail) && (in[j] == '#')) { + j += 1; + if (j < avail) { + if ((in[j] | 0x20) == 'x') { + j += 1; + if ((j < avail) && (IS_HEX_DIGIT(in[j]))) { + ncr = 16; + size = 3; + ncrSize = 3; + cp = 0; + } + } else if (IS_ASCII_DIGIT(in[j])) { + ncr = 10; + size = 2; + ncrSize = 2; + cp = 0; + } + } + } else { + repl = htmlFindEntityPrefix(in + j, + avail - j, + /* isAttr */ 1, + &skip, &replSize); + if (repl != NULL) { + skip += 1; + goto next_chunk; + } + + skip = 0; + } + + break; + + case '\0': + skip = 1; + repl = BAD_CAST "\xEF\xBF\xBD"; + replSize = 3; + goto next_chunk; + + case '\n': + line += 1; + col = 1; + break; + + case '\r': + skip = 1; + if (in[1] != 0x0A) { + repl = BAD_CAST "\x0A"; + replSize = 1; + } + goto next_chunk; + + default: + if (cur < 0x80) + break; + + if ((input->flags & XML_INPUT_HAS_ENCODING) == 0) { + xmlChar * guess; + + if (in > chunk) + goto next_chunk; + +#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION + guess = NULL; +#else + guess = htmlFindEncoding(ctxt); +#endif + if (guess == NULL) { + xmlSwitchEncoding(ctxt, + XML_CHAR_ENCODING_WINDOWS_1252); + } else { + xmlSwitchEncodingName(ctxt, (const char *) guess); + xmlFree(guess); + } + input->flags |= XML_INPUT_HAS_ENCODING; + + eof = PARSER_PROGRESSIVE(ctxt); + goto restart; + } + + size = htmlValidateUtf8(ctxt, in, avail, /* partial */ 0); + + if (size <= 0) { + skip = 1; + repl = BAD_CAST "\xEF\xBF\xBD"; + replSize = 3; + goto next_chunk; + } + + break; + } + +next_char: + in += size; + avail -= size; + } + +next_chunk: + if (ncrSize > 0) { + skip = ncrSize; + in -= ncrSize; + + repl = htmlCodePointToUtf8(cp, utf8Char, &replSize); + } + + chunkSize = in - chunk; + extraSize = chunkSize + replSize; + + if (extraSize > maxLength - used) { + htmlParseErr(ctxt, XML_ERR_RESOURCE_LIMIT, + "value too long\n", NULL, NULL); + goto error; + } + + if (extraSize > buffer_size - used) { + size_t newSize = (used + extraSize) * 2; + xmlChar *tmp = xmlRealloc(buffer, newSize + 1); + + if (tmp == NULL) { + htmlErrMemory(ctxt); + goto error; + } + buffer = tmp; + buffer_size = newSize; + } + + if (chunkSize > 0) { + input->cur += chunkSize; + memcpy(buffer + used, chunk, chunkSize); + used += chunkSize; + } + + input->cur += skip; + if (replSize > 0) { + memcpy(buffer + used, repl, replSize); + used += replSize; + } + + SHRINK; + + if (termSkip >= 0) + break; + +restart: + ; + } + + if (termSkip > 0) { + input->cur += termSkip; + col += termSkip; + } + + input->line = line; + input->col = col; + + ret = xmlMalloc(used + 1); + if (ret == NULL) { + htmlErrMemory(ctxt); + } else { + memcpy(ret, buffer, used); + ret[used] = 0; + } + +error: + ctxt->spaceTab = (void *) buffer; + ctxt->spaceMax = buffer_size; + + return(ret); +} + +/** + * @deprecated Internal function, don't use. + * + * @param ctxt an HTML parser context + * @param str location to store the entity name + * @returns NULL. + */ +const htmlEntityDesc * +htmlParseEntityRef(htmlParserCtxt *ctxt ATTRIBUTE_UNUSED, + const xmlChar **str ATTRIBUTE_UNUSED) { + return(NULL); +} + +/** + * parse a value for an attribute + * Note: the parser won't do substitution of entities here, this + * will be handled later in #xmlStringGetNodeList, unless it was + * asked for ctxt->replaceEntities != 0 + * + * @param ctxt an HTML parser context + * @returns the AttValue parsed or NULL. + */ + +static xmlChar * +htmlParseAttValue(htmlParserCtxtPtr ctxt) { + xmlChar *ret = NULL; + int maxLength = (ctxt->options & HTML_PARSE_HUGE) ? + XML_MAX_HUGE_LENGTH : + XML_MAX_TEXT_LENGTH; + + if (CUR == '"') { + SKIP(1); + ret = htmlParseData(ctxt, MASK_DQ, 0, 1, maxLength); + if (CUR == '"') + SKIP(1); + } else if (CUR == '\'') { + SKIP(1); + ret = htmlParseData(ctxt, MASK_SQ, 0, 1, maxLength); + if (CUR == '\'') + SKIP(1); + } else { + ret = htmlParseData(ctxt, MASK_WS_GT, 0, 1, maxLength); + } + return(ret); +} + +static void +htmlCharDataSAXCallback(htmlParserCtxtPtr ctxt, const xmlChar *buf, + int size, int mode) { + if ((ctxt->sax == NULL) || (ctxt->disableSAX)) + return; + + if ((mode == 0) || (mode == DATA_RCDATA) || + (ctxt->sax->cdataBlock == NULL)) { + if ((ctxt->name == NULL) || + (xmlStrEqual(ctxt->name, BAD_CAST "html")) || + (xmlStrEqual(ctxt->name, BAD_CAST "head"))) { + int i; + + /* + * Add leading whitespace to html or head elements before + * calling htmlStartCharData. + */ + for (i = 0; i < size; i++) + if (!IS_WS_HTML(buf[i])) + break; + + if (i > 0) { + if (!ctxt->keepBlanks) { + if (ctxt->sax->ignorableWhitespace != NULL) + ctxt->sax->ignorableWhitespace(ctxt->userData, buf, i); + } else { + if (ctxt->sax->characters != NULL) + ctxt->sax->characters(ctxt->userData, buf, i); + } + + buf += i; + size -= i; + } + + if (size <= 0) + return; + + htmlStartCharData(ctxt); + + if (PARSER_STOPPED(ctxt)) + return; + } + + if ((mode == 0) && + (!ctxt->keepBlanks) && + (areBlanks(ctxt, buf, size) > 0)) { + if (ctxt->sax->ignorableWhitespace != NULL) + ctxt->sax->ignorableWhitespace(ctxt->userData, buf, size); + } else { + if (ctxt->sax->characters != NULL) + ctxt->sax->characters(ctxt->userData, buf, size); + } + } else { + /* + * Insert as CDATA, which is the same as HTML_PRESERVE_NODE + */ + ctxt->sax->cdataBlock(ctxt->userData, buf, size); + } +} + +/** + * Parse character data and references. + * + * @param ctxt an HTML parser context + * @param partial true if the input buffer is incomplete + * @returns 1 if all data was parsed, 0 otherwise. + */ + +static int +htmlParseCharData(htmlParserCtxtPtr ctxt, int partial) { + xmlParserInputPtr input = ctxt->input; + xmlChar utf8Char[4]; + int complete = 0; + int done = 0; + int mode; + int eof = PARSER_PROGRESSIVE(ctxt); + int line, col; + + mode = ctxt->endCheckState; + + line = input->line; + col = input->col; + + while (!PARSER_STOPPED(ctxt)) { + const xmlChar *chunk, *in, *repl; + size_t avail; + int replSize; + int skip = 0; + int ncr = 0; + int ncrSize = 0; + int cp = 0; + + chunk = input->cur; + avail = input->end - chunk; + in = chunk; + + repl = BAD_CAST ""; + replSize = 0; + + while (!PARSER_STOPPED(ctxt)) { + size_t j; + int cur, size; + + if (avail <= 64) { + if (!eof) { + size_t oldAvail = avail; + size_t off = in - chunk; + + input->cur = in; + + xmlParserGrow(ctxt); + + in = input->cur; + chunk = in - off; + input->cur = chunk; + avail = input->end - in; + + if (oldAvail == avail) + eof = 1; + } + + if (avail == 0) { + if ((partial) && (ncr)) { + in -= ncrSize; + ncrSize = 0; + } + + done = 1; + break; + } + } + + /* Accelerator */ + if (!ncr) { + while (avail > 0) { + static const unsigned mask[8] = { + 0x00002401, 0x10002040, + 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF + }; + cur = *in; + if ((1u << (cur & 0x1F)) & mask[cur >> 5]) + break; + col += 1; + in += 1; + avail -= 1; + } + + if ((!eof) && (avail <= 64)) + continue; + if (avail == 0) + continue; + } + + cur = *in; + size = 1; + col += 1; + + if (ncr) { + int lc = cur | 0x20; + int digit; + + if ((cur >= '0') && (cur <= '9')) { + digit = cur - '0'; + } else if ((ncr == 16) && (lc >= 'a') && (lc <= 'f')) { + digit = (lc - 'a') + 10; + } else { + if (cur == ';') { + in += 1; + size += 1; + ncrSize += 1; + } + goto next_chunk; + } + + cp = cp * ncr + digit; + if (cp >= 0x110000) + cp = 0x110000; + + ncrSize += 1; + + goto next_char; + } + + switch (cur) { + case '<': + if (mode == 0) { + done = 1; + complete = 1; + goto next_chunk; + } + if (mode == DATA_PLAINTEXT) + break; + + j = 1; + if (j < avail) { + if ((mode == DATA_SCRIPT) && (in[j] == '!')) { + /* Check for comment start */ + + j += 1; + if ((j < avail) && (in[j] == '-')) { + j += 1; + if ((j < avail) && (in[j] == '-')) + mode = DATA_SCRIPT_ESC1; + } + } else { + int i = 0; + int solidus = 0; + + /* Check for tag */ + + if (in[j] == '/') { + j += 1; + solidus = 1; + } + + if ((solidus) || (mode == DATA_SCRIPT_ESC1)) { + while ((j < avail) && + (ctxt->name[i] != 0) && + (ctxt->name[i] == (in[j] | 0x20))) { + i += 1; + j += 1; + } + + if ((ctxt->name[i] == 0) && (j < avail)) { + int c = in[j]; + + if ((c == '>') || (c == '/') || + (IS_WS_HTML(c))) { + if ((mode == DATA_SCRIPT_ESC1) && + (!solidus)) { + mode = DATA_SCRIPT_ESC2; + } else if (mode == DATA_SCRIPT_ESC2) { + mode = DATA_SCRIPT_ESC1; + } else { + complete = 1; + done = 1; + goto next_chunk; + } + } + } + } + } + } + + if ((partial) && (j >= avail)) { + done = 1; + goto next_chunk; + } + + break; + + case '-': + if ((mode != DATA_SCRIPT_ESC1) && (mode != DATA_SCRIPT_ESC2)) + break; + + /* Check for comment end */ + + j = 1; + if ((j < avail) && (in[j] == '-')) { + j += 1; + if ((j < avail) && (in[j] == '>')) + mode = DATA_SCRIPT; + } + + if ((partial) && (j >= avail)) { + done = 1; + goto next_chunk; + } + + break; + + case '&': + if ((mode != 0) && (mode != DATA_RCDATA)) + break; + + j = 1; + + if ((j < avail) && (in[j] == '#')) { + j += 1; + if (j < avail) { + if ((in[j] | 0x20) == 'x') { + j += 1; + if ((j < avail) && (IS_HEX_DIGIT(in[j]))) { + ncr = 16; + size = 3; + ncrSize = 3; + cp = 0; + } + } else if (IS_ASCII_DIGIT(in[j])) { + ncr = 10; + size = 2; + ncrSize = 2; + cp = 0; + } + } + } else { + if (partial) { + int terminated = 0; + size_t i; + + /* + * ∳ has 33 bytes. + */ + for (i = 1; i < avail; i++) { + if ((i >= 32) || + (!IS_ASCII_LETTER(in[i]) && + ((i < 2) || !IS_ASCII_DIGIT(in[i])))) { + terminated = 1; + break; + } + } + + if (!terminated) { + done = 1; + goto next_chunk; + } + } + + repl = htmlFindEntityPrefix(in + j, + avail - j, + /* isAttr */ 0, + &skip, &replSize); + if (repl != NULL) { + skip += 1; + goto next_chunk; + } + + skip = 0; + } + + if ((partial) && (j >= avail)) { + done = 1; + goto next_chunk; + } + + break; + + case '\0': + skip = 1; + + if (mode == 0) { + /* + * The HTML5 spec says that the tokenizer should + * pass on U+0000 unmodified in normal data mode. + * These characters should then be ignored in body + * and other text, but should be replaced with + * U+FFFD in foreign content. + * + * At least for now, we always strip U+0000 when + * tokenizing. + */ + repl = BAD_CAST ""; + replSize = 0; + } else { + repl = BAD_CAST "\xEF\xBF\xBD"; + replSize = 3; + } + + goto next_chunk; + + case '\n': + line += 1; + col = 1; + break; + + case '\r': + if (partial && avail < 2) { + done = 1; + goto next_chunk; + } + + skip = 1; + if (in[1] != 0x0A) { + repl = BAD_CAST "\x0A"; + replSize = 1; + } + goto next_chunk; + + default: + if (cur < 0x80) + break; + + if ((input->flags & XML_INPUT_HAS_ENCODING) == 0) { + xmlChar * guess; + + if (in > chunk) + goto next_chunk; + +#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION + guess = NULL; +#else + guess = htmlFindEncoding(ctxt); +#endif + if (guess == NULL) { + xmlSwitchEncoding(ctxt, + XML_CHAR_ENCODING_WINDOWS_1252); + } else { + xmlSwitchEncodingName(ctxt, (const char *) guess); + xmlFree(guess); + } + input->flags |= XML_INPUT_HAS_ENCODING; + + eof = PARSER_PROGRESSIVE(ctxt); + goto restart; + } + + size = htmlValidateUtf8(ctxt, in, avail, partial); + + if ((partial) && (size == 0)) { + done = 1; + goto next_chunk; + } + + if (size <= 0) { + skip = 1; + repl = BAD_CAST "\xEF\xBF\xBD"; + replSize = 3; + goto next_chunk; + } + + break; + } + +next_char: + in += size; + avail -= size; + } + +next_chunk: + if (ncrSize > 0) { + skip = ncrSize; + in -= ncrSize; + + repl = htmlCodePointToUtf8(cp, utf8Char, &replSize); + } + + if (in > chunk) { + input->cur += in - chunk; + htmlCharDataSAXCallback(ctxt, chunk, in - chunk, mode); + } + + input->cur += skip; + if (replSize > 0) + htmlCharDataSAXCallback(ctxt, repl, replSize, mode); + + SHRINK; + + if (done) + break; + +restart: + ; + } + + input->line = line; + input->col = col; + + if (complete) + ctxt->endCheckState = 0; + else + ctxt->endCheckState = mode; + + return(complete); +} + +/** + * Parse an HTML comment + * + * @param ctxt an HTML parser context + * @param bogus true if this is a bogus comment + */ +static void +htmlParseComment(htmlParserCtxtPtr ctxt, int bogus) { + const xmlChar *comment = BAD_CAST ""; + xmlChar *buf = NULL; + int maxLength = (ctxt->options & HTML_PARSE_HUGE) ? + XML_MAX_HUGE_LENGTH : + XML_MAX_TEXT_LENGTH; + + if (bogus) { + buf = htmlParseData(ctxt, MASK_GT, 0, 0, maxLength); + if (CUR == '>') + SKIP(1); + comment = buf; + } else { + if ((!PARSER_PROGRESSIVE(ctxt)) && + (ctxt->input->end - ctxt->input->cur < 2)) + xmlParserGrow(ctxt); + + if (CUR == '>') { + SKIP(1); + } else if ((CUR == '-') && (NXT(1) == '>')) { + SKIP(2); + } else { + buf = htmlParseData(ctxt, MASK_DASH, 1, 0, maxLength); + comment = buf; + } + } + + if (comment == NULL) + return; + + if ((ctxt->sax != NULL) && (ctxt->sax->comment != NULL) && + (!ctxt->disableSAX)) + ctxt->sax->comment(ctxt->userData, comment); + + xmlFree(buf); +} + +/** + * @deprecated Internal function, don't use. + * + * @param ctxt an HTML parser context + * @returns 0 + */ +int +htmlParseCharRef(htmlParserCtxt *ctxt ATTRIBUTE_UNUSED) { + return(0); +} + + +/** + * Parse a DOCTYPE SYTSTEM or PUBLIC literal. + * + * @param ctxt an HTML parser context + * @returns the literal or NULL in case of error. + */ + +static xmlChar * +htmlParseDoctypeLiteral(htmlParserCtxtPtr ctxt) { + xmlChar *ret; + int maxLength = (ctxt->options & HTML_PARSE_HUGE) ? + XML_MAX_TEXT_LENGTH : + XML_MAX_NAME_LENGTH; + + if (CUR == '"') { + SKIP(1); + ret = htmlParseData(ctxt, MASK_DQ_GT, 0, 0, maxLength); + if (CUR == '"') + SKIP(1); + } else if (CUR == '\'') { + SKIP(1); + ret = htmlParseData(ctxt, MASK_SQ_GT, 0, 0, maxLength); + if (CUR == '\'') + SKIP(1); + } else { + return(NULL); + } + + return(ret); +} + +static void +htmlSkipBogusDoctype(htmlParserCtxtPtr ctxt) { + const xmlChar *in; + size_t avail; + int eof = PARSER_PROGRESSIVE(ctxt); + int line, col; + + line = ctxt->input->line; + col = ctxt->input->col; + + in = ctxt->input->cur; + avail = ctxt->input->end - in; + + while (!PARSER_STOPPED(ctxt)) { + int cur; + + if ((!eof) && (avail <= 64)) { + size_t oldAvail = avail; + + ctxt->input->cur = in; + + xmlParserGrow(ctxt); + + in = ctxt->input->cur; + avail = ctxt->input->end - in; + + if (oldAvail == avail) + eof = 1; + } + + if (avail == 0) + break; + + col += 1; + + cur = *in; + if (cur == '>') { + in += 1; + break; + } else if (cur == 0x0A) { + line += 1; + col = 1; + } + + in += 1; + avail -= 1; + + SHRINK; + } + + ctxt->input->cur = in; + ctxt->input->line = line; + ctxt->input->col = col; +} + +/** + * Parse a DOCTYPE declaration. + * + * @param ctxt an HTML parser context + */ + +static void +htmlParseDocTypeDecl(htmlParserCtxtPtr ctxt) { + xmlChar *name = NULL; + xmlChar *publicId = NULL; + xmlChar *URI = NULL; + int maxLength = (ctxt->options & HTML_PARSE_HUGE) ? + XML_MAX_TEXT_LENGTH : + XML_MAX_NAME_LENGTH; + + /* + * We know that 'input->cur < ctxt->input->end) && (CUR != '>')) { + name = htmlParseData(ctxt, MASK_WS_GT, 0, 0, maxLength); + + if ((ctxt->options & HTML_PARSE_HTML5) && (name != NULL)) { + xmlChar *cur; + + for (cur = name; *cur; cur++) { + if (IS_UPPER(*cur)) + *cur += 0x20; + } + } + + SKIP_BLANKS; + } + + /* + * Check for SystemID and publicId + */ + if ((UPPER == 'P') && (UPP(1) == 'U') && + (UPP(2) == 'B') && (UPP(3) == 'L') && + (UPP(4) == 'I') && (UPP(5) == 'C')) { + SKIP(6); + SKIP_BLANKS; + publicId = htmlParseDoctypeLiteral(ctxt); + if (publicId == NULL) + goto bogus; + SKIP_BLANKS; + URI = htmlParseDoctypeLiteral(ctxt); + } else if ((UPPER == 'S') && (UPP(1) == 'Y') && + (UPP(2) == 'S') && (UPP(3) == 'T') && + (UPP(4) == 'E') && (UPP(5) == 'M')) { + SKIP(6); + SKIP_BLANKS; + URI = htmlParseDoctypeLiteral(ctxt); + } + +bogus: + htmlSkipBogusDoctype(ctxt); + + /* + * Create or update the document accordingly to the DOCTYPE + */ + if ((ctxt->sax != NULL) && (ctxt->sax->internalSubset != NULL) && + (!ctxt->disableSAX)) + ctxt->sax->internalSubset(ctxt->userData, name, publicId, URI); + + xmlFree(name); + xmlFree(URI); + xmlFree(publicId); +} + +/** + * parse an attribute + * + * [41] Attribute ::= Name Eq AttValue + * + * [25] Eq ::= S? '=' S? + * + * With namespace: + * + * [NS 11] Attribute ::= QName Eq AttValue + * + * Also the case QName == xmlns:??? is handled independently as a namespace + * definition. + * + * @param ctxt an HTML parser context + * @param value a xmlChar ** used to store the value of the attribute + * @returns the attribute name, and the value in *value. + */ + +static xmlHashedString +htmlParseAttribute(htmlParserCtxtPtr ctxt, xmlChar **value) { + xmlHashedString hname; + xmlChar *val = NULL; + + *value = NULL; + hname = htmlParseHTMLName(ctxt, 1); + if (hname.name == NULL) + return(hname); + + /* + * read the value + */ + SKIP_BLANKS; + if (CUR == '=') { + SKIP(1); + SKIP_BLANKS; + val = htmlParseAttValue(ctxt); + } + + *value = val; + return(hname); +} + +static int +htmlCharEncCheckAsciiCompatible(htmlParserCtxt *ctxt, + const xmlChar *encoding) { + xmlCharEncodingHandler *handler; + xmlChar in[9] = ""; + xmlChar out[9]; + int inlen, outlen; + int res; + + res = xmlCreateCharEncodingHandler( + (const char *) encoding, + XML_ENC_INPUT | XML_ENC_HTML, + ctxt->convImpl, ctxt->convCtxt, + &handler); + if (res != XML_ERR_OK) { + xmlFatalErr(ctxt, res, (const char *) encoding); + return(-1); + } + + /* UTF-8 */ + if (handler == NULL) + return(0); + + inlen = 8; + outlen = 8; + res = xmlEncInputChunk(handler, out, &outlen, in, &inlen, /* flush */ 1); + + xmlCharEncCloseFunc(handler); + + if ((res != XML_ENC_ERR_SUCCESS) || + (inlen != 8) || (outlen != 8) || + (memcmp(in, out, 8) != 0)) { + htmlParseErr(ctxt, XML_ERR_UNSUPPORTED_ENCODING, + "Encoding %s isn't ASCII-compatible", encoding, NULL); + return(-1); + } + + return(0); +} + +/** + * Handle charset encoding in meta tag. + * + * @param ctxt an HTML parser context + * @param atts the attributes values + */ +static void +htmlCheckMeta(htmlParserCtxtPtr ctxt, const xmlChar **atts) { + int i; + const xmlChar *att, *value; + int isContentType = 0; + const xmlChar *content = NULL; + xmlChar *encoding = NULL; + + if ((ctxt == NULL) || (atts == NULL)) + return; + + i = 0; + att = atts[i++]; + while (att != NULL) { + value = atts[i++]; + if (value != NULL) { + if ((!xmlStrcasecmp(att, BAD_CAST "http-equiv")) && + (!xmlStrcasecmp(value, BAD_CAST "Content-Type"))) { + isContentType = 1; + } else if (!xmlStrcasecmp(att, BAD_CAST "charset")) { + encoding = xmlStrdup(value); + if (encoding == NULL) + htmlErrMemory(ctxt); + break; + } else if (!xmlStrcasecmp(att, BAD_CAST "content")) { + content = value; + } + } + att = atts[i++]; + } + + if ((encoding == NULL) && (isContentType) && (content != NULL)) { + htmlMetaEncodingOffsets off; + + if (htmlParseContentType(content, &off)) { + encoding = xmlStrndup(content + off.start, off.end - off.start); + if (encoding == NULL) + htmlErrMemory(ctxt); + } + } + + if (encoding != NULL) { + if (htmlCharEncCheckAsciiCompatible(ctxt, encoding) < 0) { + xmlFree(encoding); + return; + } + + xmlSetDeclaredEncoding(ctxt, encoding); + } +} + +/** + * Inserts a new attribute into the hash table. + * + * @param ctxt parser context + * @param size size of the hash table + * @param name attribute name + * @param hashValue hash value of name + * @param aindex attribute index (this is a multiple of 5) + * @returns INT_MAX if no existing attribute was found, the attribute + * index if an attribute was found, -1 if a memory allocation failed. + */ +static int +htmlAttrHashInsert(xmlParserCtxtPtr ctxt, unsigned size, const xmlChar *name, + unsigned hashValue, int aindex) { + xmlAttrHashBucket *table = ctxt->attrHash; + xmlAttrHashBucket *bucket; + unsigned hindex; + + hindex = hashValue & (size - 1); + bucket = &table[hindex]; + + while (bucket->index >= 0) { + const xmlChar **atts = &ctxt->atts[bucket->index]; + + if (name == atts[0]) + return(bucket->index); + + hindex++; + bucket++; + if (hindex >= size) { + hindex = 0; + bucket = table; + } + } + + bucket->index = aindex; + + return(INT_MAX); +} + +/** + * parse a start of tag either for rule element or + * EmptyElement. In both case we don't parse the tag closing chars. + * + * [40] STag ::= '<' Name (S Attribute)* S? '>' + * + * [44] EmptyElemTag ::= '<' Name (S Attribute)* S? '/>' + * + * With namespace: + * + * [NS 8] STag ::= '<' QName (S Attribute)* S? '>' + * + * [NS 10] EmptyElement ::= '<' QName (S Attribute)* S? '/>' + * + * @param ctxt an HTML parser context + * @returns 0 in case of success, -1 in case of error and 1 if discarded + */ + +static void +htmlParseStartTag(htmlParserCtxtPtr ctxt) { + const xmlChar *name; + const xmlChar *attname; + xmlChar *attvalue; + const xmlChar **atts; + int nbatts = 0; + int maxatts; + int i; + int discardtag = 0; + + ctxt->endCheckState = 0; + + SKIP(1); + + atts = ctxt->atts; + maxatts = ctxt->maxatts; + + GROW; + name = htmlParseHTMLName(ctxt, 0).name; + if (name == NULL) + return; + + if ((ctxt->options & HTML_PARSE_HTML5) == 0) { + /* + * Check for auto-closure of HTML elements. + */ + htmlAutoClose(ctxt, name); + + /* + * Check for implied HTML elements. + */ + htmlCheckImplied(ctxt, name); + + /* + * Avoid html at any level > 0, head at any level != 1 + * or any attempt to recurse body + */ + if ((ctxt->nameNr > 0) && (xmlStrEqual(name, BAD_CAST"html"))) { + htmlParseErr(ctxt, XML_HTML_STRUCURE_ERROR, + "htmlParseStartTag: misplaced tag\n", + name, NULL); + discardtag = 1; + ctxt->depth++; + } + if ((ctxt->nameNr != 1) && + (xmlStrEqual(name, BAD_CAST"head"))) { + htmlParseErr(ctxt, XML_HTML_STRUCURE_ERROR, + "htmlParseStartTag: misplaced tag\n", + name, NULL); + discardtag = 1; + ctxt->depth++; + } + if (xmlStrEqual(name, BAD_CAST"body")) { + int indx; + for (indx = 0;indx < ctxt->nameNr;indx++) { + if (xmlStrEqual(ctxt->nameTab[indx], BAD_CAST"body")) { + htmlParseErr(ctxt, XML_HTML_STRUCURE_ERROR, + "htmlParseStartTag: misplaced tag\n", + name, NULL); + discardtag = 1; + ctxt->depth++; + } + } + } + } + + /* + * Now parse the attributes, it ends up with the ending + * + * (S Attribute)* S? + */ + SKIP_BLANKS; + while ((ctxt->input->cur < ctxt->input->end) && + (CUR != '>') && + ((CUR != '/') || (NXT(1) != '>')) && + (PARSER_STOPPED(ctxt) == 0)) { + xmlHashedString hattname; + + /* unexpected-solidus-in-tag */ + if (CUR == '/') { + SKIP(1); + SKIP_BLANKS; + continue; + } + GROW; + hattname = htmlParseAttribute(ctxt, &attvalue); + attname = hattname.name; + + if (attname != NULL) { + /* + * Add the pair to atts + */ + if (nbatts + 4 > maxatts) { + const xmlChar **tmp; + unsigned *utmp; + int newSize; + + newSize = xmlGrowCapacity(maxatts, + sizeof(tmp[0]) * 2 + sizeof(utmp[0]), + 11, HTML_MAX_ATTRS); + if (newSize < 0) { + htmlErrMemory(ctxt); + goto failed; + } +#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION + if (newSize < 2) + newSize = 2; +#endif + tmp = xmlRealloc(atts, newSize * sizeof(tmp[0]) * 2); + if (tmp == NULL) { + htmlErrMemory(ctxt); + goto failed; + } + atts = tmp; + ctxt->atts = tmp; + + utmp = xmlRealloc(ctxt->attallocs, newSize * sizeof(utmp[0])); + if (utmp == NULL) { + htmlErrMemory(ctxt); + goto failed; + } + ctxt->attallocs = utmp; + + maxatts = newSize * 2; + ctxt->maxatts = maxatts; + } + + ctxt->attallocs[nbatts/2] = hattname.hashValue; + atts[nbatts++] = attname; + atts[nbatts++] = attvalue; + + attvalue = NULL; + } + +failed: + if (attvalue != NULL) + xmlFree(attvalue); + + SKIP_BLANKS; + } + + if (ctxt->input->cur >= ctxt->input->end) { + discardtag = 1; + goto done; + } + + /* + * Verify that attribute names are unique. + */ + if (nbatts > 2) { + unsigned attrHashSize; + int j, k; + + attrHashSize = 4; + while (attrHashSize / 2 < (unsigned) nbatts / 2) + attrHashSize *= 2; + + if (attrHashSize > ctxt->attrHashMax) { + xmlAttrHashBucket *tmp; + + tmp = xmlRealloc(ctxt->attrHash, attrHashSize * sizeof(tmp[0])); + if (tmp == NULL) { + htmlErrMemory(ctxt); + goto done; + } + + ctxt->attrHash = tmp; + ctxt->attrHashMax = attrHashSize; + } + + memset(ctxt->attrHash, -1, attrHashSize * sizeof(ctxt->attrHash[0])); + + for (i = 0, j = 0, k = 0; i < nbatts; i += 2, k++) { + unsigned hashValue; + int res; + + attname = atts[i]; + hashValue = ctxt->attallocs[k] | 0x80000000; + + res = htmlAttrHashInsert(ctxt, attrHashSize, attname, + hashValue, j); + if (res < 0) + continue; + + if (res == INT_MAX) { + atts[j] = atts[i]; + atts[j+1] = atts[i+1]; + j += 2; + } else { + xmlFree((xmlChar *) atts[i+1]); + } + } + + nbatts = j; + } + + if (nbatts > 0) { + atts[nbatts] = NULL; + atts[nbatts + 1] = NULL; + + /* + * Apple's new libiconv is so broken that you routinely run into + * issues when fuzz testing (by accident with an uninstrumented + * libiconv). Here's a harmless (?) example: + * + * printf '>' | iconv -f shift_jis -t utf-8 | hexdump -C + * printf '\xfc\x00\x00' | iconv -f shift_jis -t utf-8 | hexdump -C + * printf '>\xfc\x00\x00' | iconv -f shift_jis -t utf-8 | hexdump -C + * + * The last command fails to detect the illegal sequence. + */ +#if !defined(__APPLE__) || \ + !defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION) + /* + * Handle specific association to the META tag + */ + if (((ctxt->input->flags & XML_INPUT_HAS_ENCODING) == 0) && + (strcmp((char *) name, "meta") == 0)) { + htmlCheckMeta(ctxt, atts); + } +#endif + } + + /* + * SAX: Start of Element ! + */ + if (!discardtag) { + if (ctxt->options & HTML_PARSE_HTML5) { + if (ctxt->nameNr > 0) + htmlnamePop(ctxt); + } + + htmlnamePush(ctxt, name); + if ((ctxt->sax != NULL) && (ctxt->sax->startElement != NULL)) { + if (nbatts != 0) + ctxt->sax->startElement(ctxt->userData, name, atts); + else + ctxt->sax->startElement(ctxt->userData, name, NULL); + } + } + +done: + if (atts != NULL) { + for (i = 1;i < nbatts;i += 2) { + if (atts[i] != NULL) + xmlFree((xmlChar *) atts[i]); + } + } +} + +/** + * parse an end of tag + * + * [42] ETag ::= '' + * + * With namespace + * + * [NS 9] ETag ::= '' + * + * @param ctxt an HTML parser context + * @returns 1 if the current level should be closed. + */ + +static void +htmlParseEndTag(htmlParserCtxtPtr ctxt) +{ + const xmlChar *name; + const xmlChar *oldname; + int i; + + ctxt->endCheckState = 0; + + SKIP(2); + + if (ctxt->input->cur >= ctxt->input->end) { + htmlStartCharData(ctxt); + if ((ctxt->sax != NULL) && (!ctxt->disableSAX) && + (ctxt->sax->characters != NULL)) + ctxt->sax->characters(ctxt->userData, + BAD_CAST "') { + SKIP(1); + return; + } + + if (!IS_ASCII_LETTER(CUR)) { + htmlParseComment(ctxt, /* bogus */ 1); + return; + } + + name = htmlParseHTMLName(ctxt, 0).name; + if (name == NULL) + return; + + /* + * Parse and ignore attributes. + */ + SKIP_BLANKS; + while ((ctxt->input->cur < ctxt->input->end) && + (CUR != '>') && + ((CUR != '/') || (NXT(1) != '>')) && + (ctxt->instate != XML_PARSER_EOF)) { + xmlChar *attvalue = NULL; + + /* unexpected-solidus-in-tag */ + if (CUR == '/') { + SKIP(1); + SKIP_BLANKS; + continue; + } + GROW; + htmlParseAttribute(ctxt, &attvalue); + if (attvalue != NULL) + xmlFree(attvalue); + + SKIP_BLANKS; + } + + if (CUR == '>') { + SKIP(1); + } else if ((CUR == '/') && (NXT(1) == '>')) { + SKIP(2); + } else { + return; + } + + if (ctxt->options & HTML_PARSE_HTML5) { + if ((ctxt->sax != NULL) && (ctxt->sax->endElement != NULL)) + ctxt->sax->endElement(ctxt->userData, name); + return; + } + + /* + * if we ignored misplaced tags in htmlParseStartTag don't pop them + * out now. + */ + if ((ctxt->depth > 0) && + (xmlStrEqual(name, BAD_CAST "html") || + xmlStrEqual(name, BAD_CAST "body") || + xmlStrEqual(name, BAD_CAST "head"))) { + ctxt->depth--; + return; + } + + /* + * If the name read is not one of the element in the parsing stack + * then return, it's just an error. + */ + for (i = (ctxt->nameNr - 1); i >= 0; i--) { + if (xmlStrEqual(name, ctxt->nameTab[i])) + break; + } + if (i < 0) { + htmlParseErr(ctxt, XML_ERR_TAG_NAME_MISMATCH, + "Unexpected end tag : %s\n", name, NULL); + return; + } + + + /* + * Check for auto-closure of HTML elements. + */ + + htmlAutoCloseOnClose(ctxt, name); + + /* + * Well formedness constraints, opening and closing must match. + * With the exception that the autoclose may have popped stuff out + * of the stack. + */ + if ((ctxt->name != NULL) && (!xmlStrEqual(ctxt->name, name))) { + htmlParseErr(ctxt, XML_ERR_TAG_NAME_MISMATCH, + "Opening and ending tag mismatch: %s and %s\n", + name, ctxt->name); + } + + /* + * SAX: End of Tag + */ + oldname = ctxt->name; + if ((oldname != NULL) && (xmlStrEqual(oldname, name))) { + htmlParserFinishElementParsing(ctxt); + if ((ctxt->sax != NULL) && (ctxt->sax->endElement != NULL)) + ctxt->sax->endElement(ctxt->userData, name); + htmlnamePop(ctxt); + } +} + +/** + * Parse a content: comment, sub-element, reference or text. + * New version for non recursive htmlParseElementInternal + * + * @param ctxt an HTML parser context + */ + +static void +htmlParseContent(htmlParserCtxtPtr ctxt) { + GROW; + + while ((PARSER_STOPPED(ctxt) == 0) && + (ctxt->input->cur < ctxt->input->end)) { + int mode; + + mode = ctxt->endCheckState; + + if ((mode == 0) && (CUR == '<')) { + if (NXT(1) == '/') { + htmlParseEndTag(ctxt); + } else if (NXT(1) == '!') { + /* + * Sometimes DOCTYPE arrives in the middle of the document + */ + if ((UPP(2) == 'D') && (UPP(3) == 'O') && + (UPP(4) == 'C') && (UPP(5) == 'T') && + (UPP(6) == 'Y') && (UPP(7) == 'P') && + (UPP(8) == 'E')) { + htmlParseDocTypeDecl(ctxt); + } else if ((NXT(2) == '-') && (NXT(3) == '-')) { + SKIP(4); + htmlParseComment(ctxt, /* bogus */ 0); + } else { + SKIP(2); + htmlParseComment(ctxt, /* bogus */ 1); + } + } else if (NXT(1) == '?') { + SKIP(1); + htmlParseComment(ctxt, /* bogus */ 1); + } else if (IS_ASCII_LETTER(NXT(1))) { + htmlParseElementInternal(ctxt); + } else { + htmlStartCharData(ctxt); + if ((ctxt->sax != NULL) && (!ctxt->disableSAX) && + (ctxt->sax->characters != NULL)) + ctxt->sax->characters(ctxt->userData, BAD_CAST "<", 1); + SKIP(1); + } + } else { + htmlParseCharData(ctxt, /* partial */ 0); + } + + SHRINK; + GROW; + } + + if (ctxt->input->cur >= ctxt->input->end) + htmlAutoCloseOnEnd(ctxt); +} + +/** + * Parse an HTML element, new version, non recursive + * + * @param ctxt an HTML parser context + */ +static int +htmlParseElementInternal(htmlParserCtxtPtr ctxt) { + const xmlChar *name; + const htmlElemDesc * info; + htmlParserNodeInfo node_info = { NULL, 0, 0, 0, 0 }; + + if ((ctxt == NULL) || (ctxt->input == NULL)) + return(0); + + /* Capture start position */ + if (ctxt->record_info) { + node_info.begin_pos = ctxt->input->consumed + + (CUR_PTR - ctxt->input->base); + node_info.begin_line = ctxt->input->line; + } + + htmlParseStartTag(ctxt); + name = ctxt->name; + if (name == NULL) + return(0); + + if (ctxt->record_info) + htmlNodeInfoPush(ctxt, &node_info); + + /* + * Check for an Empty Element labeled the XML/SGML way + */ + if ((CUR == '/') && (NXT(1) == '>')) { + SKIP(2); + htmlParserFinishElementParsing(ctxt); + if ((ctxt->options & HTML_PARSE_HTML5) == 0) { + if ((ctxt->sax != NULL) && (ctxt->sax->endElement != NULL)) + ctxt->sax->endElement(ctxt->userData, name); + } + htmlnamePop(ctxt); + return(0); + } + + if (CUR != '>') + return(0); + SKIP(1); + + /* + * Lookup the info for that element. + */ + info = htmlTagLookup(name); + + /* + * Check for an Empty Element from DTD definition + */ + if ((info != NULL) && (info->empty)) { + htmlParserFinishElementParsing(ctxt); + if ((ctxt->options & HTML_PARSE_HTML5) == 0) { + if ((ctxt->sax != NULL) && (ctxt->sax->endElement != NULL)) + ctxt->sax->endElement(ctxt->userData, name); + } + htmlnamePop(ctxt); + return(0); + } + + if (info != NULL) + ctxt->endCheckState = info->dataMode; + + return(1); +} + +/** + * This is kept for compatibility with previous code versions + * + * @deprecated Internal function, don't use. + * + * @param ctxt an HTML parser context + */ +void +htmlParseElement(htmlParserCtxt *ctxt) { + const xmlChar *oldptr; + int depth; + + if ((ctxt == NULL) || (ctxt->input == NULL)) + return; + + if (htmlParseElementInternal(ctxt) == 0) + return; + + /* + * Parse the content of the element: + */ + depth = ctxt->nameNr; + while (CUR != 0) { + oldptr = ctxt->input->cur; + htmlParseContent(ctxt); + if (oldptr==ctxt->input->cur) break; + if (ctxt->nameNr < depth) break; + } + + if (CUR == 0) { + htmlAutoCloseOnEnd(ctxt); + } +} + +/** + * @param ctxt parser context + * @param input parser input + * @returns a node list. + */ +xmlNode * +htmlCtxtParseContentInternal(htmlParserCtxt *ctxt, xmlParserInput *input) { + xmlNodePtr root; + xmlNodePtr list = NULL; + xmlChar *rootName = BAD_CAST "#root"; + + root = xmlNewDocNode(ctxt->myDoc, NULL, rootName, NULL); + if (root == NULL) { + htmlErrMemory(ctxt); + return(NULL); + } + + if (xmlCtxtPushInput(ctxt, input) < 0) { + xmlFreeNode(root); + return(NULL); + } + + htmlnamePush(ctxt, rootName); + nodePush(ctxt, root); + + htmlParseContent(ctxt); + + /* + * Only check for truncated multi-byte sequences + */ + xmlParserCheckEOF(ctxt, XML_ERR_INTERNAL_ERROR); + + /* TODO: Use xmlCtxtIsCatastrophicError */ + if (ctxt->errNo != XML_ERR_NO_MEMORY) { + xmlNodePtr cur; + + /* + * Unlink newly created node list. + */ + list = root->children; + root->children = NULL; + root->last = NULL; + for (cur = list; cur != NULL; cur = cur->next) + cur->parent = NULL; + } + + nodePop(ctxt); + htmlnamePop(ctxt); + + xmlCtxtPopInput(ctxt); + + xmlFreeNode(root); + return(list); +} + +/** + * Parse an HTML document and invoke the SAX handlers. This is useful + * if you're only interested in custom SAX callbacks. If you want a + * document tree, use #htmlCtxtParseDocument. + * + * @param ctxt an HTML parser context + * @returns 0, -1 in case of error. + */ +int +htmlParseDocument(htmlParserCtxt *ctxt) { + if ((ctxt == NULL) || (ctxt->input == NULL)) + return(-1); + + if ((ctxt->sax) && (ctxt->sax->setDocumentLocator)) { + ctxt->sax->setDocumentLocator(ctxt->userData, + (xmlSAXLocator *) &xmlDefaultSAXLocator); + } + + xmlDetectEncoding(ctxt); + + /* + * TODO: Implement HTML5 prescan algorithm + */ + + /* + * This is wrong but matches long-standing behavior. In most + * cases, a document starting with an XML declaration will + * specify UTF-8. The HTML5 prescan algorithm handles + * XML declarations in a better way. + */ + if (((ctxt->input->flags & XML_INPUT_HAS_ENCODING) == 0) && + (xmlStrncmp(ctxt->input->cur, BAD_CAST "sax) && (ctxt->sax->startDocument) && (!ctxt->disableSAX)) + ctxt->sax->startDocument(ctxt->userData); + + /* + * Parse possible comments, PIs or doctype declarations + * before any content. + */ + ctxt->instate = XML_PARSER_MISC; + while (CUR == '<') { + if (NXT(1) == '!') { + if ((NXT(2) == '-') && (NXT(3) == '-')) { + SKIP(4); + htmlParseComment(ctxt, /* bogus */ 0); + } else if ((UPP(2) == 'D') && (UPP(3) == 'O') && + (UPP(4) == 'C') && (UPP(5) == 'T') && + (UPP(6) == 'Y') && (UPP(7) == 'P') && + (UPP(8) == 'E')) { + htmlParseDocTypeDecl(ctxt); + ctxt->instate = XML_PARSER_PROLOG; + } else { + SKIP(2); + htmlParseComment(ctxt, /* bogus */ 1); + } + } else if (NXT(1) == '?') { + SKIP(1); + htmlParseComment(ctxt, /* bogus */ 1); + } else { + break; + } + SKIP_BLANKS; + GROW; + } + + /* + * Time to start parsing the tree itself + */ + ctxt->instate = XML_PARSER_CONTENT; + htmlParseContent(ctxt); + + /* + * Only check for truncated multi-byte sequences + */ + xmlParserCheckEOF(ctxt, XML_ERR_INTERNAL_ERROR); + + /* + * SAX: end of the document processing. + */ + if ((ctxt->sax) && (ctxt->sax->endDocument != NULL)) + ctxt->sax->endDocument(ctxt->userData); + + if (! ctxt->wellFormed) return(-1); + return(0); +} + + +/************************************************************************ + * * + * Parser contexts handling * + * * + ************************************************************************/ + +/** + * Initialize a parser context + * + * @param ctxt an HTML parser context + * @param sax SAX handler + * @param userData user data + * @returns 0 in case of success and -1 in case of error + */ +static int +htmlInitParserCtxt(htmlParserCtxtPtr ctxt, const htmlSAXHandler *sax, + void *userData) +{ +#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION + size_t initialNodeTabSize = 1; +#else + size_t initialNodeTabSize = 10; +#endif + + if (ctxt == NULL) return(-1); + memset(ctxt, 0, sizeof(htmlParserCtxt)); + + ctxt->dict = xmlDictCreate(); + if (ctxt->dict == NULL) + return(-1); + + if (ctxt->sax == NULL) + ctxt->sax = (htmlSAXHandler *) xmlMalloc(sizeof(htmlSAXHandler)); + if (ctxt->sax == NULL) + return(-1); + if (sax == NULL) { + memset(ctxt->sax, 0, sizeof(htmlSAXHandler)); + xmlSAX2InitHtmlDefaultSAXHandler(ctxt->sax); + ctxt->userData = ctxt; + } else { + memcpy(ctxt->sax, sax, sizeof(htmlSAXHandler)); + ctxt->userData = userData ? userData : ctxt; + } + + /* Allocate the Input stack */ + ctxt->inputTab = (htmlParserInputPtr *) + xmlMalloc(sizeof(htmlParserInputPtr)); + if (ctxt->inputTab == NULL) + return(-1); + ctxt->inputNr = 0; + ctxt->inputMax = 1; + ctxt->input = NULL; + ctxt->version = NULL; + ctxt->encoding = NULL; + ctxt->standalone = -1; + ctxt->instate = XML_PARSER_START; + + /* Allocate the Node stack */ + ctxt->nodeTab = xmlMalloc(initialNodeTabSize * sizeof(htmlNodePtr)); + if (ctxt->nodeTab == NULL) + return(-1); + ctxt->nodeNr = 0; + ctxt->nodeMax = initialNodeTabSize; + ctxt->node = NULL; + + /* Allocate the Name stack */ + ctxt->nameTab = xmlMalloc(initialNodeTabSize * sizeof(xmlChar *)); + if (ctxt->nameTab == NULL) + return(-1); + ctxt->nameNr = 0; + ctxt->nameMax = initialNodeTabSize; + ctxt->name = NULL; + + ctxt->nodeInfoTab = NULL; + ctxt->nodeInfoNr = 0; + ctxt->nodeInfoMax = 0; + + ctxt->myDoc = NULL; + ctxt->wellFormed = 1; + ctxt->replaceEntities = 0; + ctxt->keepBlanks = xmlKeepBlanksDefaultValue; + ctxt->html = INSERT_INITIAL; + ctxt->vctxt.flags = XML_VCTXT_USE_PCTXT; + ctxt->vctxt.userData = ctxt; + ctxt->vctxt.error = xmlParserValidityError; + ctxt->vctxt.warning = xmlParserValidityWarning; + ctxt->record_info = 0; + ctxt->validate = 0; + ctxt->checkIndex = 0; + ctxt->catalogs = NULL; + xmlInitNodeInfoSeq(&ctxt->node_seq); + return(0); +} + +/** + * Free all the memory used by a parser context. However the parsed + * document in `ctxt->myDoc` is not freed. + * + * @param ctxt an HTML parser context + */ +void +htmlFreeParserCtxt(htmlParserCtxt *ctxt) +{ + xmlFreeParserCtxt(ctxt); +} + +/** + * Allocate and initialize a new HTML parser context. + * + * This can be used to parse HTML documents into DOM trees with + * functions like #xmlCtxtReadFile or #xmlCtxtReadMemory. + * + * See #htmlCtxtUseOptions for parser options. + * + * See #xmlCtxtSetErrorHandler for advanced error handling. + * + * See #htmlNewSAXParserCtxt for custom SAX parsers. + * + * @returns the htmlParserCtxt or NULL in case of allocation error + */ +htmlParserCtxt * +htmlNewParserCtxt(void) +{ + return(htmlNewSAXParserCtxt(NULL, NULL)); +} + +/** + * Allocate and initialize a new HTML SAX parser context. If `userData` + * is NULL, the parser context will be passed as user data. + * + * @since 2.11.0 + * + * If you want support older versions, it's best to invoke + * #htmlNewParserCtxt and set `ctxt->sax` with struct assignment. + * + * Also see #htmlNewParserCtxt. + * + * @param sax SAX handler + * @param userData user data + * @returns the htmlParserCtxt or NULL in case of allocation error + */ +htmlParserCtxt * +htmlNewSAXParserCtxt(const htmlSAXHandler *sax, void *userData) +{ + xmlParserCtxtPtr ctxt; + + xmlInitParser(); + + ctxt = (xmlParserCtxtPtr) xmlMalloc(sizeof(xmlParserCtxt)); + if (ctxt == NULL) + return(NULL); + memset(ctxt, 0, sizeof(xmlParserCtxt)); + if (htmlInitParserCtxt(ctxt, sax, userData) < 0) { + htmlFreeParserCtxt(ctxt); + return(NULL); + } + return(ctxt); +} + +static htmlParserCtxtPtr +htmlCreateMemoryParserCtxtInternal(const char *url, + const char *buffer, size_t size, + const char *encoding) { + xmlParserCtxtPtr ctxt; + xmlParserInputPtr input; + + if (buffer == NULL) + return(NULL); + + ctxt = htmlNewParserCtxt(); + if (ctxt == NULL) + return(NULL); + + input = xmlCtxtNewInputFromMemory(ctxt, url, buffer, size, encoding, 0); + if (input == NULL) { + xmlFreeParserCtxt(ctxt); + return(NULL); + } + + if (xmlCtxtPushInput(ctxt, input) < 0) { + xmlFreeInputStream(input); + xmlFreeParserCtxt(ctxt); + return(NULL); + } + + return(ctxt); +} + +/** + * Create a parser context for an HTML in-memory document. The input + * buffer must not contain any terminating null bytes. + * + * @deprecated Use #htmlNewParserCtxt and #htmlCtxtReadMemory. + * + * @param buffer a pointer to a char array + * @param size the size of the array + * @returns the new parser context or NULL + */ +htmlParserCtxt * +htmlCreateMemoryParserCtxt(const char *buffer, int size) { + if (size <= 0) + return(NULL); + + return(htmlCreateMemoryParserCtxtInternal(NULL, buffer, size, NULL)); +} + +/** + * Create a parser context for a null-terminated string. + * + * @param str a pointer to an array of xmlChar + * @param url URL of the document (optional) + * @param encoding encoding (optional) + * @returns the new parser context or NULL if a memory allocation failed. + */ +static htmlParserCtxtPtr +htmlCreateDocParserCtxt(const xmlChar *str, const char *url, + const char *encoding) { + xmlParserCtxtPtr ctxt; + xmlParserInputPtr input; + + if (str == NULL) + return(NULL); + + ctxt = htmlNewParserCtxt(); + if (ctxt == NULL) + return(NULL); + + input = xmlCtxtNewInputFromString(ctxt, url, (const char *) str, + encoding, 0); + if (input == NULL) { + xmlFreeParserCtxt(ctxt); + return(NULL); + } + + if (xmlCtxtPushInput(ctxt, input) < 0) { + xmlFreeInputStream(input); + xmlFreeParserCtxt(ctxt); + return(NULL); + } + + return(ctxt); +} + +#ifdef LIBXML_PUSH_ENABLED +/************************************************************************ + * * + * Progressive parsing interfaces * + * * + ************************************************************************/ + +typedef enum { + LSTATE_TAG_NAME = 0, + LSTATE_BEFORE_ATTR_NAME, + LSTATE_ATTR_NAME, + LSTATE_AFTER_ATTR_NAME, + LSTATE_BEFORE_ATTR_VALUE, + LSTATE_ATTR_VALUE_DQUOTED, + LSTATE_ATTR_VALUE_SQUOTED, + LSTATE_ATTR_VALUE_UNQUOTED +} xmlLookupStates; + +/** + * Check whether there's enough data in the input buffer to finish parsing + * a tag. This has to take quotes into account. + * + * @param ctxt an HTML parser context + */ +static int +htmlParseLookupGt(xmlParserCtxtPtr ctxt) { + const xmlChar *cur; + const xmlChar *end = ctxt->input->end; + int state = ctxt->endCheckState; + size_t index; + + if (ctxt->checkIndex == 0) + cur = ctxt->input->cur + 2; /* Skip 'input->cur + ctxt->checkIndex; + + while (cur < end) { + int c = *cur++; + + if (state != LSTATE_ATTR_VALUE_SQUOTED && + state != LSTATE_ATTR_VALUE_DQUOTED) { + if (c == '/' && + state != LSTATE_BEFORE_ATTR_VALUE && + state != LSTATE_ATTR_VALUE_UNQUOTED) { + state = LSTATE_BEFORE_ATTR_NAME; + continue; + } else if (c == '>') { + ctxt->checkIndex = 0; + ctxt->endCheckState = 0; + return(0); + } + } + + switch (state) { + case LSTATE_TAG_NAME: + if (IS_WS_HTML(c)) + state = LSTATE_BEFORE_ATTR_NAME; + break; + + case LSTATE_BEFORE_ATTR_NAME: + if (!IS_WS_HTML(c)) + state = LSTATE_ATTR_NAME; + break; + + case LSTATE_ATTR_NAME: + if (c == '=') + state = LSTATE_BEFORE_ATTR_VALUE; + else if (IS_WS_HTML(c)) + state = LSTATE_AFTER_ATTR_NAME; + break; + + case LSTATE_AFTER_ATTR_NAME: + if (c == '=') + state = LSTATE_BEFORE_ATTR_VALUE; + else if (!IS_WS_HTML(c)) + state = LSTATE_ATTR_NAME; + break; + + case LSTATE_BEFORE_ATTR_VALUE: + if (c == '"') + state = LSTATE_ATTR_VALUE_DQUOTED; + else if (c == '\'') + state = LSTATE_ATTR_VALUE_SQUOTED; + else if (!IS_WS_HTML(c)) + state = LSTATE_ATTR_VALUE_UNQUOTED; + break; + + case LSTATE_ATTR_VALUE_DQUOTED: + if (c == '"') + state = LSTATE_BEFORE_ATTR_NAME; + break; + + case LSTATE_ATTR_VALUE_SQUOTED: + if (c == '\'') + state = LSTATE_BEFORE_ATTR_NAME; + break; + + case LSTATE_ATTR_VALUE_UNQUOTED: + if (IS_WS_HTML(c)) + state = LSTATE_BEFORE_ATTR_NAME; + break; + } + } + + index = cur - ctxt->input->cur; + if (index > LONG_MAX) { + ctxt->checkIndex = 0; + ctxt->endCheckState = 0; + return(0); + } + ctxt->checkIndex = index; + ctxt->endCheckState = state; + return(-1); +} + +/** + * Check whether the input buffer contains a string. + * + * @param ctxt an XML parser context + * @param startDelta delta to apply at the start + * @param str string + * @param strLen length of string + * @param extraLen extra length + */ +static int +htmlParseLookupString(xmlParserCtxtPtr ctxt, size_t startDelta, + const char *str, size_t strLen, size_t extraLen) { + const xmlChar *end = ctxt->input->end; + const xmlChar *cur, *term; + size_t index, rescan; + int ret; + + if (ctxt->checkIndex == 0) { + cur = ctxt->input->cur + startDelta; + } else { + cur = ctxt->input->cur + ctxt->checkIndex; + } + + term = BAD_CAST strstr((const char *) cur, str); + if ((term != NULL) && + ((size_t) (ctxt->input->end - term) >= extraLen + 1)) { + ctxt->checkIndex = 0; + + if (term - ctxt->input->cur > INT_MAX / 2) + ret = INT_MAX / 2; + else + ret = term - ctxt->input->cur; + + return(ret); + } + + /* Rescan (strLen + extraLen - 1) characters. */ + rescan = strLen + extraLen - 1; + if ((size_t) (end - cur) <= rescan) + end = cur; + else + end -= rescan; + index = end - ctxt->input->cur; + if (index > INT_MAX / 2) { + ctxt->checkIndex = 0; + ret = INT_MAX / 2; + } else { + ctxt->checkIndex = index; + ret = -1; + } + + return(ret); +} + +/** + * Try to find a comment end tag in the input stream + * The search includes "-->" as well as WHATWG-recommended + * incorrectly-closed tags. + * + * @param ctxt an HTML parser context + * @returns the index to the current parsing point if the full + * sequence is available, -1 otherwise. + */ +static int +htmlParseLookupCommentEnd(htmlParserCtxtPtr ctxt) +{ + int mark = 0; + int offset; + + while (1) { + mark = htmlParseLookupString(ctxt, 2, "--", 2, 0); + if (mark < 0) + break; + /* + * is a complete comment, but + * is not + * is + */ + if ((NXT(mark+2) == '>') || + ((mark >= 4) && (NXT(mark+2) == '!') && (NXT(mark+3) == '>'))) { + ctxt->checkIndex = 0; + break; + } + offset = (NXT(mark+2) == '!') ? 3 : 2; + if (mark + offset >= ctxt->input->end - ctxt->input->cur) { + ctxt->checkIndex = mark; + return(-1); + } + ctxt->checkIndex = mark + 1; + } + return mark; +} + + +/** + * Try to progress on parsing + * + * @param ctxt an HTML parser context + * @param terminate last chunk indicator + * @returns zero if no parsing was possible + */ +static void +htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) { + while (PARSER_STOPPED(ctxt) == 0) { + htmlParserInputPtr in; + size_t avail; + + in = ctxt->input; + if (in == NULL) break; + avail = in->end - in->cur; + + switch (ctxt->instate) { + case XML_PARSER_EOF: + /* + * Document parsing is done ! + */ + return; + + case XML_PARSER_START: + /* + * Very first chars read from the document flow. + */ + if ((!terminate) && (avail < 4)) + return; + + xmlDetectEncoding(ctxt); + + /* + * TODO: Implement HTML5 prescan algorithm + */ + + /* + * This is wrong but matches long-standing behavior. In most + * cases, a document starting with an XML declaration will + * specify UTF-8. The HTML5 prescan algorithm handles + * XML declarations in a better way. + */ + if (((ctxt->input->flags & XML_INPUT_HAS_ENCODING) == 0) && + (xmlStrncmp(ctxt->input->cur, BAD_CAST "sax) && (ctxt->sax->setDocumentLocator)) { + ctxt->sax->setDocumentLocator(ctxt->userData, + (xmlSAXLocator *) &xmlDefaultSAXLocator); + } + if ((ctxt->sax) && (ctxt->sax->startDocument) && + (!ctxt->disableSAX)) + ctxt->sax->startDocument(ctxt->userData); + + /* Allow callback to modify state for tests */ + if ((ctxt->instate == XML_PARSER_START) || + (ctxt->instate == XML_PARSER_XML_DECL)) + ctxt->instate = XML_PARSER_MISC; + break; + + case XML_PARSER_START_TAG: + if ((!terminate) && + (htmlParseLookupGt(ctxt) < 0)) + return; + + htmlParseElementInternal(ctxt); + + ctxt->instate = XML_PARSER_CONTENT; + break; + + case XML_PARSER_MISC: /* initial */ + case XML_PARSER_PROLOG: /* before html */ + case XML_PARSER_CONTENT: { + int mode; + + if ((ctxt->instate == XML_PARSER_MISC) || + (ctxt->instate == XML_PARSER_PROLOG)) { + SKIP_BLANKS; + avail = in->end - in->cur; + } + + if (avail < 1) + return; + /* + * Note that endCheckState is also used by + * xmlParseLookupGt. + */ + mode = ctxt->endCheckState; + + if (mode != 0) { + if (htmlParseCharData(ctxt, !terminate) == 0) + return; + } else if (in->cur[0] == '<') { + int next; + + if (avail < 2) { + if (!terminate) + return; + next = ' '; + } else { + next = in->cur[1]; + } + + if (next == '!') { + if ((!terminate) && (avail < 4)) + return; + if ((in->cur[2] == '-') && (in->cur[3] == '-')) { + if ((!terminate) && + (htmlParseLookupCommentEnd(ctxt) < 0)) + return; + SKIP(4); + htmlParseComment(ctxt, /* bogus */ 0); + /* don't change state */ + break; + } + + if ((!terminate) && (avail < 9)) + return; + if ((UPP(2) == 'D') && (UPP(3) == 'O') && + (UPP(4) == 'C') && (UPP(5) == 'T') && + (UPP(6) == 'Y') && (UPP(7) == 'P') && + (UPP(8) == 'E')) { + if ((!terminate) && + (htmlParseLookupString(ctxt, 9, ">", 1, + 0) < 0)) + return; + htmlParseDocTypeDecl(ctxt); + if (ctxt->instate == XML_PARSER_MISC) + ctxt->instate = XML_PARSER_PROLOG; + } else { + if ((!terminate) && + (htmlParseLookupString(ctxt, 2, ">", 1, 0) < 0)) + return; + SKIP(2); + htmlParseComment(ctxt, /* bogus */ 1); + } + } else if (next == '?') { + if ((!terminate) && + (htmlParseLookupString(ctxt, 2, ">", 1, 0) < 0)) + return; + SKIP(1); + htmlParseComment(ctxt, /* bogus */ 1); + /* don't change state */ + } else if (next == '/') { + ctxt->instate = XML_PARSER_END_TAG; + ctxt->checkIndex = 0; + } else if (IS_ASCII_LETTER(next)) { + ctxt->instate = XML_PARSER_START_TAG; + ctxt->checkIndex = 0; + } else { + ctxt->instate = XML_PARSER_CONTENT; + htmlStartCharData(ctxt); + if ((ctxt->sax != NULL) && (!ctxt->disableSAX) && + (ctxt->sax->characters != NULL)) + ctxt->sax->characters(ctxt->userData, + BAD_CAST "<", 1); + SKIP(1); + } + } else { + ctxt->instate = XML_PARSER_CONTENT; + /* + * We follow the logic of the XML push parser + */ + if (avail < HTML_PARSER_BIG_BUFFER_SIZE) { + if ((!terminate) && + (htmlParseLookupString(ctxt, 0, "<", 1, 0) < 0)) + return; + } + ctxt->checkIndex = 0; + if (htmlParseCharData(ctxt, !terminate) == 0) + return; + } + + break; + } + + case XML_PARSER_END_TAG: + if ((!terminate) && + (htmlParseLookupGt(ctxt) < 0)) + return; + htmlParseEndTag(ctxt); + ctxt->instate = XML_PARSER_CONTENT; + ctxt->checkIndex = 0; + break; + + default: + htmlParseErr(ctxt, XML_ERR_INTERNAL_ERROR, + "HPP: internal error\n", NULL, NULL); + ctxt->instate = XML_PARSER_EOF; + break; + } + } +} + +/** + * Parse a chunk of memory in push parser mode. + * + * Assumes that the parser context was initialized with + * #htmlCreatePushParserCtxt. + * + * The last chunk, which will often be empty, must be marked with + * the `terminate` flag. With the default SAX callbacks, the resulting + * document will be available in `ctxt->myDoc`. This pointer will not + * be freed by the library. + * + * If the document isn't well-formed, `ctxt->myDoc` is set to NULL. + * + * Since 2.14.0, #xmlCtxtGetDocument can be used to retrieve the + * result document. + * + * @param ctxt an HTML parser context + * @param chunk chunk of memory + * @param size size of chunk in bytes + * @param terminate last chunk indicator + * @returns an xmlParserErrors code (0 on success). + */ +int +htmlParseChunk(htmlParserCtxt *ctxt, const char *chunk, int size, + int terminate) { + if ((ctxt == NULL) || + (ctxt->input == NULL) || (ctxt->input->buf == NULL) || + (size < 0) || + ((size > 0) && (chunk == NULL))) + return(XML_ERR_ARGUMENT); + if (PARSER_STOPPED(ctxt) != 0) + return(ctxt->errNo); + + if (size > 0) { + size_t pos = ctxt->input->cur - ctxt->input->base; + int res; + + res = xmlParserInputBufferPush(ctxt->input->buf, size, chunk); + xmlBufUpdateInput(ctxt->input->buf->buffer, ctxt->input, pos); + if (res < 0) { + htmlParseErr(ctxt, ctxt->input->buf->error, + "xmlParserInputBufferPush failed", NULL, NULL); + return (ctxt->errNo); + } + } + + htmlParseTryOrFinish(ctxt, terminate); + + if ((terminate) && (ctxt->instate != XML_PARSER_EOF)) { + htmlAutoCloseOnEnd(ctxt); + + /* + * Only check for truncated multi-byte sequences + */ + xmlParserCheckEOF(ctxt, XML_ERR_INTERNAL_ERROR); + + if ((ctxt->sax) && (ctxt->sax->endDocument != NULL)) + ctxt->sax->endDocument(ctxt->userData); + + ctxt->instate = XML_PARSER_EOF; + } + + return((xmlParserErrors) ctxt->errNo); +} + +/************************************************************************ + * * + * User entry points * + * * + ************************************************************************/ + +/** + * Create a parser context for using the HTML parser in push mode. + * + * @param sax a SAX handler (optional) + * @param user_data The user data returned on SAX callbacks (optional) + * @param chunk a pointer to an array of chars (optional) + * @param size number of chars in the array + * @param filename only used for error reporting (optional) + * @param enc encoding (deprecated, pass XML_CHAR_ENCODING_NONE) + * @returns the new parser context or NULL if a memory allocation + * failed. + */ +htmlParserCtxt * +htmlCreatePushParserCtxt(htmlSAXHandler *sax, void *user_data, + const char *chunk, int size, const char *filename, + xmlCharEncoding enc) { + htmlParserCtxtPtr ctxt; + htmlParserInputPtr input; + const char *encoding; + + ctxt = htmlNewSAXParserCtxt(sax, user_data); + if (ctxt == NULL) + return(NULL); + + encoding = xmlGetCharEncodingName(enc); + input = xmlNewPushInput(filename, chunk, size); + if (input == NULL) { + htmlFreeParserCtxt(ctxt); + return(NULL); + } + + if (xmlCtxtPushInput(ctxt, input) < 0) { + xmlFreeInputStream(input); + xmlFreeParserCtxt(ctxt); + return(NULL); + } + + if (encoding != NULL) + xmlSwitchEncodingName(ctxt, encoding); + + return(ctxt); +} +#endif /* LIBXML_PUSH_ENABLED */ + +/** + * Parse an HTML in-memory document. If sax is not NULL, use the SAX callbacks + * to handle parse events. If sax is NULL, fallback to the default DOM + * behavior and return a tree. + * + * @deprecated Use #htmlNewSAXParserCtxt and #htmlCtxtReadDoc. + * + * @param cur a pointer to an array of xmlChar + * @param encoding a free form C string describing the HTML document encoding, or NULL + * @param sax the SAX handler block + * @param userData if using SAX, this pointer will be provided on callbacks. + * @returns the resulting document tree unless SAX is NULL or the document is + * not well formed. + */ + +xmlDoc * +htmlSAXParseDoc(const xmlChar *cur, const char *encoding, + htmlSAXHandler *sax, void *userData) { + htmlDocPtr ret; + htmlParserCtxtPtr ctxt; + + if (cur == NULL) + return(NULL); + + ctxt = htmlCreateDocParserCtxt(cur, NULL, encoding); + if (ctxt == NULL) + return(NULL); + + if (sax != NULL) { + *ctxt->sax = *sax; + ctxt->userData = userData; + } + + htmlParseDocument(ctxt); + ret = ctxt->myDoc; + htmlFreeParserCtxt(ctxt); + + return(ret); +} + +/** + * Parse an HTML in-memory document and build a tree. + * + * @deprecated Use #htmlReadDoc. + * + * This function uses deprecated global parser options. + * + * @param cur a pointer to an array of xmlChar + * @param encoding the encoding (optional) + * @returns the resulting document tree + */ + +xmlDoc * +htmlParseDoc(const xmlChar *cur, const char *encoding) { + return(htmlSAXParseDoc(cur, encoding, NULL, NULL)); +} + + +/** + * Create a parser context to read from a file. + * + * @deprecated Use #htmlNewParserCtxt and #htmlCtxtReadFile. + * + * A non-NULL encoding overrides encoding declarations in the document. + * + * Automatic support for ZLIB/Compress compressed document is provided + * by default if found at compile-time. + * + * @param filename the filename + * @param encoding optional encoding + * @returns the new parser context or NULL if a memory allocation failed. + */ +htmlParserCtxt * +htmlCreateFileParserCtxt(const char *filename, const char *encoding) +{ + htmlParserCtxtPtr ctxt; + htmlParserInputPtr input; + + if (filename == NULL) + return(NULL); + + ctxt = htmlNewParserCtxt(); + if (ctxt == NULL) { + return(NULL); + } + + input = xmlCtxtNewInputFromUrl(ctxt, filename, NULL, encoding, 0); + if (input == NULL) { + xmlFreeParserCtxt(ctxt); + return(NULL); + } + if (xmlCtxtPushInput(ctxt, input) < 0) { + xmlFreeInputStream(input); + xmlFreeParserCtxt(ctxt); + return(NULL); + } + + return(ctxt); +} + +/** + * parse an HTML file and build a tree. Automatic support for ZLIB/Compress + * compressed document is provided by default if found at compile-time. + * It use the given SAX function block to handle the parsing callback. + * If sax is NULL, fallback to the default DOM tree building routines. + * + * @deprecated Use #htmlNewSAXParserCtxt and #htmlCtxtReadFile. + * + * @param filename the filename + * @param encoding encoding (optional) + * @param sax the SAX handler block + * @param userData if using SAX, this pointer will be provided on callbacks. + * @returns the resulting document tree unless SAX is NULL or the document is + * not well formed. + */ + +xmlDoc * +htmlSAXParseFile(const char *filename, const char *encoding, htmlSAXHandler *sax, + void *userData) { + htmlDocPtr ret; + htmlParserCtxtPtr ctxt; + htmlSAXHandlerPtr oldsax = NULL; + + ctxt = htmlCreateFileParserCtxt(filename, encoding); + if (ctxt == NULL) return(NULL); + if (sax != NULL) { + oldsax = ctxt->sax; + ctxt->sax = sax; + ctxt->userData = userData; + } + + htmlParseDocument(ctxt); + + ret = ctxt->myDoc; + if (sax != NULL) { + ctxt->sax = oldsax; + ctxt->userData = NULL; + } + htmlFreeParserCtxt(ctxt); + + return(ret); +} + +/** + * Parse an HTML file and build a tree. + * + * @param filename the filename + * @param encoding encoding (optional) + * @returns the resulting document tree + */ + +xmlDoc * +htmlParseFile(const char *filename, const char *encoding) { + return(htmlSAXParseFile(filename, encoding, NULL, NULL)); +} + +/** + * Set and return the previous value for handling HTML omitted tags. + * + * @deprecated Use HTML_PARSE_NOIMPLIED + * + * @param val int 0 or 1 + * @returns the last value for 0 for no handling, 1 for auto insertion. + */ + +int +htmlHandleOmittedElem(int val) { + int old = htmlOmittedDefaultValue; + + htmlOmittedDefaultValue = val; + return(old); +} + +/** + * @deprecated Don't use. + * + * @param parent HTML parent element + * @param elt HTML element + * @returns 1 + */ +int +htmlElementAllowedHere(const htmlElemDesc* parent ATTRIBUTE_UNUSED, + const xmlChar* elt ATTRIBUTE_UNUSED) { + return(1); +} + +/** + * @deprecated Don't use. + * + * @param parent HTML parent element + * @param elt HTML element + * @returns HTML_VALID + */ +htmlStatus +htmlElementStatusHere(const htmlElemDesc* parent ATTRIBUTE_UNUSED, + const htmlElemDesc* elt ATTRIBUTE_UNUSED) { + return(HTML_VALID); +} + +/** + * @deprecated Don't use. + * + * @param elt HTML element + * @param attr HTML attribute + * @param legacy whether to allow deprecated attributes + * @returns HTML_VALID + */ +htmlStatus +htmlAttrAllowed(const htmlElemDesc* elt ATTRIBUTE_UNUSED, + const xmlChar* attr ATTRIBUTE_UNUSED, + int legacy ATTRIBUTE_UNUSED) { + return(HTML_VALID); +} + +/** + * @deprecated Don't use. + * + * @param node an xmlNode in a tree + * @param legacy whether to allow deprecated elements (YES is faster here + * for Element nodes) + * @returns HTML_VALID + */ +htmlStatus +htmlNodeStatus(xmlNode *node ATTRIBUTE_UNUSED, + int legacy ATTRIBUTE_UNUSED) { + return(HTML_VALID); +} + +/************************************************************************ + * * + * New set (2.6.0) of simpler and more flexible APIs * + * * + ************************************************************************/ + +/** + * Reset a parser context + * + * Same as #xmlCtxtReset. + * + * @param ctxt an HTML parser context + */ +void +htmlCtxtReset(htmlParserCtxt *ctxt) +{ + xmlCtxtReset(ctxt); +} + +static int +htmlCtxtSetOptionsInternal(xmlParserCtxtPtr ctxt, int options, int keepMask) +{ + int allMask; + + if (ctxt == NULL) + return(-1); + + allMask = HTML_PARSE_RECOVER | + HTML_PARSE_HTML5 | + HTML_PARSE_NODEFDTD | + HTML_PARSE_NOERROR | + HTML_PARSE_NOWARNING | + HTML_PARSE_PEDANTIC | + HTML_PARSE_NOBLANKS | + HTML_PARSE_NONET | + HTML_PARSE_NOIMPLIED | + HTML_PARSE_COMPACT | + HTML_PARSE_HUGE | + HTML_PARSE_IGNORE_ENC | + HTML_PARSE_BIG_LINES; + + ctxt->options = (ctxt->options & keepMask) | (options & allMask); + + /* + * For some options, struct members are historically the source + * of truth. See xmlCtxtSetOptionsInternal. + */ + ctxt->keepBlanks = (options & HTML_PARSE_NOBLANKS) ? 0 : 1; + + /* + * Recover from character encoding errors + */ + ctxt->recovery = 1; + + /* + * Changing SAX callbacks is a bad idea. This should be fixed. + */ + if (options & HTML_PARSE_NOBLANKS) { + ctxt->sax->ignorableWhitespace = xmlSAX2IgnorableWhitespace; + } + if (options & HTML_PARSE_HUGE) { + if (ctxt->dict != NULL) + xmlDictSetLimit(ctxt->dict, 0); + } + + /* + * It would be useful to allow this feature. + */ + ctxt->dictNames = 0; + + /* + * Allow XML_PARSE_NOENT which many users set on the HTML parser. + */ + return(options & ~allMask & ~XML_PARSE_NOENT); +} + +/** + * Applies the options to the parser context. Unset options are + * cleared. + * + * @since 2.14.0 + * + * With older versions, you can use #htmlCtxtUseOptions. + * + * @param ctxt an HTML parser context + * @param options a bitmask of htmlParserOption values + * @returns 0 in case of success, the set of unknown or unimplemented options + * in case of error. + */ +int +htmlCtxtSetOptions(htmlParserCtxt *ctxt, int options) +{ + return(htmlCtxtSetOptionsInternal(ctxt, options, 0)); +} + +/** + * Applies the options to the parser context. The following options + * are never cleared and can only be enabled: + * + * @deprecated Use #htmlCtxtSetOptions. + * + * - HTML_PARSE_NODEFDTD + * - HTML_PARSE_NOERROR + * - HTML_PARSE_NOWARNING + * - HTML_PARSE_NOIMPLIED + * - HTML_PARSE_COMPACT + * - HTML_PARSE_HUGE + * - HTML_PARSE_IGNORE_ENC + * - HTML_PARSE_BIG_LINES + * + * @param ctxt an HTML parser context + * @param options a combination of htmlParserOption values + * @returns 0 in case of success, the set of unknown or unimplemented options + * in case of error. + */ +int +htmlCtxtUseOptions(htmlParserCtxt *ctxt, int options) +{ + int keepMask; + + /* + * For historic reasons, some options can only be enabled. + */ + keepMask = HTML_PARSE_NODEFDTD | + HTML_PARSE_NOERROR | + HTML_PARSE_NOWARNING | + HTML_PARSE_NOIMPLIED | + HTML_PARSE_COMPACT | + HTML_PARSE_HUGE | + HTML_PARSE_IGNORE_ENC | + HTML_PARSE_BIG_LINES; + + return(htmlCtxtSetOptionsInternal(ctxt, options, keepMask)); +} + +/** + * Parse an HTML document and return the resulting document tree. + * + * @since 2.13.0 + * + * @param ctxt an HTML parser context + * @param input parser input + * @returns the resulting document tree or NULL + */ +xmlDoc * +htmlCtxtParseDocument(htmlParserCtxt *ctxt, xmlParserInput *input) +{ + htmlDocPtr ret; + + if ((ctxt == NULL) || (input == NULL)) { + xmlFatalErr(ctxt, XML_ERR_ARGUMENT, NULL); + xmlFreeInputStream(input); + return(NULL); + } + + /* assert(ctxt->inputNr == 0); */ + while (ctxt->inputNr > 0) + xmlFreeInputStream(xmlCtxtPopInput(ctxt)); + + if (xmlCtxtPushInput(ctxt, input) < 0) { + xmlFreeInputStream(input); + return(NULL); + } + + ctxt->html = INSERT_INITIAL; + htmlParseDocument(ctxt); + + ret = xmlCtxtGetDocument(ctxt); + + /* assert(ctxt->inputNr == 1); */ + while (ctxt->inputNr > 0) + xmlFreeInputStream(xmlCtxtPopInput(ctxt)); + + return(ret); +} + +/** + * Convenience function to parse an HTML document from a zero-terminated + * string. + * + * See #htmlCtxtReadDoc for details. + * + * @param str a pointer to a zero terminated string + * @param url only used for error reporting (optoinal) + * @param encoding the document encoding (optional) + * @param options a combination of htmlParserOption values + * @returns the resulting document tree. + */ +xmlDoc * +htmlReadDoc(const xmlChar *str, const char *url, const char *encoding, + int options) +{ + htmlParserCtxtPtr ctxt; + xmlParserInputPtr input; + htmlDocPtr doc = NULL; + + ctxt = htmlNewParserCtxt(); + if (ctxt == NULL) + return(NULL); + + htmlCtxtUseOptions(ctxt, options); + + input = xmlCtxtNewInputFromString(ctxt, url, (const char *) str, encoding, + XML_INPUT_BUF_STATIC); + + if (input != NULL) + doc = htmlCtxtParseDocument(ctxt, input); + + htmlFreeParserCtxt(ctxt); + return(doc); +} + +/** + * Convenience function to parse an HTML file from the filesystem, + * the network or a global user-defined resource loader. + * + * See #htmlCtxtReadFile for details. + * + * @param filename a file or URL + * @param encoding the document encoding (optional) + * @param options a combination of htmlParserOption values + * @returns the resulting document tree. + */ +xmlDoc * +htmlReadFile(const char *filename, const char *encoding, int options) +{ + htmlParserCtxtPtr ctxt; + xmlParserInputPtr input; + htmlDocPtr doc = NULL; + + ctxt = htmlNewParserCtxt(); + if (ctxt == NULL) + return(NULL); + + htmlCtxtUseOptions(ctxt, options); + + input = xmlCtxtNewInputFromUrl(ctxt, filename, NULL, encoding, 0); + + if (input != NULL) + doc = htmlCtxtParseDocument(ctxt, input); + + htmlFreeParserCtxt(ctxt); + return(doc); +} + +/** + * Convenience function to parse an HTML document from memory. + * The input buffer must not contain any terminating null bytes. + * + * See #htmlCtxtReadMemory for details. + * + * @param buffer a pointer to a char array + * @param size the size of the array + * @param url only used for error reporting (optional) + * @param encoding the document encoding, or NULL + * @param options a combination of htmlParserOption values + * @returns the resulting document tree + */ +xmlDoc * +htmlReadMemory(const char *buffer, int size, const char *url, + const char *encoding, int options) +{ + htmlParserCtxtPtr ctxt; + xmlParserInputPtr input; + htmlDocPtr doc = NULL; + + if (size < 0) + return(NULL); + + ctxt = htmlNewParserCtxt(); + if (ctxt == NULL) + return(NULL); + + htmlCtxtUseOptions(ctxt, options); + + input = xmlCtxtNewInputFromMemory(ctxt, url, buffer, size, encoding, + XML_INPUT_BUF_STATIC); + + if (input != NULL) + doc = htmlCtxtParseDocument(ctxt, input); + + htmlFreeParserCtxt(ctxt); + return(doc); +} + +/** + * Convenience function to parse an HTML document from a + * file descriptor. + * + * NOTE that the file descriptor will not be closed when the + * context is freed or reset. + * + * See #htmlCtxtReadFd for details. + * + * @param fd an open file descriptor + * @param url only used for error reporting (optional) + * @param encoding the document encoding, or NULL + * @param options a combination of htmlParserOption values + * @returns the resulting document tree + */ +xmlDoc * +htmlReadFd(int fd, const char *url, const char *encoding, int options) +{ + htmlParserCtxtPtr ctxt; + xmlParserInputPtr input; + htmlDocPtr doc = NULL; + + ctxt = htmlNewParserCtxt(); + if (ctxt == NULL) + return(NULL); + + htmlCtxtUseOptions(ctxt, options); + + input = xmlCtxtNewInputFromFd(ctxt, url, fd, encoding, 0); + + if (input != NULL) + doc = htmlCtxtParseDocument(ctxt, input); + + htmlFreeParserCtxt(ctxt); + return(doc); +} + +/** + * Convenience function to parse an HTML document from I/O functions + * and context. + * + * See #htmlCtxtReadIO for details. + * + * @param ioread an I/O read function + * @param ioclose an I/O close function (optional) + * @param ioctx an I/O handler + * @param url only used for error reporting (optional) + * @param encoding the document encoding (optional) + * @param options a combination of htmlParserOption values + * @returns the resulting document tree + */ +xmlDoc * +htmlReadIO(xmlInputReadCallback ioread, xmlInputCloseCallback ioclose, + void *ioctx, const char *url, const char *encoding, int options) +{ + htmlParserCtxtPtr ctxt; + xmlParserInputPtr input; + htmlDocPtr doc = NULL; + + ctxt = htmlNewParserCtxt(); + if (ctxt == NULL) + return (NULL); + + htmlCtxtUseOptions(ctxt, options); + + input = xmlCtxtNewInputFromIO(ctxt, url, ioread, ioclose, ioctx, + encoding, 0); + + if (input != NULL) + doc = htmlCtxtParseDocument(ctxt, input); + + htmlFreeParserCtxt(ctxt); + return(doc); +} + +/** + * Parse an HTML in-memory document and build a tree. + * + * See #htmlCtxtUseOptions for details. + * + * @param ctxt an HTML parser context + * @param str a pointer to a zero terminated string + * @param URL only used for error reporting (optional) + * @param encoding the document encoding (optional) + * @param options a combination of htmlParserOption values + * @returns the resulting document tree + */ +xmlDoc * +htmlCtxtReadDoc(xmlParserCtxt *ctxt, const xmlChar *str, + const char *URL, const char *encoding, int options) +{ + xmlParserInputPtr input; + + if (ctxt == NULL) + return (NULL); + + htmlCtxtReset(ctxt); + htmlCtxtUseOptions(ctxt, options); + + input = xmlCtxtNewInputFromString(ctxt, URL, (const char *) str, + encoding, 0); + if (input == NULL) + return(NULL); + + return(htmlCtxtParseDocument(ctxt, input)); +} + +/** + * Parse an HTML file from the filesystem, the network or a + * user-defined resource loader. + * + * See #htmlCtxtUseOptions for details. + * + * @param ctxt an HTML parser context + * @param filename a file or URL + * @param encoding the document encoding (optional) + * @param options a combination of htmlParserOption values + * @returns the resulting document tree + */ +xmlDoc * +htmlCtxtReadFile(xmlParserCtxt *ctxt, const char *filename, + const char *encoding, int options) +{ + xmlParserInputPtr input; + + if (ctxt == NULL) + return (NULL); + + htmlCtxtReset(ctxt); + htmlCtxtUseOptions(ctxt, options); + + input = xmlCtxtNewInputFromUrl(ctxt, filename, NULL, encoding, 0); + if (input == NULL) + return(NULL); + + return(htmlCtxtParseDocument(ctxt, input)); +} + +/** + * Parse an HTML in-memory document and build a tree. The input buffer must + * not contain any terminating null bytes. + * + * See #htmlCtxtUseOptions for details. + * + * @param ctxt an HTML parser context + * @param buffer a pointer to a char array + * @param size the size of the array + * @param URL only used for error reporting (optional) + * @param encoding the document encoding (optinal) + * @param options a combination of htmlParserOption values + * @returns the resulting document tree + */ +xmlDoc * +htmlCtxtReadMemory(xmlParserCtxt *ctxt, const char *buffer, int size, + const char *URL, const char *encoding, int options) +{ + xmlParserInputPtr input; + + if ((ctxt == NULL) || (size < 0)) + return (NULL); + + htmlCtxtReset(ctxt); + htmlCtxtUseOptions(ctxt, options); + + input = xmlCtxtNewInputFromMemory(ctxt, URL, buffer, size, encoding, + XML_INPUT_BUF_STATIC); + if (input == NULL) + return(NULL); + + return(htmlCtxtParseDocument(ctxt, input)); +} + +/** + * Parse an HTML from a file descriptor and build a tree. + * + * See #htmlCtxtUseOptions for details. + * + * NOTE that the file descriptor will not be closed when the + * context is freed or reset. + * + * @param ctxt an HTML parser context + * @param fd an open file descriptor + * @param URL only used for error reporting (optional) + * @param encoding the document encoding (optinal) + * @param options a combination of htmlParserOption values + * @returns the resulting document tree + */ +xmlDoc * +htmlCtxtReadFd(xmlParserCtxt *ctxt, int fd, + const char *URL, const char *encoding, int options) +{ + xmlParserInputPtr input; + + if (ctxt == NULL) + return(NULL); + + htmlCtxtReset(ctxt); + htmlCtxtUseOptions(ctxt, options); + + input = xmlCtxtNewInputFromFd(ctxt, URL, fd, encoding, 0); + if (input == NULL) + return(NULL); + + return(htmlCtxtParseDocument(ctxt, input)); +} + +/** + * Parse an HTML document from I/O functions and source and build a tree. + * + * See #htmlCtxtUseOptions for details. + * + * @param ctxt an HTML parser context + * @param ioread an I/O read function + * @param ioclose an I/O close function + * @param ioctx an I/O handler + * @param URL the base URL to use for the document + * @param encoding the document encoding, or NULL + * @param options a combination of htmlParserOption values + * @returns the resulting document tree + */ +xmlDoc * +htmlCtxtReadIO(xmlParserCtxt *ctxt, xmlInputReadCallback ioread, + xmlInputCloseCallback ioclose, void *ioctx, + const char *URL, + const char *encoding, int options) +{ + xmlParserInputPtr input; + + if (ctxt == NULL) + return (NULL); + + htmlCtxtReset(ctxt); + htmlCtxtUseOptions(ctxt, options); + + input = xmlCtxtNewInputFromIO(ctxt, URL, ioread, ioclose, ioctx, + encoding, 0); + if (input == NULL) + return(NULL); + + return(htmlCtxtParseDocument(ctxt, input)); +} + +#endif /* LIBXML_HTML_ENABLED */ diff --git a/libxml2/HTMLtree.c b/libxml2/HTMLtree.c new file mode 100644 index 0000000..23cc2de --- /dev/null +++ b/libxml2/HTMLtree.c @@ -0,0 +1,1314 @@ +/* + * HTMLtree.c : implementation of access function for an HTML tree. + * + * See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + + +#define IN_LIBXML +#include "libxml.h" +#ifdef LIBXML_HTML_ENABLED + +#include /* for memset() only ! */ +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include "private/buf.h" +#include "private/html.h" +#include "private/error.h" +#include "private/html.h" +#include "private/io.h" +#include "private/save.h" +#include "private/tree.h" + +/************************************************************************ + * * + * Getting/Setting encoding meta tags * + * * + ************************************************************************/ + +typedef struct { + xmlAttrPtr attr; /* charset or content */ + const xmlChar *attrValue; + htmlMetaEncodingOffsets off; +} htmlMetaEncoding; + +static htmlNodePtr +htmlFindFirstChild(htmlNodePtr parent, const char *name) { + htmlNodePtr child; + + for (child = parent->children; child != NULL; child = child->next) { + if ((child->type == XML_ELEMENT_NODE) && + (xmlStrcasecmp(child->name, BAD_CAST name) == 0)) + return(child); + } + + return(NULL); +} + +static htmlNodePtr +htmlFindHead(htmlDocPtr doc) { + htmlNodePtr html; + + if (doc == NULL) + return(NULL); + + html = htmlFindFirstChild((htmlNodePtr) doc, "html"); + if (html == NULL) + return(NULL); + + return(htmlFindFirstChild(html, "head")); +} + +int +htmlParseContentType(const xmlChar *val, htmlMetaEncodingOffsets *off) { + const xmlChar *p = val; + + while (1) { + size_t start, end; + + while ((*p != 'c') && (*p != 'C')) { + if (*p == 0) + return(0); + p += 1; + } + p += 1; + + if (xmlStrncasecmp(p, BAD_CAST "harset", 6) != 0) + continue; + + p += 6; + while (IS_WS_HTML(*p)) p += 1; + + if (*p != '=') + continue; + + p += 1; + while (IS_WS_HTML(*p)) p += 1; + + if (*p == 0) + return(0); + + if ((*p == '"') || (*p == '\'')) { + int quote = *p; + + p += 1; + while (IS_WS_HTML(*p)) p += 1; + + start = p - val; + end = start; + + while (*p != quote) { + if (*p == 0) + return(0); + if (!IS_WS_HTML(*p)) + end = p + 1 - val; + p += 1; + } + } else { + start = p - val; + + while ((*p != 0) && (*p != ';') && (!IS_WS_HTML(*p))) + p += 1; + + end = p - val; + } + + off->start = start; + off->end = end; + off->size = p - val + strlen((char *) p); + + return(1); + } + + return(0); +} + +static xmlAttrPtr +htmlFindMetaEncodingAttr(htmlNodePtr elem, int *outIsContentType) { + xmlAttrPtr attr, contentAttr = NULL; + int isContentType = 0; + + if (xmlStrcasecmp(elem->name, BAD_CAST "meta") != 0) + return(NULL); + + for (attr = elem->properties; attr != NULL; attr = attr->next) { + if (attr->ns != NULL) + continue; + if (xmlStrcasecmp(attr->name, BAD_CAST "charset") == 0) { + *outIsContentType = 0; + return(attr); + } + if (xmlStrcasecmp(attr->name, BAD_CAST "content") == 0) + contentAttr = attr; + if ((xmlStrcasecmp(attr->name, BAD_CAST "http-equiv") == 0) && + (attr->children != NULL) && + (attr->children->type == XML_TEXT_NODE) && + (attr->children->next == NULL) && + (xmlStrcasecmp(attr->children->content, + BAD_CAST "Content-Type") == 0)) + isContentType = 1; + } + + if ((isContentType) && (contentAttr != NULL)) { + *outIsContentType = 1; + return(contentAttr); + } + + return(NULL); +} + +static int +htmlParseMetaEncoding(htmlNodePtr elem, htmlMetaEncoding *menc) { + xmlAttrPtr attr; + const xmlChar *val = NULL; + int isContentType; + + if ((elem->type != XML_ELEMENT_NODE) || + (xmlStrcasecmp(elem->name, BAD_CAST "meta") != 0)) + return(0); + + attr = htmlFindMetaEncodingAttr(elem, &isContentType); + if (attr == NULL) + return(0); + + if ((attr->children != NULL) && + (attr->children->type == XML_TEXT_NODE) && + (attr->children->next == NULL) && + (attr->children->content != NULL)) + val = attr->children->content; + else + val = BAD_CAST ""; + + + if (!isContentType) { + size_t size = strlen((char *) val); + size_t start = 0; + size_t end = size; + + while ((start < size) && (IS_WS_HTML(val[start]))) + start += 1; + + while ((end > 0) && (IS_WS_HTML(val[end-1]))) + end -= 1; + + menc->attr = attr; + menc->attrValue = val; + menc->off.start = start; + menc->off.end = end; + menc->off.size = size; + + return(1); + } else { + if (htmlParseContentType(val, &menc->off)) { + menc->attr = attr; + menc->attrValue = val; + + return(1); + } + } + + return(0); +} + +static xmlChar * +htmlUpdateMetaEncoding(htmlMetaEncoding *menc, const char *encoding) { + xmlChar *newVal, *p; + size_t size, oldEncSize, newEncSize; + + /* + * The pseudo "HTML" encoding only produces ASCII. + */ + if (xmlStrcasecmp(BAD_CAST encoding, BAD_CAST "HTML") == 0) + encoding = "ASCII"; + + oldEncSize = menc->off.end - menc->off.start; + newEncSize = strlen((char *) encoding); + size = menc->off.size - oldEncSize + newEncSize; + newVal = xmlMalloc(size + 1); + if (newVal == NULL) + return(NULL); + + p = newVal; + memcpy(p, menc->attrValue, menc->off.start); + p += menc->off.start; + memcpy(p, encoding, newEncSize); + p += newEncSize; + memcpy(p, menc->attrValue + menc->off.end, menc->off.size - menc->off.end); + newVal[size] = 0; + + return(newVal); +} + +/** + * Look up and encoding declaration in the meta tags. + * + * The returned string points into attribute content and can contain + * trailing garbage. It should be copied before modifying or freeing + * nodes. + * + * @param doc the document + * @returns the encoding ot NULL if not found. + */ +const xmlChar * +htmlGetMetaEncoding(xmlDoc *doc) { + htmlNodePtr head, node; + + head = htmlFindHead(doc); + if (head == NULL) + return(NULL); + + for (node = head->children; node != NULL; node = node->next) { + htmlMetaEncoding menc; + + if (htmlParseMetaEncoding(node, &menc)) { + /* + * Returning a `const xmlChar *` only allows to return + * a suffix. In http-equiv meta tags, there could be + * more data after the charset, although it's probably + * rare in practice. + */ + return(menc.attrValue + menc.off.start); + } + } + + return(NULL); +} + +/** + * Creates or updates a meta tag with an encoding declaration. + * + * NOTE: This will not change the document content encoding. + * + * @param doc the document + * @param encoding the encoding string + * @returns 0 in case of success, 1 if no head element was found or + * arguments are invalid and -1 if memory allocation failed. + */ +int +htmlSetMetaEncoding(xmlDoc *doc, const xmlChar *encoding) { + htmlNodePtr head, meta; + int found = 0; + + if (encoding == NULL) + return(1); + + head = htmlFindHead(doc); + if (head == NULL) + return(1); + + for (meta = head->children; meta != NULL; meta = meta->next) { + htmlMetaEncoding menc; + + if (htmlParseMetaEncoding(meta, &menc)) { + xmlChar *newVal; + int ret; + + found = 1; + + newVal = htmlUpdateMetaEncoding(&menc, (char *) encoding); + if (newVal == NULL) + return(-1); + xmlNodeSetContent((xmlNodePtr) menc.attr, NULL); + ret = xmlNodeAddContent((xmlNodePtr) menc.attr, newVal); + xmlFree(newVal); + + if (ret < 0) + return(-1); + } + } + + if (found) + return(0); + + meta = xmlNewDocNode(head->doc, NULL, BAD_CAST "meta", NULL); + if (meta == NULL) + return(-1); + + if (xmlNewProp(meta, BAD_CAST "charset", encoding) == NULL) { + xmlFreeNode(meta); + return(-1); + } + + if (head->children == NULL) + xmlAddChild(head, meta); + else + xmlAddPrevSibling(head->children, meta); + + return(0); +} + +/** + * Determine if a given attribute is a boolean attribute. This + * doesn't handle HTML5. + * + * @deprecated Internal function, don't use. + * + * @param name the name of the attribute to check + * @returns false if the attribute is not boolean, true otherwise. + */ +int +htmlIsBooleanAttr(const xmlChar *name) +{ + const char *str = NULL; + + if (name == NULL) + return(0); + + /* + * These are the HTML attributes which will be output + * in minimized form, i.e. `

elements (William Brack and me) + - XPointer failure in XInclude are now handled as resource errors + - fixed xmllint --html to use the HTML serializer on output (added + --xmlout to implement the previous behaviour of saving it using the XML + serializer) + + +2.6.1: Oct 28 2003: + - Mostly bugfixes after the big 2.6.0 changes + - Unix compilation patches: libxml.m4 (Patrick Welche), warnings cleanup + (William Brack) + - Windows compilation patches (Joachim Bauch, Stephane Bidoul, Igor + Zlatkovic) + - xmlWriter bugfix (Alfred Mickautsch) + - chvalid.[ch]: couple of fixes from Stephane Bidoul + - context reset: error state reset, push parser reset (Graham + Bennett) + - context reuse: generate errors if file is not readable + - defaulted attributes for element coming from internal entities + (Stephane Bidoul) + - Python: tab and spaces mix (William Brack) + - Error handler could crash in DTD validation in 2.6.0 + - xmlReader: do not use the document or element _private field + - testSAX.c: avoid a problem with some PIs (Massimo Morara) + - general bug fixes: mandatory encoding in text decl, serializing + Document Fragment nodes, xmlSearchNs 2.6.0 problem (Kasimier Buchcik), + XPath errors not reported, slow HTML parsing of large documents. + + +2.6.0: Oct 20 2003: + - Major revision release: should be API and ABI compatible but got a lot + of change + - Increased the library modularity, far more options can be stripped out, + a --with-minimum configuration will weight around 160KBytes + - Use per parser and per document dictionary, allocate names and small + text nodes from the dictionary + - Switch to a SAX2 like parser rewrote most of the XML parser core, + provides namespace resolution and defaulted attributes, minimize memory + allocations and copies, namespace checking and specific error handling, + immutable buffers, make predefined entities static structures, etc... + - rewrote all the error handling in the library, all errors can be + intercepted at a structured level, with precise information + available. + - New simpler and more generic XML and HTML parser APIs, allowing to + easily modify the parsing options and reuse parser context for multiple + consecutive documents. + - Similar new APIs for the xmlReader, for options and reuse, provided new + functions to access content as const strings, use them for Python + bindings + - a lot of other smaller API improvements: xmlStrPrintf (Aleksey Sanin), + Walker i.e. reader on a document tree based on Alfred Mickautsch code, + make room in nodes for line numbers, reference counting and future PSVI + extensions, generation of character ranges to be checked with faster + algorithm (William), xmlParserMaxDepth (Crutcher Dunnavant), buffer + access + - New xmlWriter API provided by Alfred Mickautsch + - Schemas: base64 support by Anthony Carrico + - Parser<->HTTP integration fix, proper processing of the Mime-Type + and charset information if available. + - Relax-NG: bug fixes including the one reported by Martijn Faassen and + zeroOrMore, better error reporting. + - Python bindings (Stéphane Bidoul), never use stdout for errors + output + - Portability: all the headers have macros for export and calling + convention definitions (Igor Zlatkovic), VMS update (Craig A. Berry), + Windows: threads (Jesse Pelton), Borland compiler (Eric Zurcher, Igor), + Mingw (Igor), typos (Mark Vakoc), beta version (Stephane Bidoul), + warning cleanups on AIX and MIPS compilers (William Brack), BeOS (Marcin + 'Shard' Konicki) + - Documentation fixes and README (William Brack), search fix (William), + tutorial updates (John Fleck), namespace docs (Stefan Kost) + - Bug fixes: xmlCleanupParser (Dave Beckett), threading uninitialized + mutexes, HTML doctype lowercase, SAX/IO (William), compression detection + and restore (William), attribute declaration in DTDs (William), namespace + on attribute in HTML output (William), input filename (Rob Richards), + namespace DTD validation, xmlReplaceNode (Chris Ryland), I/O callbacks + (Markus Keim), CDATA serialization (Shaun McCance), xmlReader (Peter + Derr), high codepoint charref like 􏿿, buffer access in push + mode (Justin Fletcher), TLS threads on Windows (Jesse Pelton), XPath bug + (William), xmlCleanupParser (Marc Liyanage), CDATA output (William), HTTP + error handling. + - xmllint options: --dtdvalidfpi for Tobias Reif, --sax1 for compat + testing, --nodict for building without tree dictionary, --nocdata to + replace CDATA by text, --nsclean to remove surperfluous namespace + declarations + - added xml2-config --libtool-libs option from Kevin P. Fleming + - a lot of profiling and tuning of the code, speedup patch for + xmlSearchNs() by Luca Padovani. The xmlReader should do far less + allocation and it speed should get closer to SAX. Chris Anderson worked + on speeding and cleaning up repetitive checking code. + - cleanup of "make tests" + - libxml-2.0-uninstalled.pc from Malcolm Tredinnick + - deactivated the broken docBook SGML parser code and plugged the XML + parser instead. + + +2.5.11: Sep 9 2003: +A bugfix only release: - risk of crash in Relax-NG + - risk of crash when using multithreaded programs + + +2.5.10: Aug 15 2003: +A bugfixes only release - Windows Makefiles (William Brack) + - UTF-16 support fixes (Mark Itzcovitz) + - Makefile and portability (William Brack) automake, Linux alpha, Mingw + on Windows (Mikhail Grushinskiy) + - HTML parser (Oliver Stoeneberg) + - XInclude performance problem reported by Kevin Ruscoe + - XML parser performance problem reported by Grant Goodale + - xmlSAXParseDTD() bug fix from Malcolm Tredinnick + - and a couple other cleanup + + +2.5.9: Aug 9 2003: + - bugfixes: IPv6 portability, xmlHasNsProp (Markus Keim), Windows build + (Wiliam Brake, Jesse Pelton, Igor), Schemas (Peter Sobisch), threading + (Rob Richards), hexBinary type (), UTF-16 BOM (Dodji Seketeli), + xmlReader, Relax-NG schemas compilation, namespace handling, EXSLT (Sean + Griffin), HTML parsing problem (William Brack), DTD validation for mixed + content + namespaces, HTML serialization, library initialization, + progressive HTML parser + - better interfaces for Relax-NG error handling (Joachim Bauch, ) + - adding xmlXIncludeProcessTree() for XInclud'ing in a subtree + - doc fixes and improvements (John Fleck) + - configure flag for -with-fexceptions when embedding in C++ + - couple of new UTF-8 helper functions (William Brack) + - general encoding cleanup + ISO-8859-x without iconv (Peter Jacobi) + - xmlTextReader cleanup + enum for node types (Bjorn Reese) + - general compilation/warning cleanup Solaris/HP-UX/... (William + Brack) + + +2.5.8: Jul 6 2003: + - bugfixes: XPath, XInclude, file/URI mapping, UTF-16 save (Mark + Itzcovitz), UTF-8 checking, URI saving, error printing (William Brack), + PI related memleak, compilation without schemas or without xpath (Joerg + Schmitz-Linneweber/Garry Pennington), xmlUnlinkNode problem with DTDs, + rpm problem on , i86_64, removed a few compilation problems from 2.5.7, + xmlIOParseDTD, and xmlSAXParseDTD (Malcolm Tredinnick) + - portability: DJGPP (MsDos) , OpenVMS (Craig A. Berry) + - William Brack fixed multithreading lock problems + - IPv6 patch for FTP and HTTP accesses (Archana Shah/Wipro) + - Windows fixes (Igor Zlatkovic, Eric Zurcher), threading (Stéphane + Bidoul) + - A few W3C Schemas Structure improvements + - W3C Schemas Datatype improvements (Charlie Bozeman) + - Python bindings for thread globals (Stéphane Bidoul), and method/class + generator + - added --nonet option to xmllint + - documentation improvements (John Fleck) + + +2.5.7: Apr 25 2003: + - Relax-NG: Compiling to regexp and streaming validation on top of the + xmlReader interface, added to xmllint --stream + - xmlReader: Expand(), Next() and DOM access glue, bug fixes + - Support for large files: RGN validated a 4.5GB instance + - Thread support is now configured in by default + - Fixes: update of the Trio code (Bjorn), WXS Date and Duration fixes + (Charles Bozeman), DTD and namespaces (Brent Hendricks), HTML push parser + and zero bytes handling, some missing Windows file path conversions, + behaviour of the parser and validator in the presence of "out of memory" + error conditions + - extended the API to be able to plug a garbage collecting memory + allocator, added xmlMallocAtomic() and modified the allocations + accordingly. + - Performances: removed excessive malloc() calls, speedup of the push and + xmlReader interfaces, removed excessive thread locking + - Documentation: man page (John Fleck), xmlReader documentation + - Python: adding binding for xmlCatalogAddLocal (Brent M Hendricks) + + +2.5.6: Apr 1 2003: + - Fixed W3C XML Schemas datatype, should be compliant now except for + binHex and base64 which are not supported yet. + - bug fixes: non-ASCII IDs, HTML output, XInclude on large docs and + XInclude entities handling, encoding detection on external subsets, XML + Schemas bugs and memory leaks, HTML parser (James Bursa) + - portability: python/trio (Albert Chin), Sun compiler warnings + - documentation: added --relaxng option to xmllint man page (John) + - improved error reporting: xml:space, start/end tag mismatches, Relax NG + errors + + +2.5.5: Mar 24 2003: + - Lot of fixes on the Relax NG implementation. More testing including + DocBook and TEI examples. + - Increased the support for W3C XML Schemas datatype + - Several bug fixes in the URI handling layer + - Bug fixes: HTML parser, xmlReader, DTD validation, XPath, encoding + conversion, line counting in the parser. + - Added support for $XMLLINT_INDENT environment variable, FTP delete + - Fixed the RPM spec file name + + +2.5.4: Feb 20 2003: + - Conformance testing and lot of fixes on Relax NG and XInclude + implementation + - Implementation of XPointer element() scheme + - Bug fixes: XML parser, XInclude entities merge, validity checking on + namespaces, + 2 serialization bugs, node info generation problems, a DTD regexp + generation problem. + + - Portability: windows updates and path canonicalization (Igor) + - A few typo fixes (Kjartan Maraas) + - Python bindings generator fixes (Stephane Bidoul) + + +2.5.3: Feb 10 2003: + - RelaxNG and XML Schemas datatypes improvements, and added a first + version of RelaxNG Python bindings + - Fixes: XLink (Sean Chittenden), XInclude (Sean Chittenden), API fix for + serializing namespace nodes, encoding conversion bug, XHTML1 + serialization + - Portability fixes: Windows (Igor), AMD 64bits RPM spec file + + +2.5.2: Feb 5 2003: + - First implementation of RelaxNG, added --relaxng flag to xmllint + - Schemas support now compiled in by default. + - Bug fixes: DTD validation, namespace checking, XInclude and entities, + delegateURI in XML Catalogs, HTML parser, XML reader (Stéphane Bidoul), + XPath parser and evaluation, UTF8ToUTF8 serialization, XML reader memory + consumption, HTML parser, HTML serialization in the presence of + namespaces + - added an HTML API to check elements and attributes. + - Documentation improvement, PDF for the tutorial (John Fleck), doc + patches (Stefan Kost) + - Portability fixes: NetBSD (Julio Merino), Windows (Igor Zlatkovic) + - Added python bindings for XPointer, contextual error reporting + (Stéphane Bidoul) + - URI/file escaping problems (Stefano Zacchiroli) + + +2.5.1: Jan 8 2003: + - Fixes a memory leak and configuration/compilation problems in 2.5.0 + - documentation updates (John) + - a couple of XmlTextReader fixes + + +2.5.0: Jan 6 2003: + - New XmltextReader interface based on C# + API (with help of Stéphane Bidoul) + - Windows: more exports, including the new API (Igor) + - XInclude fallback fix + - Python: bindings for the new API, packaging (Stéphane Bidoul), + drv_libxml2.py Python xml.sax driver (Stéphane Bidoul), fixes, speedup + and iterators for Python-2.2 (Hannu Krosing) + - Tutorial fixes (john Fleck and Niraj Tolia) xmllint man update + (John) + - Fix an XML parser bug raised by Vyacheslav Pindyura + - Fix for VMS serialization (Nigel Hall) and config (Craig A. Berry) + - Entities handling fixes + - new API to optionally track node creation and deletion (Lukas + Schroeder) + - Added documentation for the XmltextReader interface and some XML guidelines + + +2.4.30: Dec 12 2002: + - 2.4.29 broke the python bindings, rereleasing + - Improvement/fixes of the XML API generator, and couple of minor code + fixes. + + +2.4.29: Dec 11 2002: + - Windows fixes (Igor): Windows CE port, pthread linking, python bindings + (Stéphane Bidoul), Mingw (Magnus Henoch), and export list updates + - Fix for prev in python bindings (ERDI Gergo) + - Fix for entities handling (Marcus Clarke) + - Refactored the XML and HTML dumps to a single code path, fixed XHTML1 + dump + - Fix for URI parsing when handling URNs with fragment identifiers + - Fix for HTTP URL escaping problem + - added an TextXmlReader (C#) like API (work in progress) + - Rewrote the API in XML generation script, includes a C parser and saves + more information needed for C# bindings + + +2.4.28: Nov 22 2002: + - a couple of python binding fixes + - 2 bug fixes in the XML push parser + - potential memory leak removed (Martin Stoilov) + - fix to the configure script for Unix (Dimitri Papadopoulos) + - added encoding support for XInclude parse="text" + - autodetection of XHTML1 and specific serialization rules added + - nasty threading bug fixed (William Brack) + + +2.4.27: Nov 17 2002: + - fixes for the Python bindings + - a number of bug fixes: SGML catalogs, xmlParseBalancedChunkMemory(), + HTML parser, Schemas (Charles Bozeman), document fragment support + (Christian Glahn), xmlReconciliateNs (Brian Stafford), XPointer, + xmlFreeNode(), xmlSAXParseMemory (Peter Jones), xmlGetNodePath (Petr + Pajas), entities processing + - added grep to xmllint --shell + - VMS update patch from Craig A. Berry + - cleanup of the Windows build with support for more compilers (Igor), + better thread support on Windows + - cleanup of Unix Makefiles and spec file + - Improvements to the documentation (John Fleck) + + +2.4.26: Oct 18 2002: + - Patches for Windows CE port, improvements on Windows paths handling + - Fixes to the validation code (DTD and Schemas), xmlNodeGetPath() , + HTML serialization, Namespace compliance, and a number of small + problems + + +2.4.25: Sep 26 2002: + - A number of bug fixes: XPath, validation, Python bindings, DOM and + tree, xmlI/O, Html + - Serious rewrite of XInclude + - Made XML Schemas regexp part of the default build and APIs, small fix + and improvement of the regexp core + - Changed the validation code to reuse XML Schemas regexp APIs + - Better handling of Windows file paths, improvement of Makefiles (Igor, + Daniel Gehriger, Mark Vakoc) + - Improved the python I/O bindings, the tests, added resolver and regexp + APIs + - New logos from Marc Liyanage + - Tutorial improvements: John Fleck, Christopher Harris + - Makefile: Fixes for AMD x86_64 (Mandrake), DESTDIR (Christophe + Merlet) + - removal of all stderr/perror use for error reporting + - Better error reporting: XPath and DTD validation + - update of the trio portability layer (Bjorn Reese) + +2.4.24: Aug 22 2002 - XPath fixes (William), xf:escape-uri() (Wesley Terpstra) + - Python binding fixes: makefiles (William), generator, rpm build, x86-64 + (fcrozat) + - HTML " +elem_sub="" +elem_sup="" +elem_table="
" +elem_tbody="" +elem_td="" +elem_textarea="" +elem_tfoot="" +elem_th="" +elem_thead="" +elem_title="" +elem_tr="" +elem_tt="" +elem_u="" +elem_ul="

    " +elem_var="" + +attr_id=" id=\"\"" +attr_style=" style=\"\"" + +comment="" + +doctype="" +doctype_system="" +doctype_public="" + +pi="" + +ref_lt="<" +ref_gt=">" +ref_amp="&" +ref_apos="'" +ref_quot=""" +ref_dec=" " +ref_hex=" " + +cs_utf8="UTF-8" +cs_utf16="UTF-16" +cs_utf16le="UTF-16LE" +cs_utf16be="UTF-16BE" +cs_ucs2="UCS-2" +cs_ucs4="UCS-4" +cs_latin1="ISO-8859-1" +cs_ascii="ASCII" +cs_ebcdic="EBCDIC" +cs_iso2022jp="ISO-2022-JP" +cs_shift_jis="SHIFT_JIS" +cs_euc_jp="EUC-JP" diff --git a/libxml2/fuzz/lint.c b/libxml2/fuzz/lint.c new file mode 100644 index 0000000..85027cb --- /dev/null +++ b/libxml2/fuzz/lint.c @@ -0,0 +1,256 @@ +/* + * lint.c: a libFuzzer target to test the xmllint executable. + * + * See Copyright for the status of this software. + */ + +#include +#include +#include +#include + +#include +#include +#include +#include + +#include "private/lint.h" + +#include "fuzz.h" + +/* + * Untested options: + * + * --memory: Requires temp file + * + * --catalogs: Requires XML catalogs + * + * --dtdvalid: + * --dtdvalidfpi: Requires an external DTD + * + * --output: Writes to disk + * + * --path: Requires cooperation with resource loader + * + * --relaxng: + * --schema: + * --schematron: Requires schemas + * + * --shell: We could pipe fuzz data to stdin but this is probably + * not worth it. + */ + +static const char *const switches[] = { + "--auto", + "--c14n", + "--c14n11", + "--compress", + "--copy", + "--debug", + NULL, + "--dropdtd", + "--dtdattr", + "--exc-c14n", + "--format", + NULL, + "--huge", + "--insert", + "--loaddtd", + "--load-trace", + NULL, + "--noblanks", + "--nocdata", + "--nocompact", + "--nodefdtd", + "--nodict", + "--noenc", + "--noent", + "--nofixup-base-uris", + "--nonet", + "--noout", + "--nowarning", + NULL, + "--noxincludenode", + "--nsclean", + "--oldxml10", + "--pedantic", + "--postvalid", + "--push", + "--pushsmall", + "--quiet", + "--recover", + "--repeat", + "--sax1", + NULL, + "--timing", + "--valid", + "--version", + "--walker", + "--xinclude", + "--xmlout" +}; +static const size_t numSwitches = sizeof(switches) / sizeof(switches[0]); + +struct { + const char **argv; + size_t argi; +} vars; + +static void +pushArg(const char *str) { + vars.argv[vars.argi++] = str; +} + +int +LLVMFuzzerInitialize(int *argc ATTRIBUTE_UNUSED, + char ***argv ATTRIBUTE_UNUSED) { + int fd; + + /* Redirect stdout to /dev/null */ + fd = open("/dev/null", O_WRONLY); + if (fd == -1) { + perror("/dev/null"); + abort(); + } + if (dup2(fd, STDOUT_FILENO) == -1) { + perror("dup2"); + abort(); + } + close(fd); + + return 0; +} + +int +LLVMFuzzerTestOneInput(const char *data, size_t size) { + char maxmemBuf[20]; + char maxAmplBuf[20]; + char prettyBuf[20]; + const char *sval, *docBuffer, *docUrl; + size_t ssize, docSize, i; + unsigned uval; + int ival; + + if (xmlMemUsed() != 0) { + fprintf(stderr, "Undetected leak in previous iteration\n"); + abort(); + } + + vars.argv = malloc((numSwitches + 5 + 6 * 2) * sizeof(vars.argv[0])); + vars.argi = 0; + pushArg("xmllint"), + pushArg("--nocatalogs"); + + xmlFuzzDataInit(data, size); + + for (i = 0; i < numSwitches; i++) { + if (i % 32 == 0) + uval = xmlFuzzReadInt(4); + if ((uval & 1) && (switches[i] != NULL)) + pushArg(switches[i]); + uval >>= 1; + } + + /* + * Use four main parsing modes with equal probability + */ + switch (uval & 3) { + case 0: + /* XML parser */ + break; + case 1: + /* HTML parser */ + pushArg("--html"); + break; + case 2: + /* XML reader */ + pushArg("--stream"); + break; + case 3: + /* SAX parser */ + pushArg("--sax"); + break; + } + + uval = xmlFuzzReadInt(4); + if (uval > 0) { + if (size <= (INT_MAX - 2000) / 20) + uval %= size * 20 + 2000; + else + uval %= INT_MAX; + snprintf(maxmemBuf, 20, "%u", uval); + pushArg("--maxmem"); + pushArg(maxmemBuf); + } + + ival = xmlFuzzReadInt(1); + if (ival >= 1 && ival <= 5) { + snprintf(maxAmplBuf, 20, "%d", ival); + pushArg("--max-ampl"); + pushArg(maxAmplBuf); + } + + ival = xmlFuzzReadInt(1); + if (ival != 0) { + snprintf(prettyBuf, 20, "%d", ival % 4); + pushArg("--pretty"); + pushArg(prettyBuf); + } + + sval = xmlFuzzReadString(&ssize); + if (ssize > 0) { + pushArg("--encode"); + pushArg(sval); + } + + sval = xmlFuzzReadString(&ssize); + if (ssize > 0) { + pushArg("--pattern"); + pushArg(sval); + } + + sval = xmlFuzzReadString(&ssize); + if (ssize > 0) { + pushArg("--xpath"); + pushArg(sval); + } + + xmlFuzzReadEntities(); + docBuffer = xmlFuzzMainEntity(&docSize); + docUrl = xmlFuzzMainUrl(); + if (docBuffer == NULL || docUrl[0] == '-') + goto exit; + pushArg(docUrl); + + pushArg(NULL); + + xmlSetGenericErrorFunc(NULL, xmlFuzzErrorFunc); +#ifdef LIBXML_CATALOG_ENABLED + xmlCatalogSetDefaults(XML_CATA_ALLOW_NONE); +#endif + + xmllintMain(vars.argi - 1, vars.argv, stdout, xmlFuzzResourceLoader); + + xmlMemSetup(free, malloc, realloc, xmlMemStrdup); + +exit: + xmlFuzzDataCleanup(); + free(vars.argv); + return(0); +} + +size_t +LLVMFuzzerCustomMutator(char *data, size_t size, size_t maxSize, + unsigned seed) { + static const xmlFuzzChunkDesc chunks[] = { + { 8, XML_FUZZ_PROB_ONE / 10 }, /* switches */ + { 4, XML_FUZZ_PROB_ONE / 10 }, /* maxmem */ + { 1, XML_FUZZ_PROB_ONE / 100 }, /* maxAmpl */ + { 1, XML_FUZZ_PROB_ONE / 100 }, /* pretty */ + { 0, 0 } + }; + + return xmlFuzzMutateChunks(chunks, data, size, maxSize, seed, + LLVMFuzzerMutate); +} + diff --git a/libxml2/fuzz/lint.dict b/libxml2/fuzz/lint.dict new file mode 100644 index 0000000..fe20628 --- /dev/null +++ b/libxml2/fuzz/lint.dict @@ -0,0 +1,192 @@ +xml_decl="" +xml_decl_standalone="" +xml_decl_latin1="" + +elem_start_end="" +elem_empty="" +elem_ns_start_end="" +elem_ns_empty="" + +attr=" a='a'" + +ns_decl=" xmlns:a='a'" +ns_default=" xmlns='a'" +ns_prefix="a:" + +cdata_section="" + +comment="" + +pi="" + +doctype="" +doctype_system="" +doctype_system="" + +elem_decl_any="" +elem_decl_empty="" +elem_decl_children="" +elem_decl_mixed="" +elem_children_choice="|a" +elem_children_seq=",a" +elem_children_sub_choice="|(a)" +elem_children_sub_seq=",(a)" +elem_quant_any="*" +elem_quant_opt="?" +elem_quant_some="+" + +attr_decl_cdata_req="" +attr_decl_cdata_imp="" +attr_decl_cdata_def="" +attr_decl_cdata_fix="" +attr_decl_id_imp="" +attr_decl_id_req="" +attr_decl_id_def="" +attr_decl_id_fix="" +attr_decl_idref_imp="" +attr_decl_idref_req="" +attr_decl_idref_def="" +attr_decl_idref_fix="" +attr_decl_idrefs_imp="" +attr_decl_idrefs_req="" +attr_decl_idrefs_def="" +attr_decl_idrefs_fix="" +attr_decl_entity_imp="" +attr_decl_entity_req="" +attr_decl_entity_def="" +attr_decl_entity_fix="" +attr_decl_entities_imp="" +attr_decl_entities_req="" +attr_decl_entities_def="" +attr_decl_entities_fix="" +attr_decl_nmtoken_imp="" +attr_decl_nmtoken_req="" +attr_decl_nmtoken_def="" +attr_decl_nmtoken_fix="" +attr_decl_nmtokens_imp="" +attr_decl_nmtokens_req="" +attr_decl_nmtokens_def="" +attr_decl_nmtokens_fix="" +attr_decl_enum_imp="" +attr_decl_enum_req="" +attr_decl_enum_def="" +attr_decl_enum_fix="" +attr_decl_notation_imp="" +attr_decl_notation_req="" +attr_decl_notation_def="" +attr_decl_notation_fix="" + +include_sect="" +ignore_sect="" + +ge_decl="" +ge_decl_system="" +ge_decl_system_ndata="" +ge_decl_public="" +ge_decl_public_ndata="" + +pe_decl="" +pe_decl_system="" +pe_decl_public="" + +char_ref_dec="<" +char_ref_hex="<" +char_ref_quoted="&#60;" + +ge_ref_lt="<" +ge_ref_gt=">" +ge_ref_amp="&" +ge_ref_apos="'" +ge_ref_quot=""" +ge_ref="&a;" +ge_ref_quoted="&a;" + +pe_ref="%a;" +pe_ref_quoted="%a;" + +notation_decl_public="" +notation_decl_system="" + +cs_utf8="UTF-8" +cs_utf16="UTF-16" +cs_utf16le="UTF-16LE" +cs_utf16be="UTF-16BE" +cs_ucs2="UCS-2" +cs_ucs4="UCS-4" +cs_latin1="ISO-8859-1" +cs_ascii="ASCII" +cs_ebcdic="EBCDIC" +cs_iso2022jp="ISO-2022-JP" +cs_shift_jis="SHIFT_JIS" +cs_euc_jp="EUC-JP" + +# XPath + +axis_ancestor="ancestor::" +axis_ancestor_or_self="ancestor-or-self::" +axis_attribute="attribute::" +axis_attribute_abbrev="@" +axis_child="child::" +axis_descendant="descendant::" +axis_descendant_or_self="descendant-or-self::" +axis_following="following::" +axis_following_sibling="following-sibling::" +axis_namespace="namespace::" +axis_parent="parent::" +axis_preceding="preceding::" +axis_preceding_siblings="preceding-sibling::" +axis_self="self::" + +node_test_ns="a:" + +val_num="=(1.0)" +val_str_sq="=('a')" +val_str_dq="=(\"a\")" +val_node_set="=(*)" +val_elem="=(b)" + +step_root="/" +step_descendant="//" +step_any="//*" +step_any_l="*//" +step_elem="//b" +step_ns_elem="//a:a" +step_comment="//comment()" +step_node="//node()" +step_node_l="node()//" +step_pi="//processing-instruction()" +step_text="//text()" +step_parent="../" + +op_plus="+1" +op_minus=" - 1" +op_neg="-" +op_mul="*1" +op_div=" div 1" +op_mod=" mod 1" +op_and=" and 1" +op_or=" or 1" +op_ne="!=1" +op_lt="<1" +op_gt=">1" +op_le="<=1" +op_ge=">=1" +op_predicate_num="[1]" +op_predicate_last="[last()]" +op_predicate_str="['a']" +op_predicate="[1=1]" +op_arg_num=",1" +op_arg_str=",'a'" +op_arg_node=",*" +op_union="|//b" + +var_num="=$f" +var_bool="=$b" +var_str="=$s" +var_node_set="=$n" + +# Unicode + +utf8_2="\xC3\x84" +utf8_3="\xE2\x80\x9C" +utf8_4="\xF0\x9F\x98\x80" diff --git a/libxml2/fuzz/oss-fuzz-build.sh b/libxml2/fuzz/oss-fuzz-build.sh new file mode 100644 index 0000000..902b7d8 --- /dev/null +++ b/libxml2/fuzz/oss-fuzz-build.sh @@ -0,0 +1,62 @@ +#!/bin/bash -eu + +# OSS-Fuzz integration, see +# https://github.com/google/oss-fuzz/tree/master/projects/libxml2 + +# Add extra UBSan checks +if [ "$SANITIZER" = undefined ]; then + extra_checks="integer,float-divide-by-zero" + extra_cflags="-fsanitize=$extra_checks -fno-sanitize-recover=$extra_checks" + export CFLAGS="$CFLAGS $extra_cflags" + export CXXFLAGS="$CXXFLAGS $extra_cflags" +fi + +# Don't enable zlib with MSan +if [ "$SANITIZER" = memory ]; then + CONFIG='' +else + CONFIG='--with-zlib' +fi + +# Workaround for a LeakSanitizer crashes, +# see https://github.com/google/oss-fuzz/issues/11798. +if [ "$ARCHITECTURE" = "aarch64" ]; then + export ASAN_OPTIONS=detect_leaks=0 +fi + +export V=1 + +./autogen.sh \ + --disable-shared \ + --without-debug \ + --without-http \ + --without-python \ + $CONFIG +make -j$(nproc) + +cd fuzz +make clean-corpus +make fuzz.o + +for fuzzer in \ + api html lint reader regexp schema uri valid xinclude xml xpath +do + OBJS="$fuzzer.o" + if [ "$fuzzer" = lint ]; then + OBJS="$OBJS ../xmllint.o ../shell.o" + fi + make $OBJS + # Link with $CXX + $CXX $CXXFLAGS \ + $OBJS fuzz.o \ + -o $OUT/$fuzzer \ + $LIB_FUZZING_ENGINE \ + ../.libs/libxml2.a -Wl,-Bstatic -lz -Wl,-Bdynamic + + if [ $fuzzer != api ]; then + [ -e seed/$fuzzer ] || make seed/$fuzzer.stamp + zip -j $OUT/${fuzzer}_seed_corpus.zip seed/$fuzzer/* + fi +done + +cp *.dict *.options $OUT/ diff --git a/libxml2/fuzz/reader.c b/libxml2/fuzz/reader.c new file mode 100644 index 0000000..62c3db0 --- /dev/null +++ b/libxml2/fuzz/reader.c @@ -0,0 +1,568 @@ +/* + * reader.c: a libFuzzer target to test the XML Reader API. + * + * See Copyright for the status of this software. + */ + +#include +#include +#include +#include +#include +#include +#include "fuzz.h" + +#include + +#if 0 + #define DEBUG +#endif + +typedef enum { + OP_READ = 1, + OP_READ_INNER_XML, + OP_READ_OUTER_XML, + OP_READ_STRING, + OP_READ_ATTRIBUTE_VALUE, + OP_ATTRIBUTE_COUNT, + OP_DEPTH, + OP_HAS_ATTRIBUTES, + OP_HAS_VALUE, + OP_IS_DEFAULT, + OP_IS_EMPTY_ELEMENT, + OP_NODE_TYPE, + OP_QUOTE_CHAR, + OP_READ_STATE, + OP_IS_NAMESPACE_DECL, + OP_CONST_BASE_URI, + OP_CONST_LOCAL_NAME, + OP_CONST_NAME, + OP_CONST_NAMESPACE_URI, + OP_CONST_PREFIX, + OP_CONST_XML_LANG, + OP_CONST_VALUE, + OP_BASE_URI, + OP_LOCAL_NAME, + OP_NAME, + OP_NAMESPACE_URI, + OP_PREFIX, + OP_XML_LANG, + OP_VALUE, + OP_CLOSE, + OP_GET_ATTRIBUTE_NO, + OP_GET_ATTRIBUTE, + OP_GET_ATTRIBUTE_NS, + OP_GET_REMAINDER, + OP_LOOKUP_NAMESPACE, + OP_MOVE_TO_ATTRIBUTE_NO, + OP_MOVE_TO_ATTRIBUTE, + OP_MOVE_TO_ATTRIBUTE_NS, + OP_MOVE_TO_FIRST_ATTRIBUTE, + OP_MOVE_TO_NEXT_ATTRIBUTE, + OP_MOVE_TO_ELEMENT, + OP_NORMALIZATION, + OP_CONST_ENCODING, + OP_GET_PARSER_PROP, + OP_CURRENT_NODE, + OP_GET_PARSER_LINE_NUMBER, + OP_GET_PARSER_COLUMN_NUMBER, + OP_PRESERVE, + OP_CURRENT_DOC, + OP_EXPAND, + OP_NEXT, + OP_NEXT_SIBLING, + OP_IS_VALID, + OP_CONST_XML_VERSION, + OP_STANDALONE, + OP_BYTE_CONSUMED, + + OP_MAX +} opType; + +static void +startOp(const char *name) { + (void) name; +#ifdef DEBUG + fprintf(stderr, "%s\n", name); +#endif +} + +int +LLVMFuzzerInitialize(int *argc ATTRIBUTE_UNUSED, + char ***argv ATTRIBUTE_UNUSED) { + xmlFuzzMemSetup(); + xmlInitParser(); +#ifdef LIBXML_CATALOG_ENABLED + xmlInitializeCatalog(); + xmlCatalogSetDefaults(XML_CATA_ALLOW_NONE); +#endif + + return 0; +} + +int +LLVMFuzzerTestOneInput(const char *data, size_t size) { + xmlTextReaderPtr reader; + xmlDocPtr doc = NULL; + const xmlError *error; + const char *docBuffer; + const unsigned char *program; + size_t failurePos, docSize, programSize, i; + size_t totalStringSize = 0; + int opts; + int oomReport = 0; + + xmlFuzzDataInit(data, size); + opts = (int) xmlFuzzReadInt(4); + failurePos = xmlFuzzReadInt(4) % (size + 100); + + program = (const unsigned char *) xmlFuzzReadString(&programSize); + if (programSize > 1000) + programSize = 1000; + + xmlFuzzReadEntities(); + docBuffer = xmlFuzzMainEntity(&docSize); + if (docBuffer == NULL) + goto exit; + +#ifdef DEBUG + fprintf(stderr, "Input document (%d bytes):\n", (int) docSize); + for (i = 0; (size_t) i < docSize; i++) { + int c = (unsigned char) docBuffer[i]; + + if ((c == '\n' || (c >= 0x20 && c <= 0x7E))) + putc(c, stderr); + else + fprintf(stderr, "\\x%02X", c); + } + fprintf(stderr, "\nEOF\n"); +#endif + + xmlFuzzInjectFailure(failurePos); + reader = xmlReaderForMemory(docBuffer, docSize, NULL, NULL, opts); + if (reader == NULL) + goto exit; + + xmlTextReaderSetStructuredErrorHandler(reader, xmlFuzzSErrorFunc, NULL); + xmlTextReaderSetResourceLoader(reader, xmlFuzzResourceLoader, NULL); + + i = 0; + while (i < programSize) { + int op = program[i++]; + +#define READ_BYTE() (i < programSize ? program[i++] : 0) +#define FREE_STRING(str) \ + do { \ + if (str != NULL) { \ + totalStringSize += strlen((char *) str); \ + xmlFree(str); \ + } \ + } while (0) + + switch (op & 0x3F) { + case OP_READ: + default: + startOp("Read"); + xmlTextReaderRead(reader); + break; + + case OP_READ_INNER_XML: { + xmlChar *result; + + startOp("ReadInnerXml"); + result = xmlTextReaderReadInnerXml(reader); + FREE_STRING(result); + break; + } + + case OP_READ_OUTER_XML: { + xmlChar *result; + + startOp("ReadOuterXml"); + result = xmlTextReaderReadOuterXml(reader); + FREE_STRING(result); + break; + } + + case OP_READ_STRING: { + xmlChar *result; + + startOp("ReadString"); + result = xmlTextReaderReadString(reader); + FREE_STRING(result); + break; + } + + case OP_READ_ATTRIBUTE_VALUE: + startOp("ReadAttributeValue"); + xmlTextReaderReadAttributeValue(reader); + break; + + case OP_ATTRIBUTE_COUNT: + startOp("AttributeCount"); + xmlTextReaderAttributeCount(reader); + break; + + case OP_DEPTH: + startOp("Depth"); + xmlTextReaderDepth(reader); + break; + + case OP_HAS_ATTRIBUTES: + startOp("HasAttributes"); + xmlTextReaderHasAttributes(reader); + break; + + case OP_HAS_VALUE: + startOp("HasValue"); + xmlTextReaderHasValue(reader); + break; + + case OP_IS_DEFAULT: + startOp("IsDefault"); + xmlTextReaderIsDefault(reader); + break; + + case OP_IS_EMPTY_ELEMENT: + startOp("IsEmptyElement"); + xmlTextReaderIsEmptyElement(reader); + break; + + case OP_NODE_TYPE: + startOp("NodeType"); + xmlTextReaderNodeType(reader); + break; + + case OP_QUOTE_CHAR: + startOp("QuoteChar"); + xmlTextReaderQuoteChar(reader); + break; + + case OP_READ_STATE: + startOp("ReadState"); + xmlTextReaderReadState(reader); + break; + + case OP_IS_NAMESPACE_DECL: + startOp("IsNamespaceDecl"); + xmlTextReaderIsNamespaceDecl(reader); + break; + + case OP_CONST_BASE_URI: + startOp("ConstBaseUri"); + xmlTextReaderConstBaseUri(reader); + break; + + case OP_CONST_LOCAL_NAME: + startOp("ConstLocalName"); + xmlTextReaderConstLocalName(reader); + break; + + case OP_CONST_NAME: + startOp("ConstName"); + xmlTextReaderConstName(reader); + break; + + case OP_CONST_NAMESPACE_URI: + startOp("ConstNamespaceUri"); + xmlTextReaderConstNamespaceUri(reader); + break; + + case OP_CONST_PREFIX: + startOp("ConstPrefix"); + xmlTextReaderConstPrefix(reader); + break; + + case OP_CONST_XML_LANG: + startOp("ConstXmlLang"); + xmlTextReaderConstXmlLang(reader); + oomReport = -1; + break; + + case OP_CONST_VALUE: + startOp("ConstValue"); + xmlTextReaderConstValue(reader); + break; + + case OP_BASE_URI: { + xmlChar *result; + + startOp("BaseUri"); + result = xmlTextReaderBaseUri(reader); + FREE_STRING(result); + break; + } + + case OP_LOCAL_NAME: { + xmlChar *result; + + startOp("LocalName"); + result = xmlTextReaderLocalName(reader); + FREE_STRING(result); + break; + } + + case OP_NAME: { + xmlChar *result; + + startOp("Name"); + result = xmlTextReaderName(reader); + FREE_STRING(result); + break; + } + + case OP_NAMESPACE_URI: { + xmlChar *result; + + startOp("NamespaceUri"); + result = xmlTextReaderNamespaceUri(reader); + FREE_STRING(result); + break; + } + + case OP_PREFIX: { + xmlChar *result; + + startOp("Prefix"); + result = xmlTextReaderPrefix(reader); + FREE_STRING(result); + break; + } + + case OP_XML_LANG: { + xmlChar *result; + + startOp("XmlLang"); + result = xmlTextReaderXmlLang(reader); + oomReport = -1; + FREE_STRING(result); + break; + } + + case OP_VALUE: { + xmlChar *result; + + startOp("Value"); + result = xmlTextReaderValue(reader); + FREE_STRING(result); + break; + } + + case OP_CLOSE: + startOp("Close"); + if (doc == NULL) + doc = xmlTextReaderCurrentDoc(reader); + xmlTextReaderClose(reader); + break; + + case OP_GET_ATTRIBUTE_NO: { + xmlChar *result; + int no = READ_BYTE(); + + startOp("GetAttributeNo"); + result = xmlTextReaderGetAttributeNo(reader, no); + FREE_STRING(result); + break; + } + + case OP_GET_ATTRIBUTE: { + const xmlChar *name = xmlTextReaderConstName(reader); + xmlChar *result; + + startOp("GetAttribute"); + result = xmlTextReaderGetAttribute(reader, name); + FREE_STRING(result); + break; + } + + case OP_GET_ATTRIBUTE_NS: { + const xmlChar *localName, *namespaceUri; + xmlChar *result; + + startOp("GetAttributeNs"); + localName = xmlTextReaderConstLocalName(reader); + namespaceUri = xmlTextReaderConstNamespaceUri(reader); + result = xmlTextReaderGetAttributeNs(reader, localName, + namespaceUri); + FREE_STRING(result); + break; + } + + case OP_GET_REMAINDER: + startOp("GetRemainder"); + if (doc == NULL) + doc = xmlTextReaderCurrentDoc(reader); + xmlFreeParserInputBuffer(xmlTextReaderGetRemainder(reader)); + break; + + case OP_LOOKUP_NAMESPACE: { + const xmlChar *prefix = xmlTextReaderConstPrefix(reader); + xmlChar *result; + + startOp("LookupNamespace"); + result = xmlTextReaderLookupNamespace(reader, prefix); + FREE_STRING(result); + break; + } + + case OP_MOVE_TO_ATTRIBUTE_NO: { + int no = READ_BYTE(); + + startOp("MoveToAttributeNo"); + xmlTextReaderMoveToAttributeNo(reader, no); + break; + } + + case OP_MOVE_TO_ATTRIBUTE: { + const xmlChar *name = xmlTextReaderConstName(reader); + + startOp("MoveToAttribute"); + xmlTextReaderMoveToAttribute(reader, name); + break; + } + + case OP_MOVE_TO_ATTRIBUTE_NS: { + const xmlChar *localName, *namespaceUri; + + startOp("MoveToAttributeNs"); + localName = xmlTextReaderConstLocalName(reader); + namespaceUri = xmlTextReaderConstNamespaceUri(reader); + xmlTextReaderMoveToAttributeNs(reader, localName, + namespaceUri); + break; + } + + case OP_MOVE_TO_FIRST_ATTRIBUTE: + startOp("MoveToFirstAttribute"); + xmlTextReaderMoveToFirstAttribute(reader); + break; + + case OP_MOVE_TO_NEXT_ATTRIBUTE: + startOp("MoveToNextAttribute"); + xmlTextReaderMoveToNextAttribute(reader); + break; + + case OP_MOVE_TO_ELEMENT: + startOp("MoveToElement"); + xmlTextReaderMoveToElement(reader); + break; + + case OP_NORMALIZATION: + startOp("Normalization"); + xmlTextReaderNormalization(reader); + break; + + case OP_CONST_ENCODING: + startOp("ConstEncoding"); + xmlTextReaderConstEncoding(reader); + break; + + case OP_GET_PARSER_PROP: { + int prop = READ_BYTE(); + + startOp("GetParserProp"); + xmlTextReaderGetParserProp(reader, prop); + break; + } + + case OP_CURRENT_NODE: + startOp("CurrentNode"); + xmlTextReaderCurrentNode(reader); + break; + + case OP_GET_PARSER_LINE_NUMBER: + startOp("GetParserLineNumber"); + xmlTextReaderGetParserLineNumber(reader); + break; + + case OP_GET_PARSER_COLUMN_NUMBER: + startOp("GetParserColumnNumber"); + xmlTextReaderGetParserColumnNumber(reader); + break; + + case OP_PRESERVE: + startOp("Preserve"); + xmlTextReaderPreserve(reader); + break; + + case OP_CURRENT_DOC: { + xmlDocPtr result; + + startOp("CurrentDoc"); + result = xmlTextReaderCurrentDoc(reader); + if (doc == NULL) + doc = result; + break; + } + + case OP_EXPAND: + startOp("Expand"); + xmlTextReaderExpand(reader); + break; + + case OP_NEXT: + startOp("Next"); + xmlTextReaderNext(reader); + break; + + case OP_NEXT_SIBLING: + startOp("NextSibling"); + xmlTextReaderNextSibling(reader); + break; + + case OP_IS_VALID: + startOp("IsValid"); + xmlTextReaderIsValid(reader); + break; + + case OP_CONST_XML_VERSION: + startOp("ConstXmlVersion"); + xmlTextReaderConstXmlVersion(reader); + break; + + case OP_STANDALONE: + startOp("Standalone"); + xmlTextReaderStandalone(reader); + break; + + case OP_BYTE_CONSUMED: + startOp("ByteConsumed"); + xmlTextReaderByteConsumed(reader); + oomReport = -1; + break; + } + + if (totalStringSize > docSize * 2) + break; + } + + error = xmlTextReaderGetLastError(reader); + if (error->code == XML_ERR_NO_MEMORY) + oomReport = 1; + xmlFuzzCheckFailureReport("reader", oomReport, error->code == XML_IO_EIO); + + xmlFreeTextReader(reader); + + if (doc != NULL) + xmlFreeDoc(doc); + +exit: + xmlFuzzInjectFailure(0); + xmlFuzzDataCleanup(); + xmlResetLastError(); + return(0); +} + +size_t +LLVMFuzzerCustomMutator(char *data, size_t size, size_t maxSize, + unsigned seed) { + static const xmlFuzzChunkDesc chunks[] = { + { 4, XML_FUZZ_PROB_ONE / 10 }, /* opts */ + { 4, XML_FUZZ_PROB_ONE / 10 }, /* failurePos */ + { 0, 0 } + }; + + return xmlFuzzMutateChunks(chunks, data, size, maxSize, seed, + LLVMFuzzerMutate); +} + diff --git a/libxml2/fuzz/reader.options b/libxml2/fuzz/reader.options new file mode 100644 index 0000000..6335e16 --- /dev/null +++ b/libxml2/fuzz/reader.options @@ -0,0 +1,2 @@ +[libfuzzer] +dict = xml.dict diff --git a/libxml2/fuzz/regexp.c b/libxml2/fuzz/regexp.c new file mode 100644 index 0000000..07f02cd --- /dev/null +++ b/libxml2/fuzz/regexp.c @@ -0,0 +1,63 @@ +/* + * regexp.c: a libFuzzer target to test the regexp module. + * + * See Copyright for the status of this software. + */ + +#include +#include +#include +#include "fuzz.h" + +int +LLVMFuzzerInitialize(int *argc ATTRIBUTE_UNUSED, + char ***argv ATTRIBUTE_UNUSED) { + xmlFuzzMemSetup(); + + return 0; +} + +int +LLVMFuzzerTestOneInput(const char *data, size_t size) { + xmlRegexpPtr regexp; + size_t failurePos; + const char *str1; + + if (size > 200) + return(0); + + xmlFuzzDataInit(data, size); + failurePos = xmlFuzzReadInt(4) % (size * 8 + 100); + str1 = xmlFuzzReadString(NULL); + + xmlFuzzInjectFailure(failurePos); + regexp = xmlRegexpCompile(BAD_CAST str1); + if (xmlFuzzMallocFailed() && regexp != NULL) { + fprintf(stderr, "malloc failure not reported\n"); + abort(); + } + /* xmlRegexpExec has pathological performance in too many cases. */ +#if 0 + xmlRegexpExec(regexp, BAD_CAST str2); +#endif + xmlRegFreeRegexp(regexp); + + xmlFuzzInjectFailure(0); + xmlFuzzDataCleanup(); + xmlResetLastError(); + + return 0; +} + +size_t +LLVMFuzzerCustomMutator(char *data, size_t size, size_t maxSize, + unsigned seed) { + static const xmlFuzzChunkDesc chunks[] = { + { 4, XML_FUZZ_PROB_ONE / 10 }, /* failurePos */ + { 0, 0 } + }; + + return xmlFuzzMutateChunks(chunks, data, size, maxSize, seed, + LLVMFuzzerMutate); +} + diff --git a/libxml2/fuzz/regexp.dict b/libxml2/fuzz/regexp.dict new file mode 100644 index 0000000..30d666d --- /dev/null +++ b/libxml2/fuzz/regexp.dict @@ -0,0 +1,155 @@ +quant_any="*" +quant_opt="?" +quant_some="+" +quant_num="{1,2}" + +dot="." +branch="|a" +parens="()" +parens_inner=")(" +pos_group="[a]" +neg_group="[^a]" +class_subtraction="[a-[b]]" + +esc_space="\\s" +esc_initial="\\i" +esc_name="\\c" +esc_digit="\\d" +esc_word="\\w" + +cat_letter="\\p{L}" +cat_mark="\\p{M}" +cat_number="\\p{N}" +cat_punct="\\p{P}" +cat_sym="\\p{S}" +cat_sep="\\p{Z}" +cat_other="\\p{C}" + +block_aegean_numbers="\\p{IsAegeanNumbers}" +block_alphabetic_presentation_forms="\\p{IsAlphabeticPresentationForms}" +block_arabic="\\p{IsArabic}" +block_arabic_presentation_forms_a="\\p{IsArabicPresentationFormsA}" +block_arabic_presentation_forms_b="\\p{IsArabicPresentationFormsB}" +block_armenian="\\p{IsArmenian}" +block_arrows="\\p{IsArrows}" +block_basic_latin="\\p{IsBasicLatin}" +block_bengali="\\p{IsBengali}" +block_block_elements="\\p{IsBlockElements}" +block_bopomofo="\\p{IsBopomofo}" +block_bopomofo_extended="\\p{IsBopomofoExtended}" +block_box_drawing="\\p{IsBoxDrawing}" +block_braille_patterns="\\p{IsBraillePatterns}" +block_buhid="\\p{IsBuhid}" +block_byzantine_musical_symbols="\\p{IsByzantineMusicalSymbols}" +block_c_j_k_compatibility="\\p{IsCJKCompatibility}" +block_c_j_k_compatibility_forms="\\p{IsCJKCompatibilityForms}" +block_c_j_k_compatibility_ideographs="\\p{IsCJKCompatibilityIdeographs}" +block_c_j_k_compatibility_ideographs_supplement="\\p{IsCJKCompatibilityIdeographsSupplement}" +block_c_j_k_radicals_supplement="\\p{IsCJKRadicalsSupplement}" +block_c_j_k_symbolsand_punctuation="\\p{IsCJKSymbolsandPunctuation}" +block_c_j_k_unified_ideographs="\\p{IsCJKUnifiedIdeographs}" +block_c_j_k_unified_ideographs_extension_a="\\p{IsCJKUnifiedIdeographsExtensionA}" +block_cjk_unified_ideographs_extension_b="\\p{IsCJKUnifiedIdeographsExtensionB}" +block_cherokee="\\p{IsCherokee}" +block_combining_diacritical_marks="\\p{IsCombiningDiacriticalMarks}" +block_combining_diacritical_marksfor_symbols="\\p{IsCombiningDiacriticalMarksforSymbols}" +block_combining_half_marks="\\p{IsCombiningHalfMarks}" +block_combining_marksfor_symbols="\\p{IsCombiningMarksforSymbols}" +block_control_pictures="\\p{IsControlPictures}" +block_currency_symbols="\\p{IsCurrencySymbols}" +block_cypriot_syllabary="\\p{IsCypriotSyllabary}" +block_cyrillic="\\p{IsCyrillic}" +block_cyrillic_supplement="\\p{IsCyrillicSupplement}" +block_deseret="\\p{IsDeseret}" +block_devanagari="\\p{IsDevanagari}" +block_dingbats="\\p{IsDingbats}" +block_enclosed_alphanumerics="\\p{IsEnclosedAlphanumerics}" +block_enclosed_cjk_lettersand_months="\\p{IsEnclosedCJKLettersandMonths}" +block_ethiopic="\\p{IsEthiopic}" +block_general_punctuation="\\p{IsGeneralPunctuation}" +block_geometric_shapes="\\p{IsGeometricShapes}" +block_georgian="\\p{IsGeorgian}" +block_gothic="\\p{IsGothic}" +block_greek="\\p{IsGreek}" +block_greek_extended="\\p{IsGreekExtended}" +block_greekand_coptic="\\p{IsGreekandCoptic}" +block_gujarati="\\p{IsGujarati}" +block_gurmukhi="\\p{IsGurmukhi}" +block_halfwidthand_fullwidth_forms="\\p{IsHalfwidthandFullwidthForms}" +block_hangul_compatibility_jamo="\\p{IsHangulCompatibilityJamo}" +block_hangul_jamo="\\p{IsHangulJamo}" +block_hangul_syllables="\\p{IsHangulSyllables}" +block_hanunoo="\\p{IsHanunoo}" +block_hebrew="\\p{IsHebrew}" +block_high_private_use_surrogates="\\p{IsHighPrivateUseSurrogates}" +block_high_surrogates="\\p{IsHighSurrogates}" +block_hiragana="\\p{IsHiragana}" +block_ipa_extensions="\\p{IsIPAExtensions}" +block_ideographic_description_characters="\\p{IsIdeographicDescriptionCharacters}" +block_kanbun="\\p{IsKanbun}" +block_kangxi_radicals="\\p{IsKangxiRadicals}" +block_kannada="\\p{IsKannada}" +block_katakana="\\p{IsKatakana}" +block_katakana_phonetic_extensions="\\p{IsKatakanaPhoneticExtensions}" +block_khmer="\\p{IsKhmer}" +block_khmer_symbols="\\p{IsKhmerSymbols}" +block_lao="\\p{IsLao}" +block_latin1Supplement="\\p{IsLatin1Supplement}" +block_latin_extended_a="\\p{IsLatinExtendedA}" +block_latin_extended_b="\\p{IsLatinExtendedB}" +block_latin_extended_additional="\\p{IsLatinExtendedAdditional}" +block_letterlike_symbols="\\p{IsLetterlikeSymbols}" +block_limbu="\\p{IsLimbu}" +block_linear_b_ideograms="\\p{IsLinearBIdeograms}" +block_linear_b_syllabary="\\p{IsLinearBSyllabary}" +block_low_surrogates="\\p{IsLowSurrogates}" +block_malayalam="\\p{IsMalayalam}" +block_mathematical_alphanumeric_symbols="\\p{IsMathematicalAlphanumericSymbols}" +block_mathematical_operators="\\p{IsMathematicalOperators}" +block_miscellaneous_mathematical_symbols_a="\\p{IsMiscellaneousMathematicalSymbolsA}" +block_miscellaneous_mathematical_symbols_b="\\p{IsMiscellaneousMathematicalSymbolsB}" +block_miscellaneous_symbols="\\p{IsMiscellaneousSymbols}" +block_miscellaneous_symbolsand_arrows="\\p{IsMiscellaneousSymbolsandArrows}" +block_miscellaneous_technical="\\p{IsMiscellaneousTechnical}" +block_mongolian="\\p{IsMongolian}" +block_musical_symbols="\\p{IsMusicalSymbols}" +block_myanmar="\\p{IsMyanmar}" +block_number_forms="\\p{IsNumberForms}" +block_ogham="\\p{IsOgham}" +block_old_italic="\\p{IsOldItalic}" +block_optical_character_recognition="\\p{IsOpticalCharacterRecognition}" +block_oriya="\\p{IsOriya}" +block_osmanya="\\p{IsOsmanya}" +block_phonetic_extensions="\\p{IsPhoneticExtensions}" +block_private_use="\\p{IsPrivateUse}" +block_private_use_area="\\p{IsPrivateUseArea}" +block_runic="\\p{IsRunic}" +block_shavian="\\p{IsShavian}" +block_sinhala="\\p{IsSinhala}" +block_small_form_variants="\\p{IsSmallFormVariants}" +block_spacing_modifier_letters="\\p{IsSpacingModifierLetters}" +block_specials="\\p{IsSpecials}" +block_superscriptsand_subscripts="\\p{IsSuperscriptsandSubscripts}" +block_supplemental_arrows_a="\\p{IsSupplementalArrowsA}" +block_supplemental_arrows_b="\\p{IsSupplementalArrowsB}" +block_supplemental_mathematical_operators="\\p{IsSupplementalMathematicalOperators}" +block_supplementary_private_use_area_a="\\p{IsSupplementaryPrivateUseAreaA}" +block_supplementary_private_use_area_b="\\p{IsSupplementaryPrivateUseAreaB}" +block_syriac="\\p{IsSyriac}" +block_tagalog="\\p{IsTagalog}" +block_tagbanwa="\\p{IsTagbanwa}" +block_tags="\\p{IsTags}" +block_tai_le="\\p{IsTaiLe}" +block_tai_xuan_jing_symbols="\\p{IsTaiXuanJingSymbols}" +block_tamil="\\p{IsTamil}" +block_telugu="\\p{IsTelugu}" +block_thaana="\\p{IsThaana}" +block_thai="\\p{IsThai}" +block_tibetan="\\p{IsTibetan}" +block_ugaritic="\\p{IsUgaritic}" +block_unified_canadian_aboriginal_syllabics="\\p{IsUnifiedCanadianAboriginalSyllabics}" +block_variation_selectors="\\p{IsVariationSelectors}" +block_variation_selectors_supplement="\\p{IsVariationSelectorsSupplement}" +block_yi_radicals="\\p{IsYiRadicals}" +block_yi_syllables="\\p{IsYiSyllables}" +block_yijing_hexagram_symbols="\\p{IsYijingHexagramSymbols}" diff --git a/libxml2/fuzz/schema.c b/libxml2/fuzz/schema.c new file mode 100644 index 0000000..014c617 --- /dev/null +++ b/libxml2/fuzz/schema.c @@ -0,0 +1,91 @@ +/* + * schema.c: a libFuzzer target to test the XML Schema processor. + * + * See Copyright for the status of this software. + */ + +#ifndef XML_DEPRECATED + #define XML_DEPRECATED +#endif + +#include +#include +#include +#include "fuzz.h" + +int +LLVMFuzzerInitialize(int *argc ATTRIBUTE_UNUSED, + char ***argv ATTRIBUTE_UNUSED) { + xmlFuzzMemSetup(); + xmlInitParser(); +#ifdef LIBXML_CATALOG_ENABLED + xmlInitializeCatalog(); + xmlCatalogSetDefaults(XML_CATA_ALLOW_NONE); +#endif + + return 0; +} + +int +LLVMFuzzerTestOneInput(const char *data, size_t size) { + xmlSchemaParserCtxtPtr pctxt; + xmlSchemaPtr schema; + size_t failurePos; + + if (size > 200000) + return(0); + + xmlFuzzDataInit(data, size); + + failurePos = xmlFuzzReadInt(4) % (size + 100); + + xmlFuzzReadEntities(); + + xmlFuzzInjectFailure(failurePos); + pctxt = xmlSchemaNewParserCtxt(xmlFuzzMainUrl()); + xmlSchemaSetParserStructuredErrors(pctxt, xmlFuzzSErrorFunc, NULL); + xmlSchemaSetResourceLoader(pctxt, xmlFuzzResourceLoader, NULL); + schema = xmlSchemaParse(pctxt); + xmlSchemaFreeParserCtxt(pctxt); + + if (schema != NULL) { + xmlSchemaValidCtxtPtr vctxt; + xmlParserCtxtPtr ctxt; + xmlDocPtr doc; + + ctxt = xmlNewParserCtxt(); + xmlCtxtSetErrorHandler(ctxt, xmlFuzzSErrorFunc, NULL); + xmlCtxtSetResourceLoader(ctxt, xmlFuzzResourceLoader, NULL); + doc = xmlCtxtReadFile(ctxt, xmlFuzzSecondaryUrl(), NULL, + XML_PARSE_NOENT); + xmlFreeParserCtxt(ctxt); + + vctxt = xmlSchemaNewValidCtxt(schema); + xmlSchemaSetValidStructuredErrors(vctxt, xmlFuzzSErrorFunc, NULL); + xmlSchemaValidateDoc(vctxt, doc); + xmlSchemaFreeValidCtxt(vctxt); + + xmlFreeDoc(doc); + xmlSchemaFree(schema); + } + + xmlFuzzInjectFailure(0); + xmlFuzzDataCleanup(); + xmlResetLastError(); + xmlSchemaCleanupTypes(); + + return(0); +} + +size_t +LLVMFuzzerCustomMutator(char *data, size_t size, size_t maxSize, + unsigned seed) { + static const xmlFuzzChunkDesc chunks[] = { + { 4, XML_FUZZ_PROB_ONE / 10 }, /* failurePos */ + { 0, 0 } + }; + + return xmlFuzzMutateChunks(chunks, data, size, maxSize, seed, + LLVMFuzzerMutate); +} + diff --git a/libxml2/fuzz/schema.dict b/libxml2/fuzz/schema.dict new file mode 100644 index 0000000..9a8fd38 --- /dev/null +++ b/libxml2/fuzz/schema.dict @@ -0,0 +1,55 @@ +# TODO: Add more language elements + +xs_annotation="" + +xs_attribute="" +xs_attribute_required="" +xs_element="" + +# Primitive datatypes +type_string=" type='xs:string'" +type_boolean=" type='xs:boolean'" +type_decimal=" type='xs:decimal'" +type_float=" type='xs:float'" +type_double=" type='xs:double'" +type_date_time=" type='xs:dateTime'" +type_time=" type='xs:time'" +type_date=" type='xs:date'" +type_g_year_month=" type='xs:gYearMonth'" +type_g_year=" type='xs:gYear'" +type_g_month_day=" type='xs:gMonthDay'" +type_g_day=" type='xs:gDay'" +type_g_month=" type='xs:gMonth'" +type_hex_binary=" type='xs:hexBinary'" +type_base64_binary=" type='xs:base64Binary'" +type_any_uri=" type='xs:anyURI'" +type_qname=" type='xs:QName'" +type_notation=" type='xs:NOTATION'" + +# Occurs +occurs_min=" minOccurs='1'" +occurs_max=" maxOccurs='9'" +occurs_max_unbounded=" maxOccurs='unbounded'" + +# Simple type +xs_restriction_integer="" +xs_restriction_string="" +xs_list="" +xs_union="" + +# Restrictions +xs_min_exclusive="" +xs_min_inclusive="" +xs_max_exclusive="" +xs_max_inclusive="" +xs_total_digits="" +xs_fraction_digits="" +xs_length="" +xs_min_length="" +xs_max_length="" +xs_enumeration="" +xs_white_space_collapse="" +xs_white_space_preserve="" +xs_white_space_replace="" +xs_pattern="" + diff --git a/libxml2/fuzz/scripts/coverage_report.sh b/libxml2/fuzz/scripts/coverage_report.sh new file mode 100644 index 0000000..a619107 --- /dev/null +++ b/libxml2/fuzz/scripts/coverage_report.sh @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +fuzzer="$1" + +if [ -z "$fuzzer" ]; then + echo usage: $0 fuzzer + exit 1 +fi + +# Rebuild the project with coverage enabled + +make distclean +export CC=clang +export CXX=clang++ +export CFLAGS=" \ + -O1 -gline-tables-only \ + -fsanitize=fuzzer-no-link \ + -fprofile-instr-generate -fcoverage-mapping \ + -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION" +sh autogen.sh --without-python +make -j5 +rm default.profraw + +# Process corpus once + +cd fuzz +make $fuzzer + +./$fuzzer -runs=1 corpus/$fuzzer + +# Generate HTML report + +llvm-profdata merge default.profraw -o default.profdata +llvm-cov show -format=html -output-dir=report \ + -instr-profile default.profdata \ + ../.libs/libxml2.so +rm default.profraw default.profdata diff --git a/libxml2/fuzz/scripts/minimize_corpus.sh b/libxml2/fuzz/scripts/minimize_corpus.sh new file mode 100644 index 0000000..c1b761d --- /dev/null +++ b/libxml2/fuzz/scripts/minimize_corpus.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +set -e + +fuzzer="$1" + +if [ -z "$fuzzer" ]; then + echo usage: $0 fuzzer + exit 1 +fi + +cd fuzz +make $fuzzer + +if [ ! -e corpus/${fuzzer}_ ]; then + mv corpus/$fuzzer corpus/${fuzzer}_ +fi + +mkdir -p corpus/$fuzzer +./$fuzzer -merge=1 -use_value_profile=1 corpus/$fuzzer corpus/${fuzzer}_ +rm -rf corpus/${fuzzer}_ diff --git a/libxml2/fuzz/testFuzzer.c b/libxml2/fuzz/testFuzzer.c new file mode 100644 index 0000000..f80767d --- /dev/null +++ b/libxml2/fuzz/testFuzzer.c @@ -0,0 +1,324 @@ +/* + * testFuzzer.c: Test program for the custom entity loader used to fuzz + * with multiple inputs. + * + * See Copyright for the status of this software. + */ + +#ifndef XML_DEPRECATED + #define XML_DEPRECATED +#endif + +#include +#include +#include +#include +#include +#include "fuzz.h" + +size_t +LLVMFuzzerMutate(char *data, size_t size, size_t maxSize) { + (void) data; + (void) maxSize; + + return size; +} + +#ifdef HAVE_HTML_FUZZER +int fuzzHtmlInit(int *argc, char ***argv); +int fuzzHtml(const char *data, size_t size); +size_t fuzzHtmlMutate(char *data, size_t size, size_t maxSize, + unsigned seed); +#define LLVMFuzzerInitialize fuzzHtmlInit +#define LLVMFuzzerTestOneInput fuzzHtml +#define LLVMFuzzerCustomMutator fuzzHtmlMutate +#include "html.c" +#undef LLVMFuzzerInitialize +#undef LLVMFuzzerTestOneInput +#undef LLVMFuzzerCustomMutator +#endif + +#ifdef HAVE_READER_FUZZER +int fuzzReaderInit(int *argc, char ***argv); +int fuzzReader(const char *data, size_t size); +size_t fuzzReaderMutate(char *data, size_t size, size_t maxSize, + unsigned seed); +#define LLVMFuzzerInitialize fuzzReaderInit +#define LLVMFuzzerTestOneInput fuzzReader +#define LLVMFuzzerCustomMutator fuzzReaderMutate +#include "reader.c" +#undef LLVMFuzzerInitialize +#undef LLVMFuzzerTestOneInput +#undef LLVMFuzzerCustomMutator +#endif + +#ifdef HAVE_REGEXP_FUZZER +int fuzzRegexpInit(int *argc, char ***argv); +int fuzzRegexp(const char *data, size_t size); +size_t fuzzRegexpMutate(char *data, size_t size, size_t maxSize, + unsigned seed); +#define LLVMFuzzerInitialize fuzzRegexpInit +#define LLVMFuzzerTestOneInput fuzzRegexp +#define LLVMFuzzerCustomMutator fuzzRegexpMutate +#include "regexp.c" +#undef LLVMFuzzerInitialize +#undef LLVMFuzzerTestOneInput +#undef LLVMFuzzerCustomMutator +#endif + +#ifdef HAVE_SCHEMA_FUZZER +int fuzzSchemaInit(int *argc, char ***argv); +int fuzzSchema(const char *data, size_t size); +size_t fuzzSchemaMutate(char *data, size_t size, size_t maxSize, + unsigned seed); +#define LLVMFuzzerInitialize fuzzSchemaInit +#define LLVMFuzzerTestOneInput fuzzSchema +#define LLVMFuzzerCustomMutator fuzzSchemaMutate +#include "schema.c" +#undef LLVMFuzzerInitialize +#undef LLVMFuzzerTestOneInput +#undef LLVMFuzzerCustomMutator +#endif + +#ifdef HAVE_URI_FUZZER +int fuzzUriInit(int *argc, char ***argv); +int fuzzUri(const char *data, size_t size); +size_t fuzzUriMutate(char *data, size_t size, size_t maxSize, + unsigned seed); +#define LLVMFuzzerInitialize fuzzUriInit +#define LLVMFuzzerTestOneInput fuzzUri +#define LLVMFuzzerCustomMutator fuzzUriMutate +#include "uri.c" +#undef LLVMFuzzerInitialize +#undef LLVMFuzzerTestOneInput +#undef LLVMFuzzerCustomMutator +#endif + +#ifdef HAVE_VALID_FUZZER +int fuzzValidInit(int *argc, char ***argv); +int fuzzValid(const char *data, size_t size); +size_t fuzzValidMutate(char *data, size_t size, size_t maxSize, + unsigned seed); +#define LLVMFuzzerInitialize fuzzValidInit +#define LLVMFuzzerTestOneInput fuzzValid +#define LLVMFuzzerCustomMutator fuzzValidMutate +#include "valid.c" +#undef LLVMFuzzerInitialize +#undef LLVMFuzzerTestOneInput +#undef LLVMFuzzerCustomMutator +#endif + +#ifdef HAVE_XINCLUDE_FUZZER +int fuzzXIncludeInit(int *argc, char ***argv); +int fuzzXInclude(const char *data, size_t size); +size_t fuzzXIncludeMutate(char *data, size_t size, size_t maxSize, + unsigned seed); +#define LLVMFuzzerInitialize fuzzXIncludeInit +#define LLVMFuzzerTestOneInput fuzzXInclude +#define LLVMFuzzerCustomMutator fuzzXIncludeMutate +#include "xinclude.c" +#undef LLVMFuzzerInitialize +#undef LLVMFuzzerTestOneInput +#undef LLVMFuzzerCustomMutator +#endif + +#ifdef HAVE_XML_FUZZER +int fuzzXmlInit(int *argc, char ***argv); +int fuzzXml(const char *data, size_t size); +size_t fuzzXmlMutate(char *data, size_t size, size_t maxSize, + unsigned seed); +#define LLVMFuzzerInitialize fuzzXmlInit +#define LLVMFuzzerTestOneInput fuzzXml +#define LLVMFuzzerCustomMutator fuzzXmlMutate +#include "xml.c" +#undef LLVMFuzzerInitialize +#undef LLVMFuzzerTestOneInput +#undef LLVMFuzzerCustomMutator +#endif + +#ifdef HAVE_XPATH_FUZZER +int fuzzXPathInit(int *argc, char ***argv); +int fuzzXPath(const char *data, size_t size); +size_t fuzzXPathMutate(char *data, size_t size, size_t maxSize, + unsigned seed); +#define LLVMFuzzerInitialize fuzzXPathInit +#define LLVMFuzzerTestOneInput fuzzXPath +#define LLVMFuzzerCustomMutator fuzzXPathMutate +#include "xpath.c" +#undef LLVMFuzzerInitialize +#undef LLVMFuzzerTestOneInput +#undef LLVMFuzzerCustomMutator +#endif + +typedef int +(*initFunc)(int *argc, char ***argv); +typedef int +(*fuzzFunc)(const char *data, size_t size); +typedef size_t +(*mutateFunc)(char *data, size_t size, size_t maxSize, unsigned seed); + +int numInputs; + +static int +testFuzzer(initFunc init, fuzzFunc fuzz, mutateFunc mutate, + const char *pattern) { + glob_t globbuf; + int ret = -1; + size_t i; + + (void) mutate; + + if (glob(pattern, 0, NULL, &globbuf) != 0) { + fprintf(stderr, "pattern %s matches no files\n", pattern); + return(-1); + } + + if (init != NULL) + init(NULL, NULL); + + for (i = 0; i < globbuf.gl_pathc; i++) { + const char *path = globbuf.gl_pathv[i]; + char *data; + size_t size; + + data = xmlSlurpFile(path, &size); + if (data == NULL) { + fprintf(stderr, "couldn't read %s\n", path); + goto error; + } + fuzz(data, size); + xmlFree(data); + + numInputs++; + } + + ret = 0; +error: + globfree(&globbuf); + return(ret); +} + +#ifdef HAVE_XML_FUZZER +static int +testEntityLoader(void) { + xmlParserCtxtPtr ctxt; + static const char data[] = + "doc.xml\\\n" + "\n" + "&ent;\\\n" + "doc.dtd\\\n" + "\n" + "\\\n" + "ent.txt\\\n" + "Hello, world!\\\n"; + const char *docBuffer, *url; + size_t docSize; + xmlDocPtr doc; + int ret = 0; + + xmlFuzzDataInit(data, sizeof(data) - 1); + xmlFuzzReadEntities(); + + url = xmlFuzzMainUrl(); + if (strcmp(url, "doc.xml") != 0) { + fprintf(stderr, "unexpected main url: %s\n", url); + ret = 1; + } + + url = xmlFuzzSecondaryUrl(); + if (strcmp(url, "doc.dtd") != 0) { + fprintf(stderr, "unexpected secondary url: %s\n", url); + ret = 1; + } + + docBuffer = xmlFuzzMainEntity(&docSize); + ctxt = xmlNewParserCtxt(); + xmlCtxtSetResourceLoader(ctxt, xmlFuzzResourceLoader, NULL); + doc = xmlCtxtReadMemory(ctxt, docBuffer, docSize, NULL, NULL, + XML_PARSE_NOENT | XML_PARSE_DTDLOAD); + xmlFreeParserCtxt(ctxt); + +#ifdef LIBXML_OUTPUT_ENABLED + { + static xmlChar expected[] = + "\n" + "\n" + "Hello, world!\n"; + xmlChar *out; + + xmlDocDumpMemory(doc, &out, NULL); + if (xmlStrcmp(out, expected) != 0) { + fprintf(stderr, "Expected:\n%sGot:\n%s", expected, out); + ret = 1; + } + xmlFree(out); + } +#endif + + xmlFreeDoc(doc); + xmlFuzzDataCleanup(); + + return(ret); +} +#endif + +int +main(void) { + int ret = 0; + +#ifdef HAVE_XML_FUZZER + if (testEntityLoader() != 0) + ret = 1; +#endif +#ifdef HAVE_HTML_FUZZER + if (testFuzzer(fuzzHtmlInit, fuzzHtml, fuzzHtmlMutate, + "seed/html/*") != 0) + ret = 1; +#endif +#ifdef HAVE_READER_FUZZER + if (testFuzzer(fuzzReaderInit, fuzzReader, fuzzReaderMutate, + "seed/reader/*") != 0) + ret = 1; +#endif +#ifdef HAVE_REGEXP_FUZZER + if (testFuzzer(fuzzRegexpInit, fuzzRegexp, fuzzRegexpMutate, + "seed/regexp/*") != 0) + ret = 1; +#endif +#ifdef HAVE_SCHEMA_FUZZER + if (testFuzzer(fuzzSchemaInit, fuzzSchema, fuzzSchemaMutate, + "seed/schema/*") != 0) + ret = 1; +#endif +#ifdef HAVE_URI_FUZZER + if (testFuzzer(fuzzUriInit, fuzzUri, fuzzUriMutate, + "seed/uri/*") != 0) + ret = 1; +#endif +#ifdef HAVE_VALID_FUZZER + if (testFuzzer(fuzzValidInit, fuzzValid, fuzzValidMutate, + "seed/valid/*") != 0) + ret = 1; +#endif +#ifdef HAVE_XINCLUDE_FUZZER + if (testFuzzer(fuzzXIncludeInit, fuzzXInclude, fuzzXIncludeMutate, + "seed/xinclude/*") != 0) + ret = 1; +#endif +#ifdef HAVE_XML_FUZZER + if (testFuzzer(fuzzXmlInit, fuzzXml, fuzzXmlMutate, + "seed/xml/*") != 0) + ret = 1; +#endif +#ifdef HAVE_XPATH_FUZZER + if (testFuzzer(fuzzXPathInit, fuzzXPath, fuzzXPathMutate, + "seed/xpath/*") != 0) + ret = 1; +#endif + + if (ret == 0) + printf("Successfully tested %d inputs\n", numInputs); + + return(ret); +} + diff --git a/libxml2/fuzz/uri.c b/libxml2/fuzz/uri.c new file mode 100644 index 0000000..72e4201 --- /dev/null +++ b/libxml2/fuzz/uri.c @@ -0,0 +1,116 @@ +/* + * uri.c: a libFuzzer target to test the URI module. + * + * See Copyright for the status of this software. + */ + +#include +#include "fuzz.h" + +int +LLVMFuzzerInitialize(int *argc ATTRIBUTE_UNUSED, + char ***argv ATTRIBUTE_UNUSED) { + xmlFuzzMemSetup(); + + return 0; +} + +int +LLVMFuzzerTestOneInput(const char *data, size_t size) { + xmlURIPtr uri; + size_t failurePos; + const char *str1, *str2; + char *copy; + xmlChar *strRes; + int intRes; + + if (size > 10000) + return(0); + + xmlFuzzDataInit(data, size); + failurePos = xmlFuzzReadInt(4) % (size * 8 + 100); + str1 = xmlFuzzReadString(NULL); + str2 = xmlFuzzReadString(NULL); + + xmlFuzzInjectFailure(failurePos); + + xmlFuzzResetFailure(); + intRes = xmlParseURISafe(str1, &uri); + xmlFuzzCheckFailureReport("xmlParseURISafe", intRes == -1, 0); + + if (uri != NULL) { + xmlFuzzResetFailure(); + strRes = xmlSaveUri(uri); + xmlFuzzCheckFailureReport("xmlSaveURI", strRes == NULL, 0); + xmlFree(strRes); + xmlFreeURI(uri); + } + + xmlFreeURI(xmlParseURI(str1)); + + uri = xmlParseURIRaw(str1, 1); + xmlFree(xmlSaveUri(uri)); + xmlFreeURI(uri); + + xmlFuzzResetFailure(); + strRes = BAD_CAST xmlURIUnescapeString(str1, -1, NULL); + xmlFuzzCheckFailureReport("xmlURIUnescapeString", + str1 != NULL && strRes == NULL, 0); + xmlFree(strRes); + + xmlFree(xmlURIEscape(BAD_CAST str1)); + + xmlFuzzResetFailure(); + strRes = xmlCanonicPath(BAD_CAST str1); + xmlFuzzCheckFailureReport("xmlCanonicPath", + str1 != NULL && strRes == NULL, 0); + xmlFree(strRes); + + xmlFuzzResetFailure(); + strRes = xmlPathToURI(BAD_CAST str1); + xmlFuzzCheckFailureReport("xmlPathToURI", + str1 != NULL && strRes == NULL, 0); + xmlFree(strRes); + + xmlFuzzResetFailure(); + intRes = xmlBuildURISafe(BAD_CAST str2, BAD_CAST str1, &strRes); + xmlFuzzCheckFailureReport("xmlBuildURISafe", intRes == -1, 0); + xmlFree(strRes); + + xmlFree(xmlBuildURI(BAD_CAST str2, BAD_CAST str1)); + + xmlFuzzResetFailure(); + intRes = xmlBuildRelativeURISafe(BAD_CAST str2, BAD_CAST str1, &strRes); + xmlFuzzCheckFailureReport("xmlBuildRelativeURISafe", intRes == -1, 0); + xmlFree(strRes); + + xmlFree(xmlBuildRelativeURI(BAD_CAST str2, BAD_CAST str1)); + + xmlFuzzResetFailure(); + strRes = xmlURIEscapeStr(BAD_CAST str1, BAD_CAST str2); + xmlFuzzCheckFailureReport("xmlURIEscapeStr", + str1 != NULL && strRes == NULL, 0); + xmlFree(strRes); + + copy = (char *) xmlCharStrdup(str1); + xmlNormalizeURIPath(copy); + xmlFree(copy); + + xmlFuzzInjectFailure(0); + xmlFuzzDataCleanup(); + + return 0; +} + +size_t +LLVMFuzzerCustomMutator(char *data, size_t size, size_t maxSize, + unsigned seed) { + static const xmlFuzzChunkDesc chunks[] = { + { 4, XML_FUZZ_PROB_ONE / 10 }, /* failurePos */ + { 0, 0 } + }; + + return xmlFuzzMutateChunks(chunks, data, size, maxSize, seed, + LLVMFuzzerMutate); +} + diff --git a/libxml2/fuzz/valid.c b/libxml2/fuzz/valid.c new file mode 100644 index 0000000..c9429ad --- /dev/null +++ b/libxml2/fuzz/valid.c @@ -0,0 +1,139 @@ +/* + * valid.c: a libFuzzer target to test DTD validation. + * + * See Copyright for the status of this software. + */ + +#include +#include +#include +#include +#include "fuzz.h" + +int +LLVMFuzzerInitialize(int *argc ATTRIBUTE_UNUSED, + char ***argv ATTRIBUTE_UNUSED) { + xmlFuzzMemSetup(); + xmlInitParser(); +#ifdef LIBXML_CATALOG_ENABLED + xmlInitializeCatalog(); + xmlCatalogSetDefaults(XML_CATA_ALLOW_NONE); +#endif + + return 0; +} + +int +LLVMFuzzerTestOneInput(const char *data, size_t size) { + xmlParserCtxtPtr ctxt; + xmlDocPtr doc; + const char *docBuffer, *docUrl; + size_t failurePos, docSize; + int opts; + + xmlFuzzDataInit(data, size); + opts = (int) xmlFuzzReadInt(4); + opts |= XML_PARSE_DTDVALID; + failurePos = xmlFuzzReadInt(4) % (size + 100); + + xmlFuzzReadEntities(); + docBuffer = xmlFuzzMainEntity(&docSize); + docUrl = xmlFuzzMainUrl(); + if (docBuffer == NULL) + goto exit; + + /* Pull parser */ + + xmlFuzzInjectFailure(failurePos); + ctxt = xmlNewParserCtxt(); + if (ctxt != NULL) { + xmlCtxtSetErrorHandler(ctxt, xmlFuzzSErrorFunc, NULL); + xmlCtxtSetResourceLoader(ctxt, xmlFuzzResourceLoader, NULL); + doc = xmlCtxtReadMemory(ctxt, docBuffer, docSize, docUrl, NULL, opts); + xmlFuzzCheckFailureReport("xmlCtxtReadMemory", + ctxt->errNo == XML_ERR_NO_MEMORY, + ctxt->errNo == XML_IO_EIO); + xmlFreeDoc(doc); + xmlFreeParserCtxt(ctxt); + } + + /* Post validation */ + + xmlFuzzInjectFailure(failurePos); + ctxt = xmlNewParserCtxt(); + if (ctxt != NULL) { + xmlCtxtSetErrorHandler(ctxt, xmlFuzzSErrorFunc, NULL); + xmlCtxtSetResourceLoader(ctxt, xmlFuzzResourceLoader, NULL); + doc = xmlCtxtReadMemory(ctxt, docBuffer, docSize, docUrl, NULL, + opts & ~XML_PARSE_DTDVALID); + xmlFuzzCheckFailureReport("xmlCtxtReadMemory", + doc == NULL && ctxt->errNo == XML_ERR_NO_MEMORY, + doc == NULL && ctxt->errNo == XML_IO_EIO); + if (doc != NULL) { + int valid = xmlCtxtValidateDocument(ctxt, doc); + + xmlFuzzCheckFailureReport("xmlCtxtValidateDocument", + !valid && ctxt->errNo == XML_ERR_NO_MEMORY, + !valid && ctxt->errNo == XML_IO_EIO); + } + xmlFreeDoc(doc); + xmlFreeParserCtxt(ctxt); + } + + /* Push parser */ + +#ifdef LIBXML_PUSH_ENABLED + { + static const size_t maxChunkSize = 128; + size_t consumed, chunkSize; + + xmlFuzzInjectFailure(failurePos); + /* + * FIXME: xmlCreatePushParserCtxt can still report OOM errors + * to stderr. + */ + xmlSetGenericErrorFunc(NULL, xmlFuzzErrorFunc); + ctxt = xmlCreatePushParserCtxt(NULL, NULL, NULL, 0, docUrl); + xmlSetGenericErrorFunc(NULL, NULL); + if (ctxt != NULL) { + xmlCtxtSetErrorHandler(ctxt, xmlFuzzSErrorFunc, NULL); + xmlCtxtSetResourceLoader(ctxt, xmlFuzzResourceLoader, NULL); + xmlCtxtUseOptions(ctxt, opts); + + for (consumed = 0; consumed < docSize; consumed += chunkSize) { + chunkSize = docSize - consumed; + if (chunkSize > maxChunkSize) + chunkSize = maxChunkSize; + xmlParseChunk(ctxt, docBuffer + consumed, chunkSize, 0); + } + + xmlParseChunk(ctxt, NULL, 0, 1); + xmlFuzzCheckFailureReport("xmlParseChunk", + ctxt->errNo == XML_ERR_NO_MEMORY, + ctxt->errNo == XML_IO_EIO); + xmlFreeDoc(ctxt->myDoc); + xmlFreeParserCtxt(ctxt); + } + } +#endif + +exit: + xmlFuzzInjectFailure(0); + xmlFuzzDataCleanup(); + xmlResetLastError(); + return(0); +} + +size_t +LLVMFuzzerCustomMutator(char *data, size_t size, size_t maxSize, + unsigned seed) { + static const xmlFuzzChunkDesc chunks[] = { + { 4, XML_FUZZ_PROB_ONE / 10 }, /* opts */ + { 4, XML_FUZZ_PROB_ONE / 10 }, /* failurePos */ + { 0, 0 } + }; + + return xmlFuzzMutateChunks(chunks, data, size, maxSize, seed, + LLVMFuzzerMutate); +} + diff --git a/libxml2/fuzz/valid.options b/libxml2/fuzz/valid.options new file mode 100644 index 0000000..6335e16 --- /dev/null +++ b/libxml2/fuzz/valid.options @@ -0,0 +1,2 @@ +[libfuzzer] +dict = xml.dict diff --git a/libxml2/fuzz/xinclude.c b/libxml2/fuzz/xinclude.c new file mode 100644 index 0000000..ff350ac --- /dev/null +++ b/libxml2/fuzz/xinclude.c @@ -0,0 +1,105 @@ +/* + * xinclude.c: a libFuzzer target to test the XInclude engine. + * + * See Copyright for the status of this software. + */ + +#include +#include +#include +#include +#include +#include "fuzz.h" + +int +LLVMFuzzerInitialize(int *argc ATTRIBUTE_UNUSED, + char ***argv ATTRIBUTE_UNUSED) { + xmlFuzzMemSetup(); + xmlInitParser(); +#ifdef LIBXML_CATALOG_ENABLED + xmlInitializeCatalog(); + xmlCatalogSetDefaults(XML_CATA_ALLOW_NONE); +#endif + xmlSetGenericErrorFunc(NULL, xmlFuzzErrorFunc); + + return 0; +} + +int +LLVMFuzzerTestOneInput(const char *data, size_t size) { + xmlParserCtxtPtr ctxt; + xmlDocPtr doc; + const char *docBuffer, *docUrl; + size_t failurePos, docSize; + int opts; + + xmlFuzzDataInit(data, size); + opts = (int) xmlFuzzReadInt(4); + opts &= ~XML_PARSE_DTDVALID & + ~XML_PARSE_SAX1; + failurePos = xmlFuzzReadInt(4) % (size + 100); + + xmlFuzzReadEntities(); + docBuffer = xmlFuzzMainEntity(&docSize); + docUrl = xmlFuzzMainUrl(); + if (docBuffer == NULL) + goto exit; + + /* Pull parser */ + + xmlFuzzInjectFailure(failurePos); + ctxt = xmlNewParserCtxt(); + if (ctxt != NULL) { + xmlXIncludeCtxtPtr xinc; + xmlDocPtr copy; + + xmlCtxtSetResourceLoader(ctxt, xmlFuzzResourceLoader, NULL); + + doc = xmlCtxtReadMemory(ctxt, docBuffer, docSize, docUrl, NULL, opts); + xmlFuzzCheckFailureReport("xmlCtxtReadMemory", + doc == NULL && ctxt->errNo == XML_ERR_NO_MEMORY, + doc == NULL && ctxt->errNo == XML_IO_EIO); + + xinc = xmlXIncludeNewContext(doc); + xmlXIncludeSetResourceLoader(xinc, xmlFuzzResourceLoader, NULL); + xmlXIncludeSetFlags(xinc, opts); + xmlXIncludeProcessNode(xinc, (xmlNodePtr) doc); + if (doc != NULL) { + xmlFuzzCheckFailureReport("xmlXIncludeProcessNode", + xinc == NULL || + xmlXIncludeGetLastError(xinc) == XML_ERR_NO_MEMORY, + xinc != NULL && + xmlXIncludeGetLastError(xinc) == XML_IO_EIO); + } + xmlXIncludeFreeContext(xinc); + + xmlFuzzResetFailure(); + copy = xmlCopyDoc(doc, 1); + if (doc != NULL) + xmlFuzzCheckFailureReport("xmlCopyNode", copy == NULL, 0); + xmlFreeDoc(copy); + + xmlFreeDoc(doc); + xmlFreeParserCtxt(ctxt); + } + +exit: + xmlFuzzInjectFailure(0); + xmlFuzzDataCleanup(); + xmlResetLastError(); + return(0); +} + +size_t +LLVMFuzzerCustomMutator(char *data, size_t size, size_t maxSize, + unsigned seed) { + static const xmlFuzzChunkDesc chunks[] = { + { 4, XML_FUZZ_PROB_ONE / 10 }, /* opts */ + { 4, XML_FUZZ_PROB_ONE / 10 }, /* failurePos */ + { 0, 0 } + }; + + return xmlFuzzMutateChunks(chunks, data, size, maxSize, seed, + LLVMFuzzerMutate); +} + diff --git a/libxml2/fuzz/xinclude.options b/libxml2/fuzz/xinclude.options new file mode 100644 index 0000000..b1dc5d0 --- /dev/null +++ b/libxml2/fuzz/xinclude.options @@ -0,0 +1,2 @@ +[libfuzzer] +dict = lint.dict diff --git a/libxml2/fuzz/xml.c b/libxml2/fuzz/xml.c new file mode 100644 index 0000000..b6ea885 --- /dev/null +++ b/libxml2/fuzz/xml.c @@ -0,0 +1,263 @@ +/* + * xml.c: a libFuzzer target to test several XML parser interfaces. + * + * See Copyright for the status of this software. + */ + +#include +#include +#include + +#include +#include +#include +#include +#include +#include "fuzz.h" + +int +LLVMFuzzerInitialize(int *argc ATTRIBUTE_UNUSED, + char ***argv ATTRIBUTE_UNUSED) { + xmlFuzzMemSetup(); + xmlInitParser(); +#ifdef LIBXML_CATALOG_ENABLED + xmlInitializeCatalog(); + xmlCatalogSetDefaults(XML_CATA_ALLOW_NONE); +#endif + + return 0; +} + +int +LLVMFuzzerTestOneInput(const char *data, size_t size) { + xmlParserCtxtPtr ctxt; + xmlDocPtr doc; + const char *docBuffer, *docUrl; + size_t failurePos, docSize, maxChunkSize; + int opts; + int errorCode; +#ifdef LIBXML_OUTPUT_ENABLED + xmlBufferPtr outbuf = NULL; + const char *saveEncoding; + int saveOpts; +#endif + + xmlFuzzDataInit(data, size); + opts = (int) xmlFuzzReadInt(4); + /* + * Disable options that are known to cause timeouts + */ + opts &= ~XML_PARSE_DTDVALID & + ~XML_PARSE_SAX1; + failurePos = xmlFuzzReadInt(4) % (size + 100); + + maxChunkSize = xmlFuzzReadInt(4) % (size + size / 8 + 1); + if (maxChunkSize == 0) + maxChunkSize = 1; + +#ifdef LIBXML_OUTPUT_ENABLED + /* TODO: Take from fuzz data */ + saveOpts = 0; + saveEncoding = NULL; +#endif + + xmlFuzzReadEntities(); + docBuffer = xmlFuzzMainEntity(&docSize); + docUrl = xmlFuzzMainUrl(); + if (docBuffer == NULL) + goto exit; + + /* Pull parser */ + + xmlFuzzInjectFailure(failurePos); + ctxt = xmlNewParserCtxt(); + if (ctxt == NULL) { + errorCode = XML_ERR_NO_MEMORY; + } else { + xmlCtxtSetErrorHandler(ctxt, xmlFuzzSErrorFunc, NULL); + xmlCtxtSetResourceLoader(ctxt, xmlFuzzResourceLoader, NULL); + doc = xmlCtxtReadMemory(ctxt, docBuffer, docSize, docUrl, NULL, opts); + errorCode = ctxt->errNo; + xmlFuzzCheckFailureReport("xmlCtxtReadMemory", + doc == NULL && errorCode == XML_ERR_NO_MEMORY, + doc == NULL && errorCode == XML_IO_EIO); + + if (doc != NULL) { +#ifdef LIBXML_OUTPUT_ENABLED + xmlSaveCtxtPtr save; + + outbuf = xmlBufferCreate(); + + /* Also test the serializer. */ + save = xmlSaveToBuffer(outbuf, saveEncoding, saveOpts); + + if (save == NULL) { + xmlBufferFree(outbuf); + outbuf = NULL; + } else { + int saveErr; + + xmlSaveDoc(save, doc); + saveErr = xmlSaveFinish(save); + xmlFuzzCheckFailureReport("xmlSaveToBuffer", + saveErr == XML_ERR_NO_MEMORY, + saveErr == XML_IO_EIO); + if (saveErr != XML_ERR_OK) { + xmlBufferFree(outbuf); + outbuf = NULL; + } + } +#endif + xmlFreeDoc(doc); + } + + xmlFreeParserCtxt(ctxt); + } + + /* Push parser */ + +#ifdef LIBXML_PUSH_ENABLED + xmlFuzzInjectFailure(failurePos); + /* + * FIXME: xmlCreatePushParserCtxt can still report OOM errors + * to stderr. + */ + xmlSetGenericErrorFunc(NULL, xmlFuzzErrorFunc); + ctxt = xmlCreatePushParserCtxt(NULL, NULL, NULL, 0, docUrl); + xmlSetGenericErrorFunc(NULL, NULL); + + if (ctxt != NULL) { + size_t consumed; + int errorCodePush, numChunks, maxChunks; + + xmlCtxtSetErrorHandler(ctxt, xmlFuzzSErrorFunc, NULL); + xmlCtxtSetResourceLoader(ctxt, xmlFuzzResourceLoader, NULL); + xmlCtxtUseOptions(ctxt, opts); + + consumed = 0; + numChunks = 0; + maxChunks = 50 + docSize / 100; + while (numChunks == 0 || + (consumed < docSize && numChunks < maxChunks)) { + size_t chunkSize; + int terminate; + + numChunks += 1; + chunkSize = docSize - consumed; + + if (numChunks < maxChunks && chunkSize > maxChunkSize) { + chunkSize = maxChunkSize; + terminate = 0; + } else { + terminate = 1; + } + + xmlParseChunk(ctxt, docBuffer + consumed, chunkSize, terminate); + consumed += chunkSize; + } + + errorCodePush = ctxt->errNo; + xmlFuzzCheckFailureReport("xmlParseChunk", + errorCodePush == XML_ERR_NO_MEMORY, + errorCodePush == XML_IO_EIO); + doc = ctxt->myDoc; + + /* + * Push and pull parser differ in when exactly they + * stop parsing, and the error code is the *last* error + * reported, so we can't check whether the codes match. + */ + if (errorCode != XML_ERR_NO_MEMORY && + errorCode != XML_IO_EIO && + errorCodePush != XML_ERR_NO_MEMORY && + errorCodePush != XML_IO_EIO && + (errorCode == XML_ERR_OK) != (errorCodePush == XML_ERR_OK)) { + fprintf(stderr, "pull/push parser error mismatch: %d != %d\n", + errorCode, errorCodePush); +#if 0 + FILE *f = fopen("c.xml", "wb"); + fwrite(docBuffer, docSize, 1, f); + fclose(f); +#endif + abort(); + } + +#ifdef LIBXML_OUTPUT_ENABLED + /* + * Verify that pull and push parser produce the same result. + * + * The NOBLANKS option doesn't work reliably in push mode. + */ + if ((opts & XML_PARSE_NOBLANKS) == 0 && + errorCode == XML_ERR_OK && + errorCodePush == XML_ERR_OK && + outbuf != NULL) { + xmlBufferPtr outbufPush; + xmlSaveCtxtPtr save; + + outbufPush = xmlBufferCreate(); + + save = xmlSaveToBuffer(outbufPush, saveEncoding, saveOpts); + + if (save != NULL) { + int saveErr; + + xmlSaveDoc(save, doc); + saveErr = xmlSaveFinish(save); + + if (saveErr == XML_ERR_OK) { + int outbufSize = xmlBufferLength(outbuf); + + if (outbufSize != xmlBufferLength(outbufPush) || + memcmp(xmlBufferContent(outbuf), + xmlBufferContent(outbufPush), + outbufSize) != 0) { + fprintf(stderr, "pull/push parser roundtrip " + "mismatch\n"); +#if 0 + FILE *f = fopen("c.xml", "wb"); + fwrite(docBuffer, docSize, 1, f); + fclose(f); + fprintf(stderr, "opts: %X\n", opts); + fprintf(stderr, "---\n%s\n---\n%s\n---\n", + xmlBufferContent(outbuf), + xmlBufferContent(outbufPush)); +#endif + abort(); + } + } + } + + xmlBufferFree(outbufPush); + } +#endif + + xmlFreeDoc(doc); + xmlFreeParserCtxt(ctxt); + } +#endif + +exit: +#ifdef LIBXML_OUTPUT_ENABLED + xmlBufferFree(outbuf); +#endif + xmlFuzzInjectFailure(0); + xmlFuzzDataCleanup(); + xmlResetLastError(); + return(0); +} + +size_t +LLVMFuzzerCustomMutator(char *data, size_t size, size_t maxSize, + unsigned seed) { + static const xmlFuzzChunkDesc chunks[] = { + { 4, XML_FUZZ_PROB_ONE / 10 }, /* opts */ + { 4, XML_FUZZ_PROB_ONE / 10 }, /* failurePos */ + { 4, XML_FUZZ_PROB_ONE / 10 }, /* maxChunkSize */ + { 0, 0 } + }; + + return xmlFuzzMutateChunks(chunks, data, size, maxSize, seed, + LLVMFuzzerMutate); +} + diff --git a/libxml2/fuzz/xml.dict b/libxml2/fuzz/xml.dict new file mode 100644 index 0000000..094bf57 --- /dev/null +++ b/libxml2/fuzz/xml.dict @@ -0,0 +1,121 @@ +xml_decl="" +xml_decl_standalone="" +xml_decl_latin1="" + +elem_start_end="" +elem_empty="" +elem_ns_start_end="" +elem_ns_empty="" + +attr=" a='a'" + +ns_decl=" xmlns:a='a'" +ns_default=" xmlns='a'" +ns_prefix="a:" + +cdata_section="" + +comment="" + +pi="" + +doctype="" +doctype_system="" +doctype_system="" + +elem_decl_any="" +elem_decl_empty="" +elem_decl_children="" +elem_decl_mixed="" +elem_children_choice="|a" +elem_children_seq=",a" +elem_children_sub_choice="|(a)" +elem_children_sub_seq=",(a)" +elem_quant_any="*" +elem_quant_opt="?" +elem_quant_some="+" + +attr_decl_cdata_req="" +attr_decl_cdata_imp="" +attr_decl_cdata_def="" +attr_decl_cdata_fix="" +attr_decl_id_imp="" +attr_decl_id_req="" +attr_decl_id_def="" +attr_decl_id_fix="" +attr_decl_idref_imp="" +attr_decl_idref_req="" +attr_decl_idref_def="" +attr_decl_idref_fix="" +attr_decl_idrefs_imp="" +attr_decl_idrefs_req="" +attr_decl_idrefs_def="" +attr_decl_idrefs_fix="" +attr_decl_entity_imp="" +attr_decl_entity_req="" +attr_decl_entity_def="" +attr_decl_entity_fix="" +attr_decl_entities_imp="" +attr_decl_entities_req="" +attr_decl_entities_def="" +attr_decl_entities_fix="" +attr_decl_nmtoken_imp="" +attr_decl_nmtoken_req="" +attr_decl_nmtoken_def="" +attr_decl_nmtoken_fix="" +attr_decl_nmtokens_imp="" +attr_decl_nmtokens_req="" +attr_decl_nmtokens_def="" +attr_decl_nmtokens_fix="" +attr_decl_enum_imp="" +attr_decl_enum_req="" +attr_decl_enum_def="" +attr_decl_enum_fix="" +attr_decl_notation_imp="" +attr_decl_notation_req="" +attr_decl_notation_def="" +attr_decl_notation_fix="" + +include_sect="" +ignore_sect="" + +ge_decl="" +ge_decl_system="" +ge_decl_system_ndata="" +ge_decl_public="" +ge_decl_public_ndata="" + +pe_decl="" +pe_decl_system="" +pe_decl_public="" + +char_ref_dec="<" +char_ref_hex="<" +char_ref_quoted="&#60;" + +ge_ref_lt="<" +ge_ref_gt=">" +ge_ref_amp="&" +ge_ref_apos="'" +ge_ref_quot=""" +ge_ref="&a;" +ge_ref_quoted="&a;" + +pe_ref="%a;" +pe_ref_quoted="%a;" + +notation_decl_public="" +notation_decl_system="" + +cs_utf8="UTF-8" +cs_utf16="UTF-16" +cs_utf16le="UTF-16LE" +cs_utf16be="UTF-16BE" +cs_ucs2="UCS-2" +cs_ucs4="UCS-4" +cs_latin1="ISO-8859-1" +cs_ascii="ASCII" +cs_ebcdic="EBCDIC" +cs_iso2022jp="ISO-2022-JP" +cs_shift_jis="SHIFT_JIS" +cs_euc_jp="EUC-JP" diff --git a/libxml2/fuzz/xpath.c b/libxml2/fuzz/xpath.c new file mode 100644 index 0000000..328a23e --- /dev/null +++ b/libxml2/fuzz/xpath.c @@ -0,0 +1,86 @@ +/* + * xpath.c: a libFuzzer target to test XPath and XPointer expressions. + * + * See Copyright for the status of this software. + */ + +#include +#include +#include +#include "fuzz.h" + +int +LLVMFuzzerInitialize(int *argc ATTRIBUTE_UNUSED, + char ***argv ATTRIBUTE_UNUSED) { + xmlFuzzMemSetup(); + xmlInitParser(); +#ifdef LIBXML_CATALOG_ENABLED + xmlInitializeCatalog(); + xmlCatalogSetDefaults(XML_CATA_ALLOW_NONE); +#endif + xmlSetGenericErrorFunc(NULL, xmlFuzzErrorFunc); + + return 0; +} + +int +LLVMFuzzerTestOneInput(const char *data, size_t size) { + xmlDocPtr doc; + const char *expr, *xml; + size_t failurePos, exprSize, xmlSize; + + if (size > 10000) + return(0); + + xmlFuzzDataInit(data, size); + + failurePos = xmlFuzzReadInt(4) % (size + 100); + expr = xmlFuzzReadString(&exprSize); + xml = xmlFuzzReadString(&xmlSize); + + /* Recovery mode allows more input to be fuzzed. */ + doc = xmlReadMemory(xml, xmlSize, NULL, NULL, XML_PARSE_RECOVER); + if (doc != NULL) { + xmlXPathContextPtr xpctxt; + + xmlFuzzInjectFailure(failurePos); + + xpctxt = xmlXPathNewContext(doc); + if (xpctxt != NULL) { + int res; + + /* Operation limit to avoid timeout */ + xpctxt->opLimit = 500000; + + res = xmlXPathContextSetCache(xpctxt, 1, 4, 0); + xmlFuzzCheckFailureReport("xmlXPathContextSetCache", res == -1, 0); + + xmlFuzzResetFailure(); + xmlXPathFreeObject(xmlXPtrEval(BAD_CAST expr, xpctxt)); + xmlFuzzCheckFailureReport("xmlXPtrEval", + xpctxt->lastError.code == XML_ERR_NO_MEMORY, 0); + xmlXPathFreeContext(xpctxt); + } + + xmlFuzzInjectFailure(0); + xmlFreeDoc(doc); + } + + xmlFuzzDataCleanup(); + xmlResetLastError(); + + return(0); +} + +size_t +LLVMFuzzerCustomMutator(char *data, size_t size, size_t maxSize, + unsigned seed) { + static const xmlFuzzChunkDesc chunks[] = { + { 4, XML_FUZZ_PROB_ONE / 10 }, /* failurePos */ + { 0, 0 } + }; + + return xmlFuzzMutateChunks(chunks, data, size, maxSize, seed, + LLVMFuzzerMutate); +} + diff --git a/libxml2/fuzz/xpath.dict b/libxml2/fuzz/xpath.dict new file mode 100644 index 0000000..4fe375f --- /dev/null +++ b/libxml2/fuzz/xpath.dict @@ -0,0 +1,94 @@ +# XML + +elem_a="" +elem_b="" +elem_c="" +elem_d="" +elem_empty="" +elem_ns_a="" +elem_ns_b="" + +attr_a=" a='a'" +attr_b=" b='b'" + +ns_decl=" xmlns:a='a'" +ns_default=" xmlns='a'" +ns_prefix_a="a:" +ns_prefix_b="b:" + +cdata_section="" + +comment="" + +pi="" + +# XPath + +axis_ancestor="ancestor::" +axis_ancestor_or_self="ancestor-or-self::" +axis_attribute="attribute::" +axis_attribute_abbrev="@" +axis_child="child::" +axis_descendant="descendant::" +axis_descendant_or_self="descendant-or-self::" +axis_following="following::" +axis_following_sibling="following-sibling::" +axis_namespace="namespace::" +axis_parent="parent::" +axis_preceding="preceding::" +axis_preceding_siblings="preceding-sibling::" +axis_self="self::" + +node_test_ns="a:" + +val_num="=(1.0)" +val_str_sq="=('a')" +val_str_dq="=(\"a\")" +val_node_set="=(*)" +val_elem="=(b)" + +step_root="/" +step_descendant="//" +step_any="//*" +step_any_l="*//" +step_elem="//b" +step_ns_elem="//a:a" +step_comment="//comment()" +step_node="//node()" +step_node_l="node()//" +step_pi="//processing-instruction()" +step_text="//text()" +step_parent="../" + +op_plus="+1" +op_minus=" - 1" +op_neg="-" +op_mul="*1" +op_div=" div 1" +op_mod=" mod 1" +op_and=" and 1" +op_or=" or 1" +op_ne="!=1" +op_lt="<1" +op_gt=">1" +op_le="<=1" +op_ge=">=1" +op_predicate_num="[1]" +op_predicate_last="[last()]" +op_predicate_str="['a']" +op_predicate="[1=1]" +op_arg_num=",1" +op_arg_str=",'a'" +op_arg_node=",*" +op_union="|//b" + +var_num="=$f" +var_bool="=$b" +var_str="=$s" +var_node_set="=$n" + +# Unicode + +utf8_2="\xC3\x84" +utf8_3="\xE2\x80\x9C" +utf8_4="\xF0\x9F\x98\x80" diff --git a/libxml2/globals.c b/libxml2/globals.c new file mode 100644 index 0000000..80cab79 --- /dev/null +++ b/libxml2/globals.c @@ -0,0 +1,1159 @@ +/* + * globals.c: definition and handling of the set of global variables + * of the library + * + * See Copyright for the status of this software. + */ + +#define IN_LIBXML +#include "libxml.h" + +#include +#include + +#define XML_GLOBALS_NO_REDEFINITION +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "private/dict.h" +#include "private/error.h" +#include "private/globals.h" +#include "private/threads.h" +#include "private/tree.h" + +/* + * Mutex to protect "ForNewThreads" variables + */ +static xmlMutex xmlThrDefMutex; + +/* + * Deprecated global setting which is unused since 2.15.0 + */ +static int lineNumbersDefaultValue = 1; + +/* + * Thread-local storage emulation. + * + * This works by replacing a global variable + * + * extern xmlError xmlLastError; + * + * with a macro that calls a function returning a pointer to the global in + * thread-local storage: + * + * xmlError *__xmlLastError(void); + * #define xmlError (*__xmlLastError()); + * + * The code can operate in a multitude of ways depending on the environment. + * First we support POSIX and Windows threads. Then we support both + * thread-local storage provided by the compiler and older methods like + * thread-specific data (pthreads) or TlsAlloc (Windows). + * + * To clean up thread-local storage, we use thread-specific data on POSIX. + * On Windows, we either use DllMain when compiling a DLL or a registered + * wait function for static builds. + * + * Compiler TLS isn't really useful for now. It can make allocation more + * robust on some platforms but it also increases the memory consumption + * of each thread by ~250 bytes whether it uses libxml2 or not. The main + * problem is that we have to deallocate strings in xmlLastError and C + * offers no simple way to deallocate dynamic data in _Thread_local + * variables. In C++, one could simply use a thread_local variable with a + * destructor. + * + * At some point, many of the deprecated globals can be removed, + * although things like global error handlers will take a while. + * Ultimately, the only crucial things seem to be xmlLastError and + * RNG state. xmlLastError already involves dynamic allocation, so it + * could be allocated dynamically as well, only storing a global + * pointer. + */ + +#ifdef LIBXML_THREAD_ENABLED + +#ifdef HAVE_WIN32_THREADS + #if defined(LIBXML_STATIC) && !defined(LIBXML_STATIC_FOR_DLL) + #define USE_WAIT_DTOR + #else + #define USE_DLL_MAIN + #endif +#endif + +/* + * On Darwin, thread-local storage destructors seem to be run before + * pthread thread-specific data destructors. This causes ASan to + * report a use-after-free. + * + * On Windows, we can't use TLS in static builds. The RegisterWait + * callback would run after TLS was deallocated. + */ +#if defined(XML_THREAD_LOCAL) && \ + !defined(__APPLE__) && \ + !defined(USE_WAIT_DTOR) +#define USE_TLS +#endif + +#ifdef HAVE_POSIX_THREADS + +/* + * On POSIX, we need thread-specific data even with thread-local storage + * to destroy indirect references from global state (xmlLastError) at + * thread exit. + */ +static pthread_key_t globalkey; + +#elif defined HAVE_WIN32_THREADS + +#ifndef USE_TLS +static DWORD globalkey = TLS_OUT_OF_INDEXES; +#endif + +#endif /* HAVE_WIN32_THREADS */ + +static void +xmlFreeGlobalState(void *state); + +#endif /* LIBXML_THREAD_ENABLED */ + +struct _xmlGlobalState { +#ifdef USE_TLS + int initialized; +#endif + +#ifdef USE_WAIT_DTOR + void *threadHandle; + void *waitHandle; +#endif + + unsigned localRngState[2]; + + xmlError lastError; + +#ifdef LIBXML_THREAD_ALLOC_ENABLED + xmlMallocFunc malloc; + xmlMallocFunc mallocAtomic; + xmlReallocFunc realloc; + xmlFreeFunc free; + xmlStrdupFunc memStrdup; +#endif + + int doValidityCheckingDefaultValue; + int getWarningsDefaultValue; + int keepBlanksDefaultValue; + int loadExtDtdDefaultValue; + int pedanticParserDefaultValue; + int substituteEntitiesDefaultValue; + +#ifdef LIBXML_OUTPUT_ENABLED + int indentTreeOutput; + const char *treeIndentString; + int saveNoEmptyTags; +#endif + + xmlGenericErrorFunc genericError; + void *genericErrorContext; + xmlStructuredErrorFunc structuredError; + void *structuredErrorContext; + + xmlRegisterNodeFunc registerNodeDefaultValue; + xmlDeregisterNodeFunc deregisterNodeDefaultValue; + + xmlParserInputBufferCreateFilenameFunc parserInputBufferCreateFilenameValue; + xmlOutputBufferCreateFilenameFunc outputBufferCreateFilenameValue; +}; + +typedef struct _xmlGlobalState xmlGlobalState; +typedef xmlGlobalState *xmlGlobalStatePtr; + +#ifdef LIBXML_THREAD_ENABLED + +#ifdef USE_TLS +static XML_THREAD_LOCAL xmlGlobalState globalState; +#endif + +#else /* LIBXML_THREAD_ENABLED */ + +static xmlGlobalState globalState; + +#endif /* LIBXML_THREAD_ENABLED */ + +/************************************************************************ + * * + * All the user accessible global variables of the library * + * * + ************************************************************************/ + +/** + * a strdup implementation with a type signature matching POSIX + * + * @param cur the input char * + * @returns a new xmlChar * or NULL + */ +static char * +xmlPosixStrdup(const char *cur) { + return((char*) xmlCharStrdup(cur)); +} + +/* + * Memory allocation routines + */ + +xmlFreeFunc xmlFree = free; +xmlMallocFunc xmlMalloc = malloc; +xmlMallocFunc xmlMallocAtomic = malloc; +xmlReallocFunc xmlRealloc = realloc; +xmlStrdupFunc xmlMemStrdup = xmlPosixStrdup; + +/* + * Parser defaults + */ + +static int xmlDoValidityCheckingDefaultValueThrDef = 0; +static int xmlGetWarningsDefaultValueThrDef = 1; +static int xmlLoadExtDtdDefaultValueThrDef = 0; +static int xmlPedanticParserDefaultValueThrDef = 0; +static int xmlKeepBlanksDefaultValueThrDef = 1; +static int xmlSubstituteEntitiesDefaultValueThrDef = 0; + +static xmlRegisterNodeFunc xmlRegisterNodeDefaultValueThrDef = NULL; +static xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValueThrDef = NULL; + +static xmlParserInputBufferCreateFilenameFunc +xmlParserInputBufferCreateFilenameValueThrDef = NULL; +static xmlOutputBufferCreateFilenameFunc +xmlOutputBufferCreateFilenameValueThrDef = NULL; + +static xmlGenericErrorFunc xmlGenericErrorThrDef = xmlGenericErrorDefaultFunc; +static xmlStructuredErrorFunc xmlStructuredErrorThrDef = NULL; +static void *xmlGenericErrorContextThrDef = NULL; +static void *xmlStructuredErrorContextThrDef = NULL; + +#ifdef LIBXML_OUTPUT_ENABLED +static int xmlIndentTreeOutputThrDef = 1; +static const char *xmlTreeIndentStringThrDef = " "; +static int xmlSaveNoEmptyTagsThrDef = 0; +#endif /* LIBXML_OUTPUT_ENABLED */ + +#ifdef LIBXML_SAX1_ENABLED +/** + * Default SAX version1 handler for XML, builds the DOM tree + * + * @deprecated This handler is unused and will be removed from future + * versions. + * + */ +const xmlSAXHandlerV1 xmlDefaultSAXHandler = { + xmlSAX2InternalSubset, + xmlSAX2IsStandalone, + xmlSAX2HasInternalSubset, + xmlSAX2HasExternalSubset, + xmlSAX2ResolveEntity, + xmlSAX2GetEntity, + xmlSAX2EntityDecl, + xmlSAX2NotationDecl, + xmlSAX2AttributeDecl, + xmlSAX2ElementDecl, + xmlSAX2UnparsedEntityDecl, + xmlSAX2SetDocumentLocator, + xmlSAX2StartDocument, + xmlSAX2EndDocument, + xmlSAX2StartElement, + xmlSAX2EndElement, + xmlSAX2Reference, + xmlSAX2Characters, + xmlSAX2Characters, + xmlSAX2ProcessingInstruction, + xmlSAX2Comment, + xmlParserWarning, + xmlParserError, + xmlParserError, + xmlSAX2GetParameterEntity, + xmlSAX2CDataBlock, + xmlSAX2ExternalSubset, + 1, +}; +#endif /* LIBXML_SAX1_ENABLED */ + +/** + * The default SAX Locator + * { getPublicId, getSystemId, getLineNumber, getColumnNumber} + * + * @deprecated Don't use + * + */ +const xmlSAXLocator xmlDefaultSAXLocator = { + xmlSAX2GetPublicId, + xmlSAX2GetSystemId, + xmlSAX2GetLineNumber, + xmlSAX2GetColumnNumber +}; + +#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_SAX1_ENABLED) +/** + * Default old SAX v1 handler for HTML, builds the DOM tree + * + * @deprecated This handler is unused and will be removed from future + * versions. + * + */ +const xmlSAXHandlerV1 htmlDefaultSAXHandler = { + xmlSAX2InternalSubset, + NULL, + NULL, + NULL, + NULL, + xmlSAX2GetEntity, + NULL, + NULL, + NULL, + NULL, + NULL, + xmlSAX2SetDocumentLocator, + xmlSAX2StartDocument, + xmlSAX2EndDocument, + xmlSAX2StartElement, + xmlSAX2EndElement, + NULL, + xmlSAX2Characters, + xmlSAX2IgnorableWhitespace, + xmlSAX2ProcessingInstruction, + xmlSAX2Comment, + xmlParserWarning, + xmlParserError, + xmlParserError, + NULL, + xmlSAX2CDataBlock, + NULL, + 1, +}; +#endif /* LIBXML_HTML_ENABLED */ + +static void +xmlInitGlobalState(xmlGlobalStatePtr gs); + +/************************************************************************ + * * + * Per thread global state handling * + * * + ************************************************************************/ + +/** + * @deprecated Alias for #xmlInitParser. + */ +void xmlInitGlobals(void) { + xmlInitParser(); +} + +/** + * Additional initialisation for multi-threading + */ +void xmlInitGlobalsInternal(void) { + xmlInitMutex(&xmlThrDefMutex); + +#ifdef HAVE_POSIX_THREADS + pthread_key_create(&globalkey, xmlFreeGlobalState); +#elif defined(HAVE_WIN32_THREADS) +#ifndef USE_TLS + if (globalkey == TLS_OUT_OF_INDEXES) + globalkey = TlsAlloc(); +#endif +#else /* no thread support */ + xmlInitGlobalState(&globalState); +#endif +} + +/** + * @deprecated This function is a no-op. Call #xmlCleanupParser + * to free global state but see the warnings there. #xmlCleanupParser + * should be only called once at program exit. In most cases, you don't + * have call cleanup functions at all. + */ +void xmlCleanupGlobals(void) { +} + +/** + * Additional cleanup for multi-threading + */ +void xmlCleanupGlobalsInternal(void) { + /* + * We assume that all other threads using the library have + * terminated and the last remaining thread calls + * xmlCleanupParser. + */ + +#ifdef HAVE_POSIX_THREADS + /* + * Free thread-specific data of last thread before calling + * pthread_key_delete. + */ + xmlGlobalState *gs = pthread_getspecific(globalkey); + if (gs != NULL) + xmlFreeGlobalState(gs); + pthread_key_delete(globalkey); +#elif defined(HAVE_WIN32_THREADS) +#if defined(USE_WAIT_DTOR) && !defined(USE_TLS) + if (globalkey != TLS_OUT_OF_INDEXES) { + xmlGlobalState* gs = (xmlGlobalState*)TlsGetValue(globalkey); + if (gs) { + /* Unregister the waiter for the thread to terminate, then go ahead + and free the global state. This avoids false positive reports of + memory leaks in applications where the main thread created the + global state; if the registered callback is waiting for the main + thread to terminate to free the global state, it won't get a + chance to run. + */ + if (gs->waitHandle != NULL) { + UnregisterWait(gs->waitHandle); + gs->waitHandle = NULL; + } + + if (gs->threadHandle != NULL) { + CloseHandle(gs->threadHandle); + gs->threadHandle = NULL; + } + + xmlFreeGlobalState(gs); + TlsSetValue(globalkey, NULL); + } + TlsFree(globalkey); + globalkey = TLS_OUT_OF_INDEXES; + } +#endif +#else /* no thread support */ + xmlResetError(&globalState.lastError); +#endif + + xmlCleanupMutex(&xmlThrDefMutex); +} + +#ifdef LIBXML_THREAD_ENABLED + +static void +xmlFreeGlobalState(void *state) +{ + xmlGlobalState *gs = (xmlGlobalState *) state; + + /* + * Free any memory allocated in the thread's error struct. If it + * weren't for this indirect allocation, we wouldn't need + * a destructor with thread-local storage at all! + */ + xmlResetError(&gs->lastError); +#ifndef USE_TLS + free(state); +#endif +} + +#if defined(USE_WAIT_DTOR) +static void WINAPI +xmlGlobalStateDtor(void *ctxt, unsigned char timedOut ATTRIBUTE_UNUSED) { + xmlGlobalStatePtr gs = ctxt; + + UnregisterWait(gs->waitHandle); + CloseHandle(gs->threadHandle); + xmlFreeGlobalState(gs); +} + +static int +xmlRegisterGlobalStateDtor(xmlGlobalState *gs) { + void *processHandle = GetCurrentProcess(); + void *threadHandle; + void *waitHandle; + + if (DuplicateHandle(processHandle, GetCurrentThread(), processHandle, + &threadHandle, 0, FALSE, DUPLICATE_SAME_ACCESS) == 0) { + return(-1); + } + + if (RegisterWaitForSingleObject(&waitHandle, threadHandle, + xmlGlobalStateDtor, gs, INFINITE, WT_EXECUTEONLYONCE) == 0) { + CloseHandle(threadHandle); + return(-1); + } + + gs->threadHandle = threadHandle; + gs->waitHandle = waitHandle; + return(0); +} +#endif /* USE_WAIT_DTOR */ + +#ifndef USE_TLS +/** + * Allocates a global state. This structure is used to + * hold all data for use by a thread when supporting backwards compatibility + * of libxml2 to pre-thread-safe behaviour. + * + * @returns the newly allocated xmlGlobalState or NULL in case of error + */ +static xmlGlobalStatePtr +xmlNewGlobalState(int allowFailure) +{ + xmlGlobalState *gs; + + /* + * We use malloc/free to allow accessing globals before setting + * custom memory allocators. + */ + gs = malloc(sizeof(xmlGlobalState)); + if (gs == NULL) { + if (allowFailure) + return(NULL); + + /* + * If an application didn't call xmlCheckThreadLocalStorage to make + * sure that global state could be allocated, it's too late to + * handle the error. + */ + xmlAbort("libxml2: Failed to allocate globals for thread\n" + "libxml2: See xmlCheckThreadLocalStorage\n"); + } + + memset(gs, 0, sizeof(xmlGlobalState)); + xmlInitGlobalState(gs); + return (gs); +} +#endif + +static xmlGlobalStatePtr +xmlGetThreadLocalStorage(int allowFailure) { + xmlGlobalState *gs; + + (void) allowFailure; + + xmlInitParser(); + +#ifdef USE_TLS + gs = &globalState; + if (gs->initialized == 0) + xmlInitGlobalState(gs); +#elif defined(HAVE_POSIX_THREADS) + gs = (xmlGlobalState *) pthread_getspecific(globalkey); + if (gs == NULL) + gs = xmlNewGlobalState(allowFailure); +#elif defined(HAVE_WIN32_THREADS) + gs = (xmlGlobalState *) TlsGetValue(globalkey); + if (gs == NULL) + gs = xmlNewGlobalState(allowFailure); +#else + gs = NULL; +#endif + + return(gs); +} + +#else /* LIBXML_THREAD_ENABLED */ + +static xmlGlobalStatePtr +xmlGetThreadLocalStorage(int allowFailure ATTRIBUTE_UNUSED) { + return(&globalState); +} + +#endif /* LIBXML_THREAD_ENABLED */ + +static void +xmlInitGlobalState(xmlGlobalStatePtr gs) { + gs->localRngState[0] = xmlGlobalRandom(); + gs->localRngState[1] = xmlGlobalRandom(); + + memset(&gs->lastError, 0, sizeof(xmlError)); + +#ifdef LIBXML_THREAD_ALLOC_ENABLED + /* XML_GLOBALS_ALLOC */ + gs->free = free; + gs->malloc = malloc; + gs->mallocAtomic = malloc; + gs->realloc = realloc; + gs->memStrdup = xmlPosixStrdup; +#endif + + xmlMutexLock(&xmlThrDefMutex); + + /* XML_GLOBALS_PARSER */ + gs->doValidityCheckingDefaultValue = + xmlDoValidityCheckingDefaultValueThrDef; + gs->getWarningsDefaultValue = xmlGetWarningsDefaultValueThrDef; + gs->keepBlanksDefaultValue = xmlKeepBlanksDefaultValueThrDef; + gs->loadExtDtdDefaultValue = xmlLoadExtDtdDefaultValueThrDef; + gs->pedanticParserDefaultValue = xmlPedanticParserDefaultValueThrDef; + gs->substituteEntitiesDefaultValue = + xmlSubstituteEntitiesDefaultValueThrDef; +#ifdef LIBXML_OUTPUT_ENABLED + gs->indentTreeOutput = xmlIndentTreeOutputThrDef; + gs->treeIndentString = xmlTreeIndentStringThrDef; + gs->saveNoEmptyTags = xmlSaveNoEmptyTagsThrDef; +#endif + + /* XML_GLOBALS_ERROR */ + gs->genericError = xmlGenericErrorThrDef; + gs->structuredError = xmlStructuredErrorThrDef; + gs->genericErrorContext = xmlGenericErrorContextThrDef; + gs->structuredErrorContext = xmlStructuredErrorContextThrDef; + + /* XML_GLOBALS_TREE */ + gs->registerNodeDefaultValue = xmlRegisterNodeDefaultValueThrDef; + gs->deregisterNodeDefaultValue = xmlDeregisterNodeDefaultValueThrDef; + + /* XML_GLOBALS_IO */ + gs->parserInputBufferCreateFilenameValue = + xmlParserInputBufferCreateFilenameValueThrDef; + gs->outputBufferCreateFilenameValue = + xmlOutputBufferCreateFilenameValueThrDef; + + xmlMutexUnlock(&xmlThrDefMutex); + +#ifdef USE_TLS + gs->initialized = 1; +#endif + +#ifdef HAVE_POSIX_THREADS + pthread_setspecific(globalkey, gs); +#elif defined HAVE_WIN32_THREADS +#ifndef USE_TLS + TlsSetValue(globalkey, gs); +#endif +#ifdef USE_WAIT_DTOR + xmlRegisterGlobalStateDtor(gs); +#endif +#endif +} + +const xmlError * +__xmlLastError(void) { + return(&xmlGetThreadLocalStorage(0)->lastError); +} + +int * +__xmlDoValidityCheckingDefaultValue(void) { + return(&xmlGetThreadLocalStorage(0)->doValidityCheckingDefaultValue); +} + +int * +__xmlGetWarningsDefaultValue(void) { + return(&xmlGetThreadLocalStorage(0)->getWarningsDefaultValue); +} + +int * +__xmlKeepBlanksDefaultValue(void) { + return(&xmlGetThreadLocalStorage(0)->keepBlanksDefaultValue); +} + +int * +__xmlLineNumbersDefaultValue(void) { + return(&lineNumbersDefaultValue); +} + +int * +__xmlLoadExtDtdDefaultValue(void) { + return(&xmlGetThreadLocalStorage(0)->loadExtDtdDefaultValue); +} + +int * +__xmlPedanticParserDefaultValue(void) { + return(&xmlGetThreadLocalStorage(0)->pedanticParserDefaultValue); +} + +int * +__xmlSubstituteEntitiesDefaultValue(void) { + return(&xmlGetThreadLocalStorage(0)->substituteEntitiesDefaultValue); +} + +#ifdef LIBXML_OUTPUT_ENABLED +int * +__xmlIndentTreeOutput(void) { + return(&xmlGetThreadLocalStorage(0)->indentTreeOutput); +} + +const char ** +__xmlTreeIndentString(void) { + return(&xmlGetThreadLocalStorage(0)->treeIndentString); +} + +int * +__xmlSaveNoEmptyTags(void) { + return(&xmlGetThreadLocalStorage(0)->saveNoEmptyTags); +} +#endif + +xmlGenericErrorFunc * +__xmlGenericError(void) { + return(&xmlGetThreadLocalStorage(0)->genericError); +} + +void ** +__xmlGenericErrorContext(void) { + return(&xmlGetThreadLocalStorage(0)->genericErrorContext); +} + +xmlStructuredErrorFunc * +__xmlStructuredError(void) { + return(&xmlGetThreadLocalStorage(0)->structuredError); +} + +void ** +__xmlStructuredErrorContext(void) { + return(&xmlGetThreadLocalStorage(0)->structuredErrorContext); +} + +xmlRegisterNodeFunc * +__xmlRegisterNodeDefaultValue(void) { + return(&xmlGetThreadLocalStorage(0)->registerNodeDefaultValue); +} + +xmlDeregisterNodeFunc * +__xmlDeregisterNodeDefaultValue(void) { + return(&xmlGetThreadLocalStorage(0)->deregisterNodeDefaultValue); +} + +xmlParserInputBufferCreateFilenameFunc * +__xmlParserInputBufferCreateFilenameValue(void) { + return(&xmlGetThreadLocalStorage(0)->parserInputBufferCreateFilenameValue); +} + +xmlOutputBufferCreateFilenameFunc * +__xmlOutputBufferCreateFilenameValue(void) { + return(&xmlGetThreadLocalStorage(0)->outputBufferCreateFilenameValue); +} + +#ifdef LIBXML_THREAD_ALLOC_ENABLED +xmlMallocFunc * +__xmlMalloc(void) { + return(&xmlGetThreadLocalStorage(0)->malloc); +} + +xmlMallocFunc * +__xmlMallocAtomic(void) { + return(&xmlGetThreadLocalStorage(0)->mallocAtomic); +} + +xmlReallocFunc * +__xmlRealloc(void) { + return(&xmlGetThreadLocalStorage(0)->realloc); +} + +xmlFreeFunc * +__xmlFree(void) { + return(&xmlGetThreadLocalStorage(0)->free); +} + +xmlStrdupFunc * +__xmlMemStrdup(void) { + return(&xmlGetThreadLocalStorage(0)->memStrdup); +} +#endif /* LIBXML_THREAD_ALLOC_ENABLED */ + +/** + * @returns the local RNG state. + */ +unsigned * +xmlGetLocalRngState(void) { + return(xmlGetThreadLocalStorage(0)->localRngState); +} + +/** + * Check whether thread-local storage could be allocated. + * + * In cross-platform code running in multithreaded environments, this + * function should be called once in each thread before calling other + * library functions to make sure that thread-local storage was + * allocated properly. + * + * @since 2.12.0 + * @returns 0 on success or -1 if a memory allocation failed. A failed + * allocation signals a typically fatal and irrecoverable out-of-memory + * situation. Don't call any library functions in this case. + */ +int +xmlCheckThreadLocalStorage(void) { +#if defined(LIBXML_THREAD_ENABLED) && !defined(USE_TLS) + if (xmlGetThreadLocalStorage(1) == NULL) + return(-1); +#endif + return(0); +} + +/** + * @returns a pointer to the global error struct. + */ +xmlError * +xmlGetLastErrorInternal(void) { + return(&xmlGetThreadLocalStorage(0)->lastError); +} + +#ifdef USE_DLL_MAIN +/** + * Entry point for Windows library. It is being used to free thread-specific + * storage. + * + * @param hinstDLL handle to DLL instance + * @param fdwReason Reason code for entry + * @param lpvReserved generic pointer (depends upon reason code) + * @returns TRUE always + */ +#if defined(LIBXML_STATIC_FOR_DLL) +int +xmlDllMain(ATTRIBUTE_UNUSED void *hinstDLL, unsigned long fdwReason, + ATTRIBUTE_UNUSED void *lpvReserved) +#else + +/* + * Declare to avoid "no previous prototype for 'DllMain'" warning. + * + * Note that we do NOT want to include this function declaration in + * a public header because it's meant to be called by Windows itself, + * not a program that uses this library. + * + * It is a mistake to export this function, but changing that seems + * to break the ABI. + */ +XMLPUBFUN BOOL WINAPI +DllMain (HINSTANCE hinstDLL, + DWORD fdwReason, + LPVOID lpvReserved); + +BOOL WINAPI +DllMain(ATTRIBUTE_UNUSED HINSTANCE hinstDLL, DWORD fdwReason, + ATTRIBUTE_UNUSED LPVOID lpvReserved) +#endif +{ + if ((fdwReason == DLL_THREAD_DETACH) || + (fdwReason == DLL_PROCESS_DETACH)) { +#ifdef USE_TLS + xmlFreeGlobalState(&globalState); +#else + if (globalkey != TLS_OUT_OF_INDEXES) { + xmlGlobalState *globalval; + + globalval = (xmlGlobalState *) TlsGetValue(globalkey); + if (globalval) { + xmlFreeGlobalState(globalval); + TlsSetValue(globalkey, NULL); + } + } +#endif + } + +#ifndef LIBXML_THREAD_ALLOC_ENABLED + if (fdwReason == DLL_PROCESS_DETACH) { + if (xmlFree == free) + xmlCleanupParser(); + if (globalkey != TLS_OUT_OF_INDEXES) { + TlsFree(globalkey); + globalkey = TLS_OUT_OF_INDEXES; + } + } +#endif + + return TRUE; +} +#endif /* USE_DLL_MAIN */ + +/** + * Set per-thread default value. + * + * @deprecated Call #xmlSetGenericErrorFunc in each thread. + * + * @param ctx user data + * @param handler error handler + */ +void +xmlThrDefSetGenericErrorFunc(void *ctx, xmlGenericErrorFunc handler) { + xmlMutexLock(&xmlThrDefMutex); + xmlGenericErrorContextThrDef = ctx; + if (handler != NULL) + xmlGenericErrorThrDef = handler; + else + xmlGenericErrorThrDef = xmlGenericErrorDefaultFunc; + xmlMutexUnlock(&xmlThrDefMutex); +} + +/** + * Set per-thread default value. + * + * @deprecated Call #xmlSetStructuredErrorFunc in each thread. + * + * @param ctx user data + * @param handler error handler + */ +void +xmlThrDefSetStructuredErrorFunc(void *ctx, xmlStructuredErrorFunc handler) { + xmlMutexLock(&xmlThrDefMutex); + xmlStructuredErrorContextThrDef = ctx; + xmlStructuredErrorThrDef = handler; + xmlMutexUnlock(&xmlThrDefMutex); +} + +/** + * Set per-thread default value. + * + * @deprecated Use xmlParserOption XML_PARSE_DTDVALID. + * + * @param v new value + * @returns the old value + */ +int xmlThrDefDoValidityCheckingDefaultValue(int v) { + int ret; + xmlMutexLock(&xmlThrDefMutex); + ret = xmlDoValidityCheckingDefaultValueThrDef; + xmlDoValidityCheckingDefaultValueThrDef = v; + xmlMutexUnlock(&xmlThrDefMutex); + return ret; +} + +/** + * Set per-thread default value. + * + * @deprecated Use xmlParserOption XML_PARSE_NOWARNING. + * + * @param v new value + * @returns the old value + */ +int xmlThrDefGetWarningsDefaultValue(int v) { + int ret; + xmlMutexLock(&xmlThrDefMutex); + ret = xmlGetWarningsDefaultValueThrDef; + xmlGetWarningsDefaultValueThrDef = v; + xmlMutexUnlock(&xmlThrDefMutex); + return ret; +} + +#ifdef LIBXML_OUTPUT_ENABLED +/** + * Set per-thread default value. + * + * @deprecated Indenting is enabled by default. Use the xmlsave.h API + * and xmlSaveOption XML_SAVE_NO_INDENT to disable indenting. + * + * @param v new value + * @returns the old value + */ +int xmlThrDefIndentTreeOutput(int v) { + int ret; + xmlMutexLock(&xmlThrDefMutex); + ret = xmlIndentTreeOutputThrDef; + xmlIndentTreeOutputThrDef = v; + xmlMutexUnlock(&xmlThrDefMutex); + return ret; +} + +/** + * Set per-thread default value. + * + * @deprecated Use the xmlsave.h API and #xmlSaveSetIndentString. + * + * @param v new value + * @returns the old value + */ +const char * xmlThrDefTreeIndentString(const char * v) { + const char * ret; + xmlMutexLock(&xmlThrDefMutex); + ret = xmlTreeIndentStringThrDef; + xmlTreeIndentStringThrDef = v; + xmlMutexUnlock(&xmlThrDefMutex); + return ret; +} + +/** + * Set per-thread default value. + * + * @deprecated Use the xmlsave.h API and xmlSaveOption XML_SAVE_NO_EMPTY. + * + * @param v new value + * @returns the old value + */ +int xmlThrDefSaveNoEmptyTags(int v) { + int ret; + xmlMutexLock(&xmlThrDefMutex); + ret = xmlSaveNoEmptyTagsThrDef; + xmlSaveNoEmptyTagsThrDef = v; + xmlMutexUnlock(&xmlThrDefMutex); + return ret; +} +#endif + +/** + * Set per-thread default value. + * + * @deprecated Whitespace is kept by default. Use xmlParserOption + * XML_PARSE_NOBLANKS to remove whitespace. + * + * @param v new value + * @returns the old value + */ +int xmlThrDefKeepBlanksDefaultValue(int v) { + int ret; + xmlMutexLock(&xmlThrDefMutex); + ret = xmlKeepBlanksDefaultValueThrDef; + xmlKeepBlanksDefaultValueThrDef = v; + xmlMutexUnlock(&xmlThrDefMutex); + return ret; +} + +/** + * Set per-thread default value. + * + * @deprecated Has no effect. + * + * @param v unused + * @returns 1 + */ +int xmlThrDefLineNumbersDefaultValue(int v ATTRIBUTE_UNUSED) { + return 1; +} + +/** + * Set per-thread default value. + * + * @deprecated Use xmlParserOption XML_PARSE_DTDLOAD. + * + * @param v new value + * @returns the old value + */ +int xmlThrDefLoadExtDtdDefaultValue(int v) { + int ret; + xmlMutexLock(&xmlThrDefMutex); + ret = xmlLoadExtDtdDefaultValueThrDef; + xmlLoadExtDtdDefaultValueThrDef = v; + xmlMutexUnlock(&xmlThrDefMutex); + return ret; +} + +/** + * Set per-thread default value. + * + * @deprecated Use xmlParserOption XML_PARSE_PEDANTIC. + * + * @param v new value + * @returns the old value + */ +int xmlThrDefPedanticParserDefaultValue(int v) { + int ret; + xmlMutexLock(&xmlThrDefMutex); + ret = xmlPedanticParserDefaultValueThrDef; + xmlPedanticParserDefaultValueThrDef = v; + xmlMutexUnlock(&xmlThrDefMutex); + return ret; +} + +/** + * Set per-thread default value. + * + * @deprecated Use xmlParserOption XML_PARSE_NOENT. + * + * @param v new value + * @returns the old value + */ +int xmlThrDefSubstituteEntitiesDefaultValue(int v) { + int ret; + xmlMutexLock(&xmlThrDefMutex); + ret = xmlSubstituteEntitiesDefaultValueThrDef; + xmlSubstituteEntitiesDefaultValueThrDef = v; + xmlMutexUnlock(&xmlThrDefMutex); + return ret; +} + +/** + * Set per-thread default value. + * + * @deprecated This feature will be removed. + * + * @param func new value + * @returns the old value + */ +xmlRegisterNodeFunc +xmlThrDefRegisterNodeDefault(xmlRegisterNodeFunc func) +{ + xmlRegisterNodeFunc old; + + xmlMutexLock(&xmlThrDefMutex); + old = xmlRegisterNodeDefaultValueThrDef; + + xmlRegisterCallbacks = 1; + xmlRegisterNodeDefaultValueThrDef = func; + xmlMutexUnlock(&xmlThrDefMutex); + + return(old); +} + +/** + * Set per-thread default value. + * + * @deprecated This feature will be removed. + * + * @param func new value + * @returns the old value + */ +xmlDeregisterNodeFunc +xmlThrDefDeregisterNodeDefault(xmlDeregisterNodeFunc func) +{ + xmlDeregisterNodeFunc old; + + xmlMutexLock(&xmlThrDefMutex); + old = xmlDeregisterNodeDefaultValueThrDef; + + xmlRegisterCallbacks = 1; + xmlDeregisterNodeDefaultValueThrDef = func; + xmlMutexUnlock(&xmlThrDefMutex); + + return(old); +} + +/** + * Set per-thread default value. + * + * @deprecated Call #xmlParserInputBufferCreateFilenameDefault + * in each thread. + * + * @param func new value + * @returns the old value + */ +xmlParserInputBufferCreateFilenameFunc +xmlThrDefParserInputBufferCreateFilenameDefault(xmlParserInputBufferCreateFilenameFunc func) +{ + xmlParserInputBufferCreateFilenameFunc old; + + xmlMutexLock(&xmlThrDefMutex); + old = xmlParserInputBufferCreateFilenameValueThrDef; + if (old == NULL) { + old = __xmlParserInputBufferCreateFilename; + } + + xmlParserInputBufferCreateFilenameValueThrDef = func; + xmlMutexUnlock(&xmlThrDefMutex); + + return(old); +} + +/** + * Set per-thread default value. + * + * @deprecated Call #xmlOutputBufferCreateFilenameDefault + * in each thread. + * + * @param func new value + * @returns the old value + */ +xmlOutputBufferCreateFilenameFunc +xmlThrDefOutputBufferCreateFilenameDefault(xmlOutputBufferCreateFilenameFunc func) +{ + xmlOutputBufferCreateFilenameFunc old; + + xmlMutexLock(&xmlThrDefMutex); + old = xmlOutputBufferCreateFilenameValueThrDef; +#ifdef LIBXML_OUTPUT_ENABLED + if (old == NULL) { + old = __xmlOutputBufferCreateFilename; + } +#endif + xmlOutputBufferCreateFilenameValueThrDef = func; + xmlMutexUnlock(&xmlThrDefMutex); + + return(old); +} + diff --git a/libxml2/hash.c b/libxml2/hash.c new file mode 100644 index 0000000..b2f1423 --- /dev/null +++ b/libxml2/hash.c @@ -0,0 +1,1297 @@ +/* + * hash.c: hash tables + * + * Hash table with open addressing, linear probing and + * Robin Hood reordering. + * + * See Copyright for the status of this software. + */ + +#define IN_LIBXML +#include "libxml.h" + +#include +#include + +#include +#include +#include +#include +#include + +#include "private/dict.h" + +#ifndef SIZE_MAX + #define SIZE_MAX ((size_t) -1) +#endif + +#define MAX_FILL_NUM 7 +#define MAX_FILL_DENOM 8 +#define MIN_HASH_SIZE 8 +#define MAX_HASH_SIZE (1u << 31) + +/* + * A single entry in the hash table + */ +typedef struct { + unsigned hashValue; /* 0 means unoccupied, occupied entries have the + * MAX_HASH_SIZE bit set to 1 */ + xmlChar *key; + xmlChar *key2; /* TODO: Don't allocate possibly empty keys */ + xmlChar *key3; + void *payload; +} xmlHashEntry; + +/* + * The entire hash table + */ +struct _xmlHashTable { + xmlHashEntry *table; + unsigned size; /* power of two */ + unsigned nbElems; + xmlDictPtr dict; + unsigned randomSeed; +}; + +static int +xmlHashGrow(xmlHashTablePtr hash, unsigned size); + +ATTRIBUTE_NO_SANITIZE_INTEGER +static unsigned +xmlHashValue(unsigned seed, const xmlChar *key, const xmlChar *key2, + const xmlChar *key3, size_t *lengths) { + unsigned h1, h2; + size_t i; + + HASH_INIT(h1, h2, seed); + + for (i = 0; key[i] != 0; i++) { + HASH_UPDATE(h1, h2, key[i]); + } + if (lengths) + lengths[0] = i; + + HASH_UPDATE(h1, h2, 0); + + if (key2 != NULL) { + for (i = 0; key2[i] != 0; i++) { + HASH_UPDATE(h1, h2, key2[i]); + } + if (lengths) + lengths[1] = i; + } + + HASH_UPDATE(h1, h2, 0); + + if (key3 != NULL) { + for (i = 0; key3[i] != 0; i++) { + HASH_UPDATE(h1, h2, key3[i]); + } + if (lengths) + lengths[2] = i; + } + + HASH_FINISH(h1, h2); + + return(h2); +} + +ATTRIBUTE_NO_SANITIZE_INTEGER +static unsigned +xmlHashQNameValue(unsigned seed, + const xmlChar *prefix, const xmlChar *name, + const xmlChar *prefix2, const xmlChar *name2, + const xmlChar *prefix3, const xmlChar *name3) { + unsigned h1, h2, ch; + + HASH_INIT(h1, h2, seed); + + if (prefix != NULL) { + while ((ch = *prefix++) != 0) { + HASH_UPDATE(h1, h2, ch); + } + HASH_UPDATE(h1, h2, ':'); + } + if (name != NULL) { + while ((ch = *name++) != 0) { + HASH_UPDATE(h1, h2, ch); + } + } + HASH_UPDATE(h1, h2, 0); + if (prefix2 != NULL) { + while ((ch = *prefix2++) != 0) { + HASH_UPDATE(h1, h2, ch); + } + HASH_UPDATE(h1, h2, ':'); + } + if (name2 != NULL) { + while ((ch = *name2++) != 0) { + HASH_UPDATE(h1, h2, ch); + } + } + HASH_UPDATE(h1, h2, 0); + if (prefix3 != NULL) { + while ((ch = *prefix3++) != 0) { + HASH_UPDATE(h1, h2, ch); + } + HASH_UPDATE(h1, h2, ':'); + } + if (name3 != NULL) { + while ((ch = *name3++) != 0) { + HASH_UPDATE(h1, h2, ch); + } + } + + HASH_FINISH(h1, h2); + + return(h2); +} + +/** + * Create a new hash table. Set size to zero if the number of entries + * can't be estimated. + * + * @param size initial size of the hash table + * @returns the newly created object, or NULL if a memory allocation failed. + */ +xmlHashTable * +xmlHashCreate(int size) { + xmlHashTablePtr hash; + + xmlInitParser(); + + hash = xmlMalloc(sizeof(*hash)); + if (hash == NULL) + return(NULL); + hash->dict = NULL; + hash->size = 0; + hash->table = NULL; + hash->nbElems = 0; + hash->randomSeed = xmlRandom(); +#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION + hash->randomSeed = 0; +#endif + + /* + * Unless a larger size is passed, the backing table is created + * lazily with MIN_HASH_SIZE capacity. In practice, there are many + * hash tables which are never filled. + */ + if (size > MIN_HASH_SIZE) { + unsigned newSize = MIN_HASH_SIZE * 2; + + while ((newSize < (unsigned) size) && (newSize < MAX_HASH_SIZE)) + newSize *= 2; + + if (xmlHashGrow(hash, newSize) != 0) { + xmlFree(hash); + return(NULL); + } + } + + return(hash); +} + +/** + * Create a new hash table backed by a dictionary. This can reduce + * resource usage considerably if most keys passed to API functions + * originate from this dictionary. + * + * @param size the size of the hash table + * @param dict a dictionary to use for the hash + * @returns the newly created object, or NULL if a memory allocation failed. + */ +xmlHashTable * +xmlHashCreateDict(int size, xmlDict *dict) { + xmlHashTablePtr hash; + + hash = xmlHashCreate(size); + if (hash != NULL) { + hash->dict = dict; + xmlDictReference(dict); + } + return(hash); +} + +/** + * Free the hash and its contents. The payload is deallocated with + * `dealloc` if provided. + * + * @param hash hash table + * @param dealloc deallocator function or NULL + */ +void +xmlHashFree(xmlHashTable *hash, xmlHashDeallocator dealloc) { + if (hash == NULL) + return; + + if (hash->table) { + const xmlHashEntry *end = &hash->table[hash->size]; + const xmlHashEntry *entry; + + for (entry = hash->table; entry < end; entry++) { + if (entry->hashValue == 0) + continue; + if ((dealloc != NULL) && (entry->payload != NULL)) + dealloc(entry->payload, entry->key); + if (hash->dict == NULL) { + if (entry->key) + xmlFree(entry->key); + if (entry->key2) + xmlFree(entry->key2); + if (entry->key3) + xmlFree(entry->key3); + } + } + + xmlFree(hash->table); + } + + if (hash->dict) + xmlDictFree(hash->dict); + + xmlFree(hash); +} + +/** + * Compare two strings for equality, allowing NULL values. + * + * @param s1 string + * @param s2 string + */ +static int +xmlFastStrEqual(const xmlChar *s1, const xmlChar *s2) { + if (s1 == NULL) + return(s2 == NULL); + else + return((s2 != NULL) && + (strcmp((const char *) s1, (const char *) s2) == 0)); +} + +/** + * Try to find a matching hash table entry. If an entry was found, set + * `found` to 1 and return the entry. Otherwise, set `found` to 0 and return + * the location where a new entry should be inserted. + * + * @param hash hash table, non-NULL, size > 0 + * @param key first string key, non-NULL + * @param key2 second string key + * @param key3 third string key + * @param hashValue valid hash value of keys + * @param pfound result of search + */ +ATTRIBUTE_NO_SANITIZE_INTEGER +static xmlHashEntry * +xmlHashFindEntry(const xmlHashTable *hash, const xmlChar *key, + const xmlChar *key2, const xmlChar *key3, + unsigned hashValue, int *pfound) { + xmlHashEntry *entry; + unsigned mask, pos, displ; + int found = 0; + + mask = hash->size - 1; + pos = hashValue & mask; + entry = &hash->table[pos]; + + if (entry->hashValue != 0) { + /* + * Robin hood hashing: abort if the displacement of the entry + * is smaller than the displacement of the key we look for. + * This also stops at the correct position when inserting. + */ + displ = 0; + hashValue |= MAX_HASH_SIZE; + + do { + if (entry->hashValue == hashValue) { + if (hash->dict) { + if ((entry->key == key) && + (entry->key2 == key2) && + (entry->key3 == key3)) { + found = 1; + break; + } + } + if ((strcmp((const char *) entry->key, + (const char *) key) == 0) && + (xmlFastStrEqual(entry->key2, key2)) && + (xmlFastStrEqual(entry->key3, key3))) { + found = 1; + break; + } + } + + displ++; + pos++; + entry++; + if ((pos & mask) == 0) + entry = hash->table; + } while ((entry->hashValue != 0) && + (((pos - entry->hashValue) & mask) >= displ)); + } + + *pfound = found; + return(entry); +} + +/** + * Resize the hash table. + * + * @param hash hash table + * @param size new size of the hash table + * @returns 0 in case of success, -1 if a memory allocation failed. + */ +static int +xmlHashGrow(xmlHashTablePtr hash, unsigned size) { + const xmlHashEntry *oldentry, *oldend, *end; + xmlHashEntry *table; + unsigned oldsize, i; + + /* Add 0 to avoid spurious -Wtype-limits warning on 64-bit GCC */ + if ((size_t) size + 0 > SIZE_MAX / sizeof(table[0])) + return(-1); + table = xmlMalloc(size * sizeof(table[0])); + if (table == NULL) + return(-1); + memset(table, 0, size * sizeof(table[0])); + + oldsize = hash->size; + if (oldsize == 0) + goto done; + + oldend = &hash->table[oldsize]; + end = &table[size]; + + /* + * Robin Hood sorting order is maintained if we + * + * - compute hash indices with modulo + * - resize by an integer factor + * - start to copy from the beginning of a probe sequence + */ + oldentry = hash->table; + while (oldentry->hashValue != 0) { + if (++oldentry >= oldend) + oldentry = hash->table; + } + + for (i = 0; i < oldsize; i++) { + if (oldentry->hashValue != 0) { + xmlHashEntry *entry = &table[oldentry->hashValue & (size - 1)]; + + while (entry->hashValue != 0) { + if (++entry >= end) + entry = table; + } + *entry = *oldentry; + } + + if (++oldentry >= oldend) + oldentry = hash->table; + } + + xmlFree(hash->table); + +done: + hash->table = table; + hash->size = size; + + return(0); +} + +/** + * Internal function to add or update hash entries. + * + * @param hash hash table + * @param key first string key + * @param key2 second string key + * @param key3 third string key + * @param payload pointer to the payload + * @param dealloc deallocator function for replaced item or NULL + * @param update whether existing entries should be updated + */ +ATTRIBUTE_NO_SANITIZE_INTEGER +static int +xmlHashUpdateInternal(xmlHashTable *hash, const xmlChar *key, + const xmlChar *key2, const xmlChar *key3, + void *payload, xmlHashDeallocator dealloc, int update) { + xmlChar *copy, *copy2, *copy3; + xmlHashEntry *entry = NULL; + size_t lengths[3] = {0, 0, 0}; + unsigned hashValue, newSize; + + if ((hash == NULL) || (key == NULL)) + return(-1); + + hashValue = xmlHashValue(hash->randomSeed, key, key2, key3, lengths); + + /* + * Check for an existing entry + */ + if (hash->size == 0) { + newSize = MIN_HASH_SIZE; + } else { + int found = 0; + + entry = xmlHashFindEntry(hash, key, key2, key3, hashValue, &found); + + if (found) { + if (update) { + if (dealloc) + dealloc(entry->payload, entry->key); + entry->payload = payload; + } + + return(0); + } + + if (hash->nbElems + 1 > hash->size / MAX_FILL_DENOM * MAX_FILL_NUM) { + /* This guarantees that nbElems < INT_MAX */ + if (hash->size >= MAX_HASH_SIZE) + return(-1); + newSize = hash->size * 2; + } else { + newSize = 0; + } + } + + /* + * Grow the hash table if needed + */ + if (newSize > 0) { + unsigned mask, displ, pos; + + if (xmlHashGrow(hash, newSize) != 0) + return(-1); + + /* + * Find new entry + */ + mask = hash->size - 1; + displ = 0; + pos = hashValue & mask; + entry = &hash->table[pos]; + + if (entry->hashValue != 0) { + do { + displ++; + pos++; + entry++; + if ((pos & mask) == 0) + entry = hash->table; + } while ((entry->hashValue != 0) && + ((pos - entry->hashValue) & mask) >= displ); + } + } + + /* + * Copy keys + */ + if (hash->dict != NULL) { + if (xmlDictOwns(hash->dict, key)) { + copy = (xmlChar *) key; + } else { + copy = (xmlChar *) xmlDictLookup(hash->dict, key, -1); + if (copy == NULL) + return(-1); + } + + if ((key2 == NULL) || (xmlDictOwns(hash->dict, key2))) { + copy2 = (xmlChar *) key2; + } else { + copy2 = (xmlChar *) xmlDictLookup(hash->dict, key2, -1); + if (copy2 == NULL) + return(-1); + } + if ((key3 == NULL) || (xmlDictOwns(hash->dict, key3))) { + copy3 = (xmlChar *) key3; + } else { + copy3 = (xmlChar *) xmlDictLookup(hash->dict, key3, -1); + if (copy3 == NULL) + return(-1); + } + } else { + copy = xmlMalloc(lengths[0] + 1); + if (copy == NULL) + return(-1); + memcpy(copy, key, lengths[0] + 1); + + if (key2 != NULL) { + copy2 = xmlMalloc(lengths[1] + 1); + if (copy2 == NULL) { + xmlFree(copy); + return(-1); + } + memcpy(copy2, key2, lengths[1] + 1); + } else { + copy2 = NULL; + } + + if (key3 != NULL) { + copy3 = xmlMalloc(lengths[2] + 1); + if (copy3 == NULL) { + xmlFree(copy); + xmlFree(copy2); + return(-1); + } + memcpy(copy3, key3, lengths[2] + 1); + } else { + copy3 = NULL; + } + } + + /* + * Shift the remainder of the probe sequence to the right + */ + if (entry->hashValue != 0) { + const xmlHashEntry *end = &hash->table[hash->size]; + const xmlHashEntry *cur = entry; + + do { + cur++; + if (cur >= end) + cur = hash->table; + } while (cur->hashValue != 0); + + if (cur < entry) { + /* + * If we traversed the end of the buffer, handle the part + * at the start of the buffer. + */ + memmove(&hash->table[1], hash->table, + (char *) cur - (char *) hash->table); + cur = end - 1; + hash->table[0] = *cur; + } + + memmove(&entry[1], entry, (char *) cur - (char *) entry); + } + + /* + * Populate entry + */ + entry->key = copy; + entry->key2 = copy2; + entry->key3 = copy3; + entry->payload = payload; + /* OR with MAX_HASH_SIZE to make sure that the value is non-zero */ + entry->hashValue = hashValue | MAX_HASH_SIZE; + + hash->nbElems++; + + return(1); +} + +/** + * Free a hash table entry with xmlFree. + * + * @param entry hash table entry + * @param key the entry's string key + */ +void +xmlHashDefaultDeallocator(void *entry, const xmlChar *key ATTRIBUTE_UNUSED) { + xmlFree(entry); +} + +/** + * Add a hash table entry. If an entry with this key already exists, + * payload will not be updated and 0 is returned. This return value + * can't be distinguished from out-of-memory errors, so this function + * should be used with care. + * + * @since 2.13.0 + * + * @param hash hash table + * @param key string key + * @param payload pointer to the payload + * @returns 1 on success, 0 if an entry exists and -1 in case of error. + */ +int +xmlHashAdd(xmlHashTable *hash, const xmlChar *key, void *payload) { + return(xmlHashUpdateInternal(hash, key, NULL, NULL, payload, NULL, 0)); +} + +/** + * Add a hash table entry with two strings as key. + * + * See #xmlHashAdd. + * + * @since 2.13.0 + * + * @param hash hash table + * @param key first string key + * @param key2 second string key + * @param payload pointer to the payload + * @returns 1 on success, 0 if an entry exists and -1 in case of error. + */ +int +xmlHashAdd2(xmlHashTable *hash, const xmlChar *key, + const xmlChar *key2, void *payload) { + return(xmlHashUpdateInternal(hash, key, key2, NULL, payload, NULL, 0)); +} + +/** + * Add a hash table entry with three strings as key. + * + * See #xmlHashAdd. + * + * @since 2.13.0 + * + * @param hash hash table + * @param key first string key + * @param key2 second string key + * @param key3 third string key + * @param payload pointer to the payload + * @returns 1 on success, 0 if an entry exists and -1 in case of error. + */ +int +xmlHashAdd3(xmlHashTable *hash, const xmlChar *key, + const xmlChar *key2, const xmlChar *key3, + void *payload) { + return(xmlHashUpdateInternal(hash, key, key2, key3, payload, NULL, 0)); +} + +/** + * Add a hash table entry. If an entry with this key already exists, + * payload will not be updated and -1 is returned. This return value + * can't be distinguished from out-of-memory errors, so this function + * should be used with care. + * + * NOTE: This function doesn't allow to distinguish malloc failures from + * existing entries. Use #xmlHashAdd instead. + * + * @param hash hash table + * @param key string key + * @param payload pointer to the payload + * @returns 0 on success and -1 in case of error. + */ +int +xmlHashAddEntry(xmlHashTable *hash, const xmlChar *key, void *payload) { + int res = xmlHashUpdateInternal(hash, key, NULL, NULL, payload, NULL, 0); + + if (res == 0) + res = -1; + else if (res == 1) + res = 0; + + return(res); +} + +/** + * Add a hash table entry with two strings as key. + * + * See #xmlHashAddEntry. + * + * @param hash hash table + * @param key first string key + * @param key2 second string key + * @param payload pointer to the payload + * @returns 0 on success and -1 in case of error. + */ +int +xmlHashAddEntry2(xmlHashTable *hash, const xmlChar *key, + const xmlChar *key2, void *payload) { + int res = xmlHashUpdateInternal(hash, key, key2, NULL, payload, NULL, 0); + + if (res == 0) + res = -1; + else if (res == 1) + res = 0; + + return(res); +} + +/** + * Add a hash table entry with three strings as key. + * + * See #xmlHashAddEntry. + * + * @param hash hash table + * @param key first string key + * @param key2 second string key + * @param key3 third string key + * @param payload pointer to the payload + * @returns 0 on success and -1 in case of error. + */ +int +xmlHashAddEntry3(xmlHashTable *hash, const xmlChar *key, + const xmlChar *key2, const xmlChar *key3, + void *payload) { + int res = xmlHashUpdateInternal(hash, key, key2, key3, payload, NULL, 0); + + if (res == 0) + res = -1; + else if (res == 1) + res = 0; + + return(res); +} + +/** + * Add a hash table entry. If an entry with this key already exists, + * the old payload will be freed and updated with the new value. + * + * @param hash hash table + * @param key string key + * @param payload pointer to the payload + * @param dealloc deallocator function for replaced item or NULL + * @returns 0 in case of success, -1 if a memory allocation failed. + */ +int +xmlHashUpdateEntry(xmlHashTable *hash, const xmlChar *key, + void *payload, xmlHashDeallocator dealloc) { + int res = xmlHashUpdateInternal(hash, key, NULL, NULL, payload, + dealloc, 1); + + if (res == 1) + res = 0; + + return(res); +} + +/** + * Add a hash table entry with two strings as key. + * + * See #xmlHashUpdateEntry. + * + * @param hash hash table + * @param key first string key + * @param key2 second string key + * @param payload pointer to the payload + * @param dealloc deallocator function for replaced item or NULL + * @returns 0 on success and -1 in case of error. + */ +int +xmlHashUpdateEntry2(xmlHashTable *hash, const xmlChar *key, + const xmlChar *key2, void *payload, + xmlHashDeallocator dealloc) { + int res = xmlHashUpdateInternal(hash, key, key2, NULL, payload, + dealloc, 1); + + if (res == 1) + res = 0; + + return(res); +} + +/** + * Add a hash table entry with three strings as key. + * + * See #xmlHashUpdateEntry. + * + * @param hash hash table + * @param key first string key + * @param key2 second string key + * @param key3 third string key + * @param payload pointer to the payload + * @param dealloc deallocator function for replaced item or NULL + * @returns 0 on success and -1 in case of error. + */ +int +xmlHashUpdateEntry3(xmlHashTable *hash, const xmlChar *key, + const xmlChar *key2, const xmlChar *key3, + void *payload, xmlHashDeallocator dealloc) { + int res = xmlHashUpdateInternal(hash, key, key2, key3, payload, + dealloc, 1); + + if (res == 1) + res = 0; + + return(res); +} + +/** + * Find the entry specified by `key`. + * + * @param hash hash table + * @param key string key + * @returns a pointer to the payload or NULL if no entry was found. + */ +void * +xmlHashLookup(xmlHashTable *hash, const xmlChar *key) { + return(xmlHashLookup3(hash, key, NULL, NULL)); +} + +/** + * Find the payload specified by the (`key`, `key2`) tuple. + * + * @param hash hash table + * @param key first string key + * @param key2 second string key + * @returns a pointer to the payload or NULL if no entry was found. + */ +void * +xmlHashLookup2(xmlHashTable *hash, const xmlChar *key, + const xmlChar *key2) { + return(xmlHashLookup3(hash, key, key2, NULL)); +} + +/** + * Find the payload specified by the QName `prefix:name` or `name`. + * + * @param hash hash table + * @param prefix prefix of the string key + * @param name local name of the string key + * @returns a pointer to the payload or NULL if no entry was found. + */ +void * +xmlHashQLookup(xmlHashTable *hash, const xmlChar *prefix, + const xmlChar *name) { + return(xmlHashQLookup3(hash, prefix, name, NULL, NULL, NULL, NULL)); +} + +/** + * Find the payload specified by the QNames tuple. + * + * @param hash hash table + * @param prefix first prefix + * @param name first local name + * @param prefix2 second prefix + * @param name2 second local name + * @returns a pointer to the payload or NULL if no entry was found. + */ +void * +xmlHashQLookup2(xmlHashTable *hash, const xmlChar *prefix, + const xmlChar *name, const xmlChar *prefix2, + const xmlChar *name2) { + return(xmlHashQLookup3(hash, prefix, name, prefix2, name2, NULL, NULL)); +} + +/** + * Find the payload specified by the (`key`, `key2`, `key3`) tuple. + * + * @param hash hash table + * @param key first string key + * @param key2 second string key + * @param key3 third string key + * @returns a pointer to the payload or NULL if no entry was found. + */ +void * +xmlHashLookup3(xmlHashTable *hash, const xmlChar *key, + const xmlChar *key2, const xmlChar *key3) { + const xmlHashEntry *entry; + unsigned hashValue; + int found; + + if ((hash == NULL) || (hash->size == 0) || (key == NULL)) + return(NULL); + hashValue = xmlHashValue(hash->randomSeed, key, key2, key3, NULL); + entry = xmlHashFindEntry(hash, key, key2, key3, hashValue, &found); + if (found) + return(entry->payload); + return(NULL); +} + +/** + * Find the payload specified by the QNames tuple. + * + * @param hash hash table + * @param prefix first prefix + * @param name first local name + * @param prefix2 second prefix + * @param name2 second local name + * @param prefix3 third prefix + * @param name3 third local name + * @returns a pointer to the payload or NULL if no entry was found. + */ +ATTRIBUTE_NO_SANITIZE_INTEGER +void * +xmlHashQLookup3(xmlHashTable *hash, + const xmlChar *prefix, const xmlChar *name, + const xmlChar *prefix2, const xmlChar *name2, + const xmlChar *prefix3, const xmlChar *name3) { + const xmlHashEntry *entry; + unsigned hashValue, mask, pos, displ; + + if ((hash == NULL) || (hash->size == 0) || (name == NULL)) + return(NULL); + + hashValue = xmlHashQNameValue(hash->randomSeed, prefix, name, prefix2, + name2, prefix3, name3); + mask = hash->size - 1; + pos = hashValue & mask; + entry = &hash->table[pos]; + + if (entry->hashValue != 0) { + displ = 0; + hashValue |= MAX_HASH_SIZE; + + do { + if ((hashValue == entry->hashValue) && + (xmlStrQEqual(prefix, name, entry->key)) && + (xmlStrQEqual(prefix2, name2, entry->key2)) && + (xmlStrQEqual(prefix3, name3, entry->key3))) + return(entry->payload); + + displ++; + pos++; + entry++; + if ((pos & mask) == 0) + entry = hash->table; + } while ((entry->hashValue != 0) && + (((pos - entry->hashValue) & mask) >= displ)); + } + + return(NULL); +} + +typedef struct { + xmlHashScanner scan; + void *data; +} stubData; + +static void +stubHashScannerFull(void *payload, void *data, const xmlChar *key, + const xmlChar *key2 ATTRIBUTE_UNUSED, + const xmlChar *key3 ATTRIBUTE_UNUSED) { + stubData *sdata = (stubData *) data; + sdata->scan(payload, sdata->data, key); +} + +/** + * Scan the hash `table` and apply `scan` to each value. + * + * @param hash hash table + * @param scan scanner function for items in the hash + * @param data extra data passed to `scan` + */ +void +xmlHashScan(xmlHashTable *hash, xmlHashScanner scan, void *data) { + stubData sdata; + sdata.data = data; + sdata.scan = scan; + xmlHashScanFull(hash, stubHashScannerFull, &sdata); +} + +/** + * Scan the hash `table` and apply `scan` to each value. + * + * @param hash hash table + * @param scan scanner function for items in the hash + * @param data extra data passed to `scan` + */ +void +xmlHashScanFull(xmlHashTable *hash, xmlHashScannerFull scan, void *data) { + const xmlHashEntry *entry, *end; + xmlHashEntry old; + unsigned i; + + if ((hash == NULL) || (hash->size == 0) || (scan == NULL)) + return; + + /* + * We must handle the case that a scanned entry is removed when executing + * the callback (xmlCleanSpecialAttr and possibly other places). + * + * Find the start of a probe sequence to avoid scanning entries twice if + * a deletion happens. + */ + entry = hash->table; + end = &hash->table[hash->size]; + while (entry->hashValue != 0) { + if (++entry >= end) + entry = hash->table; + } + + for (i = 0; i < hash->size; i++) { + if ((entry->hashValue != 0) && (entry->payload != NULL)) { + /* + * Make sure to rescan after a possible deletion. + */ + do { + old = *entry; + scan(entry->payload, data, entry->key, entry->key2, entry->key3); + } while ((entry->hashValue != 0) && + (entry->payload != NULL) && + ((entry->key != old.key) || + (entry->key2 != old.key2) || + (entry->key3 != old.key3))); + } + if (++entry >= end) + entry = hash->table; + } +} + +/** + * Scan the hash `table` and apply `scan` to each value matching + * (`key`, `key2`, `key3`) tuple. If one of the keys is null, + * the comparison is considered to match. + * + * @param hash hash table + * @param key first string key or NULL + * @param key2 second string key or NULL + * @param key3 third string key or NULL + * @param scan scanner function for items in the hash + * @param data extra data passed to `scan` + */ +void +xmlHashScan3(xmlHashTable *hash, const xmlChar *key, + const xmlChar *key2, const xmlChar *key3, + xmlHashScanner scan, void *data) { + stubData sdata; + sdata.data = data; + sdata.scan = scan; + xmlHashScanFull3(hash, key, key2, key3, stubHashScannerFull, &sdata); +} + +/** + * Scan the hash `table` and apply `scan` to each value matching + * (`key`, `key2`, `key3`) tuple. If one of the keys is null, + * the comparison is considered to match. + * + * @param hash hash table + * @param key first string key or NULL + * @param key2 second string key or NULL + * @param key3 third string key or NULL + * @param scan scanner function for items in the hash + * @param data extra data passed to `scan` + */ +void +xmlHashScanFull3(xmlHashTable *hash, const xmlChar *key, + const xmlChar *key2, const xmlChar *key3, + xmlHashScannerFull scan, void *data) { + const xmlHashEntry *entry, *end; + xmlHashEntry old; + unsigned i; + + if ((hash == NULL) || (hash->size == 0) || (scan == NULL)) + return; + + /* + * We must handle the case that a scanned entry is removed when executing + * the callback (xmlCleanSpecialAttr and possibly other places). + * + * Find the start of a probe sequence to avoid scanning entries twice if + * a deletion happens. + */ + entry = hash->table; + end = &hash->table[hash->size]; + while (entry->hashValue != 0) { + if (++entry >= end) + entry = hash->table; + } + + for (i = 0; i < hash->size; i++) { + if ((entry->hashValue != 0) && (entry->payload != NULL)) { + /* + * Make sure to rescan after a possible deletion. + */ + do { + if (((key != NULL) && (strcmp((const char *) key, + (const char *) entry->key) != 0)) || + ((key2 != NULL) && (!xmlFastStrEqual(key2, entry->key2))) || + ((key3 != NULL) && (!xmlFastStrEqual(key3, entry->key3)))) + break; + old = *entry; + scan(entry->payload, data, entry->key, entry->key2, entry->key3); + } while ((entry->hashValue != 0) && + (entry->payload != NULL) && + ((entry->key != old.key) || + (entry->key2 != old.key2) || + (entry->key3 != old.key3))); + } + if (++entry >= end) + entry = hash->table; + } +} + +/** + * @param hash hash table + * @param copyFunc copier function for items in the hash + * @param deallocFunc deallocation function in case of errors + * + * Copy the hash table using `copyFunc` to copy payloads. + * + * @since 2.13.0 + * + * @returns the new table or NULL if a memory allocation failed. + */ +xmlHashTable * +xmlHashCopySafe(xmlHashTable *hash, xmlHashCopier copyFunc, + xmlHashDeallocator deallocFunc) { + const xmlHashEntry *entry, *end; + xmlHashTablePtr ret; + + if ((hash == NULL) || (copyFunc == NULL)) + return(NULL); + + ret = xmlHashCreate(hash->size); + if (ret == NULL) + return(NULL); + + if (hash->size == 0) + return(ret); + + end = &hash->table[hash->size]; + + for (entry = hash->table; entry < end; entry++) { + if (entry->hashValue != 0) { + void *copy; + + copy = copyFunc(entry->payload, entry->key); + if (copy == NULL) + goto error; + if (xmlHashAdd3(ret, entry->key, entry->key2, entry->key3, + copy) <= 0) { + if (deallocFunc != NULL) + deallocFunc(copy, entry->key); + goto error; + } + } + } + + return(ret); + +error: + xmlHashFree(ret, deallocFunc); + return(NULL); +} + +/** + * @param hash hash table + * @param copy copier function for items in the hash + * + * @deprecated Leaks memory in error case. + * + * Copy the hash table using `copy` to copy payloads. + * + * @returns the new table or NULL if a memory allocation failed. + */ +xmlHashTable * +xmlHashCopy(xmlHashTable *hash, xmlHashCopier copy) { + return(xmlHashCopySafe(hash, copy, NULL)); +} + +/** + * Query the number of elements in the hash table. + * + * @param hash hash table + * @returns the number of elements in the hash table or + * -1 in case of error. + */ +int +xmlHashSize(xmlHashTable *hash) { + if (hash == NULL) + return(-1); + return(hash->nbElems); +} + +/** + * Find the entry specified by the `key` and remove it from the hash table. + * Payload will be freed with `dealloc`. + * + * @param hash hash table + * @param key string key + * @param dealloc deallocator function for removed item or NULL + * @returns 0 on success and -1 if no entry was found. + */ +int xmlHashRemoveEntry(xmlHashTable *hash, const xmlChar *key, + xmlHashDeallocator dealloc) { + return(xmlHashRemoveEntry3(hash, key, NULL, NULL, dealloc)); +} + +/** + * Remove an entry with two strings as key. + * + * See #xmlHashRemoveEntry. + * + * @param hash hash table + * @param key first string key + * @param key2 second string key + * @param dealloc deallocator function for removed item or NULL + * @returns 0 on success and -1 in case of error. + */ +int +xmlHashRemoveEntry2(xmlHashTable *hash, const xmlChar *key, + const xmlChar *key2, xmlHashDeallocator dealloc) { + return(xmlHashRemoveEntry3(hash, key, key2, NULL, dealloc)); +} + +/** + * Remove an entry with three strings as key. + * + * See #xmlHashRemoveEntry. + * + * @param hash hash table + * @param key first string key + * @param key2 second string key + * @param key3 third string key + * @param dealloc deallocator function for removed item or NULL + * @returns 0 on success and -1 in case of error. + */ +ATTRIBUTE_NO_SANITIZE_INTEGER +int +xmlHashRemoveEntry3(xmlHashTable *hash, const xmlChar *key, + const xmlChar *key2, const xmlChar *key3, + xmlHashDeallocator dealloc) { + xmlHashEntry *entry, *cur, *next; + unsigned hashValue, mask, pos, nextpos; + int found; + + if ((hash == NULL) || (hash->size == 0) || (key == NULL)) + return(-1); + + hashValue = xmlHashValue(hash->randomSeed, key, key2, key3, NULL); + entry = xmlHashFindEntry(hash, key, key2, key3, hashValue, &found); + if (!found) + return(-1); + + if ((dealloc != NULL) && (entry->payload != NULL)) + dealloc(entry->payload, entry->key); + if (hash->dict == NULL) { + if (entry->key) + xmlFree(entry->key); + if (entry->key2) + xmlFree(entry->key2); + if (entry->key3) + xmlFree(entry->key3); + } + + /* + * Find end of probe sequence. Entries at their initial probe + * position start a new sequence. + */ + mask = hash->size - 1; + pos = entry - hash->table; + cur = entry; + + while (1) { + nextpos = pos + 1; + next = cur + 1; + if ((nextpos & mask) == 0) + next = hash->table; + + if ((next->hashValue == 0) || + (((next->hashValue - nextpos) & mask) == 0)) + break; + + cur = next; + pos = nextpos; + } + + /* + * Backward shift + */ + next = entry + 1; + + if (cur < entry) { + xmlHashEntry *end = &hash->table[hash->size]; + + memmove(entry, next, (char *) end - (char *) next); + entry = hash->table; + end[-1] = *entry; + next = entry + 1; + } + + memmove(entry, next, (char *) cur - (char *) entry); + + /* + * Update entry + */ + cur->hashValue = 0; + + hash->nbElems--; + + return(0); +} + diff --git a/libxml2/include/Makefile.am b/libxml2/include/Makefile.am new file mode 100644 index 0000000..983add1 --- /dev/null +++ b/libxml2/include/Makefile.am @@ -0,0 +1,5 @@ +## Process this file with automake to produce Makefile.in +SUBDIRS=libxml private + +EXTRA_DIST = meson.build + diff --git a/libxml2/include/libxml/HTMLparser.h b/libxml2/include/libxml/HTMLparser.h new file mode 100644 index 0000000..2744ae8 --- /dev/null +++ b/libxml2/include/libxml/HTMLparser.h @@ -0,0 +1,397 @@ +/** + * @file + * + * @brief HTML parser, doesn't support HTML5 + * + * This module orginally implemented an HTML parser based on the + * (underspecified) HTML 4.0 spec. As of 2.14, the tokenizer + * conforms to HTML5. Tree construction still follows a custom, + * unspecified algorithm with many differences to HTML5. + * + * The parser defaults to ISO-8859-1, the default encoding of + * HTTP/1.0. + * + * @copyright See Copyright for the status of this software. + * + * @author Daniel Veillard + */ + +#ifndef __HTML_PARSER_H__ +#define __HTML_PARSER_H__ +#include +#include + +#ifdef LIBXML_HTML_ENABLED + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Backward compatibility + */ +#define UTF8ToHtml htmlUTF8ToHtml +#define htmlDefaultSubelement(elt) elt->defaultsubelt +#define htmlElementAllowedHereDesc(parent,elt) \ + htmlElementAllowedHere((parent), (elt)->name) +#define htmlRequiredAttrs(elt) (elt)->attrs_req + +/* + * Most of the back-end structures from XML and HTML are shared. + */ +/** Same as xmlParserCtxt */ +typedef xmlParserCtxt htmlParserCtxt; +typedef xmlParserCtxtPtr htmlParserCtxtPtr; +typedef xmlParserNodeInfo htmlParserNodeInfo; +/** Same as xmlSAXHandler */ +typedef xmlSAXHandler htmlSAXHandler; +typedef xmlSAXHandlerPtr htmlSAXHandlerPtr; +/** Same as xmlParserInput */ +typedef xmlParserInput htmlParserInput; +typedef xmlParserInputPtr htmlParserInputPtr; +typedef xmlDocPtr htmlDocPtr; +typedef xmlNodePtr htmlNodePtr; + +/** @cond ignore */ + +/* + * Internal description of an HTML element, representing HTML 4.01 + * and XHTML 1.0 (which share the same structure). + */ +typedef struct _htmlElemDesc htmlElemDesc; +typedef htmlElemDesc *htmlElemDescPtr; +struct _htmlElemDesc { + const char *name; /* The tag name */ + char startTag; /* unused */ + char endTag; /* Whether the end tag can be implied */ + char saveEndTag; /* unused */ + char empty; /* Is this an empty element ? */ + char depr; /* unused */ + char dtd; /* unused */ + char isinline; /* is this a block 0 or inline 1 element */ + const char *desc; /* the description */ + + const char** subelts XML_DEPRECATED_MEMBER; + const char* defaultsubelt XML_DEPRECATED_MEMBER; + const char** attrs_opt XML_DEPRECATED_MEMBER; + const char** attrs_depr XML_DEPRECATED_MEMBER; + const char** attrs_req XML_DEPRECATED_MEMBER; + + int dataMode; +}; + +/* + * Internal description of an HTML entity. + */ +typedef struct _htmlEntityDesc htmlEntityDesc; +typedef htmlEntityDesc *htmlEntityDescPtr; +struct _htmlEntityDesc { + unsigned int value; /* the UNICODE value for the character */ + const char *name; /* The entity name */ + const char *desc; /* the description */ +}; + +#ifdef LIBXML_SAX1_ENABLED +/** + * @deprecated Use #xmlSAX2InitHtmlDefaultSAXHandler + */ +XML_DEPRECATED +XMLPUBVAR const xmlSAXHandlerV1 htmlDefaultSAXHandler; +#endif /* LIBXML_SAX1_ENABLED */ + +/** @endcond */ + +/* + * There is only few public functions. + */ +XML_DEPRECATED +XMLPUBFUN void + htmlInitAutoClose (void); +XML_DEPRECATED +XMLPUBFUN const htmlElemDesc * + htmlTagLookup (const xmlChar *tag); +XML_DEPRECATED +XMLPUBFUN const htmlEntityDesc * + htmlEntityLookup(const xmlChar *name); +XML_DEPRECATED +XMLPUBFUN const htmlEntityDesc * + htmlEntityValueLookup(unsigned int value); + +XML_DEPRECATED +XMLPUBFUN int + htmlIsAutoClosed(xmlDoc *doc, + xmlNode *elem); +XML_DEPRECATED +XMLPUBFUN int + htmlAutoCloseTag(xmlDoc *doc, + const xmlChar *name, + xmlNode *elem); +XML_DEPRECATED +XMLPUBFUN const htmlEntityDesc * + htmlParseEntityRef(htmlParserCtxt *ctxt, + const xmlChar **str); +XML_DEPRECATED +XMLPUBFUN int + htmlParseCharRef(htmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN void + htmlParseElement(htmlParserCtxt *ctxt); + +XMLPUBFUN htmlParserCtxt * + htmlNewParserCtxt(void); +XMLPUBFUN htmlParserCtxt * + htmlNewSAXParserCtxt(const htmlSAXHandler *sax, + void *userData); + +XMLPUBFUN htmlParserCtxt * + htmlCreateMemoryParserCtxt(const char *buffer, + int size); + +XMLPUBFUN int + htmlParseDocument(htmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN xmlDoc * + htmlSAXParseDoc (const xmlChar *cur, + const char *encoding, + htmlSAXHandler *sax, + void *userData); +XMLPUBFUN xmlDoc * + htmlParseDoc (const xmlChar *cur, + const char *encoding); +XMLPUBFUN htmlParserCtxt * + htmlCreateFileParserCtxt(const char *filename, + const char *encoding); +XML_DEPRECATED +XMLPUBFUN xmlDoc * + htmlSAXParseFile(const char *filename, + const char *encoding, + htmlSAXHandler *sax, + void *userData); +XMLPUBFUN xmlDoc * + htmlParseFile (const char *filename, + const char *encoding); +XML_DEPRECATED +XMLPUBFUN int + htmlUTF8ToHtml (unsigned char *out, + int *outlen, + const unsigned char *in, + int *inlen); +XML_DEPRECATED +XMLPUBFUN int + htmlEncodeEntities(unsigned char *out, + int *outlen, + const unsigned char *in, + int *inlen, int quoteChar); +XML_DEPRECATED +XMLPUBFUN int + htmlIsScriptAttribute(const xmlChar *name); +XML_DEPRECATED +XMLPUBFUN int + htmlHandleOmittedElem(int val); + +#ifdef LIBXML_PUSH_ENABLED +/* + * Interfaces for the Push mode. + */ +XMLPUBFUN htmlParserCtxt * + htmlCreatePushParserCtxt(htmlSAXHandler *sax, + void *user_data, + const char *chunk, + int size, + const char *filename, + xmlCharEncoding enc); +XMLPUBFUN int + htmlParseChunk (htmlParserCtxt *ctxt, + const char *chunk, + int size, + int terminate); +#endif /* LIBXML_PUSH_ENABLED */ + +XMLPUBFUN void + htmlFreeParserCtxt (htmlParserCtxt *ctxt); + +/* + * New set of simpler/more flexible APIs + */ + +/** + * This is the set of HTML parser options that can be passed to + * #htmlReadDoc, #htmlCtxtSetOptions and other functions. + */ +typedef enum { + /** + * No effect as of 2.14.0. + */ + HTML_PARSE_RECOVER = 1<<0, + /** + * Do not default to a doctype if none was found. + */ + HTML_PARSE_NODEFDTD = 1<<2, + /** + * Disable error and warning reports to the error handlers. + * Errors are still accessible with xmlCtxtGetLastError(). + */ + HTML_PARSE_NOERROR = 1<<5, + /** + * Disable warning reports. + */ + HTML_PARSE_NOWARNING = 1<<6, + /** + * No effect. + */ + HTML_PARSE_PEDANTIC = 1<<7, + /** + * Remove some text nodes containing only whitespace from the + * result document. Which nodes are removed depends on a conservative + * heuristic. The reindenting feature of the serialization code relies + * on this option to be set when parsing. Use of this option is + * DISCOURAGED. + */ + HTML_PARSE_NOBLANKS = 1<<8, + /** + * No effect. + */ + HTML_PARSE_NONET = 1<<11, + /** + * Do not add implied html, head or body elements. + */ + HTML_PARSE_NOIMPLIED = 1<<13, + /** + * Store small strings directly in the node struct to save + * memory. + */ + HTML_PARSE_COMPACT = 1<<16, + /** + * Relax some internal limits. See XML_PARSE_HUGE in xmlParserOption. + * + * @since 2.14.0 + * + * Use XML_PARSE_HUGE with older versions. + */ + HTML_PARSE_HUGE = 1<<19, + /** + * Ignore the encoding in the HTML declaration. This option is + * mostly unneeded these days. The only effect is to enforce + * ISO-8859-1 decoding of ASCII-like data. + */ + HTML_PARSE_IGNORE_ENC =1<<21, + /** + * Enable reporting of line numbers larger than 65535. + * + * @since 2.14.0 + * + * Use XML_PARSE_BIG_LINES with older versions. + */ + HTML_PARSE_BIG_LINES = 1<<22, + /** + * Make the tokenizer emit a SAX callback for each token. This results + * in unbalanced invocations of startElement and endElement. + * + * For now, this is only usable to tokenize HTML5 with custom SAX + * callbacks. A tree builder isn't implemented yet. + * + * @since 2.14.0 + */ + HTML_PARSE_HTML5 = 1<<26 +} htmlParserOption; + +XMLPUBFUN void + htmlCtxtReset (htmlParserCtxt *ctxt); +XMLPUBFUN int + htmlCtxtSetOptions (htmlParserCtxt *ctxt, + int options); +XMLPUBFUN int + htmlCtxtUseOptions (htmlParserCtxt *ctxt, + int options); +XMLPUBFUN xmlDoc * + htmlReadDoc (const xmlChar *cur, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlDoc * + htmlReadFile (const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlDoc * + htmlReadMemory (const char *buffer, + int size, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlDoc * + htmlReadFd (int fd, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlDoc * + htmlReadIO (xmlInputReadCallback ioread, + xmlInputCloseCallback ioclose, + void *ioctx, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlDoc * + htmlCtxtParseDocument (htmlParserCtxt *ctxt, + xmlParserInput *input); +XMLPUBFUN xmlDoc * + htmlCtxtReadDoc (xmlParserCtxt *ctxt, + const xmlChar *cur, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlDoc * + htmlCtxtReadFile (xmlParserCtxt *ctxt, + const char *filename, + const char *encoding, + int options); +XMLPUBFUN xmlDoc * + htmlCtxtReadMemory (xmlParserCtxt *ctxt, + const char *buffer, + int size, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlDoc * + htmlCtxtReadFd (xmlParserCtxt *ctxt, + int fd, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlDoc * + htmlCtxtReadIO (xmlParserCtxt *ctxt, + xmlInputReadCallback ioread, + xmlInputCloseCallback ioclose, + void *ioctx, + const char *URL, + const char *encoding, + int options); + +/** + * deprecated content model + */ +typedef enum { + HTML_NA = 0 , /* something we don't check at all */ + HTML_INVALID = 0x1 , + HTML_DEPRECATED = 0x2 , + HTML_VALID = 0x4 , + HTML_REQUIRED = 0xc /* VALID bit set so ( & HTML_VALID ) is TRUE */ +} htmlStatus ; + +/* Using htmlElemDesc rather than name here, to emphasise the fact + that otherwise there's a lookup overhead +*/ +XML_DEPRECATED +XMLPUBFUN htmlStatus htmlAttrAllowed(const htmlElemDesc*, const xmlChar*, int) ; +XML_DEPRECATED +XMLPUBFUN int htmlElementAllowedHere(const htmlElemDesc*, const xmlChar*) ; +XML_DEPRECATED +XMLPUBFUN htmlStatus htmlElementStatusHere(const htmlElemDesc*, const htmlElemDesc*) ; +XML_DEPRECATED +XMLPUBFUN htmlStatus htmlNodeStatus(xmlNode *, int) ; + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_HTML_ENABLED */ +#endif /* __HTML_PARSER_H__ */ diff --git a/libxml2/include/libxml/HTMLtree.h b/libxml2/include/libxml/HTMLtree.h new file mode 100644 index 0000000..042f45e --- /dev/null +++ b/libxml2/include/libxml/HTMLtree.h @@ -0,0 +1,123 @@ +/** + * @file + * + * @brief HTML documents + * + * This modules implements functions to work with HTML documents, + * most of them related to serialization. + * + * @copyright See Copyright for the status of this software. + * + * @author Daniel Veillard + */ + +#ifndef __HTML_TREE_H__ +#define __HTML_TREE_H__ + +#include +#include +#include +#include + +#ifdef LIBXML_HTML_ENABLED + +#ifdef __cplusplus +extern "C" { +#endif + +/* Deprecated */ +/** @cond ignore */ +#define HTML_TEXT_NODE XML_TEXT_NODE +#define HTML_ENTITY_REF_NODE XML_ENTITY_REF_NODE +#define HTML_COMMENT_NODE XML_COMMENT_NODE +#define HTML_PRESERVE_NODE XML_CDATA_SECTION_NODE +#define HTML_PI_NODE XML_PI_NODE +/** @endcond */ + +XMLPUBFUN xmlDoc * + htmlNewDoc (const xmlChar *URI, + const xmlChar *ExternalID); +XMLPUBFUN xmlDoc * + htmlNewDocNoDtD (const xmlChar *URI, + const xmlChar *ExternalID); +XMLPUBFUN const xmlChar * + htmlGetMetaEncoding (xmlDoc *doc); +XMLPUBFUN int + htmlSetMetaEncoding (xmlDoc *doc, + const xmlChar *encoding); +#ifdef LIBXML_OUTPUT_ENABLED +XMLPUBFUN void + htmlDocDumpMemory (xmlDoc *cur, + xmlChar **mem, + int *size); +XMLPUBFUN void + htmlDocDumpMemoryFormat (xmlDoc *cur, + xmlChar **mem, + int *size, + int format); +XMLPUBFUN int + htmlSaveFile (const char *filename, + xmlDoc *cur); +XMLPUBFUN int + htmlSaveFileEnc (const char *filename, + xmlDoc *cur, + const char *encoding); +XMLPUBFUN int + htmlSaveFileFormat (const char *filename, + xmlDoc *cur, + const char *encoding, + int format); +XMLPUBFUN int + htmlNodeDump (xmlBuffer *buf, + xmlDoc *doc, + xmlNode *cur); +XMLPUBFUN int + htmlDocDump (FILE *f, + xmlDoc *cur); +XMLPUBFUN void + htmlNodeDumpFile (FILE *out, + xmlDoc *doc, + xmlNode *cur); +XMLPUBFUN int + htmlNodeDumpFileFormat (FILE *out, + xmlDoc *doc, + xmlNode *cur, + const char *encoding, + int format); + +XMLPUBFUN void + htmlNodeDumpOutput (xmlOutputBuffer *buf, + xmlDoc *doc, + xmlNode *cur, + const char *encoding); +XMLPUBFUN void + htmlNodeDumpFormatOutput(xmlOutputBuffer *buf, + xmlDoc *doc, + xmlNode *cur, + const char *encoding, + int format); +XMLPUBFUN void + htmlDocContentDumpOutput(xmlOutputBuffer *buf, + xmlDoc *cur, + const char *encoding); +XMLPUBFUN void + htmlDocContentDumpFormatOutput(xmlOutputBuffer *buf, + xmlDoc *cur, + const char *encoding, + int format); + +#endif /* LIBXML_OUTPUT_ENABLED */ + +XML_DEPRECATED +XMLPUBFUN int + htmlIsBooleanAttr (const xmlChar *name); + + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_HTML_ENABLED */ + +#endif /* __HTML_TREE_H__ */ + diff --git a/libxml2/include/libxml/Makefile.am b/libxml2/include/libxml/Makefile.am new file mode 100644 index 0000000..4451338 --- /dev/null +++ b/libxml2/include/libxml/Makefile.am @@ -0,0 +1,54 @@ +## Process this file with automake to produce Makefile.in + +xmlincdir = $(includedir)/libxml2/libxml + +xmlinc_HEADERS = \ + SAX.h \ + entities.h \ + encoding.h \ + parser.h \ + parserInternals.h \ + xmlerror.h \ + HTMLparser.h \ + HTMLtree.h \ + debugXML.h \ + tree.h \ + list.h \ + hash.h \ + xpath.h \ + xpathInternals.h \ + xpointer.h \ + xinclude.h \ + xmlIO.h \ + xmlmemory.h \ + nanohttp.h \ + nanoftp.h \ + uri.h \ + valid.h \ + xlink.h \ + catalog.h \ + threads.h \ + globals.h \ + c14n.h \ + xmlautomata.h \ + xmlregexp.h \ + xmlmodule.h \ + xmlschemas.h \ + schemasInternals.h \ + xmlschemastypes.h \ + xmlstring.h \ + xmlunicode.h \ + xmlreader.h \ + relaxng.h \ + dict.h \ + SAX2.h \ + xmlexports.h \ + xmlwriter.h \ + chvalid.h \ + pattern.h \ + xmlsave.h \ + schematron.h + +nodist_xmlinc_HEADERS = xmlversion.h + +EXTRA_DIST = xmlversion.h.in meson.build diff --git a/libxml2/include/libxml/SAX.h b/libxml2/include/libxml/SAX.h new file mode 100644 index 0000000..308efc1 --- /dev/null +++ b/libxml2/include/libxml/SAX.h @@ -0,0 +1,21 @@ +/** + * @file + * + * @brief Old SAX version 1 handler, deprecated + * + * @deprecated set of SAX version 1 interfaces used to + * build the DOM tree. + * + * @copyright See Copyright for the status of this software. + * + * @author Daniel Veillard + */ + +#ifndef __XML_SAX_H__ +#define __XML_SAX_H__ + +#ifdef __GNUC__ + #warning "libxml/SAX.h is deprecated" +#endif + +#endif /* __XML_SAX_H__ */ diff --git a/libxml2/include/libxml/SAX2.h b/libxml2/include/libxml/SAX2.h new file mode 100644 index 0000000..9d167ff --- /dev/null +++ b/libxml2/include/libxml/SAX2.h @@ -0,0 +1,173 @@ +/** + * @file + * + * @brief SAX2 parser interface used to build the DOM tree + * + * those are the default SAX2 interfaces used by + * the library when building DOM tree. + * + * @copyright See Copyright for the status of this software. + * + * @author Daniel Veillard + */ + + +#ifndef __XML_SAX2_H__ +#define __XML_SAX2_H__ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif +XMLPUBFUN const xmlChar * + xmlSAX2GetPublicId (void *ctx); +XMLPUBFUN const xmlChar * + xmlSAX2GetSystemId (void *ctx); +XMLPUBFUN void + xmlSAX2SetDocumentLocator (void *ctx, + xmlSAXLocator *loc); + +XMLPUBFUN int + xmlSAX2GetLineNumber (void *ctx); +XMLPUBFUN int + xmlSAX2GetColumnNumber (void *ctx); + +XMLPUBFUN int + xmlSAX2IsStandalone (void *ctx); +XMLPUBFUN int + xmlSAX2HasInternalSubset (void *ctx); +XMLPUBFUN int + xmlSAX2HasExternalSubset (void *ctx); + +XMLPUBFUN void + xmlSAX2InternalSubset (void *ctx, + const xmlChar *name, + const xmlChar *publicId, + const xmlChar *systemId); +XMLPUBFUN void + xmlSAX2ExternalSubset (void *ctx, + const xmlChar *name, + const xmlChar *publicId, + const xmlChar *systemId); +XMLPUBFUN xmlEntity * + xmlSAX2GetEntity (void *ctx, + const xmlChar *name); +XMLPUBFUN xmlEntity * + xmlSAX2GetParameterEntity (void *ctx, + const xmlChar *name); +XMLPUBFUN xmlParserInput * + xmlSAX2ResolveEntity (void *ctx, + const xmlChar *publicId, + const xmlChar *systemId); + +XMLPUBFUN void + xmlSAX2EntityDecl (void *ctx, + const xmlChar *name, + int type, + const xmlChar *publicId, + const xmlChar *systemId, + xmlChar *content); +XMLPUBFUN void + xmlSAX2AttributeDecl (void *ctx, + const xmlChar *elem, + const xmlChar *fullname, + int type, + int def, + const xmlChar *defaultValue, + xmlEnumeration *tree); +XMLPUBFUN void + xmlSAX2ElementDecl (void *ctx, + const xmlChar *name, + int type, + xmlElementContent *content); +XMLPUBFUN void + xmlSAX2NotationDecl (void *ctx, + const xmlChar *name, + const xmlChar *publicId, + const xmlChar *systemId); +XMLPUBFUN void + xmlSAX2UnparsedEntityDecl (void *ctx, + const xmlChar *name, + const xmlChar *publicId, + const xmlChar *systemId, + const xmlChar *notationName); + +XMLPUBFUN void + xmlSAX2StartDocument (void *ctx); +XMLPUBFUN void + xmlSAX2EndDocument (void *ctx); +XML_DEPRECATED +XMLPUBFUN void + xmlSAX2StartElement (void *ctx, + const xmlChar *fullname, + const xmlChar **atts); +XML_DEPRECATED +XMLPUBFUN void + xmlSAX2EndElement (void *ctx, + const xmlChar *name); +XMLPUBFUN void + xmlSAX2StartElementNs (void *ctx, + const xmlChar *localname, + const xmlChar *prefix, + const xmlChar *URI, + int nb_namespaces, + const xmlChar **namespaces, + int nb_attributes, + int nb_defaulted, + const xmlChar **attributes); +XMLPUBFUN void + xmlSAX2EndElementNs (void *ctx, + const xmlChar *localname, + const xmlChar *prefix, + const xmlChar *URI); +XMLPUBFUN void + xmlSAX2Reference (void *ctx, + const xmlChar *name); +XMLPUBFUN void + xmlSAX2Characters (void *ctx, + const xmlChar *ch, + int len); +XMLPUBFUN void + xmlSAX2IgnorableWhitespace (void *ctx, + const xmlChar *ch, + int len); +XMLPUBFUN void + xmlSAX2ProcessingInstruction (void *ctx, + const xmlChar *target, + const xmlChar *data); +XMLPUBFUN void + xmlSAX2Comment (void *ctx, + const xmlChar *value); +XMLPUBFUN void + xmlSAX2CDataBlock (void *ctx, + const xmlChar *value, + int len); + +#ifdef LIBXML_SAX1_ENABLED +XML_DEPRECATED +XMLPUBFUN int + xmlSAXDefaultVersion (int version); +#endif /* LIBXML_SAX1_ENABLED */ + +XMLPUBFUN int + xmlSAXVersion (xmlSAXHandler *hdlr, + int version); +XMLPUBFUN void + xmlSAX2InitDefaultSAXHandler (xmlSAXHandler *hdlr, + int warning); +#ifdef LIBXML_HTML_ENABLED +XMLPUBFUN void + xmlSAX2InitHtmlDefaultSAXHandler(xmlSAXHandler *hdlr); +XML_DEPRECATED +XMLPUBFUN void + htmlDefaultSAXHandlerInit (void); +#endif +XML_DEPRECATED +XMLPUBFUN void + xmlDefaultSAXHandlerInit (void); +#ifdef __cplusplus +} +#endif +#endif /* __XML_SAX2_H__ */ diff --git a/libxml2/include/libxml/c14n.h b/libxml2/include/libxml/c14n.h new file mode 100644 index 0000000..e0baabd --- /dev/null +++ b/libxml2/include/libxml/c14n.h @@ -0,0 +1,116 @@ +/** + * @file + * + * @brief Provide Canonical XML and Exclusive XML Canonicalization + * + * the c14n modules provides a + * + * "Canonical XML" implementation + * http://www.w3.org/TR/xml-c14n + * + * and an + * + * "Exclusive XML Canonicalization" implementation + * http://www.w3.org/TR/xml-exc-c14n + + * @copyright See Copyright for the status of this software. + * + * @author Aleksey Sanin + */ +#ifndef __XML_C14N_H__ +#define __XML_C14N_H__ + +#include + +#ifdef LIBXML_C14N_ENABLED + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +/* + * XML Canonicalization + * http://www.w3.org/TR/xml-c14n + * + * Exclusive XML Canonicalization + * http://www.w3.org/TR/xml-exc-c14n + * + * Canonical form of an XML document could be created if and only if + * a) default attributes (if any) are added to all nodes + * b) all character and parsed entity references are resolved + * In order to achieve this in libxml2 the document MUST be loaded with + * following options: XML_PARSE_DTDATTR | XML_PARSE_NOENT + */ + +/** + * Predefined values for C14N modes + */ +typedef enum { + /** Original C14N 1.0 spec */ + XML_C14N_1_0 = 0, + /** Exclusive C14N 1.0 spec */ + XML_C14N_EXCLUSIVE_1_0 = 1, + /** C14N 1.1 spec */ + XML_C14N_1_1 = 2 +} xmlC14NMode; + +XMLPUBFUN int + xmlC14NDocSaveTo (xmlDoc *doc, + xmlNodeSet *nodes, + int mode, /* a xmlC14NMode */ + xmlChar **inclusive_ns_prefixes, + int with_comments, + xmlOutputBuffer *buf); + +XMLPUBFUN int + xmlC14NDocDumpMemory (xmlDoc *doc, + xmlNodeSet *nodes, + int mode, /* a xmlC14NMode */ + xmlChar **inclusive_ns_prefixes, + int with_comments, + xmlChar **doc_txt_ptr); + +XMLPUBFUN int + xmlC14NDocSave (xmlDoc *doc, + xmlNodeSet *nodes, + int mode, /* a xmlC14NMode */ + xmlChar **inclusive_ns_prefixes, + int with_comments, + const char* filename, + int compression); + + +/** + * This is the core C14N function + */ +/** + * Signature for a C14N callback on visible nodes + * + * @param user_data user data + * @param node the current node + * @param parent the parent node + * @returns 1 if the node should be included + */ +typedef int (*xmlC14NIsVisibleCallback) (void* user_data, + xmlNode *node, + xmlNode *parent); + +XMLPUBFUN int + xmlC14NExecute (xmlDoc *doc, + xmlC14NIsVisibleCallback is_visible_callback, + void* user_data, + int mode, /* a xmlC14NMode */ + xmlChar **inclusive_ns_prefixes, + int with_comments, + xmlOutputBuffer *buf); + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* LIBXML_C14N_ENABLED */ +#endif /* __XML_C14N_H__ */ + diff --git a/libxml2/include/libxml/catalog.h b/libxml2/include/libxml/catalog.h new file mode 100644 index 0000000..e1bc5fe --- /dev/null +++ b/libxml2/include/libxml/catalog.h @@ -0,0 +1,210 @@ +/** + * @file + * + * @brief interfaces to the Catalog handling system + * + * the catalog module implements the support for + * XML Catalogs and SGML catalogs + * + * SGML Open Technical Resolution TR9401:1997. + * http://www.jclark.com/sp/catalog.htm + * + * XML Catalogs Working Draft 06 August 2001 + * http://www.oasis-open.org/committees/entity/spec-2001-08-06.html + * + * @copyright See Copyright for the status of this software. + * + * @author Daniel Veillard + */ + +#ifndef __XML_CATALOG_H__ +#define __XML_CATALOG_H__ + +#include + +#include +#include +#include + +#ifdef LIBXML_CATALOG_ENABLED + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * The namespace for the XML Catalogs elements. + */ +#define XML_CATALOGS_NAMESPACE \ + (const xmlChar *) "urn:oasis:names:tc:entity:xmlns:xml:catalog" +/** + * The specific XML Catalog Processing Instruction name. + */ +#define XML_CATALOG_PI \ + (const xmlChar *) "oasis-xml-catalog" + +/** @cond ignore */ + +/* + * The API is voluntarily limited to general cataloging. + */ +typedef enum { + XML_CATA_PREFER_NONE = 0, + XML_CATA_PREFER_PUBLIC = 1, + XML_CATA_PREFER_SYSTEM +} xmlCatalogPrefer; + +typedef enum { + XML_CATA_ALLOW_NONE = 0, + XML_CATA_ALLOW_GLOBAL = 1, + XML_CATA_ALLOW_DOCUMENT = 2, + XML_CATA_ALLOW_ALL = 3 +} xmlCatalogAllow; + +/** @endcond */ + +/** XML catalog */ +typedef struct _xmlCatalog xmlCatalog; +typedef xmlCatalog *xmlCatalogPtr; + +/* + * Operations on a given catalog. + */ +XML_DEPRECATED +XMLPUBFUN xmlCatalog * + xmlNewCatalog (int sgml); +XML_DEPRECATED +XMLPUBFUN xmlCatalog * + xmlLoadACatalog (const char *filename); +#ifdef LIBXML_SGML_CATALOG_ENABLED +XML_DEPRECATED +XMLPUBFUN xmlCatalog * + xmlLoadSGMLSuperCatalog (const char *filename); +XML_DEPRECATED +XMLPUBFUN int + xmlConvertSGMLCatalog (xmlCatalog *catal); +#endif /* LIBXML_SGML_CATALOG_ENABLED */ +XML_DEPRECATED +XMLPUBFUN int + xmlACatalogAdd (xmlCatalog *catal, + const xmlChar *type, + const xmlChar *orig, + const xmlChar *replace); +XML_DEPRECATED +XMLPUBFUN int + xmlACatalogRemove (xmlCatalog *catal, + const xmlChar *value); +XML_DEPRECATED +XMLPUBFUN xmlChar * + xmlACatalogResolve (xmlCatalog *catal, + const xmlChar *pubID, + const xmlChar *sysID); +XML_DEPRECATED +XMLPUBFUN xmlChar * + xmlACatalogResolveSystem(xmlCatalog *catal, + const xmlChar *sysID); +XML_DEPRECATED +XMLPUBFUN xmlChar * + xmlACatalogResolvePublic(xmlCatalog *catal, + const xmlChar *pubID); +XML_DEPRECATED +XMLPUBFUN xmlChar * + xmlACatalogResolveURI (xmlCatalog *catal, + const xmlChar *URI); +#ifdef LIBXML_OUTPUT_ENABLED +XML_DEPRECATED +XMLPUBFUN void + xmlACatalogDump (xmlCatalog *catal, + FILE *out); +#endif /* LIBXML_OUTPUT_ENABLED */ +XML_DEPRECATED +XMLPUBFUN void + xmlFreeCatalog (xmlCatalog *catal); +XML_DEPRECATED +XMLPUBFUN int + xmlCatalogIsEmpty (xmlCatalog *catal); + +/* + * Global operations. + */ +XMLPUBFUN void + xmlInitializeCatalog (void); +XMLPUBFUN int + xmlLoadCatalog (const char *filename); +XMLPUBFUN void + xmlLoadCatalogs (const char *paths); +XMLPUBFUN void + xmlCatalogCleanup (void); +#ifdef LIBXML_OUTPUT_ENABLED +XMLPUBFUN void + xmlCatalogDump (FILE *out); +XMLPUBFUN xmlDocPtr + xmlCatalogDumpDoc (void); +#endif /* LIBXML_OUTPUT_ENABLED */ +XMLPUBFUN xmlChar * + xmlCatalogResolve (const xmlChar *pubID, + const xmlChar *sysID); +XMLPUBFUN xmlChar * + xmlCatalogResolveSystem (const xmlChar *sysID); +XMLPUBFUN xmlChar * + xmlCatalogResolvePublic (const xmlChar *pubID); +XMLPUBFUN xmlChar * + xmlCatalogResolveURI (const xmlChar *URI); +XMLPUBFUN int + xmlCatalogAdd (const xmlChar *type, + const xmlChar *orig, + const xmlChar *replace); +XMLPUBFUN int + xmlCatalogRemove (const xmlChar *value); +XML_DEPRECATED +XMLPUBFUN xmlDoc * + xmlParseCatalogFile (const char *filename); +#ifdef LIBXML_SGML_CATALOG_ENABLED +XML_DEPRECATED +XMLPUBFUN int + xmlCatalogConvert (void); +#endif /* LIBXML_SGML_CATALOG_ENABLED */ + +/* + * Strictly minimal interfaces for per-document catalogs used + * by the parser. + */ +XMLPUBFUN void + xmlCatalogFreeLocal (void *catalogs); +XMLPUBFUN void * + xmlCatalogAddLocal (void *catalogs, + const xmlChar *URL); +XMLPUBFUN xmlChar * + xmlCatalogLocalResolve (void *catalogs, + const xmlChar *pubID, + const xmlChar *sysID); +XMLPUBFUN xmlChar * + xmlCatalogLocalResolveURI(void *catalogs, + const xmlChar *URI); +/* + * Preference settings. + */ +XMLPUBFUN int + xmlCatalogSetDebug (int level); +XML_DEPRECATED +XMLPUBFUN xmlCatalogPrefer + xmlCatalogSetDefaultPrefer(xmlCatalogPrefer prefer); +XMLPUBFUN void + xmlCatalogSetDefaults (xmlCatalogAllow allow); +XMLPUBFUN xmlCatalogAllow + xmlCatalogGetDefaults (void); + + +/* DEPRECATED interfaces */ +XML_DEPRECATED +XMLPUBFUN const xmlChar * + xmlCatalogGetSystem (const xmlChar *sysID); +XML_DEPRECATED +XMLPUBFUN const xmlChar * + xmlCatalogGetPublic (const xmlChar *pubID); + +#ifdef __cplusplus +} +#endif +#endif /* LIBXML_CATALOG_ENABLED */ +#endif /* __XML_CATALOG_H__ */ diff --git a/libxml2/include/libxml/chvalid.h b/libxml2/include/libxml/chvalid.h new file mode 100644 index 0000000..65bfd91 --- /dev/null +++ b/libxml2/include/libxml/chvalid.h @@ -0,0 +1,218 @@ +/** + * @file + * + * @brief Unicode character range checking + * + * this module exports interfaces for the character + * range validation APIs + */ + +#ifndef __XML_CHVALID_H__ +#define __XML_CHVALID_H__ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** @cond ignore */ + +/* + * Define our typedefs and structures + * + */ +typedef struct _xmlChSRange xmlChSRange; +typedef xmlChSRange *xmlChSRangePtr; +struct _xmlChSRange { + unsigned short low; + unsigned short high; +}; + +typedef struct _xmlChLRange xmlChLRange; +typedef xmlChLRange *xmlChLRangePtr; +struct _xmlChLRange { + unsigned int low; + unsigned int high; +}; + +typedef struct _xmlChRangeGroup xmlChRangeGroup; +typedef xmlChRangeGroup *xmlChRangeGroupPtr; +struct _xmlChRangeGroup { + int nbShortRange; + int nbLongRange; + const xmlChSRange *shortRange; /* points to an array of ranges */ + const xmlChLRange *longRange; +}; + +XMLPUBVAR const xmlChRangeGroup xmlIsBaseCharGroup; +XMLPUBVAR const xmlChRangeGroup xmlIsCharGroup; +XMLPUBVAR const xmlChRangeGroup xmlIsCombiningGroup; +XMLPUBVAR const xmlChRangeGroup xmlIsDigitGroup; +XMLPUBVAR const xmlChRangeGroup xmlIsExtenderGroup; +XMLPUBVAR const xmlChRangeGroup xmlIsIdeographicGroup; +XMLPUBVAR const unsigned char xmlIsPubidChar_tab[256]; + +/** + * Range checking routine + */ +XMLPUBFUN int + xmlCharInRange(unsigned int val, const xmlChRangeGroup *group); + +/** @endcond */ + +/** + * Automatically generated by genChRanges.py + * + * @param c char to validate + */ +#define xmlIsBaseChar_ch(c) (((0x41 <= (c)) && ((c) <= 0x5a)) || \ + ((0x61 <= (c)) && ((c) <= 0x7a)) || \ + ((0xc0 <= (c)) && ((c) <= 0xd6)) || \ + ((0xd8 <= (c)) && ((c) <= 0xf6)) || \ + (0xf8 <= (c))) + +/** + * Automatically generated by genChRanges.py + * + * @param c char to validate + */ +#define xmlIsBaseCharQ(c) (((c) < 0x100) ? \ + xmlIsBaseChar_ch((c)) : \ + xmlCharInRange((c), &xmlIsBaseCharGroup)) + +/** + * Automatically generated by genChRanges.py + * + * @param c char to validate + */ +#define xmlIsBlank_ch(c) (((c) == 0x20) || \ + ((0x9 <= (c)) && ((c) <= 0xa)) || \ + ((c) == 0xd)) + +/** + * Automatically generated by genChRanges.py + * + * @param c char to validate + */ +#define xmlIsBlankQ(c) (((c) < 0x100) ? \ + xmlIsBlank_ch((c)) : 0) + + +/** + * Automatically generated by genChRanges.py + * + * @param c char to validate + */ +#define xmlIsChar_ch(c) (((0x9 <= (c)) && ((c) <= 0xa)) || \ + ((c) == 0xd) || \ + (0x20 <= (c))) + +/** + * Automatically generated by genChRanges.py + * + * @param c char to validate + */ +#define xmlIsCharQ(c) (((c) < 0x100) ? \ + xmlIsChar_ch((c)) :\ + (((0x100 <= (c)) && ((c) <= 0xd7ff)) || \ + ((0xe000 <= (c)) && ((c) <= 0xfffd)) || \ + ((0x10000 <= (c)) && ((c) <= 0x10ffff)))) + +/** + * Automatically generated by genChRanges.py + * + * @param c char to validate + */ +#define xmlIsCombiningQ(c) (((c) < 0x100) ? \ + 0 : \ + xmlCharInRange((c), &xmlIsCombiningGroup)) + +/** + * Automatically generated by genChRanges.py + * + * @param c char to validate + */ +#define xmlIsDigit_ch(c) (((0x30 <= (c)) && ((c) <= 0x39))) + +/** + * Automatically generated by genChRanges.py + * + * @param c char to validate + */ +#define xmlIsDigitQ(c) (((c) < 0x100) ? \ + xmlIsDigit_ch((c)) : \ + xmlCharInRange((c), &xmlIsDigitGroup)) + +/** + * Automatically generated by genChRanges.py + * + * @param c char to validate + */ +#define xmlIsExtender_ch(c) (((c) == 0xb7)) + +/** + * Automatically generated by genChRanges.py + * + * @param c char to validate + */ +#define xmlIsExtenderQ(c) (((c) < 0x100) ? \ + xmlIsExtender_ch((c)) : \ + xmlCharInRange((c), &xmlIsExtenderGroup)) + +/** + * Automatically generated by genChRanges.py + * + * @param c char to validate + */ +#define xmlIsIdeographicQ(c) (((c) < 0x100) ? \ + 0 :\ + (((0x4e00 <= (c)) && ((c) <= 0x9fa5)) || \ + ((c) == 0x3007) || \ + ((0x3021 <= (c)) && ((c) <= 0x3029)))) + +/** + * Automatically generated by genChRanges.py + * + * @param c char to validate + */ +#define xmlIsPubidChar_ch(c) (xmlIsPubidChar_tab[(c)]) + +/** + * Automatically generated by genChRanges.py + * + * @param c char to validate + */ +#define xmlIsPubidCharQ(c) (((c) < 0x100) ? \ + xmlIsPubidChar_ch((c)) : 0) + +XML_DEPRECATED +XMLPUBFUN int + xmlIsBaseChar(unsigned int ch); +XML_DEPRECATED +XMLPUBFUN int + xmlIsBlank(unsigned int ch); +XML_DEPRECATED +XMLPUBFUN int + xmlIsChar(unsigned int ch); +XML_DEPRECATED +XMLPUBFUN int + xmlIsCombining(unsigned int ch); +XML_DEPRECATED +XMLPUBFUN int + xmlIsDigit(unsigned int ch); +XML_DEPRECATED +XMLPUBFUN int + xmlIsExtender(unsigned int ch); +XML_DEPRECATED +XMLPUBFUN int + xmlIsIdeographic(unsigned int ch); +XML_DEPRECATED +XMLPUBFUN int + xmlIsPubidChar(unsigned int ch); + +#ifdef __cplusplus +} +#endif +#endif /* __XML_CHVALID_H__ */ diff --git a/libxml2/include/libxml/debugXML.h b/libxml2/include/libxml/debugXML.h new file mode 100644 index 0000000..1456cc4 --- /dev/null +++ b/libxml2/include/libxml/debugXML.h @@ -0,0 +1,82 @@ +/** + * @file + * + * @brief Tree debugging APIs + * + * Interfaces to a set of routines used for debugging the tree + * produced by the XML parser. + * + * @copyright See Copyright for the status of this software. + * + * @author Daniel Veillard + */ + +#ifndef __DEBUG_XML__ +#define __DEBUG_XML__ +#include +#include +#include + +#ifdef LIBXML_DEBUG_ENABLED + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * The standard Dump routines. + */ +XMLPUBFUN void + xmlDebugDumpString (FILE *output, + const xmlChar *str); +XMLPUBFUN void + xmlDebugDumpAttr (FILE *output, + xmlAttr *attr, + int depth); +XMLPUBFUN void + xmlDebugDumpAttrList (FILE *output, + xmlAttr *attr, + int depth); +XMLPUBFUN void + xmlDebugDumpOneNode (FILE *output, + xmlNode *node, + int depth); +XMLPUBFUN void + xmlDebugDumpNode (FILE *output, + xmlNode *node, + int depth); +XMLPUBFUN void + xmlDebugDumpNodeList (FILE *output, + xmlNode *node, + int depth); +XMLPUBFUN void + xmlDebugDumpDocumentHead(FILE *output, + xmlDoc *doc); +XMLPUBFUN void + xmlDebugDumpDocument (FILE *output, + xmlDoc *doc); +XMLPUBFUN void + xmlDebugDumpDTD (FILE *output, + xmlDtd *dtd); +XMLPUBFUN void + xmlDebugDumpEntities (FILE *output, + xmlDoc *doc); + +/**************************************************************** + * * + * Checking routines * + * * + ****************************************************************/ + +XMLPUBFUN int + xmlDebugCheckDocument (FILE * output, + xmlDoc *doc); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_DEBUG_ENABLED */ +#endif /* __DEBUG_XML__ */ diff --git a/libxml2/include/libxml/dict.h b/libxml2/include/libxml/dict.h new file mode 100644 index 0000000..3f94ed8 --- /dev/null +++ b/libxml2/include/libxml/dict.h @@ -0,0 +1,85 @@ +/** + * @file + * + * @brief string dictionary + * + * dictionary of reusable strings, just used to avoid allocation + * and freeing operations. + * + * @copyright See Copyright for the status of this software. + * + * @author Daniel Veillard + */ + +#ifndef __XML_DICT_H__ +#define __XML_DICT_H__ + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Dictionary (pool for interned strings) + */ +typedef struct _xmlDict xmlDict; +typedef xmlDict *xmlDictPtr; + +/* + * Initializer + */ +XML_DEPRECATED +XMLPUBFUN int xmlInitializeDict(void); + +/* + * Constructor and destructor. + */ +XMLPUBFUN xmlDict * + xmlDictCreate (void); +XMLPUBFUN size_t + xmlDictSetLimit (xmlDict *dict, + size_t limit); +XMLPUBFUN size_t + xmlDictGetUsage (xmlDict *dict); +XMLPUBFUN xmlDict * + xmlDictCreateSub(xmlDict *sub); +XMLPUBFUN int + xmlDictReference(xmlDict *dict); +XMLPUBFUN void + xmlDictFree (xmlDict *dict); + +/* + * Lookup of entry in the dictionary. + */ +XMLPUBFUN const xmlChar * + xmlDictLookup (xmlDict *dict, + const xmlChar *name, + int len); +XMLPUBFUN const xmlChar * + xmlDictExists (xmlDict *dict, + const xmlChar *name, + int len); +XMLPUBFUN const xmlChar * + xmlDictQLookup (xmlDict *dict, + const xmlChar *prefix, + const xmlChar *name); +XMLPUBFUN int + xmlDictOwns (xmlDict *dict, + const xmlChar *str); +XMLPUBFUN int + xmlDictSize (xmlDict *dict); + +/* + * Cleanup function + */ +XML_DEPRECATED +XMLPUBFUN void + xmlDictCleanup (void); + +#ifdef __cplusplus +} +#endif +#endif /* ! __XML_DICT_H__ */ diff --git a/libxml2/include/libxml/encoding.h b/libxml2/include/libxml/encoding.h new file mode 100644 index 0000000..4af1f53 --- /dev/null +++ b/libxml2/include/libxml/encoding.h @@ -0,0 +1,340 @@ +/** + * @file + * + * @brief Character encoding conversion functions + * + * @copyright See Copyright for the status of this software. + * + * @author Daniel Veillard + */ + +#ifndef __XML_CHAR_ENCODING_H__ +#define __XML_CHAR_ENCODING_H__ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Backward compatibility + */ +/** @cond ignore */ +#define UTF8Toisolat1 xmlUTF8ToIsolat1 +#define isolat1ToUTF8 xmlIsolat1ToUTF8 +/** @endcond */ + +/** + * Encoding conversion errors + */ +typedef enum { + /** Success */ + XML_ENC_ERR_SUCCESS = 0, + /** Internal or unclassified error */ + XML_ENC_ERR_INTERNAL = -1, + /** Invalid or untranslatable input sequence */ + XML_ENC_ERR_INPUT = -2, + /** Not enough space in output buffer */ + XML_ENC_ERR_SPACE = -3, + /** Out-of-memory error */ + XML_ENC_ERR_MEMORY = -4 +} xmlCharEncError; + +/** + * Predefined values for some standard encodings. + */ +typedef enum { + /** No char encoding detected */ + XML_CHAR_ENCODING_ERROR= -1, + /** No char encoding detected */ + XML_CHAR_ENCODING_NONE= 0, + /** UTF-8 */ + XML_CHAR_ENCODING_UTF8= 1, + /** UTF-16 little endian */ + XML_CHAR_ENCODING_UTF16LE= 2, + /** UTF-16 big endian */ + XML_CHAR_ENCODING_UTF16BE= 3, + /** UCS-4 little endian */ + XML_CHAR_ENCODING_UCS4LE= 4, + /** UCS-4 big endian */ + XML_CHAR_ENCODING_UCS4BE= 5, + /** EBCDIC uh! */ + XML_CHAR_ENCODING_EBCDIC= 6, + /** UCS-4 unusual ordering */ + XML_CHAR_ENCODING_UCS4_2143=7, + /** UCS-4 unusual ordering */ + XML_CHAR_ENCODING_UCS4_3412=8, + /** UCS-2 */ + XML_CHAR_ENCODING_UCS2= 9, + /** ISO-8859-1 ISO Latin 1 */ + XML_CHAR_ENCODING_8859_1= 10, + /** ISO-8859-2 ISO Latin 2 */ + XML_CHAR_ENCODING_8859_2= 11, + /** ISO-8859-3 */ + XML_CHAR_ENCODING_8859_3= 12, + /** ISO-8859-4 */ + XML_CHAR_ENCODING_8859_4= 13, + /** ISO-8859-5 */ + XML_CHAR_ENCODING_8859_5= 14, + /** ISO-8859-6 */ + XML_CHAR_ENCODING_8859_6= 15, + /** ISO-8859-7 */ + XML_CHAR_ENCODING_8859_7= 16, + /** ISO-8859-8 */ + XML_CHAR_ENCODING_8859_8= 17, + /** ISO-8859-9 */ + XML_CHAR_ENCODING_8859_9= 18, + /** ISO-2022-JP */ + XML_CHAR_ENCODING_2022_JP= 19, + /** Shift_JIS */ + XML_CHAR_ENCODING_SHIFT_JIS=20, + /** EUC-JP */ + XML_CHAR_ENCODING_EUC_JP= 21, + /** pure ASCII */ + XML_CHAR_ENCODING_ASCII= 22, + /** UTF-16 native, available since 2.14 */ + XML_CHAR_ENCODING_UTF16= 23, + /** HTML (output only), available since 2.14 */ + XML_CHAR_ENCODING_HTML= 24, + /** ISO-8859-10, available since 2.14 */ + XML_CHAR_ENCODING_8859_10= 25, + /** ISO-8859-11, available since 2.14 */ + XML_CHAR_ENCODING_8859_11= 26, + /** ISO-8859-13, available since 2.14 */ + XML_CHAR_ENCODING_8859_13= 27, + /** ISO-8859-14, available since 2.14 */ + XML_CHAR_ENCODING_8859_14= 28, + /** ISO-8859-15, available since 2.14 */ + XML_CHAR_ENCODING_8859_15= 29, + /** ISO-8859-16, available since 2.14 */ + XML_CHAR_ENCODING_8859_16= 30, + /** windows-1252, available since 2.15 */ + XML_CHAR_ENCODING_WINDOWS_1252 = 31 +} xmlCharEncoding; + +/** + * Encoding conversion flags + */ +typedef enum { + /** Create converter for input (conversion to UTF-8) */ + XML_ENC_INPUT = (1 << 0), + /** Create converter for output (conversion from UTF-8) */ + XML_ENC_OUTPUT = (1 << 1), + /** Use HTML5 mappings */ + XML_ENC_HTML = (1 << 2) +} xmlCharEncFlags; + +/** + * Convert characters to UTF-8. + * + * On success, the value of `inlen` after return is the number of + * bytes consumed and `outlen` is the number of bytes produced. + * + * @param out a pointer to an array of bytes to store the UTF-8 result + * @param outlen the length of `out` + * @param in a pointer to an array of chars in the original encoding + * @param inlen the length of `in` + * @returns the number of bytes written or an xmlCharEncError code. + */ +typedef int (*xmlCharEncodingInputFunc)(unsigned char *out, int *outlen, + const unsigned char *in, int *inlen); + + +/** + * Convert characters from UTF-8. + * + * On success, the value of `inlen` after return is the number of + * bytes consumed and `outlen` is the number of bytes produced. + * + * @param out a pointer to an array of bytes to store the result + * @param outlen the length of `out` + * @param in a pointer to an array of UTF-8 chars + * @param inlen the length of `in` + * @returns the number of bytes written or an xmlCharEncError code. + */ +typedef int (*xmlCharEncodingOutputFunc)(unsigned char *out, int *outlen, + const unsigned char *in, int *inlen); + + +/** + * Convert between character encodings. + * + * The value of `inlen` after return is the number of bytes consumed + * and `outlen` is the number of bytes produced. + * + * If the converter can consume partial multi-byte sequences, the + * `flush` flag can be used to detect truncated sequences at EOF. + * Otherwise, the flag can be ignored. + * + * @param vctxt conversion context + * @param out a pointer to an array of bytes to store the result + * @param outlen the length of `out` + * @param in a pointer to an array of input bytes + * @param inlen the length of `in` + * @param flush end of input + * @returns an xmlCharEncError code. + */ +typedef xmlCharEncError +(*xmlCharEncConvFunc)(void *vctxt, unsigned char *out, int *outlen, + const unsigned char *in, int *inlen, int flush); + +/** + * Free a conversion context. + * + * @param vctxt conversion context + */ +typedef void +(*xmlCharEncConvCtxtDtor)(void *vctxt); + +/** Character encoding converter */ +typedef struct _xmlCharEncodingHandler xmlCharEncodingHandler; +typedef xmlCharEncodingHandler *xmlCharEncodingHandlerPtr; +/** + * A character encoding conversion handler for non UTF-8 encodings. + * + * This structure will be made private. + */ +struct _xmlCharEncodingHandler { + char *name XML_DEPRECATED_MEMBER; + union { + xmlCharEncConvFunc func; + xmlCharEncodingInputFunc legacyFunc; + } input XML_DEPRECATED_MEMBER; + union { + xmlCharEncConvFunc func; + xmlCharEncodingOutputFunc legacyFunc; + } output XML_DEPRECATED_MEMBER; + void *inputCtxt XML_DEPRECATED_MEMBER; + void *outputCtxt XML_DEPRECATED_MEMBER; + xmlCharEncConvCtxtDtor ctxtDtor XML_DEPRECATED_MEMBER; + int flags XML_DEPRECATED_MEMBER; +}; + +/** + * If this function returns XML_ERR_OK, it must fill the `out` + * pointer with an encoding handler. The handler can be obtained + * from #xmlCharEncNewCustomHandler. + * + * `flags` can contain XML_ENC_INPUT, XML_ENC_OUTPUT or both. + * + * @param vctxt user data + * @param name encoding name + * @param flags bit mask of flags + * @param out pointer to resulting handler + * @returns an xmlParserErrors code. + */ +typedef xmlParserErrors +(*xmlCharEncConvImpl)(void *vctxt, const char *name, xmlCharEncFlags flags, + xmlCharEncodingHandler **out); + +/* + * Interfaces for encoding handlers. + */ +XML_DEPRECATED +XMLPUBFUN void + xmlInitCharEncodingHandlers (void); +XML_DEPRECATED +XMLPUBFUN void + xmlCleanupCharEncodingHandlers (void); +XML_DEPRECATED +XMLPUBFUN void + xmlRegisterCharEncodingHandler (xmlCharEncodingHandler *handler); +XMLPUBFUN xmlParserErrors + xmlLookupCharEncodingHandler (xmlCharEncoding enc, + xmlCharEncodingHandler **out); +XMLPUBFUN xmlParserErrors + xmlOpenCharEncodingHandler (const char *name, + int output, + xmlCharEncodingHandler **out); +XMLPUBFUN xmlParserErrors + xmlCreateCharEncodingHandler (const char *name, + xmlCharEncFlags flags, + xmlCharEncConvImpl impl, + void *implCtxt, + xmlCharEncodingHandler **out); +XMLPUBFUN xmlCharEncodingHandler * + xmlGetCharEncodingHandler (xmlCharEncoding enc); +XMLPUBFUN xmlCharEncodingHandler * + xmlFindCharEncodingHandler (const char *name); +XML_DEPRECATED +XMLPUBFUN xmlCharEncodingHandler * + xmlNewCharEncodingHandler (const char *name, + xmlCharEncodingInputFunc input, + xmlCharEncodingOutputFunc output); +XMLPUBFUN xmlParserErrors + xmlCharEncNewCustomHandler (const char *name, + xmlCharEncConvFunc input, + xmlCharEncConvFunc output, + xmlCharEncConvCtxtDtor ctxtDtor, + void *inputCtxt, + void *outputCtxt, + xmlCharEncodingHandler **out); + +/* + * Interfaces for encoding names and aliases. + */ +XML_DEPRECATED +XMLPUBFUN int + xmlAddEncodingAlias (const char *name, + const char *alias); +XML_DEPRECATED +XMLPUBFUN int + xmlDelEncodingAlias (const char *alias); +XML_DEPRECATED +XMLPUBFUN const char * + xmlGetEncodingAlias (const char *alias); +XML_DEPRECATED +XMLPUBFUN void + xmlCleanupEncodingAliases (void); +XMLPUBFUN xmlCharEncoding + xmlParseCharEncoding (const char *name); +XMLPUBFUN const char * + xmlGetCharEncodingName (xmlCharEncoding enc); + +/* + * Interfaces directly used by the parsers. + */ +XMLPUBFUN xmlCharEncoding + xmlDetectCharEncoding (const unsigned char *in, + int len); + +struct _xmlBuffer; +XMLPUBFUN int + xmlCharEncOutFunc (xmlCharEncodingHandler *handler, + struct _xmlBuffer *out, + struct _xmlBuffer *in); + +XMLPUBFUN int + xmlCharEncInFunc (xmlCharEncodingHandler *handler, + struct _xmlBuffer *out, + struct _xmlBuffer *in); +XML_DEPRECATED +XMLPUBFUN int + xmlCharEncFirstLine (xmlCharEncodingHandler *handler, + struct _xmlBuffer *out, + struct _xmlBuffer *in); +XMLPUBFUN int + xmlCharEncCloseFunc (xmlCharEncodingHandler *handler); + +/* + * Export a few useful functions + */ +#ifdef LIBXML_OUTPUT_ENABLED +XMLPUBFUN int + xmlUTF8ToIsolat1 (unsigned char *out, + int *outlen, + const unsigned char *in, + int *inlen); +#endif /* LIBXML_OUTPUT_ENABLED */ +XMLPUBFUN int + xmlIsolat1ToUTF8 (unsigned char *out, + int *outlen, + const unsigned char *in, + int *inlen); +#ifdef __cplusplus +} +#endif + +#endif /* __XML_CHAR_ENCODING_H__ */ diff --git a/libxml2/include/libxml/entities.h b/libxml2/include/libxml/entities.h new file mode 100644 index 0000000..e68f981 --- /dev/null +++ b/libxml2/include/libxml/entities.h @@ -0,0 +1,167 @@ +/** + * @file + * + * @brief XML entities + * + * This module provides an API to work with XML entities. + * + * @copyright See Copyright for the status of this software. + * + * @author Daniel Veillard + */ + +#ifndef __XML_ENTITIES_H__ +#define __XML_ENTITIES_H__ + +#include +#define XML_TREE_INTERNALS +#include +#undef XML_TREE_INTERNALS + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * The different entity types. + */ +typedef enum { + /** internal general entity */ + XML_INTERNAL_GENERAL_ENTITY = 1, + /** external general parsed entity */ + XML_EXTERNAL_GENERAL_PARSED_ENTITY = 2, + /** external general unparsed entity */ + XML_EXTERNAL_GENERAL_UNPARSED_ENTITY = 3, + /** internal parameter entity */ + XML_INTERNAL_PARAMETER_ENTITY = 4, + /** external parameter entity */ + XML_EXTERNAL_PARAMETER_ENTITY = 5, + /** internal predefined entity */ + XML_INTERNAL_PREDEFINED_ENTITY = 6 +} xmlEntityType; + +/** + * An entity declaration + */ +struct _xmlEntity { + /** application data */ + void *_private; + /** XML_ENTITY_DECL, must be second ! */ + xmlElementType type; + /** Entity name */ + const xmlChar *name; + /** First child link */ + struct _xmlNode *children; + /** Last child link */ + struct _xmlNode *last; + /** -> DTD */ + struct _xmlDtd *parent; + /** next sibling link */ + struct _xmlNode *next; + /** previous sibling link */ + struct _xmlNode *prev; + /** the containing document */ + struct _xmlDoc *doc; + + /** content without ref substitution */ + xmlChar *orig; + /** content or ndata if unparsed */ + xmlChar *content; + /** the content length */ + int length; + /** The entity type */ + xmlEntityType etype; + /** External identifier for PUBLIC */ + const xmlChar *ExternalID; + /** URI for a SYSTEM or PUBLIC Entity */ + const xmlChar *SystemID; + + /** unused */ + struct _xmlEntity *nexte; + /** the full URI as computed */ + const xmlChar *URI; + /** unused */ + int owner; + /** various flags */ + int flags; + /** expanded size */ + unsigned long expandedSize; +}; + +typedef struct _xmlHashTable xmlEntitiesTable; +typedef xmlEntitiesTable *xmlEntitiesTablePtr; + +XMLPUBFUN xmlEntity * + xmlNewEntity (xmlDoc *doc, + const xmlChar *name, + int type, + const xmlChar *publicId, + const xmlChar *systemId, + const xmlChar *content); +XMLPUBFUN void + xmlFreeEntity (xmlEntity *entity); +XMLPUBFUN int + xmlAddEntity (xmlDoc *doc, + int extSubset, + const xmlChar *name, + int type, + const xmlChar *publicId, + const xmlChar *systemId, + const xmlChar *content, + xmlEntity **out); +XMLPUBFUN xmlEntity * + xmlAddDocEntity (xmlDoc *doc, + const xmlChar *name, + int type, + const xmlChar *publicId, + const xmlChar *systemId, + const xmlChar *content); +XMLPUBFUN xmlEntity * + xmlAddDtdEntity (xmlDoc *doc, + const xmlChar *name, + int type, + const xmlChar *publicId, + const xmlChar *systemId, + const xmlChar *content); +XMLPUBFUN xmlEntity * + xmlGetPredefinedEntity (const xmlChar *name); +XMLPUBFUN xmlEntity * + xmlGetDocEntity (const xmlDoc *doc, + const xmlChar *name); +XMLPUBFUN xmlEntity * + xmlGetDtdEntity (xmlDoc *doc, + const xmlChar *name); +XMLPUBFUN xmlEntity * + xmlGetParameterEntity (xmlDoc *doc, + const xmlChar *name); +XMLPUBFUN xmlChar * + xmlEncodeEntitiesReentrant(xmlDoc *doc, + const xmlChar *input); +XMLPUBFUN xmlChar * + xmlEncodeSpecialChars (const xmlDoc *doc, + const xmlChar *input); +XML_DEPRECATED +XMLPUBFUN xmlEntitiesTable * + xmlCreateEntitiesTable (void); +XML_DEPRECATED +XMLPUBFUN xmlEntitiesTable * + xmlCopyEntitiesTable (xmlEntitiesTable *table); +XML_DEPRECATED +XMLPUBFUN void + xmlFreeEntitiesTable (xmlEntitiesTable *table); +#ifdef LIBXML_OUTPUT_ENABLED +XML_DEPRECATED +XMLPUBFUN void + xmlDumpEntitiesTable (xmlBuffer *buf, + xmlEntitiesTable *table); +XML_DEPRECATED +XMLPUBFUN void + xmlDumpEntityDecl (xmlBuffer *buf, + xmlEntity *ent); +#endif /* LIBXML_OUTPUT_ENABLED */ + +#ifdef __cplusplus +} +#endif + +# endif /* __XML_ENTITIES_H__ */ diff --git a/libxml2/include/libxml/globals.h b/libxml2/include/libxml/globals.h new file mode 100644 index 0000000..4831a45 --- /dev/null +++ b/libxml2/include/libxml/globals.h @@ -0,0 +1,28 @@ +/** + * @file + * + * @brief interface for all global variables of the library + * + * Deprecated, don't use + * + * @copyright See Copyright for the status of this software. + */ + +#ifndef __XML_GLOBALS_H +#define __XML_GLOBALS_H + +#include + +/* + * This file was required to access global variables until version v2.12.0. + * + * These includes are for backward compatibility. + */ +#include +#include +#include +#include +#include +#include + +#endif /* __XML_GLOBALS_H */ diff --git a/libxml2/include/libxml/hash.h b/libxml2/include/libxml/hash.h new file mode 100644 index 0000000..4bb6093 --- /dev/null +++ b/libxml2/include/libxml/hash.h @@ -0,0 +1,248 @@ +/** + * @file + * + * @brief Chained hash tables + * + * This module implements the hash table support used in + * various places in the library. + * + * @copyright See Copyright for the status of this software. + */ + +#ifndef __XML_HASH_H__ +#define __XML_HASH_H__ + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Hash table mapping strings to pointers + * + * Also supports lookup using two or three strings as key. + */ +typedef struct _xmlHashTable xmlHashTable; +typedef xmlHashTable *xmlHashTablePtr; + +/* + * Recent version of gcc produce a warning when a function pointer is assigned + * to an object pointer, or vice versa. The following macro is a dirty hack + * to allow suppression of the warning. If your architecture has function + * pointers which are a different size than a void pointer, there may be some + * serious trouble within the library. + */ +/** + * Macro to do a casting from an object pointer to a + * function pointer without encountering a warning from + * gcc + * + * \#define XML_CAST_FPTR(fptr) (*(void **)(&fptr)) + * This macro violated ISO C aliasing rules (gcc4 on s390 broke) + * so it is disabled now + * + * @param fptr pointer to a function + */ + +#define XML_CAST_FPTR(fptr) fptr + +/* + * function types: + */ +/** + * Callback to free data from a hash. + * + * @param payload the data in the hash + * @param name the name associated + */ +typedef void (*xmlHashDeallocator)(void *payload, const xmlChar *name); +/** + * Callback to copy data from a hash. + * + * @param payload the data in the hash + * @param name the name associated + * @returns a copy of the data or NULL in case of error. + */ +typedef void *(*xmlHashCopier)(void *payload, const xmlChar *name); +/** + * Callback when scanning data in a hash with the simple scanner. + * + * @param payload the data in the hash + * @param data extra scanner data + * @param name the name associated + */ +typedef void (*xmlHashScanner)(void *payload, void *data, const xmlChar *name); +/** + * Callback when scanning data in a hash with the full scanner. + * + * @param payload the data in the hash + * @param data extra scanner data + * @param name the name associated + * @param name2 the second name associated + * @param name3 the third name associated + */ +typedef void (*xmlHashScannerFull)(void *payload, void *data, + const xmlChar *name, const xmlChar *name2, + const xmlChar *name3); + +/* + * Constructor and destructor. + */ +XMLPUBFUN xmlHashTable * + xmlHashCreate (int size); +XMLPUBFUN xmlHashTable * + xmlHashCreateDict (int size, + xmlDict *dict); +XMLPUBFUN void + xmlHashFree (xmlHashTable *hash, + xmlHashDeallocator dealloc); +XMLPUBFUN void + xmlHashDefaultDeallocator(void *entry, + const xmlChar *name); + +/* + * Add a new entry to the hash table. + */ +XMLPUBFUN int + xmlHashAdd (xmlHashTable *hash, + const xmlChar *name, + void *userdata); +XMLPUBFUN int + xmlHashAddEntry (xmlHashTable *hash, + const xmlChar *name, + void *userdata); +XMLPUBFUN int + xmlHashUpdateEntry (xmlHashTable *hash, + const xmlChar *name, + void *userdata, + xmlHashDeallocator dealloc); +XMLPUBFUN int + xmlHashAdd2 (xmlHashTable *hash, + const xmlChar *name, + const xmlChar *name2, + void *userdata); +XMLPUBFUN int + xmlHashAddEntry2 (xmlHashTable *hash, + const xmlChar *name, + const xmlChar *name2, + void *userdata); +XMLPUBFUN int + xmlHashUpdateEntry2 (xmlHashTable *hash, + const xmlChar *name, + const xmlChar *name2, + void *userdata, + xmlHashDeallocator dealloc); +XMLPUBFUN int + xmlHashAdd3 (xmlHashTable *hash, + const xmlChar *name, + const xmlChar *name2, + const xmlChar *name3, + void *userdata); +XMLPUBFUN int + xmlHashAddEntry3 (xmlHashTable *hash, + const xmlChar *name, + const xmlChar *name2, + const xmlChar *name3, + void *userdata); +XMLPUBFUN int + xmlHashUpdateEntry3 (xmlHashTable *hash, + const xmlChar *name, + const xmlChar *name2, + const xmlChar *name3, + void *userdata, + xmlHashDeallocator dealloc); + +/* + * Remove an entry from the hash table. + */ +XMLPUBFUN int + xmlHashRemoveEntry (xmlHashTable *hash, + const xmlChar *name, + xmlHashDeallocator dealloc); +XMLPUBFUN int + xmlHashRemoveEntry2 (xmlHashTable *hash, + const xmlChar *name, + const xmlChar *name2, + xmlHashDeallocator dealloc); +XMLPUBFUN int + xmlHashRemoveEntry3 (xmlHashTable *hash, + const xmlChar *name, + const xmlChar *name2, + const xmlChar *name3, + xmlHashDeallocator dealloc); + +/* + * Retrieve the payload. + */ +XMLPUBFUN void * + xmlHashLookup (xmlHashTable *hash, + const xmlChar *name); +XMLPUBFUN void * + xmlHashLookup2 (xmlHashTable *hash, + const xmlChar *name, + const xmlChar *name2); +XMLPUBFUN void * + xmlHashLookup3 (xmlHashTable *hash, + const xmlChar *name, + const xmlChar *name2, + const xmlChar *name3); +XMLPUBFUN void * + xmlHashQLookup (xmlHashTable *hash, + const xmlChar *prefix, + const xmlChar *name); +XMLPUBFUN void * + xmlHashQLookup2 (xmlHashTable *hash, + const xmlChar *prefix, + const xmlChar *name, + const xmlChar *prefix2, + const xmlChar *name2); +XMLPUBFUN void * + xmlHashQLookup3 (xmlHashTable *hash, + const xmlChar *prefix, + const xmlChar *name, + const xmlChar *prefix2, + const xmlChar *name2, + const xmlChar *prefix3, + const xmlChar *name3); + +/* + * Helpers. + */ +XMLPUBFUN xmlHashTable * + xmlHashCopySafe (xmlHashTable *hash, + xmlHashCopier copy, + xmlHashDeallocator dealloc); +XMLPUBFUN xmlHashTable * + xmlHashCopy (xmlHashTable *hash, + xmlHashCopier copy); +XMLPUBFUN int + xmlHashSize (xmlHashTable *hash); +XMLPUBFUN void + xmlHashScan (xmlHashTable *hash, + xmlHashScanner scan, + void *data); +XMLPUBFUN void + xmlHashScan3 (xmlHashTable *hash, + const xmlChar *name, + const xmlChar *name2, + const xmlChar *name3, + xmlHashScanner scan, + void *data); +XMLPUBFUN void + xmlHashScanFull (xmlHashTable *hash, + xmlHashScannerFull scan, + void *data); +XMLPUBFUN void + xmlHashScanFull3 (xmlHashTable *hash, + const xmlChar *name, + const xmlChar *name2, + const xmlChar *name3, + xmlHashScannerFull scan, + void *data); +#ifdef __cplusplus +} +#endif +#endif /* ! __XML_HASH_H__ */ diff --git a/libxml2/include/libxml/list.h b/libxml2/include/libxml/list.h new file mode 100644 index 0000000..d8da7de --- /dev/null +++ b/libxml2/include/libxml/list.h @@ -0,0 +1,145 @@ +/** + * @file + * + * @brief lists interfaces + * + * this module implement the list support used in + * various place in the library. + * + * @copyright See Copyright for the status of this software. + * + * @author Gary Pennington + */ + +#ifndef __XML_LINK_INCLUDE__ +#define __XML_LINK_INCLUDE__ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Linked list item + * + * @deprecated Don't use in new code. + */ +typedef struct _xmlLink xmlLink; +typedef xmlLink *xmlLinkPtr; + +/** + * Linked list + * + * @deprecated Don't use in new code. + */ +typedef struct _xmlList xmlList; +typedef xmlList *xmlListPtr; + +/** + * Callback function used to free data from a list. + * + * @param lk the data to deallocate + */ +typedef void (*xmlListDeallocator) (xmlLink *lk); +/** + * Callback function used to compare 2 data. + * + * @param data0 the first data + * @param data1 the second data + * @returns 0 is equality, -1 or 1 otherwise depending on the ordering. + */ +typedef int (*xmlListDataCompare) (const void *data0, const void *data1); +/** + * Callback function used when walking a list with #xmlListWalk. + * + * @param data the data found in the list + * @param user extra user provided data to the walker + * @returns 0 to stop walking the list, 1 otherwise. + */ +typedef int (*xmlListWalker) (const void *data, void *user); + +/* Creation/Deletion */ +XMLPUBFUN xmlList * + xmlListCreate (xmlListDeallocator deallocator, + xmlListDataCompare compare); +XMLPUBFUN void + xmlListDelete (xmlList *l); + +/* Basic Operators */ +XMLPUBFUN void * + xmlListSearch (xmlList *l, + void *data); +XMLPUBFUN void * + xmlListReverseSearch (xmlList *l, + void *data); +XMLPUBFUN int + xmlListInsert (xmlList *l, + void *data) ; +XMLPUBFUN int + xmlListAppend (xmlList *l, + void *data) ; +XMLPUBFUN int + xmlListRemoveFirst (xmlList *l, + void *data); +XMLPUBFUN int + xmlListRemoveLast (xmlList *l, + void *data); +XMLPUBFUN int + xmlListRemoveAll (xmlList *l, + void *data); +XMLPUBFUN void + xmlListClear (xmlList *l); +XMLPUBFUN int + xmlListEmpty (xmlList *l); +XMLPUBFUN xmlLink * + xmlListFront (xmlList *l); +XMLPUBFUN xmlLink * + xmlListEnd (xmlList *l); +XMLPUBFUN int + xmlListSize (xmlList *l); + +XMLPUBFUN void + xmlListPopFront (xmlList *l); +XMLPUBFUN void + xmlListPopBack (xmlList *l); +XMLPUBFUN int + xmlListPushFront (xmlList *l, + void *data); +XMLPUBFUN int + xmlListPushBack (xmlList *l, + void *data); + +/* Advanced Operators */ +XMLPUBFUN void + xmlListReverse (xmlList *l); +XMLPUBFUN void + xmlListSort (xmlList *l); +XMLPUBFUN void + xmlListWalk (xmlList *l, + xmlListWalker walker, + void *user); +XMLPUBFUN void + xmlListReverseWalk (xmlList *l, + xmlListWalker walker, + void *user); +XMLPUBFUN void + xmlListMerge (xmlList *l1, + xmlList *l2); +XMLPUBFUN xmlList * + xmlListDup (xmlList *old); +XMLPUBFUN int + xmlListCopy (xmlList *cur, + xmlList *old); +/* Link operators */ +XMLPUBFUN void * + xmlLinkGetData (xmlLink *lk); + +/* xmlListUnique() */ +/* xmlListSwap */ + +#ifdef __cplusplus +} +#endif + +#endif /* __XML_LINK_INCLUDE__ */ diff --git a/libxml2/include/libxml/meson.build b/libxml2/include/libxml/meson.build new file mode 100644 index 0000000..6fec781 --- /dev/null +++ b/libxml2/include/libxml/meson.build @@ -0,0 +1,99 @@ + +## xmlversion.h +xmlversion_h = configuration_data() +xmlversion_h.set('VERSION', meson.project_version()) +xmlversion_h.set('LIBXML_VERSION_NUMBER', v_nbr.to_string()) +xmlversion_h.set('LIBXML_VERSION_EXTRA', v_extra) +xmlversion_h.set10('WITH_C14N', want_c14n) +xmlversion_h.set10('WITH_CATALOG', want_catalog) +xmlversion_h.set10('WITH_DEBUG', want_debug) +xmlversion_h.set10('WITH_HTML', want_html) +xmlversion_h.set10('WITH_HTTP', want_http) +xmlversion_h.set10('WITH_ICONV', want_iconv) +xmlversion_h.set10('WITH_ICU', want_icu) +xmlversion_h.set10('WITH_ISO8859X', want_iso8859x) +xmlversion_h.set10('WITH_LEGACY', want_legacy) +xmlversion_h.set10('WITH_MODULES', want_modules) +xmlversion_h.set('MODULE_EXTENSION', module_extension) +xmlversion_h.set10('WITH_OUTPUT', want_output) +xmlversion_h.set10('WITH_PATTERN', want_pattern) +xmlversion_h.set10('WITH_PUSH', want_push) +xmlversion_h.set10('WITH_READER', want_reader) +xmlversion_h.set10('WITH_REGEXPS', want_regexps) +xmlversion_h.set10('WITH_RELAXNG', want_relaxng) +xmlversion_h.set10('WITH_SAX1', want_sax1) +xmlversion_h.set10('WITH_SCHEMAS', want_schemas) +xmlversion_h.set10('WITH_SCHEMATRON', want_schematron) +xmlversion_h.set10('WITH_THREADS', want_threads) +xmlversion_h.set10('WITH_THREAD_ALLOC', want_thread_alloc) +xmlversion_h.set10('WITH_VALID', want_valid) +xmlversion_h.set10('WITH_WINPATH', want_winpath) +xmlversion_h.set10('WITH_WRITER', want_writer) +xmlversion_h.set10('WITH_XINCLUDE', want_xinclude) +xmlversion_h.set10('WITH_XPATH', want_xpath) +xmlversion_h.set10('WITH_XPTR', want_xptr) +xmlversion_h.set10('WITH_ZLIB', want_zlib) + +configure_file( + input: 'xmlversion.h.in', + output: 'xmlversion.h', + configuration: xmlversion_h, + install_dir: dir_pkginclude + '/libxml', +) + +#vcs_tag( +# command : [ 'git', 'describe', '2>/dev/null' ], +# input : 'xmlversion.h.in', +# output : 'xmlversion.h', +# replace_string : 'LIBXML_VERSION_EXTRA' +#) + +libxml_headers = files( + 'HTMLparser.h', + 'HTMLtree.h', + 'SAX.h', + 'SAX2.h', + 'c14n.h', + 'catalog.h', + 'chvalid.h', + 'debugXML.h', + 'dict.h', + 'encoding.h', + 'entities.h', + 'globals.h', + 'hash.h', + 'list.h', + 'nanoftp.h', + 'nanohttp.h', + 'parser.h', + 'parserInternals.h', + 'pattern.h', + 'relaxng.h', + 'schemasInternals.h', + 'schematron.h', + 'threads.h', + 'tree.h', + 'uri.h', + 'valid.h', + 'xinclude.h', + 'xlink.h', + 'xmlIO.h', + 'xmlautomata.h', + 'xmlerror.h', + 'xmlexports.h', + 'xmlmemory.h', + 'xmlmodule.h', + 'xmlreader.h', + 'xmlregexp.h', + 'xmlsave.h', + 'xmlschemas.h', + 'xmlschemastypes.h', + 'xmlstring.h', + 'xmlunicode.h', + 'xmlwriter.h', + 'xpath.h', + 'xpathInternals.h', + 'xpointer.h', +) + +install_headers(libxml_headers, install_dir: dir_pkginclude / 'libxml') diff --git a/libxml2/include/libxml/nanoftp.h b/libxml2/include/libxml/nanoftp.h new file mode 100644 index 0000000..baaedc5 --- /dev/null +++ b/libxml2/include/libxml/nanoftp.h @@ -0,0 +1,19 @@ +/** + * @file + * + * @brief Removed legacy symbols for an outdated FTP client + * + * + * @copyright See Copyright for the status of this software. + * + * @author Daniel Veillard + */ + +#ifndef __NANO_FTP_H__ +#define __NANO_FTP_H__ + +#ifdef __GNUC__ + #warning "libxml/nanoftp.h is deprecated" +#endif + +#endif /* __NANO_FTP_H__ */ diff --git a/libxml2/include/libxml/nanohttp.h b/libxml2/include/libxml/nanohttp.h new file mode 100644 index 0000000..6ed3a2f --- /dev/null +++ b/libxml2/include/libxml/nanohttp.h @@ -0,0 +1,101 @@ +/** + * @file + * + * @brief minimal HTTP implementation + * + * minimal HTTP implementation allowing to fetch resources + * like external subset. + * + * @copyright See Copyright for the status of this software. + * + * @author Daniel Veillard + */ + +#ifndef __NANO_HTTP_H__ +#define __NANO_HTTP_H__ + +#include + +#ifdef LIBXML_HTTP_STUBS_ENABLED + +#ifdef __cplusplus +extern "C" { +#endif +XML_DEPRECATED +XMLPUBFUN void + xmlNanoHTTPInit (void); +XML_DEPRECATED +XMLPUBFUN void + xmlNanoHTTPCleanup (void); +XML_DEPRECATED +XMLPUBFUN void + xmlNanoHTTPScanProxy (const char *URL); +XML_DEPRECATED +XMLPUBFUN int + xmlNanoHTTPFetch (const char *URL, + const char *filename, + char **contentType); +XML_DEPRECATED +XMLPUBFUN void * + xmlNanoHTTPMethod (const char *URL, + const char *method, + const char *input, + char **contentType, + const char *headers, + int ilen); +XML_DEPRECATED +XMLPUBFUN void * + xmlNanoHTTPMethodRedir (const char *URL, + const char *method, + const char *input, + char **contentType, + char **redir, + const char *headers, + int ilen); +XML_DEPRECATED +XMLPUBFUN void * + xmlNanoHTTPOpen (const char *URL, + char **contentType); +XML_DEPRECATED +XMLPUBFUN void * + xmlNanoHTTPOpenRedir (const char *URL, + char **contentType, + char **redir); +XML_DEPRECATED +XMLPUBFUN int + xmlNanoHTTPReturnCode (void *ctx); +XML_DEPRECATED +XMLPUBFUN const char * + xmlNanoHTTPAuthHeader (void *ctx); +XML_DEPRECATED +XMLPUBFUN const char * + xmlNanoHTTPRedir (void *ctx); +XML_DEPRECATED +XMLPUBFUN int + xmlNanoHTTPContentLength( void * ctx ); +XML_DEPRECATED +XMLPUBFUN const char * + xmlNanoHTTPEncoding (void *ctx); +XML_DEPRECATED +XMLPUBFUN const char * + xmlNanoHTTPMimeType (void *ctx); +XML_DEPRECATED +XMLPUBFUN int + xmlNanoHTTPRead (void *ctx, + void *dest, + int len); +#ifdef LIBXML_OUTPUT_ENABLED +XML_DEPRECATED +XMLPUBFUN int + xmlNanoHTTPSave (void *ctxt, + const char *filename); +#endif /* LIBXML_OUTPUT_ENABLED */ +XML_DEPRECATED +XMLPUBFUN void + xmlNanoHTTPClose (void *ctx); +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_HTTP_STUBS_ENABLED */ +#endif /* __NANO_HTTP_H__ */ diff --git a/libxml2/include/libxml/parser.h b/libxml2/include/libxml/parser.h new file mode 100644 index 0000000..e71990f --- /dev/null +++ b/libxml2/include/libxml/parser.h @@ -0,0 +1,2161 @@ +/** + * @file + * + * @brief Validating XML 1.0 parser + * + * Interfaces, constants and types related to the XML parser. + * + * @copyright See Copyright for the status of this software. + * + * @author Daniel Veillard + */ + +#ifndef __XML_PARSER_H__ +#define __XML_PARSER_H__ + +#include +/** @cond ignore */ +#define XML_TREE_INTERNALS +/** @endcond */ +#include +#undef XML_TREE_INTERNALS +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* for compatibility */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * The default version of XML used: 1.0 + */ +#define XML_DEFAULT_VERSION "1.0" + +/** + * Status after parsing a document + */ +typedef enum { + /** not well-formed */ + XML_STATUS_NOT_WELL_FORMED = (1 << 0), + /** not namespace-well-formed */ + XML_STATUS_NOT_NS_WELL_FORMED = (1 << 1), + /** DTD validation failed */ + XML_STATUS_DTD_VALIDATION_FAILED = (1 << 2), + /** catastrophic failure like OOM or I/O error */ + XML_STATUS_CATASTROPHIC_ERROR = (1 << 3) +} xmlParserStatus; + +/** + * Resource type for resource loaders + */ +typedef enum { + /** unknown */ + XML_RESOURCE_UNKNOWN = 0, + /** main document */ + XML_RESOURCE_MAIN_DOCUMENT, + /** external DTD */ + XML_RESOURCE_DTD, + /** external general entity */ + XML_RESOURCE_GENERAL_ENTITY, + /** external parameter entity */ + XML_RESOURCE_PARAMETER_ENTITY, + /** XIncluded document */ + XML_RESOURCE_XINCLUDE, + /** XIncluded text */ + XML_RESOURCE_XINCLUDE_TEXT +} xmlResourceType; + +/** + * Flags for parser input + */ +typedef enum { + /** The input buffer won't be changed during parsing. */ + XML_INPUT_BUF_STATIC = (1 << 1), + /** The input buffer is zero-terminated. (Note that the zero + byte shouldn't be included in buffer size.) */ + XML_INPUT_BUF_ZERO_TERMINATED = (1 << 2), + /** Uncompress gzipped file input */ + XML_INPUT_UNZIP = (1 << 3), + /** Allow network access. Unused internally. */ + XML_INPUT_NETWORK = (1 << 4), + /** Allow system catalog to resolve URIs. */ + XML_INPUT_USE_SYS_CATALOG = (1 << 5) +} xmlParserInputFlags; + +/* Deprecated */ +typedef void (* xmlParserInputDeallocate)(xmlChar *str); + +/** + * Parser input + */ +struct _xmlParserInput { + /* Input buffer */ + xmlParserInputBuffer *buf XML_DEPRECATED_MEMBER; + /** + * @deprecated Use #xmlCtxtGetInputPosition + * + * The filename or URI, if any + */ + const char *filename; + /* unused */ + const char *directory XML_DEPRECATED_MEMBER; + /* Base of the array to parse */ + const xmlChar *base; + /** + * @deprecated Use #xmlCtxtGetInputWindow + * + * Current char being parsed + */ + const xmlChar *cur; + /* end of the array to parse */ + const xmlChar *end; + /* unused */ + int length XML_DEPRECATED_MEMBER; + /** + * @deprecated Use #xmlCtxtGetInputPosition + * + * Current line + */ + int line; + /** + * @deprecated Use #xmlCtxtGetInputPosition + * + * Current column + */ + int col; + /** + * @deprecated Use #xmlCtxtGetInputPosition + * + * How many xmlChars already consumed + */ + unsigned long consumed; + /* function to deallocate the base */ + xmlParserInputDeallocate free XML_DEPRECATED_MEMBER; + /* unused */ + const xmlChar *encoding XML_DEPRECATED_MEMBER; + /* the version string for entity */ + const xmlChar *version XML_DEPRECATED_MEMBER; + /* Flags */ + int flags XML_DEPRECATED_MEMBER; + /* an unique identifier for the entity, unused internally */ + int id XML_DEPRECATED_MEMBER; + /* unused */ + unsigned long parentConsumed XML_DEPRECATED_MEMBER; + /* entity, if any */ + xmlEntity *entity XML_DEPRECATED_MEMBER; +}; + +/** @cond ignore */ + +typedef struct _xmlParserNodeInfo xmlParserNodeInfo; +typedef xmlParserNodeInfo *xmlParserNodeInfoPtr; + +struct _xmlParserNodeInfo { + const struct _xmlNode* node; + /* Position & line # that text that created the node begins & ends on */ + unsigned long begin_pos; + unsigned long begin_line; + unsigned long end_pos; + unsigned long end_line; +}; + +typedef struct _xmlParserNodeInfoSeq xmlParserNodeInfoSeq; +typedef xmlParserNodeInfoSeq *xmlParserNodeInfoSeqPtr; +struct _xmlParserNodeInfoSeq { + unsigned long maximum; + unsigned long length; + xmlParserNodeInfo* buffer; +}; + +/* + * Internal type + */ +typedef enum { + XML_PARSER_EOF = -1, /* nothing is to be parsed */ + XML_PARSER_START = 0, /* nothing has been parsed */ + XML_PARSER_MISC, /* Misc* before int subset */ + XML_PARSER_PI, /* Within a processing instruction */ + XML_PARSER_DTD, /* within some DTD content */ + XML_PARSER_PROLOG, /* Misc* after internal subset */ + XML_PARSER_COMMENT, /* within a comment */ + XML_PARSER_START_TAG, /* within a start tag */ + XML_PARSER_CONTENT, /* within the content */ + XML_PARSER_CDATA_SECTION, /* within a CDATA section */ + XML_PARSER_END_TAG, /* within a closing tag */ + XML_PARSER_ENTITY_DECL, /* within an entity declaration */ + XML_PARSER_ENTITY_VALUE, /* within an entity value in a decl */ + XML_PARSER_ATTRIBUTE_VALUE, /* within an attribute value */ + XML_PARSER_SYSTEM_LITERAL, /* within a SYSTEM value */ + XML_PARSER_EPILOG, /* the Misc* after the last end tag */ + XML_PARSER_IGNORE, /* within an IGNORED section */ + XML_PARSER_PUBLIC_LITERAL, /* within a PUBLIC value */ + XML_PARSER_XML_DECL /* before XML decl (but after BOM) */ +} xmlParserInputState; + +/* + * Internal bits in the 'loadsubset' context member + */ +#define XML_DETECT_IDS 2 +#define XML_COMPLETE_ATTRS 4 +#define XML_SKIP_IDS 8 + +/* + * Internal type. Only XML_PARSE_READER is used. + */ +typedef enum { + XML_PARSE_UNKNOWN = 0, + XML_PARSE_DOM = 1, + XML_PARSE_SAX = 2, + XML_PARSE_PUSH_DOM = 3, + XML_PARSE_PUSH_SAX = 4, + XML_PARSE_READER = 5 +} xmlParserMode; + +typedef struct _xmlStartTag xmlStartTag; +typedef struct _xmlParserNsData xmlParserNsData; +typedef struct _xmlAttrHashBucket xmlAttrHashBucket; + +/** @endcond */ + +/** + * Callback for custom resource loaders. + * + * `flags` can contain XML_INPUT_UNZIP and XML_INPUT_NETWORK. + * + * The URL is resolved using XML catalogs before being passed to + * the callback. + * + * On success, `out` should be set to a new parser input object and + * XML_ERR_OK should be returned. + * + * @param ctxt parser context + * @param url URL or system ID to load + * @param publicId publid ID from DTD (optional) + * @param type resource type + * @param flags flags + * @param out result pointer + * @returns an xmlParserErrors code. + */ +typedef xmlParserErrors +(*xmlResourceLoader)(void *ctxt, const char *url, const char *publicId, + xmlResourceType type, xmlParserInputFlags flags, + xmlParserInput **out); + +/** + * Parser context + */ +struct _xmlParserCtxt { + /** + * @deprecated Use xmlCtxtGetSaxHandler() and + * xmlCtxtSetSaxHandler(). + * + * the SAX handler + */ + struct _xmlSAXHandler *sax; + /** + * @deprecated Use #xmlCtxtGetUserData + * + * user data for SAX interface, defaults to the context itself + */ + void *userData; + /** + * @deprecated Use xmlCtxtGetDocument() + * + * the document being built + */ + xmlDoc *myDoc; + /** + * @deprecated Use xmlCtxtGetStatus() + * + * is the document well formed? + */ + int wellFormed; + /** + * @deprecated Use xmlParserOption XML_PARSE_NOENT + * + * shall we replace entities? + */ + int replaceEntities XML_DEPRECATED_MEMBER; + /** + * @deprecated Use xmlCtxtGetVersion() + * + * the XML version string + */ + xmlChar *version; + /** + * @deprecated Use xmlCtxtGetDeclaredEncoding() + * + * the declared encoding, if any + */ + xmlChar *encoding; + /** + * @deprecated Use xmlCtxtGetStandalone() + * + * standalone document + */ + int standalone; + + /** + * @deprecated Use xmlCtxtIsHtml() + * + * non-zero for HTML documents, actually an htmlInsertMode + */ + int html; + + /* Input stream stack */ + + /** + * Current input stream + */ + /* TODO: Add accessors, see issue #762 */ + xmlParserInput *input; + /* Number of current input streams */ + int inputNr; + /* Max number of input streams */ + int inputMax XML_DEPRECATED_MEMBER; + /* stack of inputs */ + xmlParserInput **inputTab; + + /* Node analysis stack only used for DOM building */ + + /** + * @deprecated Use #xmlCtxtGetNode + * + * The current element. + */ + xmlNode *node; + /* Depth of the parsing stack */ + int nodeNr XML_DEPRECATED_MEMBER; + /* Max depth of the parsing stack */ + int nodeMax XML_DEPRECATED_MEMBER; + /* array of nodes */ + xmlNode **nodeTab XML_DEPRECATED_MEMBER; + + /* Whether node info should be kept */ + int record_info; + /* info about each node parsed */ + xmlParserNodeInfoSeq node_seq XML_DEPRECATED_MEMBER; + + /** + * @deprecated Use xmlCtxtGetLastError() + * + * error code + */ + int errNo; + + /* reference and external subset */ + int hasExternalSubset XML_DEPRECATED_MEMBER; + /* the internal subset has PE refs */ + int hasPErefs XML_DEPRECATED_MEMBER; + /* unused */ + int external XML_DEPRECATED_MEMBER; + + /** + * @deprecated Use xmlCtxtGetStatus() + * + * is the document valid + */ + int valid; + /** + * @deprecated Use xmlParserOption XML_PARSE_DTDVALID + * + * shall we try to validate? + */ + int validate XML_DEPRECATED_MEMBER; + /** + * @deprecated Use xmlCtxtGetValidCtxt() + * + * The validity context + */ + xmlValidCtxt vctxt; + + /* push parser state */ + xmlParserInputState instate XML_DEPRECATED_MEMBER; + /* unused */ + int token XML_DEPRECATED_MEMBER; + + /** + * @deprecated Don't use + * + * The main document URI, if available, with its last + * component stripped. + */ + char *directory; + + /* Node name stack */ + + /* Current parsed Node */ + const xmlChar *name XML_DEPRECATED_MEMBER; + /* Depth of the parsing stack */ + int nameNr XML_DEPRECATED_MEMBER; + /* Max depth of the parsing stack */ + int nameMax XML_DEPRECATED_MEMBER; + /* array of nodes */ + const xmlChar **nameTab XML_DEPRECATED_MEMBER; + + /* unused */ + long nbChars XML_DEPRECATED_MEMBER; + /* used by progressive parsing lookup */ + long checkIndex XML_DEPRECATED_MEMBER; + /** + * @deprecated Use inverted xmlParserOption XML_PARSE_NOBLANKS + * + * ugly but ... + */ + int keepBlanks XML_DEPRECATED_MEMBER; + /** + * @deprecated Use xmlCtxtIsStopped() + * + * SAX callbacks are disabled + */ + int disableSAX XML_DEPRECATED_MEMBER; + /** + * @deprecated Use xmlCtxtIsInSubset + * + * Set if DTD content is parsed. + * + * - 0: not in DTD + * - 1: in internal DTD subset + * - 2: in external DTD subset + */ + int inSubset; + /** + * @deprecated Use the `name` argument of the + * `internalSubset` SAX callback or #xmlCtxtGetDocTypeDecl + * + * Name of the internal subset (root element type). + */ + const xmlChar *intSubName; + /** + * @deprecated Use the `systemId` argument of the + * `internalSubset` SAX callback or #xmlCtxtGetDocTypeDecl + * + * System identifier (URI) of external the subset. + */ + xmlChar *extSubURI; + /** + * @deprecated Use the `publicId` argument of the + * `internalSubset` SAX callback or #xmlCtxtGetDocTypeDecl + * + * This member is MISNAMED. It contains the *public* identifier + * of the external subset. + */ + xmlChar *extSubSystem; + + /* xml:space values */ + + /* Should the parser preserve spaces */ + int *space XML_DEPRECATED_MEMBER; + /* Depth of the parsing stack */ + int spaceNr XML_DEPRECATED_MEMBER; + /* Max depth of the parsing stack */ + int spaceMax XML_DEPRECATED_MEMBER; + /* array of space infos */ + int *spaceTab XML_DEPRECATED_MEMBER; + + /* to prevent entity substitution loops */ + int depth XML_DEPRECATED_MEMBER; + /* unused */ + xmlParserInput *entity XML_DEPRECATED_MEMBER; + /* unused */ + int charset XML_DEPRECATED_MEMBER; + /* Those two fields are there to speed up large node parsing */ + int nodelen XML_DEPRECATED_MEMBER; + int nodemem XML_DEPRECATED_MEMBER; + /** + * @deprecated Use xmlParserOption XML_PARSE_PEDANTIC + * + * signal pedantic warnings + */ + int pedantic XML_DEPRECATED_MEMBER; + /** + * @deprecated Use xmlCtxtGetPrivate() and xmlCtxtSetPrivate() + * + * For user data, libxml won't touch it + */ + void *_private; + /** + * @deprecated Use xmlParserOption XML_PARSE_DTDLOAD, + * XML_PARSE_DTDATTR or XML_PARSE_SKIP_IDS. + * + * Control loading of the external subset and handling of IDs. + * Other options like `validate` can override this value. + * + * - 0: The default behavior is to process IDs and to ignore + * the external subset. + * - XML_DETECT_IDS: Load external subset. This flag is + * misnamed. ID handling is only controlled by XML_SKIP_IDS. + * - XML_COMPLETE_ATTRS: Load external subset and process + * default attributes. + * - XML_SKIP_IDS: Ignore IDs. + */ + int loadsubset XML_DEPRECATED_MEMBER; + /* unused */ + int linenumbers XML_DEPRECATED_MEMBER; + /** + * @deprecated Use xmlCtxtGetCatalogs() and xmlCtxtSetCatalogs() + * + * document's own catalog + */ + void *catalogs XML_DEPRECATED_MEMBER; + /** + * @deprecated Use xmlParserOption XML_PARSE_RECOVER + * run in recovery mode + */ + int recovery XML_DEPRECATED_MEMBER; + /* unused */ + int progressive XML_DEPRECATED_MEMBER; + /** + * @deprecated Use xmlCtxtGetDict() and xmlCtxtSetDict() + * + * dictionary for the parser + */ + xmlDict *dict; + /* array for the attributes callbacks */ + const xmlChar **atts XML_DEPRECATED_MEMBER; + /* the size of the array */ + int maxatts XML_DEPRECATED_MEMBER; + /* unused */ + int docdict XML_DEPRECATED_MEMBER; + + /* + * pre-interned strings + */ + const xmlChar *str_xml XML_DEPRECATED_MEMBER; + const xmlChar *str_xmlns XML_DEPRECATED_MEMBER; + const xmlChar *str_xml_ns XML_DEPRECATED_MEMBER; + + /* + * Everything below is used only by the new SAX mode + */ + + /* operating in the new SAX mode */ + int sax2 XML_DEPRECATED_MEMBER; + /* the number of inherited namespaces */ + int nsNr XML_DEPRECATED_MEMBER; + /* the size of the arrays */ + int nsMax XML_DEPRECATED_MEMBER; + /* the array of prefix/namespace name */ + const xmlChar **nsTab XML_DEPRECATED_MEMBER; + /* which attribute were allocated */ + unsigned *attallocs XML_DEPRECATED_MEMBER; + /* array of data for push */ + xmlStartTag *pushTab XML_DEPRECATED_MEMBER; + /* defaulted attributes if any */ + xmlHashTable *attsDefault XML_DEPRECATED_MEMBER; + /* non-CDATA attributes if any */ + xmlHashTable *attsSpecial XML_DEPRECATED_MEMBER; + + /** + * @deprecated Use xmlCtxtGetStatus() + * + * is the document XML Namespace okay + */ + int nsWellFormed; + /** + * @deprecated Use xmlCtxtGetOptions() + * + * Extra options + */ + int options; + + /** + * @deprecated Use inverted xmlParserOption XML_PARSE_NODICT + * + * Use dictionary names for the tree + */ + int dictNames XML_DEPRECATED_MEMBER; + + /* + * Those fields are needed only for streaming parsing so far + */ + + /* number of freed element nodes */ + int freeElemsNr XML_DEPRECATED_MEMBER; + /* List of freed element nodes */ + xmlNode *freeElems XML_DEPRECATED_MEMBER; + /* number of freed attributes nodes */ + int freeAttrsNr XML_DEPRECATED_MEMBER; + /* List of freed attributes nodes */ + xmlAttr *freeAttrs XML_DEPRECATED_MEMBER; + + /** + * @deprecated Use xmlCtxtGetLastError() + * + * the complete error information for the last error. + */ + xmlError lastError XML_DEPRECATED_MEMBER; + /* the parser mode */ + xmlParserMode parseMode XML_DEPRECATED_MEMBER; + /* unused */ + unsigned long nbentities XML_DEPRECATED_MEMBER; + /* size of external entities */ + unsigned long sizeentities XML_DEPRECATED_MEMBER; + + /* for use by HTML non-recursive parser */ + /* Current NodeInfo */ + xmlParserNodeInfo *nodeInfo XML_DEPRECATED_MEMBER; + /* Depth of the parsing stack */ + int nodeInfoNr XML_DEPRECATED_MEMBER; + /* Max depth of the parsing stack */ + int nodeInfoMax XML_DEPRECATED_MEMBER; + /* array of nodeInfos */ + xmlParserNodeInfo *nodeInfoTab XML_DEPRECATED_MEMBER; + + /* we need to label inputs */ + int input_id XML_DEPRECATED_MEMBER; + /* volume of entity copy */ + unsigned long sizeentcopy XML_DEPRECATED_MEMBER; + + /* quote state for push parser */ + int endCheckState XML_DEPRECATED_MEMBER; + /* number of errors */ + unsigned short nbErrors XML_DEPRECATED_MEMBER; + /* number of warnings */ + unsigned short nbWarnings XML_DEPRECATED_MEMBER; + /* maximum amplification factor */ + unsigned maxAmpl XML_DEPRECATED_MEMBER; + + /* namespace database */ + xmlParserNsData *nsdb XML_DEPRECATED_MEMBER; + /* allocated size */ + unsigned attrHashMax XML_DEPRECATED_MEMBER; + /* atttribute hash table */ + xmlAttrHashBucket *attrHash XML_DEPRECATED_MEMBER; + + xmlStructuredErrorFunc errorHandler XML_DEPRECATED_MEMBER; + void *errorCtxt XML_DEPRECATED_MEMBER; + + xmlResourceLoader resourceLoader XML_DEPRECATED_MEMBER; + void *resourceCtxt XML_DEPRECATED_MEMBER; + + xmlCharEncConvImpl convImpl XML_DEPRECATED_MEMBER; + void *convCtxt XML_DEPRECATED_MEMBER; +}; + +/** + * A SAX Locator. + */ +struct _xmlSAXLocator { + const xmlChar *(*getPublicId)(void *ctx); + const xmlChar *(*getSystemId)(void *ctx); + int (*getLineNumber)(void *ctx); + int (*getColumnNumber)(void *ctx); +}; + +/** + * SAX callback to resolve external entities. + * + * This is only used to load DTDs. The preferred way to install + * custom resolvers is #xmlCtxtSetResourceLoader. + * + * @param ctx the user data (XML parser context) + * @param publicId The public identifier of the entity + * @param systemId The system identifier of the entity (URL) + * @returns the xmlParserInput if inlined or NULL for DOM behaviour. + */ +typedef xmlParserInput *(*resolveEntitySAXFunc) (void *ctx, + const xmlChar *publicId, + const xmlChar *systemId); +/** + * SAX callback for the internal subset. + * + * @param ctx the user data (XML parser context) + * @param name the root element name + * @param publicId the public identifier + * @param systemId the system identifier (e.g. filename or URL) + */ +typedef void (*internalSubsetSAXFunc) (void *ctx, + const xmlChar *name, + const xmlChar *publicId, + const xmlChar *systemId); +/** + * SAX callback for the external subset. + * + * @param ctx the user data (XML parser context) + * @param name the root element name + * @param publicId the public identifier + * @param systemId the system identifier (e.g. filename or URL) + */ +typedef void (*externalSubsetSAXFunc) (void *ctx, + const xmlChar *name, + const xmlChar *publicId, + const xmlChar *systemId); +/** + * SAX callback to look up a general entity by name. + * + * @param ctx the user data (XML parser context) + * @param name The entity name + * @returns the xmlEntity if found. + */ +typedef xmlEntity *(*getEntitySAXFunc) (void *ctx, + const xmlChar *name); +/** + * SAX callback to look up a parameter entity by name. + * + * @param ctx the user data (XML parser context) + * @param name The entity name + * @returns the xmlEntity if found. + */ +typedef xmlEntity *(*getParameterEntitySAXFunc) (void *ctx, + const xmlChar *name); +/** + * SAX callback for entity declarations. + * + * @param ctx the user data (XML parser context) + * @param name the entity name + * @param type the entity type + * @param publicId The public ID of the entity + * @param systemId The system ID of the entity + * @param content the entity value (without processing). + */ +typedef void (*entityDeclSAXFunc) (void *ctx, + const xmlChar *name, + int type, + const xmlChar *publicId, + const xmlChar *systemId, + xmlChar *content); +/** + * SAX callback for notation declarations. + * + * @param ctx the user data (XML parser context) + * @param name The name of the notation + * @param publicId The public ID of the notation + * @param systemId The system ID of the notation + */ +typedef void (*notationDeclSAXFunc)(void *ctx, + const xmlChar *name, + const xmlChar *publicId, + const xmlChar *systemId); +/** + * SAX callback for attribute declarations. + * + * @param ctx the user data (XML parser context) + * @param elem the name of the element + * @param fullname the attribute name + * @param type the attribute type + * @param def the type of default value + * @param defaultValue the attribute default value + * @param tree the tree of enumerated value set + */ +typedef void (*attributeDeclSAXFunc)(void *ctx, + const xmlChar *elem, + const xmlChar *fullname, + int type, + int def, + const xmlChar *defaultValue, + xmlEnumeration *tree); +/** + * SAX callback for element declarations. + * + * @param ctx the user data (XML parser context) + * @param name the element name + * @param type the element type + * @param content the element value tree + */ +typedef void (*elementDeclSAXFunc)(void *ctx, + const xmlChar *name, + int type, + xmlElementContent *content); +/** + * SAX callback for unparsed entity declarations. + * + * @param ctx the user data (XML parser context) + * @param name The name of the entity + * @param publicId The public ID of the entity + * @param systemId The system ID of the entity + * @param notationName the name of the notation + */ +typedef void (*unparsedEntityDeclSAXFunc)(void *ctx, + const xmlChar *name, + const xmlChar *publicId, + const xmlChar *systemId, + const xmlChar *notationName); +/** + * This callback receives the "document locator" at startup, + * which is always the global xmlDefaultSAXLocator. + * + * Everything is available on the context, so this is useless in + * our case. + * + * @param ctx the user data (XML parser context) + * @param loc A SAX Locator + */ +typedef void (*setDocumentLocatorSAXFunc) (void *ctx, + xmlSAXLocator *loc); +/** + * SAX callback for start of document. + * + * @param ctx the user data (XML parser context) + */ +typedef void (*startDocumentSAXFunc) (void *ctx); +/** + * SAX callback for end of document. + * + * @param ctx the user data (XML parser context) + */ +typedef void (*endDocumentSAXFunc) (void *ctx); +/** + * SAX callback for start tags. + * + * @param ctx the user data (XML parser context) + * @param name The element name, including namespace prefix + * @param atts An array of name/value attributes pairs, NULL terminated + */ +typedef void (*startElementSAXFunc) (void *ctx, + const xmlChar *name, + const xmlChar **atts); +/** + * SAX callback for end tags. + * + * @param ctx the user data (XML parser context) + * @param name The element name + */ +typedef void (*endElementSAXFunc) (void *ctx, + const xmlChar *name); +/** + * Callback for attributes. + * + * @deprecated This typedef is unused. + * + * @param ctx the user data (XML parser context) + * @param name The attribute name, including namespace prefix + * @param value The attribute value + */ +typedef void (*attributeSAXFunc) (void *ctx, + const xmlChar *name, + const xmlChar *value); +/** + * SAX callback for entity references. + * + * @param ctx the user data (XML parser context) + * @param name The entity name + */ +typedef void (*referenceSAXFunc) (void *ctx, + const xmlChar *name); +/** + * SAX callback for character data. + * + * @param ctx the user data (XML parser context) + * @param ch a xmlChar string + * @param len the number of xmlChar + */ +typedef void (*charactersSAXFunc) (void *ctx, + const xmlChar *ch, + int len); +/** + * SAX callback for "ignorable" whitespace. + * + * @param ctx the user data (XML parser context) + * @param ch a xmlChar string + * @param len the number of xmlChar + */ +typedef void (*ignorableWhitespaceSAXFunc) (void *ctx, + const xmlChar *ch, + int len); +/** + * SAX callback for processing instructions. + * + * @param ctx the user data (XML parser context) + * @param target the target name + * @param data the PI data's + */ +typedef void (*processingInstructionSAXFunc) (void *ctx, + const xmlChar *target, + const xmlChar *data); +/** + * SAX callback for comments. + * + * @param ctx the user data (XML parser context) + * @param value the comment content + */ +typedef void (*commentSAXFunc) (void *ctx, + const xmlChar *value); +/** + * SAX callback for CDATA sections. + * + * @param ctx the user data (XML parser context) + * @param value The pcdata content + * @param len the block length + */ +typedef void (*cdataBlockSAXFunc) ( + void *ctx, + const xmlChar *value, + int len); +/** + * SAX callback for warning messages. + * + * @param ctx an XML parser context + * @param msg the message to display/transmit + * @param ... extra parameters for the message display + */ +typedef void (*warningSAXFunc) (void *ctx, + const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); +/** + * SAX callback for error messages. + * + * @param ctx an XML parser context + * @param msg the message to display/transmit + * @param ... extra parameters for the message display + */ +typedef void (*errorSAXFunc) (void *ctx, + const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); +/** + * SAX callback for fatal error messages. + * + * @param ctx an XML parser context + * @param msg the message to display/transmit + * @param ... extra parameters for the message display + */ +typedef void (*fatalErrorSAXFunc) (void *ctx, + const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); +/** + * SAX callback to get standalone status. + * + * @param ctx the user data (XML parser context) + * @returns 1 if true + */ +typedef int (*isStandaloneSAXFunc) (void *ctx); +/** + * SAX callback to get internal subset status. + * + * @param ctx the user data (XML parser context) + * @returns 1 if true + */ +typedef int (*hasInternalSubsetSAXFunc) (void *ctx); + +/** + * SAX callback to get external subset status. + * + * @param ctx the user data (XML parser context) + * @returns 1 if true + */ +typedef int (*hasExternalSubsetSAXFunc) (void *ctx); + +/************************************************************************ + * * + * The SAX version 2 API extensions * + * * + ************************************************************************/ +/** + * Special constant required for SAX2 handlers. + */ +#define XML_SAX2_MAGIC 0xDEEDBEAF + +/** + * SAX2 callback for start tags. + * + * It provides the namespace information for the element, as well as + * the new namespace declarations on the element. + * + * @param ctx the user data (XML parser context) + * @param localname the local name of the element + * @param prefix the element namespace prefix if available + * @param URI the element namespace name if available + * @param nb_namespaces number of namespace definitions on that node + * @param namespaces pointer to the array of prefix/URI pairs namespace definitions + * @param nb_attributes the number of attributes on that node + * @param nb_defaulted the number of defaulted attributes. The defaulted + * ones are at the end of the array + * @param attributes pointer to the array of (localname/prefix/URI/value/end) + * attribute values. + */ + +typedef void (*startElementNsSAX2Func) (void *ctx, + const xmlChar *localname, + const xmlChar *prefix, + const xmlChar *URI, + int nb_namespaces, + const xmlChar **namespaces, + int nb_attributes, + int nb_defaulted, + const xmlChar **attributes); + +/** + * SAX2 callback for end tags. + * + * It provides the namespace information for the element. + * + * @param ctx the user data (XML parser context) + * @param localname the local name of the element + * @param prefix the element namespace prefix if available + * @param URI the element namespace name if available + */ + +typedef void (*endElementNsSAX2Func) (void *ctx, + const xmlChar *localname, + const xmlChar *prefix, + const xmlChar *URI); + +/** + * Callbacks for SAX parser + * + * For DTD-related handlers, it's recommended to either use the + * original libxml2 handler or set them to NULL if DTDs can be + * ignored. + */ +struct _xmlSAXHandler { + /** + * Called after the start of the document type declaration + * was parsed. + * + * Should typically not be modified. + */ + internalSubsetSAXFunc internalSubset; + /** + * Standalone status. Not invoked by the parser. Not supposed + * to be changed by applications. + */ + isStandaloneSAXFunc isStandalone; + /** + * Internal subset availability. Not invoked by the parser. + * Not supposed to be changed by applications. + */ + hasInternalSubsetSAXFunc hasInternalSubset; + /** + * External subset availability. Not invoked by the parser. + * Not supposed to be changed by applications. + */ + hasExternalSubsetSAXFunc hasExternalSubset; + /** + * Only called when loading external DTDs. Not called to load + * external entities. + * + * Should typically not be modified. + */ + resolveEntitySAXFunc resolveEntity; + /** + * Called when looking up general entities. + * + * Should typically not be modified. + */ + getEntitySAXFunc getEntity; + /** + * Called after an entity declaration was parsed. + * + * Should typically not be modified. + */ + entityDeclSAXFunc entityDecl; + /** + * Called after a notation declaration was parsed. + * + * Should typically not be modified. + */ + notationDeclSAXFunc notationDecl; + /** + * Called after an attribute declaration was parsed. + * + * Should typically not be modified. + */ + attributeDeclSAXFunc attributeDecl; + /** + * Called after an element declaration was parsed. + * + * Should typically not be modified. + */ + elementDeclSAXFunc elementDecl; + /** + * Called after an unparsed entity declaration was parsed. + * + * Should typically not be modified. + */ + unparsedEntityDeclSAXFunc unparsedEntityDecl; + /** + * This callback receives the "document locator" at startup, + * which is always the global xmlDefaultSAXLocator. + * + * Everything is available on the context, so this is useless in + * our case. + */ + setDocumentLocatorSAXFunc setDocumentLocator; + /** + * Called after the XML declaration was parsed. + * + * Use xmlCtxtGetVersion(), xmlCtxtGetDeclaredEncoding() and + * xmlCtxtGetStandalone() to get data from the XML declaration. + */ + startDocumentSAXFunc startDocument; + /** + * Called at the end of the document. + */ + endDocumentSAXFunc endDocument; + /** + * Legacy start tag handler + * + * `startElement` and `endElement` are only used by the legacy SAX1 + * interface and should not be used in new software. If you really + * have to enable SAX1, the preferred way is set the `initialized` + * member to 1 instead of XML_SAX2_MAGIC. + * + * For backward compatibility, it's also possible to set the + * `startElementNs` and `endElementNs` handlers to NULL. + * + * You can also set the XML_PARSE_SAX1 parser option, but versions + * older than 2.12.0 will probably crash if this option is provided + * together with custom SAX callbacks. + */ + startElementSAXFunc startElement; + /** + * See _xmlSAXHandler.startElement + */ + endElementSAXFunc endElement; + /** + * Called after an entity reference was parsed. + */ + referenceSAXFunc reference; + /** + * Called after a character data was parsed. + */ + charactersSAXFunc characters; + /** + * Called after "ignorable" whitespace was parsed. + * + * `ignorableWhitespace` should always be set to the same value + * as `characters`. Otherwise, the parser will try to detect + * whitespace which is unreliable. + */ + ignorableWhitespaceSAXFunc ignorableWhitespace; + /** + * Called after a processing instruction was parsed. + */ + processingInstructionSAXFunc processingInstruction; + /** + * Called after a comment was parsed. + */ + commentSAXFunc comment; + /** + * Callback for warning messages. + */ + warningSAXFunc warning; + /** + * Callback for error messages. + */ + errorSAXFunc error; + /** + * Unused, all errors go to `error`. + */ + fatalErrorSAXFunc fatalError; + /** + * Called when looking up parameter entities. + * + * Should typically not be modified. + */ + getParameterEntitySAXFunc getParameterEntity; + /** + * Called after a CDATA section was parsed. + */ + cdataBlockSAXFunc cdataBlock; + /** + * Called to parse the external subset. + * + * Should typically not be modified. + */ + externalSubsetSAXFunc externalSubset; + /** + * Legacy magic value + * + * `initialized` should always be set to XML_SAX2_MAGIC to + * enable the modern SAX2 interface. + */ + unsigned int initialized; + /** + * Application data + */ + void *_private; + /** + * Called after a start tag was parsed. + */ + startElementNsSAX2Func startElementNs; + /** + * Called after an end tag was parsed. + */ + endElementNsSAX2Func endElementNs; + /** + * Structured error handler. + * + * Takes precedence over `error` or `warning`, but modern code + * should use xmlCtxtSetErrorHandler(). + */ + xmlStructuredErrorFunc serror; +}; + +/** + * SAX handler, version 1. + * + * @deprecated Use version 2 handlers. + */ +typedef struct _xmlSAXHandlerV1 xmlSAXHandlerV1; +typedef xmlSAXHandlerV1 *xmlSAXHandlerV1Ptr; +/** + * SAX handler, version 1. + * + * @deprecated Use version 2 handlers. + */ +struct _xmlSAXHandlerV1 { + internalSubsetSAXFunc internalSubset; + isStandaloneSAXFunc isStandalone; + hasInternalSubsetSAXFunc hasInternalSubset; + hasExternalSubsetSAXFunc hasExternalSubset; + resolveEntitySAXFunc resolveEntity; + getEntitySAXFunc getEntity; + entityDeclSAXFunc entityDecl; + notationDeclSAXFunc notationDecl; + attributeDeclSAXFunc attributeDecl; + elementDeclSAXFunc elementDecl; + unparsedEntityDeclSAXFunc unparsedEntityDecl; + setDocumentLocatorSAXFunc setDocumentLocator; + startDocumentSAXFunc startDocument; + endDocumentSAXFunc endDocument; + startElementSAXFunc startElement; + endElementSAXFunc endElement; + referenceSAXFunc reference; + charactersSAXFunc characters; + ignorableWhitespaceSAXFunc ignorableWhitespace; + processingInstructionSAXFunc processingInstruction; + commentSAXFunc comment; + warningSAXFunc warning; + errorSAXFunc error; + fatalErrorSAXFunc fatalError; /* unused error() get all the errors */ + getParameterEntitySAXFunc getParameterEntity; + cdataBlockSAXFunc cdataBlock; + externalSubsetSAXFunc externalSubset; + unsigned int initialized; +}; + + +/** + * Callback for external entity loader. + * + * The URL is not resolved using XML catalogs before being passed + * to the callback. + * + * @param URL The URL or system ID of the resource requested + * @param publicId The public ID of the resource requested (optional) + * @param context the XML parser context + * @returns the entity input parser or NULL on error. + */ +typedef xmlParserInput *(*xmlExternalEntityLoader) (const char *URL, + const char *publicId, + xmlParserCtxt *context); + +/* + * Variables + */ + +XMLPUBVAR const char *const xmlParserVersion; + +/** @cond ignore */ + +XML_DEPRECATED +XMLPUBVAR const xmlSAXLocator xmlDefaultSAXLocator; +#ifdef LIBXML_SAX1_ENABLED +/** + * @deprecated Use #xmlSAXVersion or #xmlSAX2InitDefaultSAXHandler + */ +XML_DEPRECATED +XMLPUBVAR const xmlSAXHandlerV1 xmlDefaultSAXHandler; +#endif + +XML_DEPRECATED +XMLPUBFUN int *__xmlDoValidityCheckingDefaultValue(void); +XML_DEPRECATED +XMLPUBFUN int *__xmlGetWarningsDefaultValue(void); +XML_DEPRECATED +XMLPUBFUN int *__xmlKeepBlanksDefaultValue(void); +XML_DEPRECATED +XMLPUBFUN int *__xmlLineNumbersDefaultValue(void); +XML_DEPRECATED +XMLPUBFUN int *__xmlLoadExtDtdDefaultValue(void); +XML_DEPRECATED +XMLPUBFUN int *__xmlPedanticParserDefaultValue(void); +XML_DEPRECATED +XMLPUBFUN int *__xmlSubstituteEntitiesDefaultValue(void); + +#ifdef LIBXML_OUTPUT_ENABLED +XML_DEPRECATED +XMLPUBFUN int *__xmlIndentTreeOutput(void); +XML_DEPRECATED +XMLPUBFUN const char **__xmlTreeIndentString(void); +XML_DEPRECATED +XMLPUBFUN int *__xmlSaveNoEmptyTags(void); +#endif + +/** @endcond */ + +#ifndef XML_GLOBALS_NO_REDEFINITION + /** + * Thread-local setting to enable validation. Defaults to 0. + * + * @deprecated Use the parser option XML_PARSE_DTDVALID. + */ + #define xmlDoValidityCheckingDefaultValue \ + (*__xmlDoValidityCheckingDefaultValue()) + /** + * Thread-local setting to disable warnings. Defaults to 1. + * + * @deprecated Use the parser option XML_PARSE_NOWARNING. + */ + #define xmlGetWarningsDefaultValue \ + (*__xmlGetWarningsDefaultValue()) + /** + * Thread-local setting to ignore some whitespace. Defaults + * to 1. + * + * @deprecated Use the parser option XML_PARSE_NOBLANKS. + */ + #define xmlKeepBlanksDefaultValue (*__xmlKeepBlanksDefaultValue()) + /** + * Thread-local setting to store line numbers. Defaults + * to 0, but is always enabled after setting parser options. + * + * @deprecated Shouldn't be needed when using parser options. + */ + #define xmlLineNumbersDefaultValue \ + (*__xmlLineNumbersDefaultValue()) + /** + * Thread-local setting to enable loading of external DTDs. + * Defaults to 0. + * + * @deprecated Use the parser option XML_PARSE_DTDLOAD. + */ + #define xmlLoadExtDtdDefaultValue (*__xmlLoadExtDtdDefaultValue()) + /** + * Thread-local setting to enable pedantic warnings. + * Defaults to 0. + * + * @deprecated Use the parser option XML_PARSE_PEDANTIC. + */ + #define xmlPedanticParserDefaultValue \ + (*__xmlPedanticParserDefaultValue()) + /** + * Thread-local setting to enable entity substitution. + * Defaults to 0. + * + * @deprecated Use the parser option XML_PARSE_NOENT. + */ + #define xmlSubstituteEntitiesDefaultValue \ + (*__xmlSubstituteEntitiesDefaultValue()) + #ifdef LIBXML_OUTPUT_ENABLED + /** + * Thread-local setting to disable indenting when + * formatting output. Defaults to 1. + * + * @deprecated Use the xmlsave.h API with option + * XML_SAVE_NO_INDENT. + */ + #define xmlIndentTreeOutput (*__xmlIndentTreeOutput()) + /** + * Thread-local setting to change the indent string. + * Defaults to two spaces. + * + * @deprecated Use the xmlsave.h API and + * xmlSaveSetIndentString(). + */ + #define xmlTreeIndentString (*__xmlTreeIndentString()) + /** + * Thread-local setting to disable empty tags when + * serializing. Defaults to 0. + * + * @deprecated Use the xmlsave.h API with option + * XML_SAVE_NO_EMPTY. + */ + #define xmlSaveNoEmptyTags (*__xmlSaveNoEmptyTags()) + #endif +#endif + +/* + * Init/Cleanup + */ +XMLPUBFUN void + xmlInitParser (void); +XMLPUBFUN void + xmlCleanupParser (void); +XML_DEPRECATED +XMLPUBFUN void + xmlInitGlobals (void); +XML_DEPRECATED +XMLPUBFUN void + xmlCleanupGlobals (void); + +/* + * Input functions + */ +XML_DEPRECATED +XMLPUBFUN int + xmlParserInputRead (xmlParserInput *in, + int len); +XMLPUBFUN int + xmlParserInputGrow (xmlParserInput *in, + int len); + +/* + * Basic parsing Interfaces + */ +#ifdef LIBXML_SAX1_ENABLED +XMLPUBFUN xmlDoc * + xmlParseDoc (const xmlChar *cur); +XMLPUBFUN xmlDoc * + xmlParseFile (const char *filename); +XMLPUBFUN xmlDoc * + xmlParseMemory (const char *buffer, + int size); +#endif /* LIBXML_SAX1_ENABLED */ +XML_DEPRECATED +XMLPUBFUN int + xmlSubstituteEntitiesDefault(int val); +XMLPUBFUN int + xmlKeepBlanksDefault (int val); +XMLPUBFUN void + xmlStopParser (xmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN int + xmlPedanticParserDefault(int val); +XML_DEPRECATED +XMLPUBFUN int + xmlLineNumbersDefault (int val); + +XML_DEPRECATED +XMLPUBFUN int + xmlThrDefSubstituteEntitiesDefaultValue(int v); +XML_DEPRECATED +XMLPUBFUN int + xmlThrDefKeepBlanksDefaultValue(int v); +XML_DEPRECATED +XMLPUBFUN int + xmlThrDefPedanticParserDefaultValue(int v); +XML_DEPRECATED +XMLPUBFUN int + xmlThrDefLineNumbersDefaultValue(int v); +XML_DEPRECATED +XMLPUBFUN int + xmlThrDefDoValidityCheckingDefaultValue(int v); +XML_DEPRECATED +XMLPUBFUN int + xmlThrDefGetWarningsDefaultValue(int v); +XML_DEPRECATED +XMLPUBFUN int + xmlThrDefLoadExtDtdDefaultValue(int v); + +#ifdef LIBXML_SAX1_ENABLED +/* + * Recovery mode + */ +XML_DEPRECATED +XMLPUBFUN xmlDoc * + xmlRecoverDoc (const xmlChar *cur); +XML_DEPRECATED +XMLPUBFUN xmlDoc * + xmlRecoverMemory (const char *buffer, + int size); +XML_DEPRECATED +XMLPUBFUN xmlDoc * + xmlRecoverFile (const char *filename); +#endif /* LIBXML_SAX1_ENABLED */ + +/* + * Less common routines and SAX interfaces + */ +XMLPUBFUN int + xmlParseDocument (xmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN int + xmlParseExtParsedEnt (xmlParserCtxt *ctxt); +#ifdef LIBXML_SAX1_ENABLED +XML_DEPRECATED +XMLPUBFUN int + xmlSAXUserParseFile (xmlSAXHandler *sax, + void *user_data, + const char *filename); +XML_DEPRECATED +XMLPUBFUN int + xmlSAXUserParseMemory (xmlSAXHandler *sax, + void *user_data, + const char *buffer, + int size); +XML_DEPRECATED +XMLPUBFUN xmlDoc * + xmlSAXParseDoc (xmlSAXHandler *sax, + const xmlChar *cur, + int recovery); +XML_DEPRECATED +XMLPUBFUN xmlDoc * + xmlSAXParseMemory (xmlSAXHandler *sax, + const char *buffer, + int size, + int recovery); +XML_DEPRECATED +XMLPUBFUN xmlDoc * + xmlSAXParseMemoryWithData (xmlSAXHandler *sax, + const char *buffer, + int size, + int recovery, + void *data); +XML_DEPRECATED +XMLPUBFUN xmlDoc * + xmlSAXParseFile (xmlSAXHandler *sax, + const char *filename, + int recovery); +XML_DEPRECATED +XMLPUBFUN xmlDoc * + xmlSAXParseFileWithData (xmlSAXHandler *sax, + const char *filename, + int recovery, + void *data); +XML_DEPRECATED +XMLPUBFUN xmlDoc * + xmlSAXParseEntity (xmlSAXHandler *sax, + const char *filename); +XML_DEPRECATED +XMLPUBFUN xmlDoc * + xmlParseEntity (const char *filename); +#endif /* LIBXML_SAX1_ENABLED */ + +#ifdef LIBXML_VALID_ENABLED +XMLPUBFUN xmlDtd * + xmlCtxtParseDtd (xmlParserCtxt *ctxt, + xmlParserInput *input, + const xmlChar *publicId, + const xmlChar *systemId); +XMLPUBFUN int + xmlCtxtValidateDocument (xmlParserCtxt *ctxt, + xmlDoc *doc); +XMLPUBFUN int + xmlCtxtValidateDtd (xmlParserCtxt *ctxt, + xmlDoc *doc, + xmlDtd *dtd); +XML_DEPRECATED +XMLPUBFUN xmlDtd * + xmlSAXParseDTD (xmlSAXHandler *sax, + const xmlChar *publicId, + const xmlChar *systemId); +XMLPUBFUN xmlDtd * + xmlParseDTD (const xmlChar *publicId, + const xmlChar *systemId); +XMLPUBFUN xmlDtd * + xmlIOParseDTD (xmlSAXHandler *sax, + xmlParserInputBuffer *input, + xmlCharEncoding enc); +#endif /* LIBXML_VALID_ENABLE */ +#ifdef LIBXML_SAX1_ENABLED +XMLPUBFUN int + xmlParseBalancedChunkMemory(xmlDoc *doc, + xmlSAXHandler *sax, + void *user_data, + int depth, + const xmlChar *string, + xmlNode **lst); +#endif /* LIBXML_SAX1_ENABLED */ +XMLPUBFUN xmlParserErrors + xmlParseInNodeContext (xmlNode *node, + const char *data, + int datalen, + int options, + xmlNode **lst); +#ifdef LIBXML_SAX1_ENABLED +XMLPUBFUN int + xmlParseBalancedChunkMemoryRecover(xmlDoc *doc, + xmlSAXHandler *sax, + void *user_data, + int depth, + const xmlChar *string, + xmlNode **lst, + int recover); +XML_DEPRECATED +XMLPUBFUN int + xmlParseExternalEntity (xmlDoc *doc, + xmlSAXHandler *sax, + void *user_data, + int depth, + const xmlChar *URL, + const xmlChar *ID, + xmlNode **lst); +#endif /* LIBXML_SAX1_ENABLED */ +XMLPUBFUN int + xmlParseCtxtExternalEntity(xmlParserCtxt *ctx, + const xmlChar *URL, + const xmlChar *ID, + xmlNode **lst); + +/* + * Parser contexts handling. + */ +XMLPUBFUN xmlParserCtxt * + xmlNewParserCtxt (void); +XMLPUBFUN xmlParserCtxt * + xmlNewSAXParserCtxt (const xmlSAXHandler *sax, + void *userData); +XMLPUBFUN int + xmlInitParserCtxt (xmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN void + xmlClearParserCtxt (xmlParserCtxt *ctxt); +XMLPUBFUN void + xmlFreeParserCtxt (xmlParserCtxt *ctxt); +#ifdef LIBXML_SAX1_ENABLED +XML_DEPRECATED +XMLPUBFUN void + xmlSetupParserForBuffer (xmlParserCtxt *ctxt, + const xmlChar* buffer, + const char *filename); +#endif /* LIBXML_SAX1_ENABLED */ +XMLPUBFUN xmlParserCtxt * + xmlCreateDocParserCtxt (const xmlChar *cur); + +#ifdef LIBXML_PUSH_ENABLED +/* + * Interfaces for the Push mode. + */ +XMLPUBFUN xmlParserCtxt * + xmlCreatePushParserCtxt(xmlSAXHandler *sax, + void *user_data, + const char *chunk, + int size, + const char *filename); +XMLPUBFUN int + xmlParseChunk (xmlParserCtxt *ctxt, + const char *chunk, + int size, + int terminate); +#endif /* LIBXML_PUSH_ENABLED */ + +/* + * Special I/O mode. + */ + +XMLPUBFUN xmlParserCtxt * + xmlCreateIOParserCtxt (xmlSAXHandler *sax, + void *user_data, + xmlInputReadCallback ioread, + xmlInputCloseCallback ioclose, + void *ioctx, + xmlCharEncoding enc); + +XMLPUBFUN xmlParserInput * + xmlNewIOInputStream (xmlParserCtxt *ctxt, + xmlParserInputBuffer *input, + xmlCharEncoding enc); + +/* + * Node infos. + */ +XML_DEPRECATED +XMLPUBFUN const xmlParserNodeInfo* + xmlParserFindNodeInfo (xmlParserCtxt *ctxt, + xmlNode *node); +XML_DEPRECATED +XMLPUBFUN void + xmlInitNodeInfoSeq (xmlParserNodeInfoSeq *seq); +XML_DEPRECATED +XMLPUBFUN void + xmlClearNodeInfoSeq (xmlParserNodeInfoSeq *seq); +XML_DEPRECATED +XMLPUBFUN unsigned long + xmlParserFindNodeInfoIndex(xmlParserNodeInfoSeq *seq, + xmlNode *node); +XML_DEPRECATED +XMLPUBFUN void + xmlParserAddNodeInfo (xmlParserCtxt *ctxt, + xmlParserNodeInfo *info); + +/* + * External entities handling actually implemented in xmlIO. + */ + +XMLPUBFUN void + xmlSetExternalEntityLoader(xmlExternalEntityLoader f); +XMLPUBFUN xmlExternalEntityLoader + xmlGetExternalEntityLoader(void); +XMLPUBFUN xmlParserInput * + xmlLoadExternalEntity (const char *URL, + const char *ID, + xmlParserCtxt *ctxt); + +XML_DEPRECATED +XMLPUBFUN long + xmlByteConsumed (xmlParserCtxt *ctxt); + +/* + * New set of simpler/more flexible APIs + */ + +/** + * This is the set of XML parser options that can be passed to + * #xmlReadDoc, #xmlCtxtSetOptions and other functions. + */ +typedef enum { + /** + * Enable "recovery" mode which allows non-wellformed documents. + * How this mode behaves exactly is unspecified and may change + * without further notice. Use of this feature is DISCOURAGED. + * + * Not supported by the push parser. + */ + XML_PARSE_RECOVER = 1<<0, + /** + * Despite the confusing name, this option enables substitution + * of entities. The resulting tree won't contain any entity + * reference nodes. + * + * This option also enables loading of external entities (both + * general and parameter entities) which is dangerous. If you + * process untrusted data, it's recommended to set the + * XML_PARSE_NO_XXE option to disable loading of external + * entities. + */ + XML_PARSE_NOENT = 1<<1, + /** + * Enables loading of an external DTD and the loading and + * substitution of external parameter entities. Has no effect + * if XML_PARSE_NO_XXE is set. + */ + XML_PARSE_DTDLOAD = 1<<2, + /** + * Adds default attributes from the DTD to the result document. + * + * Implies XML_PARSE_DTDLOAD, but loading of external content + * can be disabled with XML_PARSE_NO_XXE. + */ + XML_PARSE_DTDATTR = 1<<3, + /** + * This option enables DTD validation which requires to load + * external DTDs and external entities (both general and + * parameter entities) unless XML_PARSE_NO_XXE was set. + * + * DTD validation is vulnerable to algorithmic complexity + * attacks and should never be enabled with untrusted input. + */ + XML_PARSE_DTDVALID = 1<<4, + /** + * Disable error and warning reports to the error handlers. + * Errors are still accessible with xmlCtxtGetLastError(). + */ + XML_PARSE_NOERROR = 1<<5, + /** + * Disable warning reports. + */ + XML_PARSE_NOWARNING = 1<<6, + /** + * Enable some pedantic warnings. + */ + XML_PARSE_PEDANTIC = 1<<7, + /** + * Remove some whitespace from the result document. Where to + * remove whitespace depends on DTD element declarations or a + * broken heuristic with unfixable bugs. Use of this option is + * DISCOURAGED. + * + * Not supported by the push parser. + */ + XML_PARSE_NOBLANKS = 1<<8, + /** + * Always invoke the deprecated SAX1 startElement and endElement + * handlers. + * + * @deprecated This option will be removed in a future version. + */ + XML_PARSE_SAX1 = 1<<9, + /** + * Enable XInclude processing. This option only affects the + * xmlTextReader and XInclude interfaces. + */ + XML_PARSE_XINCLUDE = 1<<10, + /** + * Disable network access with the built-in HTTP or FTP clients. + * + * After the last built-in network client was removed in 2.15, + * this option has no effect expect for being passed on to custom + * resource loaders. + */ + XML_PARSE_NONET = 1<<11, + /** + * Create a document without interned strings, making all + * strings separate memory allocations. + */ + XML_PARSE_NODICT = 1<<12, + /** + * Remove redundant namespace declarations from the result + * document. + */ + XML_PARSE_NSCLEAN = 1<<13, + /** + * Output normal text nodes instead of CDATA nodes. + */ + XML_PARSE_NOCDATA = 1<<14, + /** + * Don't generate XInclude start/end nodes when expanding + * inclusions. This option only affects the xmlTextReader + * and XInclude interfaces. + */ + XML_PARSE_NOXINCNODE = 1<<15, + /** + * Store small strings directly in the node struct to save + * memory. + */ + XML_PARSE_COMPACT = 1<<16, + /** + * Use old Name productions from before XML 1.0 Fifth Edition. + * + * @deprecated This option will be removed in a future version. + */ + XML_PARSE_OLD10 = 1<<17, + /** + * Don't fix up XInclude xml:base URIs. This option only affects + * the xmlTextReader and XInclude interfaces. + */ + XML_PARSE_NOBASEFIX = 1<<18, + /** + * Relax some internal limits. + * + * Maximum size of text nodes, tags, comments, processing instructions, + * CDATA sections, entity values + * + * normal: 10M + * huge: 1B + * + * Maximum size of names, system literals, pubid literals + * + * normal: 50K + * huge: 10M + * + * Maximum nesting depth of elements + * + * normal: 256 + * huge: 2048 + * + * Maximum nesting depth of entities + * + * normal: 20 + * huge: 40 + */ + XML_PARSE_HUGE = 1<<19, + /** + * Enable an unspecified legacy mode for SAX parsers. + * + * @deprecated This option will be removed in a future version. + */ + XML_PARSE_OLDSAX = 1<<20, + /** + * Ignore the encoding in the XML declaration. This option is + * mostly unneeded these days. The only effect is to enforce + * UTF-8 decoding of ASCII-like data. + */ + XML_PARSE_IGNORE_ENC = 1<<21, + /** + * Enable reporting of line numbers larger than 65535. + */ + XML_PARSE_BIG_LINES = 1<<22, + /** + * Disables loading of external DTDs or entities. + * + * @since 2.13.0 + */ + XML_PARSE_NO_XXE = 1<<23, + /** + * Enable input decompression. Setting this option is discouraged + * to avoid zip bombs. + * + * @since 2.14.0 + */ + XML_PARSE_UNZIP = 1<<24, + /** + * Disables the global system XML catalog. + * + * @since 2.14.0 + */ + XML_PARSE_NO_SYS_CATALOG = 1<<25, + /** + * Enable XML catalog processing instructions. + * + * @since 2.14.0 + */ + XML_PARSE_CATALOG_PI = 1<<26, + /** + * Force the parser to ignore IDs. + * + * @since 2.15.0 + */ + XML_PARSE_SKIP_IDS = 1<<27 +} xmlParserOption; + +XMLPUBFUN void + xmlCtxtReset (xmlParserCtxt *ctxt); +XMLPUBFUN int + xmlCtxtResetPush (xmlParserCtxt *ctxt, + const char *chunk, + int size, + const char *filename, + const char *encoding); +XMLPUBFUN int + xmlCtxtGetOptions (xmlParserCtxt *ctxt); +XMLPUBFUN int + xmlCtxtSetOptions (xmlParserCtxt *ctxt, + int options); +XMLPUBFUN int + xmlCtxtUseOptions (xmlParserCtxt *ctxt, + int options); +XMLPUBFUN void * + xmlCtxtGetPrivate (xmlParserCtxt *ctxt); +XMLPUBFUN void + xmlCtxtSetPrivate (xmlParserCtxt *ctxt, + void *priv); +XMLPUBFUN void * + xmlCtxtGetCatalogs (xmlParserCtxt *ctxt); +XMLPUBFUN void + xmlCtxtSetCatalogs (xmlParserCtxt *ctxt, + void *catalogs); +XMLPUBFUN xmlDict * + xmlCtxtGetDict (xmlParserCtxt *ctxt); +XMLPUBFUN void + xmlCtxtSetDict (xmlParserCtxt *ctxt, + xmlDict *); +XMLPUBFUN xmlSAXHandler * + xmlCtxtGetSaxHandler (xmlParserCtxt *ctxt); +XMLPUBFUN int + xmlCtxtSetSaxHandler (xmlParserCtxt *ctxt, + const xmlSAXHandler *sax); +XMLPUBFUN xmlDoc * + xmlCtxtGetDocument (xmlParserCtxt *ctxt); +XMLPUBFUN int + xmlCtxtIsHtml (xmlParserCtxt *ctxt); +XMLPUBFUN int + xmlCtxtIsStopped (xmlParserCtxt *ctxt); +XMLPUBFUN int + xmlCtxtIsInSubset (xmlParserCtxt *ctxt); +#ifdef LIBXML_VALID_ENABLED +XMLPUBFUN xmlValidCtxt * + xmlCtxtGetValidCtxt (xmlParserCtxt *ctxt); +#endif +XMLPUBFUN const xmlChar * + xmlCtxtGetVersion (xmlParserCtxt *ctxt); +XMLPUBFUN const xmlChar * + xmlCtxtGetDeclaredEncoding(xmlParserCtxt *ctxt); +XMLPUBFUN int + xmlCtxtGetStandalone (xmlParserCtxt *ctxt); +XMLPUBFUN xmlParserStatus + xmlCtxtGetStatus (xmlParserCtxt *ctxt); +XMLPUBFUN void * + xmlCtxtGetUserData (xmlParserCtxt *ctxt); +XMLPUBFUN xmlNode * + xmlCtxtGetNode (xmlParserCtxt *ctxt); +XMLPUBFUN int + xmlCtxtGetDocTypeDecl (xmlParserCtxt *ctxt, + const xmlChar **name, + const xmlChar **systemId, + const xmlChar **publicId); +XMLPUBFUN int + xmlCtxtGetInputPosition (xmlParserCtxt *ctxt, + int inputIndex, + const char **filname, + int *line, + int *col, + unsigned long *bytePos); +XMLPUBFUN int + xmlCtxtGetInputWindow (xmlParserCtxt *ctxt, + int inputIndex, + const xmlChar **startOut, + int *sizeInOut, + int *offsetOut); +XMLPUBFUN void + xmlCtxtSetErrorHandler (xmlParserCtxt *ctxt, + xmlStructuredErrorFunc handler, + void *data); +XMLPUBFUN void + xmlCtxtSetResourceLoader(xmlParserCtxt *ctxt, + xmlResourceLoader loader, + void *vctxt); +XMLPUBFUN void + xmlCtxtSetCharEncConvImpl(xmlParserCtxt *ctxt, + xmlCharEncConvImpl impl, + void *vctxt); +XMLPUBFUN void + xmlCtxtSetMaxAmplification(xmlParserCtxt *ctxt, + unsigned maxAmpl); +XMLPUBFUN xmlDoc * + xmlReadDoc (const xmlChar *cur, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlDoc * + xmlReadFile (const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlDoc * + xmlReadMemory (const char *buffer, + int size, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlDoc * + xmlReadFd (int fd, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlDoc * + xmlReadIO (xmlInputReadCallback ioread, + xmlInputCloseCallback ioclose, + void *ioctx, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlDoc * + xmlCtxtParseDocument (xmlParserCtxt *ctxt, + xmlParserInput *input); +XMLPUBFUN xmlNode * + xmlCtxtParseContent (xmlParserCtxt *ctxt, + xmlParserInput *input, + xmlNode *node, + int hasTextDecl); +XMLPUBFUN xmlDoc * + xmlCtxtReadDoc (xmlParserCtxt *ctxt, + const xmlChar *cur, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlDoc * + xmlCtxtReadFile (xmlParserCtxt *ctxt, + const char *filename, + const char *encoding, + int options); +XMLPUBFUN xmlDoc * + xmlCtxtReadMemory (xmlParserCtxt *ctxt, + const char *buffer, + int size, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlDoc * + xmlCtxtReadFd (xmlParserCtxt *ctxt, + int fd, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlDoc * + xmlCtxtReadIO (xmlParserCtxt *ctxt, + xmlInputReadCallback ioread, + xmlInputCloseCallback ioclose, + void *ioctx, + const char *URL, + const char *encoding, + int options); + +/* + * New input API + */ + +XMLPUBFUN xmlParserErrors +xmlNewInputFromUrl(const char *url, xmlParserInputFlags flags, + xmlParserInput **out); +XMLPUBFUN xmlParserInput * +xmlNewInputFromMemory(const char *url, const void *mem, size_t size, + xmlParserInputFlags flags); +XMLPUBFUN xmlParserInput * +xmlNewInputFromString(const char *url, const char *str, + xmlParserInputFlags flags); +XMLPUBFUN xmlParserInput * +xmlNewInputFromFd(const char *url, int fd, xmlParserInputFlags flags); +XMLPUBFUN xmlParserInput * +xmlNewInputFromIO(const char *url, xmlInputReadCallback ioRead, + xmlInputCloseCallback ioClose, void *ioCtxt, + xmlParserInputFlags flags); +XMLPUBFUN xmlParserErrors +xmlInputSetEncodingHandler(xmlParserInput *input, + xmlCharEncodingHandler *handler); + +/* + * Library wide options + */ + +/** + * Used to examine the existence of features that can be enabled + * or disabled at compile-time. + * They used to be called XML_FEATURE_xxx but this clashed with Expat + */ +typedef enum { + /** Multithreading support */ + XML_WITH_THREAD = 1, + /** @deprecated Always available */ + XML_WITH_TREE = 2, + /** Serialization support */ + XML_WITH_OUTPUT = 3, + /** Push parser */ + XML_WITH_PUSH = 4, + /** XML Reader */ + XML_WITH_READER = 5, + /** Streaming patterns */ + XML_WITH_PATTERN = 6, + /** XML Writer */ + XML_WITH_WRITER = 7, + /** Legacy SAX1 API */ + XML_WITH_SAX1 = 8, + /** @deprecated FTP support was removed */ + XML_WITH_FTP = 9, + /** @deprecated HTTP support was removed */ + XML_WITH_HTTP = 10, + /** DTD validation */ + XML_WITH_VALID = 11, + /** HTML parser */ + XML_WITH_HTML = 12, + /** Legacy symbols */ + XML_WITH_LEGACY = 13, + /** Canonical XML */ + XML_WITH_C14N = 14, + /** XML Catalogs */ + XML_WITH_CATALOG = 15, + /** XPath */ + XML_WITH_XPATH = 16, + /** XPointer */ + XML_WITH_XPTR = 17, + /** XInclude */ + XML_WITH_XINCLUDE = 18, + /** iconv */ + XML_WITH_ICONV = 19, + /** Built-in ISO-8859-X */ + XML_WITH_ISO8859X = 20, + /** @deprecated Removed */ + XML_WITH_UNICODE = 21, + /** Regular expressions */ + XML_WITH_REGEXP = 22, + /** @deprecated Same as XML_WITH_REGEXP */ + XML_WITH_AUTOMATA = 23, + /** @deprecated Removed */ + XML_WITH_EXPR = 24, + /** XML Schemas */ + XML_WITH_SCHEMAS = 25, + /** Schematron */ + XML_WITH_SCHEMATRON = 26, + /** Loadable modules */ + XML_WITH_MODULES = 27, + /** Debugging API */ + XML_WITH_DEBUG = 28, + /** @deprecated Removed */ + XML_WITH_DEBUG_MEM = 29, + /** @deprecated Removed */ + XML_WITH_DEBUG_RUN = 30, + /** GZIP compression */ + XML_WITH_ZLIB = 31, + /** ICU */ + XML_WITH_ICU = 32, + /** @deprecated LZMA support was removed */ + XML_WITH_LZMA = 33, + /** RELAXNG, since 2.14 */ + XML_WITH_RELAXNG = 34, + XML_WITH_NONE = 99999 /* just to be sure of allocation size */ +} xmlFeature; + +XMLPUBFUN int + xmlHasFeature (xmlFeature feature); + +#ifdef __cplusplus +} +#endif +#endif /* __XML_PARSER_H__ */ diff --git a/libxml2/include/libxml/parserInternals.h b/libxml2/include/libxml/parserInternals.h new file mode 100644 index 0000000..fd6bdd0 --- /dev/null +++ b/libxml2/include/libxml/parserInternals.h @@ -0,0 +1,544 @@ +/** + * @file + * + * @brief Internals routines and limits exported by the parser. + * + * Except for some I/O-related functions, most of these macros and + * functions are deprecated. + * + * @copyright See Copyright for the status of this software. + * + * @author Daniel Veillard + */ + +#ifndef __XML_PARSER_INTERNALS_H__ +#define __XML_PARSER_INTERNALS_H__ + +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Push an input on the stack. + * + * @deprecated Use #xmlCtxtPushInput + */ +#define inputPush xmlCtxtPushInput +/** + * Pop an input from the stack. + * + * @deprecated Use #xmlCtxtPushInput + */ +#define inputPop xmlCtxtPopInput +/** + * Maximum element nesting depth (without XML_PARSE_HUGE). + */ +#define xmlParserMaxDepth 256 + +/** + * Maximum size allowed for a single text node when building a tree. + * This is not a limitation of the parser but a safety boundary feature, + * use XML_PARSE_HUGE option to override it. + * Introduced in 2.9.0 + */ +#define XML_MAX_TEXT_LENGTH 10000000 + +/** + * Maximum size allowed when XML_PARSE_HUGE is set. + */ +#define XML_MAX_HUGE_LENGTH 1000000000 + +/** + * Maximum size allowed for a markup identifier. + * This is not a limitation of the parser but a safety boundary feature, + * use XML_PARSE_HUGE option to override it. + * Note that with the use of parsing dictionaries overriding the limit + * may result in more runtime memory usage in face of "unfriendly' content + * Introduced in 2.9.0 + */ +#define XML_MAX_NAME_LENGTH 50000 + +/** + * Maximum size allowed by the parser for a dictionary by default + * This is not a limitation of the parser but a safety boundary feature, + * use XML_PARSE_HUGE option to override it. + * Introduced in 2.9.0 + */ +#define XML_MAX_DICTIONARY_LIMIT 100000000 + +/** + * Maximum size allowed by the parser for ahead lookup + * This is an upper boundary enforced by the parser to avoid bad + * behaviour on "unfriendly' content + * Introduced in 2.9.0 + */ +#define XML_MAX_LOOKUP_LIMIT 10000000 + +/** + * Identifiers can be longer, but this will be more costly + * at runtime. + */ +#define XML_MAX_NAMELEN 100 + +/************************************************************************ + * * + * UNICODE version of the macros. * + * * + ************************************************************************/ +/** + * Macro to check the following production in the XML spec: + * + * [2] Char ::= #x9 | #xA | #xD | [#x20...] + * + * any byte character in the accepted range + * + * @param c an byte value (int) + */ +#define IS_BYTE_CHAR(c) xmlIsChar_ch(c) + +/** + * Macro to check the following production in the XML spec: + * + * [2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] + * | [#x10000-#x10FFFF] + * + * any Unicode character, excluding the surrogate blocks, FFFE, and FFFF. + * + * @param c an UNICODE value (int) + */ +#define IS_CHAR(c) xmlIsCharQ(c) + +/** + * Behaves like IS_CHAR on single-byte value + * + * @param c an xmlChar (usually an unsigned char) + */ +#define IS_CHAR_CH(c) xmlIsChar_ch(c) + +/** + * Macro to check the following production in the XML spec: + * + * [3] S ::= (#x20 | #x9 | #xD | #xA)+ + * @param c an UNICODE value (int) + */ +#define IS_BLANK(c) xmlIsBlankQ(c) + +/** + * Behaviour same as IS_BLANK + * + * @param c an xmlChar value (normally unsigned char) + */ +#define IS_BLANK_CH(c) xmlIsBlank_ch(c) + +/** + * Macro to check the following production in the XML spec: + * + * [85] BaseChar ::= ... long list see REC ... + * @param c an UNICODE value (int) + */ +#define IS_BASECHAR(c) xmlIsBaseCharQ(c) + +/** + * Macro to check the following production in the XML spec: + * + * [88] Digit ::= ... long list see REC ... + * @param c an UNICODE value (int) + */ +#define IS_DIGIT(c) xmlIsDigitQ(c) + +/** + * Behaves like IS_DIGIT but with a single byte argument + * + * @param c an xmlChar value (usually an unsigned char) + */ +#define IS_DIGIT_CH(c) xmlIsDigit_ch(c) + +/** + * Macro to check the following production in the XML spec: + * + * [87] CombiningChar ::= ... long list see REC ... + * @param c an UNICODE value (int) + */ +#define IS_COMBINING(c) xmlIsCombiningQ(c) + +/** + * Always false (all combining chars > 0xff) + * + * @param c an xmlChar (usually an unsigned char) + */ +#define IS_COMBINING_CH(c) 0 + +/** + * Macro to check the following production in the XML spec: + * + * [89] Extender ::= #x00B7 | #x02D0 | #x02D1 | #x0387 | #x0640 | + * #x0E46 | #x0EC6 | #x3005 | [#x3031-#x3035] | + * [#x309D-#x309E] | [#x30FC-#x30FE] + * @param c an UNICODE value (int) + */ +#define IS_EXTENDER(c) xmlIsExtenderQ(c) + +/** + * Behaves like IS_EXTENDER but with a single-byte argument + * + * @param c an xmlChar value (usually an unsigned char) + */ +#define IS_EXTENDER_CH(c) xmlIsExtender_ch(c) + +/** + * Macro to check the following production in the XML spec: + * + * [86] Ideographic ::= [#x4E00-#x9FA5] | #x3007 | [#x3021-#x3029] + * @param c an UNICODE value (int) + */ +#define IS_IDEOGRAPHIC(c) xmlIsIdeographicQ(c) + +/** + * Macro to check the following production in the XML spec: + * + * [84] Letter ::= BaseChar | Ideographic + * @param c an UNICODE value (int) + */ +#define IS_LETTER(c) (IS_BASECHAR(c) || IS_IDEOGRAPHIC(c)) + +/** + * Macro behaves like IS_LETTER, but only check base chars + * + * @param c an xmlChar value (normally unsigned char) + */ +#define IS_LETTER_CH(c) xmlIsBaseChar_ch(c) + +/** + * Macro to check [a-zA-Z] + * + * @param c an xmlChar value + */ +#define IS_ASCII_LETTER(c) ((0x61 <= ((c) | 0x20)) && \ + (((c) | 0x20) <= 0x7a)) + +/** + * Macro to check [0-9] + * + * @param c an xmlChar value + */ +#define IS_ASCII_DIGIT(c) ((0x30 <= (c)) && ((c) <= 0x39)) + +/** + * Macro to check the following production in the XML spec: + * + * [13] PubidChar ::= #x20 | #xD | #xA | [a-zA-Z0-9] | + * [-'()+,./:=?;!*#@$_%] + * @param c an UNICODE value (int) + */ +#define IS_PUBIDCHAR(c) xmlIsPubidCharQ(c) + +/** + * Same as IS_PUBIDCHAR but for single-byte value + * + * @param c an xmlChar value (normally unsigned char) + */ +#define IS_PUBIDCHAR_CH(c) xmlIsPubidChar_ch(c) + +/* + * Global variables used for predefined strings. + */ +/** @cond ignore */ +XMLPUBVAR const xmlChar xmlStringText[]; +XMLPUBVAR const xmlChar xmlStringTextNoenc[]; +XML_DEPRECATED +XMLPUBVAR const xmlChar xmlStringComment[]; +/** @endcond */ + +XML_DEPRECATED +XMLPUBFUN int xmlIsLetter (int c); + +/* + * Parser context. + */ +XMLPUBFUN xmlParserCtxt * + xmlCreateFileParserCtxt (const char *filename); +XMLPUBFUN xmlParserCtxt * + xmlCreateURLParserCtxt (const char *filename, + int options); +XMLPUBFUN xmlParserCtxt * + xmlCreateMemoryParserCtxt(const char *buffer, + int size); +XML_DEPRECATED +XMLPUBFUN xmlParserCtxt * + xmlCreateEntityParserCtxt(const xmlChar *URL, + const xmlChar *ID, + const xmlChar *base); +XMLPUBFUN void + xmlCtxtErrMemory (xmlParserCtxt *ctxt); +XMLPUBFUN int + xmlSwitchEncoding (xmlParserCtxt *ctxt, + xmlCharEncoding enc); +XMLPUBFUN int + xmlSwitchEncodingName (xmlParserCtxt *ctxt, + const char *encoding); +XMLPUBFUN int + xmlSwitchToEncoding (xmlParserCtxt *ctxt, + xmlCharEncodingHandler *handler); +XML_DEPRECATED +XMLPUBFUN int + xmlSwitchInputEncoding (xmlParserCtxt *ctxt, + xmlParserInput *input, + xmlCharEncodingHandler *handler); + +/* + * Input Streams. + */ +XMLPUBFUN xmlParserInput * + xmlNewStringInputStream (xmlParserCtxt *ctxt, + const xmlChar *buffer); +XML_DEPRECATED +XMLPUBFUN xmlParserInput * + xmlNewEntityInputStream (xmlParserCtxt *ctxt, + xmlEntity *entity); +XMLPUBFUN int + xmlCtxtPushInput (xmlParserCtxt *ctxt, + xmlParserInput *input); +XMLPUBFUN xmlParserInput * + xmlCtxtPopInput (xmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN int + xmlPushInput (xmlParserCtxt *ctxt, + xmlParserInput *input); +XML_DEPRECATED +XMLPUBFUN xmlChar + xmlPopInput (xmlParserCtxt *ctxt); +XMLPUBFUN void + xmlFreeInputStream (xmlParserInput *input); +XMLPUBFUN xmlParserInput * + xmlNewInputFromFile (xmlParserCtxt *ctxt, + const char *filename); +XMLPUBFUN xmlParserInput * + xmlNewInputStream (xmlParserCtxt *ctxt); + +/* + * Namespaces. + */ +XMLPUBFUN xmlChar * + xmlSplitQName (xmlParserCtxt *ctxt, + const xmlChar *name, + xmlChar **prefix); + +/* + * Generic production rules. + */ +XML_DEPRECATED +XMLPUBFUN const xmlChar * + xmlParseName (xmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN xmlChar * + xmlParseNmtoken (xmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN xmlChar * + xmlParseEntityValue (xmlParserCtxt *ctxt, + xmlChar **orig); +XML_DEPRECATED +XMLPUBFUN xmlChar * + xmlParseAttValue (xmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN xmlChar * + xmlParseSystemLiteral (xmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN xmlChar * + xmlParsePubidLiteral (xmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN void + xmlParseCharData (xmlParserCtxt *ctxt, + int cdata); +XML_DEPRECATED +XMLPUBFUN xmlChar * + xmlParseExternalID (xmlParserCtxt *ctxt, + xmlChar **publicId, + int strict); +XML_DEPRECATED +XMLPUBFUN void + xmlParseComment (xmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN const xmlChar * + xmlParsePITarget (xmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN void + xmlParsePI (xmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN void + xmlParseNotationDecl (xmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN void + xmlParseEntityDecl (xmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN int + xmlParseDefaultDecl (xmlParserCtxt *ctxt, + xmlChar **value); +XML_DEPRECATED +XMLPUBFUN xmlEnumeration * + xmlParseNotationType (xmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN xmlEnumeration * + xmlParseEnumerationType (xmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN int + xmlParseEnumeratedType (xmlParserCtxt *ctxt, + xmlEnumeration **tree); +XML_DEPRECATED +XMLPUBFUN int + xmlParseAttributeType (xmlParserCtxt *ctxt, + xmlEnumeration **tree); +XML_DEPRECATED +XMLPUBFUN void + xmlParseAttributeListDecl(xmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN xmlElementContent * + xmlParseElementMixedContentDecl + (xmlParserCtxt *ctxt, + int inputchk); +XML_DEPRECATED +XMLPUBFUN xmlElementContent * + xmlParseElementChildrenContentDecl + (xmlParserCtxt *ctxt, + int inputchk); +XML_DEPRECATED +XMLPUBFUN int + xmlParseElementContentDecl(xmlParserCtxt *ctxt, + const xmlChar *name, + xmlElementContent **result); +XML_DEPRECATED +XMLPUBFUN int + xmlParseElementDecl (xmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN void + xmlParseMarkupDecl (xmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN int + xmlParseCharRef (xmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN xmlEntity * + xmlParseEntityRef (xmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN void + xmlParseReference (xmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN void + xmlParsePEReference (xmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN void + xmlParseDocTypeDecl (xmlParserCtxt *ctxt); +#ifdef LIBXML_SAX1_ENABLED +XML_DEPRECATED +XMLPUBFUN const xmlChar * + xmlParseAttribute (xmlParserCtxt *ctxt, + xmlChar **value); +XML_DEPRECATED +XMLPUBFUN const xmlChar * + xmlParseStartTag (xmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN void + xmlParseEndTag (xmlParserCtxt *ctxt); +#endif /* LIBXML_SAX1_ENABLED */ +XML_DEPRECATED +XMLPUBFUN void + xmlParseCDSect (xmlParserCtxt *ctxt); +XMLPUBFUN void + xmlParseContent (xmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN void + xmlParseElement (xmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN xmlChar * + xmlParseVersionNum (xmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN xmlChar * + xmlParseVersionInfo (xmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN xmlChar * + xmlParseEncName (xmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN const xmlChar * + xmlParseEncodingDecl (xmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN int + xmlParseSDDecl (xmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN void + xmlParseXMLDecl (xmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN void + xmlParseTextDecl (xmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN void + xmlParseMisc (xmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN void + xmlParseExternalSubset (xmlParserCtxt *ctxt, + const xmlChar *publicId, + const xmlChar *systemId); + +/** @cond ignore */ +#define XML_SUBSTITUTE_NONE 0 +#define XML_SUBSTITUTE_REF 1 +#define XML_SUBSTITUTE_PEREF 2 +#define XML_SUBSTITUTE_BOTH 3 +/** @endcond */ +XML_DEPRECATED +XMLPUBFUN xmlChar * + xmlStringDecodeEntities (xmlParserCtxt *ctxt, + const xmlChar *str, + int what, + xmlChar end, + xmlChar end2, + xmlChar end3); +XML_DEPRECATED +XMLPUBFUN xmlChar * + xmlStringLenDecodeEntities (xmlParserCtxt *ctxt, + const xmlChar *str, + int len, + int what, + xmlChar end, + xmlChar end2, + xmlChar end3); + +/* + * other commodities shared between parser.c and parserInternals. + */ +XML_DEPRECATED +XMLPUBFUN int xmlSkipBlankChars (xmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN int xmlStringCurrentChar (xmlParserCtxt *ctxt, + const xmlChar *cur, + int *len); +XML_DEPRECATED +XMLPUBFUN void xmlParserHandlePEReference(xmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN int xmlCheckLanguageID (const xmlChar *lang); + +/* + * Really core function shared with HTML parser. + */ +XML_DEPRECATED +XMLPUBFUN int xmlCurrentChar (xmlParserCtxt *ctxt, + int *len); +XML_DEPRECATED +XMLPUBFUN int xmlCopyCharMultiByte (xmlChar *out, + int val); +XML_DEPRECATED +XMLPUBFUN int xmlCopyChar (int len, + xmlChar *out, + int val); +XML_DEPRECATED +XMLPUBFUN void xmlNextChar (xmlParserCtxt *ctxt); +XML_DEPRECATED +XMLPUBFUN void xmlParserInputShrink (xmlParserInput *in); + +#ifdef __cplusplus +} +#endif +#endif /* __XML_PARSER_INTERNALS_H__ */ diff --git a/libxml2/include/libxml/pattern.h b/libxml2/include/libxml/pattern.h new file mode 100644 index 0000000..fe7d79f --- /dev/null +++ b/libxml2/include/libxml/pattern.h @@ -0,0 +1,104 @@ +/** + * @file + * + * @brief pattern expression handling + * + * allows to compile and test pattern expressions for nodes + * either in a tree or based on a parser state. + * + * @copyright See Copyright for the status of this software. + * + * @author Daniel Veillard + */ + +#ifndef __XML_PATTERN_H__ +#define __XML_PATTERN_H__ + +#include +#include +#include + +#ifdef LIBXML_PATTERN_ENABLED + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * A compiled (XPath based) pattern to select nodes + */ +typedef struct _xmlPattern xmlPattern; +typedef xmlPattern *xmlPatternPtr; + +/** + * Internal type. This is the set of options affecting the behaviour + * of pattern matching with this module. + */ +typedef enum { + XML_PATTERN_DEFAULT = 0, /* simple pattern match */ + XML_PATTERN_XPATH = 1<<0, /* standard XPath pattern */ + XML_PATTERN_XSSEL = 1<<1, /* XPath subset for schema selector */ + XML_PATTERN_XSFIELD = 1<<2 /* XPath subset for schema field */ +} xmlPatternFlags; + +XMLPUBFUN void + xmlFreePattern (xmlPattern *comp); + +XMLPUBFUN void + xmlFreePatternList (xmlPattern *comp); + +XMLPUBFUN xmlPattern * + xmlPatterncompile (const xmlChar *pattern, + xmlDict *dict, + int flags, + const xmlChar **namespaces); +XMLPUBFUN int + xmlPatternCompileSafe (const xmlChar *pattern, + xmlDict *dict, + int flags, + const xmlChar **namespaces, + xmlPattern **patternOut); +XMLPUBFUN int + xmlPatternMatch (xmlPattern *comp, + xmlNode *node); + +/** State object for streaming interface */ +typedef struct _xmlStreamCtxt xmlStreamCtxt; +typedef xmlStreamCtxt *xmlStreamCtxtPtr; + +XMLPUBFUN int + xmlPatternStreamable (xmlPattern *comp); +XMLPUBFUN int + xmlPatternMaxDepth (xmlPattern *comp); +XMLPUBFUN int + xmlPatternMinDepth (xmlPattern *comp); +XMLPUBFUN int + xmlPatternFromRoot (xmlPattern *comp); +XMLPUBFUN xmlStreamCtxt * + xmlPatternGetStreamCtxt (xmlPattern *comp); +XMLPUBFUN void + xmlFreeStreamCtxt (xmlStreamCtxt *stream); +XMLPUBFUN int + xmlStreamPushNode (xmlStreamCtxt *stream, + const xmlChar *name, + const xmlChar *ns, + int nodeType); +XMLPUBFUN int + xmlStreamPush (xmlStreamCtxt *stream, + const xmlChar *name, + const xmlChar *ns); +XMLPUBFUN int + xmlStreamPushAttr (xmlStreamCtxt *stream, + const xmlChar *name, + const xmlChar *ns); +XMLPUBFUN int + xmlStreamPop (xmlStreamCtxt *stream); +XMLPUBFUN int + xmlStreamWantsAnyNode (xmlStreamCtxt *stream); +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_PATTERN_ENABLED */ + +#endif /* __XML_PATTERN_H__ */ diff --git a/libxml2/include/libxml/relaxng.h b/libxml2/include/libxml/relaxng.h new file mode 100644 index 0000000..099dacd --- /dev/null +++ b/libxml2/include/libxml/relaxng.h @@ -0,0 +1,229 @@ +/** + * @file + * + * @brief implementation of the Relax-NG validation + * + * implementation of the Relax-NG validation + * + * @copyright See Copyright for the status of this software. + * + * @author Daniel Veillard + */ + +#ifndef __XML_RELAX_NG__ +#define __XML_RELAX_NG__ + +#include +#include +#include +#include +#include + +#ifdef LIBXML_RELAXNG_ENABLED + +#ifdef __cplusplus +extern "C" { +#endif + +/** RelaxNG schema */ +typedef struct _xmlRelaxNG xmlRelaxNG; +typedef xmlRelaxNG *xmlRelaxNGPtr; + + +/** + * Signature of an error callback from a Relax-NG validation + * + * @param ctx the validation context + * @param msg the message + * @param ... extra arguments + */ +typedef void (*xmlRelaxNGValidityErrorFunc) (void *ctx, + const char *msg, + ...) LIBXML_ATTR_FORMAT(2,3); + +/** + * Signature of a warning callback from a Relax-NG validation + * + * @param ctx the validation context + * @param msg the message + * @param ... extra arguments + */ +typedef void (*xmlRelaxNGValidityWarningFunc) (void *ctx, + const char *msg, + ...) LIBXML_ATTR_FORMAT(2,3); + +/** RelaxNG parser context */ +typedef struct _xmlRelaxNGParserCtxt xmlRelaxNGParserCtxt; +typedef xmlRelaxNGParserCtxt *xmlRelaxNGParserCtxtPtr; + +/** RelaxNG validation context */ +typedef struct _xmlRelaxNGValidCtxt xmlRelaxNGValidCtxt; +typedef xmlRelaxNGValidCtxt *xmlRelaxNGValidCtxtPtr; + +/** + * List of possible Relax NG validation errors + */ +typedef enum { + XML_RELAXNG_OK = 0, + XML_RELAXNG_ERR_MEMORY, + XML_RELAXNG_ERR_TYPE, + XML_RELAXNG_ERR_TYPEVAL, + XML_RELAXNG_ERR_DUPID, + XML_RELAXNG_ERR_TYPECMP, + XML_RELAXNG_ERR_NOSTATE, + XML_RELAXNG_ERR_NODEFINE, + XML_RELAXNG_ERR_LISTEXTRA, + XML_RELAXNG_ERR_LISTEMPTY, + XML_RELAXNG_ERR_INTERNODATA, + XML_RELAXNG_ERR_INTERSEQ, + XML_RELAXNG_ERR_INTEREXTRA, + XML_RELAXNG_ERR_ELEMNAME, + XML_RELAXNG_ERR_ATTRNAME, + XML_RELAXNG_ERR_ELEMNONS, + XML_RELAXNG_ERR_ATTRNONS, + XML_RELAXNG_ERR_ELEMWRONGNS, + XML_RELAXNG_ERR_ATTRWRONGNS, + XML_RELAXNG_ERR_ELEMEXTRANS, + XML_RELAXNG_ERR_ATTREXTRANS, + XML_RELAXNG_ERR_ELEMNOTEMPTY, + XML_RELAXNG_ERR_NOELEM, + XML_RELAXNG_ERR_NOTELEM, + XML_RELAXNG_ERR_ATTRVALID, + XML_RELAXNG_ERR_CONTENTVALID, + XML_RELAXNG_ERR_EXTRACONTENT, + XML_RELAXNG_ERR_INVALIDATTR, + XML_RELAXNG_ERR_DATAELEM, + XML_RELAXNG_ERR_VALELEM, + XML_RELAXNG_ERR_LISTELEM, + XML_RELAXNG_ERR_DATATYPE, + XML_RELAXNG_ERR_VALUE, + XML_RELAXNG_ERR_LIST, + XML_RELAXNG_ERR_NOGRAMMAR, + XML_RELAXNG_ERR_EXTRADATA, + XML_RELAXNG_ERR_LACKDATA, + XML_RELAXNG_ERR_INTERNAL, + XML_RELAXNG_ERR_ELEMWRONG, + XML_RELAXNG_ERR_TEXTWRONG +} xmlRelaxNGValidErr; + +/** + * List of possible Relax NG Parser flags + */ +typedef enum { + XML_RELAXNGP_NONE = 0, + XML_RELAXNGP_FREE_DOC = 1, + XML_RELAXNGP_CRNG = 2 +} xmlRelaxNGParserFlag; + +XMLPUBFUN int + xmlRelaxNGInitTypes (void); +XML_DEPRECATED +XMLPUBFUN void + xmlRelaxNGCleanupTypes (void); + +/* + * Interfaces for parsing. + */ +XMLPUBFUN xmlRelaxNGParserCtxt * + xmlRelaxNGNewParserCtxt (const char *URL); +XMLPUBFUN xmlRelaxNGParserCtxt * + xmlRelaxNGNewMemParserCtxt (const char *buffer, + int size); +XMLPUBFUN xmlRelaxNGParserCtxt * + xmlRelaxNGNewDocParserCtxt (xmlDoc *doc); + +XMLPUBFUN int + xmlRelaxParserSetFlag (xmlRelaxNGParserCtxt *ctxt, + int flag); + +XMLPUBFUN int + xmlRelaxParserSetIncLImit (xmlRelaxNGParserCtxt *ctxt, + int limit); + +XMLPUBFUN void + xmlRelaxNGFreeParserCtxt (xmlRelaxNGParserCtxt *ctxt); +XMLPUBFUN void + xmlRelaxNGSetParserErrors(xmlRelaxNGParserCtxt *ctxt, + xmlRelaxNGValidityErrorFunc err, + xmlRelaxNGValidityWarningFunc warn, + void *ctx); +XMLPUBFUN int + xmlRelaxNGGetParserErrors(xmlRelaxNGParserCtxt *ctxt, + xmlRelaxNGValidityErrorFunc *err, + xmlRelaxNGValidityWarningFunc *warn, + void **ctx); +XMLPUBFUN void + xmlRelaxNGSetParserStructuredErrors( + xmlRelaxNGParserCtxt *ctxt, + xmlStructuredErrorFunc serror, + void *ctx); +XMLPUBFUN void + xmlRelaxNGSetResourceLoader (xmlRelaxNGParserCtxt *ctxt, + xmlResourceLoader loader, + void *vctxt); +XMLPUBFUN xmlRelaxNG * + xmlRelaxNGParse (xmlRelaxNGParserCtxt *ctxt); +XMLPUBFUN void + xmlRelaxNGFree (xmlRelaxNG *schema); +#ifdef LIBXML_DEBUG_ENABLED +XMLPUBFUN void + xmlRelaxNGDump (FILE *output, + xmlRelaxNG *schema); +#endif /* LIBXML_DEBUG_ENABLED */ +#ifdef LIBXML_OUTPUT_ENABLED +XMLPUBFUN void + xmlRelaxNGDumpTree (FILE * output, + xmlRelaxNG *schema); +#endif /* LIBXML_OUTPUT_ENABLED */ +/* + * Interfaces for validating + */ +XMLPUBFUN void + xmlRelaxNGSetValidErrors(xmlRelaxNGValidCtxt *ctxt, + xmlRelaxNGValidityErrorFunc err, + xmlRelaxNGValidityWarningFunc warn, + void *ctx); +XMLPUBFUN int + xmlRelaxNGGetValidErrors(xmlRelaxNGValidCtxt *ctxt, + xmlRelaxNGValidityErrorFunc *err, + xmlRelaxNGValidityWarningFunc *warn, + void **ctx); +XMLPUBFUN void + xmlRelaxNGSetValidStructuredErrors(xmlRelaxNGValidCtxt *ctxt, + xmlStructuredErrorFunc serror, void *ctx); +XMLPUBFUN xmlRelaxNGValidCtxt * + xmlRelaxNGNewValidCtxt (xmlRelaxNG *schema); +XMLPUBFUN void + xmlRelaxNGFreeValidCtxt (xmlRelaxNGValidCtxt *ctxt); +XMLPUBFUN int + xmlRelaxNGValidateDoc (xmlRelaxNGValidCtxt *ctxt, + xmlDoc *doc); +/* + * Interfaces for progressive validation when possible + */ +XMLPUBFUN int + xmlRelaxNGValidatePushElement (xmlRelaxNGValidCtxt *ctxt, + xmlDoc *doc, + xmlNode *elem); +XMLPUBFUN int + xmlRelaxNGValidatePushCData (xmlRelaxNGValidCtxt *ctxt, + const xmlChar *data, + int len); +XMLPUBFUN int + xmlRelaxNGValidatePopElement (xmlRelaxNGValidCtxt *ctxt, + xmlDoc *doc, + xmlNode *elem); +XMLPUBFUN int + xmlRelaxNGValidateFullElement (xmlRelaxNGValidCtxt *ctxt, + xmlDoc *doc, + xmlNode *elem); +XMLPUBFUN void + xmlRelaxNGValidCtxtClearErrors(xmlRelaxNGValidCtxt* ctxt); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_RELAXNG_ENABLED */ + +#endif /* __XML_RELAX_NG__ */ diff --git a/libxml2/include/libxml/schemasInternals.h b/libxml2/include/libxml/schemasInternals.h new file mode 100644 index 0000000..1a2d007 --- /dev/null +++ b/libxml2/include/libxml/schemasInternals.h @@ -0,0 +1,805 @@ +/** + * @file + * + * @brief internal interfaces for XML Schemas + * + * internal interfaces for the XML Schemas handling + * and schema validity checking + * The Schemas development is a Work In Progress. + * Some of those interfaces are not guaranteed to be API or ABI stable ! + * + * @copyright See Copyright for the status of this software. + * + * @author Daniel Veillard + */ + + +#ifndef __XML_SCHEMA_INTERNALS_H__ +#define __XML_SCHEMA_INTERNALS_H__ + +#include + +#ifdef LIBXML_SCHEMAS_ENABLED + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Schema value type + */ +typedef enum { + XML_SCHEMAS_UNKNOWN = 0, + XML_SCHEMAS_STRING = 1, + XML_SCHEMAS_NORMSTRING = 2, + XML_SCHEMAS_DECIMAL = 3, + XML_SCHEMAS_TIME = 4, + XML_SCHEMAS_GDAY = 5, + XML_SCHEMAS_GMONTH = 6, + XML_SCHEMAS_GMONTHDAY = 7, + XML_SCHEMAS_GYEAR = 8, + XML_SCHEMAS_GYEARMONTH = 9, + XML_SCHEMAS_DATE = 10, + XML_SCHEMAS_DATETIME = 11, + XML_SCHEMAS_DURATION = 12, + XML_SCHEMAS_FLOAT = 13, + XML_SCHEMAS_DOUBLE = 14, + XML_SCHEMAS_BOOLEAN = 15, + XML_SCHEMAS_TOKEN = 16, + XML_SCHEMAS_LANGUAGE = 17, + XML_SCHEMAS_NMTOKEN = 18, + XML_SCHEMAS_NMTOKENS = 19, + XML_SCHEMAS_NAME = 20, + XML_SCHEMAS_QNAME = 21, + XML_SCHEMAS_NCNAME = 22, + XML_SCHEMAS_ID = 23, + XML_SCHEMAS_IDREF = 24, + XML_SCHEMAS_IDREFS = 25, + XML_SCHEMAS_ENTITY = 26, + XML_SCHEMAS_ENTITIES = 27, + XML_SCHEMAS_NOTATION = 28, + XML_SCHEMAS_ANYURI = 29, + XML_SCHEMAS_INTEGER = 30, + XML_SCHEMAS_NPINTEGER = 31, + XML_SCHEMAS_NINTEGER = 32, + XML_SCHEMAS_NNINTEGER = 33, + XML_SCHEMAS_PINTEGER = 34, + XML_SCHEMAS_INT = 35, + XML_SCHEMAS_UINT = 36, + XML_SCHEMAS_LONG = 37, + XML_SCHEMAS_ULONG = 38, + XML_SCHEMAS_SHORT = 39, + XML_SCHEMAS_USHORT = 40, + XML_SCHEMAS_BYTE = 41, + XML_SCHEMAS_UBYTE = 42, + XML_SCHEMAS_HEXBINARY = 43, + XML_SCHEMAS_BASE64BINARY = 44, + XML_SCHEMAS_ANYTYPE = 45, + XML_SCHEMAS_ANYSIMPLETYPE = 46 +} xmlSchemaValType; + +/** + * XML Schemas defines multiple type of types. + */ +typedef enum { + XML_SCHEMA_TYPE_BASIC = 1, /* A built-in datatype */ + XML_SCHEMA_TYPE_ANY, + XML_SCHEMA_TYPE_FACET, + XML_SCHEMA_TYPE_SIMPLE, + XML_SCHEMA_TYPE_COMPLEX, + XML_SCHEMA_TYPE_SEQUENCE = 6, + XML_SCHEMA_TYPE_CHOICE, + XML_SCHEMA_TYPE_ALL, + XML_SCHEMA_TYPE_SIMPLE_CONTENT, + XML_SCHEMA_TYPE_COMPLEX_CONTENT, + XML_SCHEMA_TYPE_UR, + XML_SCHEMA_TYPE_RESTRICTION, + XML_SCHEMA_TYPE_EXTENSION, + XML_SCHEMA_TYPE_ELEMENT, + XML_SCHEMA_TYPE_ATTRIBUTE, + XML_SCHEMA_TYPE_ATTRIBUTEGROUP, + XML_SCHEMA_TYPE_GROUP, + XML_SCHEMA_TYPE_NOTATION, + XML_SCHEMA_TYPE_LIST, + XML_SCHEMA_TYPE_UNION, + XML_SCHEMA_TYPE_ANY_ATTRIBUTE, + XML_SCHEMA_TYPE_IDC_UNIQUE, + XML_SCHEMA_TYPE_IDC_KEY, + XML_SCHEMA_TYPE_IDC_KEYREF, + XML_SCHEMA_TYPE_PARTICLE = 25, + XML_SCHEMA_TYPE_ATTRIBUTE_USE, + XML_SCHEMA_FACET_MININCLUSIVE = 1000, + XML_SCHEMA_FACET_MINEXCLUSIVE, + XML_SCHEMA_FACET_MAXINCLUSIVE, + XML_SCHEMA_FACET_MAXEXCLUSIVE, + XML_SCHEMA_FACET_TOTALDIGITS, + XML_SCHEMA_FACET_FRACTIONDIGITS, + XML_SCHEMA_FACET_PATTERN, + XML_SCHEMA_FACET_ENUMERATION, + XML_SCHEMA_FACET_WHITESPACE, + XML_SCHEMA_FACET_LENGTH, + XML_SCHEMA_FACET_MAXLENGTH, + XML_SCHEMA_FACET_MINLENGTH, + XML_SCHEMA_EXTRA_QNAMEREF = 2000, + XML_SCHEMA_EXTRA_ATTR_USE_PROHIB +} xmlSchemaTypeType; + +/** + * Schema content type + */ +typedef enum { + XML_SCHEMA_CONTENT_UNKNOWN = 0, + XML_SCHEMA_CONTENT_EMPTY = 1, + XML_SCHEMA_CONTENT_ELEMENTS, + XML_SCHEMA_CONTENT_MIXED, + XML_SCHEMA_CONTENT_SIMPLE, + XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS, /* Obsolete */ + XML_SCHEMA_CONTENT_BASIC, + XML_SCHEMA_CONTENT_ANY +} xmlSchemaContentType; + +/** Schema value */ +typedef struct _xmlSchemaVal xmlSchemaVal; +typedef xmlSchemaVal *xmlSchemaValPtr; + +/** Schema type */ +typedef struct _xmlSchemaType xmlSchemaType; +typedef xmlSchemaType *xmlSchemaTypePtr; + +/** Schema facet */ +typedef struct _xmlSchemaFacet xmlSchemaFacet; +typedef xmlSchemaFacet *xmlSchemaFacetPtr; + +/** Schema annotation */ +typedef struct _xmlSchemaAnnot xmlSchemaAnnot; +typedef xmlSchemaAnnot *xmlSchemaAnnotPtr; +/** + * Annotation + */ +struct _xmlSchemaAnnot { + struct _xmlSchemaAnnot *next; + xmlNode *content; /* the annotation */ +}; + +/** + * Skip unknown attribute from validation + * Obsolete, not used anymore. + */ +#define XML_SCHEMAS_ANYATTR_SKIP 1 +/** + * Ignore validation non definition on attributes + * Obsolete, not used anymore. + */ +#define XML_SCHEMAS_ANYATTR_LAX 2 +/** + * Apply strict validation rules on attributes + * Obsolete, not used anymore. + */ +#define XML_SCHEMAS_ANYATTR_STRICT 3 +/** + * Skip unknown attribute from validation + */ +#define XML_SCHEMAS_ANY_SKIP 1 +/** + * Used by wildcards. + * Validate if type found, don't worry if not found + */ +#define XML_SCHEMAS_ANY_LAX 2 +/** + * Used by wildcards. + * Apply strict validation rules + */ +#define XML_SCHEMAS_ANY_STRICT 3 +/** + * Used by wildcards. + * The attribute is prohibited. + */ +#define XML_SCHEMAS_ATTR_USE_PROHIBITED 0 +/** + * The attribute is required. + */ +#define XML_SCHEMAS_ATTR_USE_REQUIRED 1 +/** + * The attribute is optional. + */ +#define XML_SCHEMAS_ATTR_USE_OPTIONAL 2 +/** + * allow elements in no namespace + */ +#define XML_SCHEMAS_ATTR_GLOBAL 1 << 0 +/** + * allow elements in no namespace + */ +#define XML_SCHEMAS_ATTR_NSDEFAULT 1 << 7 +/** + * this is set when the "type" and "ref" references + * have been resolved. + */ +#define XML_SCHEMAS_ATTR_INTERNAL_RESOLVED 1 << 8 +/** + * the attribute has a fixed value + */ +#define XML_SCHEMAS_ATTR_FIXED 1 << 9 + +/** Schema attribute definition */ +typedef struct _xmlSchemaAttribute xmlSchemaAttribute; +typedef xmlSchemaAttribute *xmlSchemaAttributePtr; +/** + * An attribute definition. + */ +struct _xmlSchemaAttribute { + xmlSchemaTypeType type; + struct _xmlSchemaAttribute *next; /* the next attribute (not used?) */ + const xmlChar *name; /* the name of the declaration */ + const xmlChar *id; /* Deprecated; not used */ + const xmlChar *ref; /* Deprecated; not used */ + const xmlChar *refNs; /* Deprecated; not used */ + const xmlChar *typeName; /* the local name of the type definition */ + const xmlChar *typeNs; /* the ns URI of the type definition */ + xmlSchemaAnnot *annot; + + xmlSchemaType *base; /* Deprecated; not used */ + int occurs; /* Deprecated; not used */ + const xmlChar *defValue; /* The initial value of the value constraint */ + xmlSchemaType *subtypes; /* the type definition */ + xmlNode *node; + const xmlChar *targetNamespace; + int flags; + const xmlChar *refPrefix; /* Deprecated; not used */ + xmlSchemaVal *defVal; /* The compiled value constraint */ + xmlSchemaAttribute *refDecl; /* Deprecated; not used */ +}; + +/** Linked list of schema attributes */ +typedef struct _xmlSchemaAttributeLink xmlSchemaAttributeLink; +typedef xmlSchemaAttributeLink *xmlSchemaAttributeLinkPtr; +/** + * Used to build a list of attribute uses on complexType definitions. + * WARNING: Deprecated; not used. + */ +struct _xmlSchemaAttributeLink { + struct _xmlSchemaAttributeLink *next;/* the next attribute link ... */ + struct _xmlSchemaAttribute *attr;/* the linked attribute */ +}; + +/** + * If the wildcard is complete. + */ +#define XML_SCHEMAS_WILDCARD_COMPLETE 1 << 0 + +/** Namespace wildcard */ +typedef struct _xmlSchemaWildcardNs xmlSchemaWildcardNs; +typedef xmlSchemaWildcardNs *xmlSchemaWildcardNsPtr; +/** + * Used to build a list of namespaces on wildcards. + */ +struct _xmlSchemaWildcardNs { + struct _xmlSchemaWildcardNs *next;/* the next constraint link ... */ + const xmlChar *value;/* the value */ +}; + +/** Name wildcard */ +typedef struct _xmlSchemaWildcard xmlSchemaWildcard; +typedef xmlSchemaWildcard *xmlSchemaWildcardPtr; +/** + * A wildcard. + */ +struct _xmlSchemaWildcard { + xmlSchemaTypeType type; /* The kind of type */ + const xmlChar *id; /* Deprecated; not used */ + xmlSchemaAnnot *annot; + xmlNode *node; + int minOccurs; /* Deprecated; not used */ + int maxOccurs; /* Deprecated; not used */ + int processContents; + int any; /* Indicates if the ns constraint is of ##any */ + xmlSchemaWildcardNs *nsSet; /* The list of allowed namespaces */ + xmlSchemaWildcardNs *negNsSet; /* The negated namespace */ + int flags; +}; + +/** + * The attribute wildcard has been built. + */ +#define XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED 1 << 0 +/** + * The attribute group has been defined. + */ +#define XML_SCHEMAS_ATTRGROUP_GLOBAL 1 << 1 +/** + * Marks the attr group as marked; used for circular checks. + */ +#define XML_SCHEMAS_ATTRGROUP_MARKED 1 << 2 + +/** + * The attr group was redefined. + */ +#define XML_SCHEMAS_ATTRGROUP_REDEFINED 1 << 3 +/** + * Whether this attr. group contains attr. group references. + */ +#define XML_SCHEMAS_ATTRGROUP_HAS_REFS 1 << 4 + +/** Attribute group */ +typedef struct _xmlSchemaAttributeGroup xmlSchemaAttributeGroup; +typedef xmlSchemaAttributeGroup *xmlSchemaAttributeGroupPtr; +/** + * An attribute group definition. + * + * xmlSchemaAttribute and xmlSchemaAttributeGroup start of structures + * must be kept similar + */ +struct _xmlSchemaAttributeGroup { + xmlSchemaTypeType type; /* The kind of type */ + struct _xmlSchemaAttribute *next;/* the next attribute if in a group ... */ + const xmlChar *name; + const xmlChar *id; + const xmlChar *ref; /* Deprecated; not used */ + const xmlChar *refNs; /* Deprecated; not used */ + xmlSchemaAnnot *annot; + + xmlSchemaAttribute *attributes; /* Deprecated; not used */ + xmlNode *node; + int flags; + xmlSchemaWildcard *attributeWildcard; + const xmlChar *refPrefix; /* Deprecated; not used */ + xmlSchemaAttributeGroup *refItem; /* Deprecated; not used */ + const xmlChar *targetNamespace; + void *attrUses; +}; + +/** Linked list of schema types */ +typedef struct _xmlSchemaTypeLink xmlSchemaTypeLink; +typedef xmlSchemaTypeLink *xmlSchemaTypeLinkPtr; +/** + * Used to build a list of types (e.g. member types of + * simpleType with variety "union"). + */ +struct _xmlSchemaTypeLink { + struct _xmlSchemaTypeLink *next;/* the next type link ... */ + xmlSchemaType *type;/* the linked type */ +}; + +/** Linked list of schema facets */ +typedef struct _xmlSchemaFacetLink xmlSchemaFacetLink; +typedef xmlSchemaFacetLink *xmlSchemaFacetLinkPtr; +/** + * Used to build a list of facets. + */ +struct _xmlSchemaFacetLink { + struct _xmlSchemaFacetLink *next;/* the next facet link ... */ + xmlSchemaFacet *facet;/* the linked facet */ +}; + +/** + * the element content type is mixed + */ +#define XML_SCHEMAS_TYPE_MIXED 1 << 0 +/** + * the simple or complex type has a derivation method of "extension". + */ +#define XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION 1 << 1 +/** + * the simple or complex type has a derivation method of "restriction". + */ +#define XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION 1 << 2 +/** + * the type is global + */ +#define XML_SCHEMAS_TYPE_GLOBAL 1 << 3 +/** + * the complexType owns an attribute wildcard, i.e. + * it can be freed by the complexType + */ +#define XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD 1 << 4 /* Obsolete. */ +/** + * the simpleType has a variety of "absent". + * TODO: Actually not necessary :-/, since if + * none of the variety flags occur then it's + * automatically absent. + */ +#define XML_SCHEMAS_TYPE_VARIETY_ABSENT 1 << 5 +/** + * the simpleType has a variety of "list". + */ +#define XML_SCHEMAS_TYPE_VARIETY_LIST 1 << 6 +/** + * the simpleType has a variety of "union". + */ +#define XML_SCHEMAS_TYPE_VARIETY_UNION 1 << 7 +/** + * the simpleType has a variety of "union". + */ +#define XML_SCHEMAS_TYPE_VARIETY_ATOMIC 1 << 8 +/** + * the complexType has a final of "extension". + */ +#define XML_SCHEMAS_TYPE_FINAL_EXTENSION 1 << 9 +/** + * the simpleType/complexType has a final of "restriction". + */ +#define XML_SCHEMAS_TYPE_FINAL_RESTRICTION 1 << 10 +/** + * the simpleType has a final of "list". + */ +#define XML_SCHEMAS_TYPE_FINAL_LIST 1 << 11 +/** + * the simpleType has a final of "union". + */ +#define XML_SCHEMAS_TYPE_FINAL_UNION 1 << 12 +/** + * the simpleType has a final of "default". + */ +#define XML_SCHEMAS_TYPE_FINAL_DEFAULT 1 << 13 +/** + * Marks the item as a builtin primitive. + */ +#define XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE 1 << 14 +/** + * Marks the item as marked; used for circular checks. + */ +#define XML_SCHEMAS_TYPE_MARKED 1 << 16 +/** + * the complexType did not specify 'block' so use the default of the + * `` item. + */ +#define XML_SCHEMAS_TYPE_BLOCK_DEFAULT 1 << 17 +/** + * the complexType has a 'block' of "extension". + */ +#define XML_SCHEMAS_TYPE_BLOCK_EXTENSION 1 << 18 +/** + * the complexType has a 'block' of "restriction". + */ +#define XML_SCHEMAS_TYPE_BLOCK_RESTRICTION 1 << 19 +/** + * the simple/complexType is abstract. + */ +#define XML_SCHEMAS_TYPE_ABSTRACT 1 << 20 +/** + * indicates if the facets need a computed value + */ +#define XML_SCHEMAS_TYPE_FACETSNEEDVALUE 1 << 21 +/** + * indicates that the type was typefixed + */ +#define XML_SCHEMAS_TYPE_INTERNAL_RESOLVED 1 << 22 +/** + * indicates that the type is invalid + */ +#define XML_SCHEMAS_TYPE_INTERNAL_INVALID 1 << 23 +/** + * a whitespace-facet value of "preserve" + */ +#define XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE 1 << 24 +/** + * a whitespace-facet value of "replace" + */ +#define XML_SCHEMAS_TYPE_WHITESPACE_REPLACE 1 << 25 +/** + * a whitespace-facet value of "collapse" + */ +#define XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE 1 << 26 +/** + * has facets + */ +#define XML_SCHEMAS_TYPE_HAS_FACETS 1 << 27 +/** + * indicates if the facets (pattern) need a normalized value + */ +#define XML_SCHEMAS_TYPE_NORMVALUENEEDED 1 << 28 + +/** + * First stage of fixup was done. + */ +#define XML_SCHEMAS_TYPE_FIXUP_1 1 << 29 + +/** + * The type was redefined. + */ +#define XML_SCHEMAS_TYPE_REDEFINED 1 << 30 +#if 0 +/** + * The type redefines an other type. + */ +#define XML_SCHEMAS_TYPE_REDEFINING 1 << 31 +#endif + +/** + * Schemas type definition. + */ +struct _xmlSchemaType { + xmlSchemaTypeType type; /* The kind of type */ + struct _xmlSchemaType *next; /* the next type if in a sequence ... */ + const xmlChar *name; + const xmlChar *id ; /* Deprecated; not used */ + const xmlChar *ref; /* Deprecated; not used */ + const xmlChar *refNs; /* Deprecated; not used */ + xmlSchemaAnnot *annot; + xmlSchemaType *subtypes; + xmlSchemaAttribute *attributes; /* Deprecated; not used */ + xmlNode *node; + int minOccurs; /* Deprecated; not used */ + int maxOccurs; /* Deprecated; not used */ + + int flags; + xmlSchemaContentType contentType; + const xmlChar *base; /* Base type's local name */ + const xmlChar *baseNs; /* Base type's target namespace */ + xmlSchemaType *baseType; /* The base type component */ + xmlSchemaFacet *facets; /* Local facets */ + struct _xmlSchemaType *redef; /* Deprecated; not used */ + int recurse; /* Obsolete */ + xmlSchemaAttributeLink **attributeUses; /* Deprecated; not used */ + xmlSchemaWildcard *attributeWildcard; + int builtInType; /* Type of built-in types. */ + xmlSchemaTypeLink *memberTypes; /* member-types if a union type. */ + xmlSchemaFacetLink *facetSet; /* All facets (incl. inherited) */ + const xmlChar *refPrefix; /* Deprecated; not used */ + xmlSchemaType *contentTypeDef; /* Used for the simple content of complex types. + Could we use @subtypes for this? */ + xmlRegexp *contModel; /* Holds the automaton of the content model */ + const xmlChar *targetNamespace; + void *attrUses; +}; + +/** + * the element is nillable + */ +#define XML_SCHEMAS_ELEM_NILLABLE 1 << 0 +/** + * the element is global + */ +#define XML_SCHEMAS_ELEM_GLOBAL 1 << 1 +/** + * the element has a default value + */ +#define XML_SCHEMAS_ELEM_DEFAULT 1 << 2 +/** + * the element has a fixed value + */ +#define XML_SCHEMAS_ELEM_FIXED 1 << 3 +/** + * the element is abstract + */ +#define XML_SCHEMAS_ELEM_ABSTRACT 1 << 4 +/** + * the element is top level + * obsolete: use XML_SCHEMAS_ELEM_GLOBAL instead + */ +#define XML_SCHEMAS_ELEM_TOPLEVEL 1 << 5 +/** + * the element is a reference to a type + */ +#define XML_SCHEMAS_ELEM_REF 1 << 6 +/** + * allow elements in no namespace + * Obsolete, not used anymore. + */ +#define XML_SCHEMAS_ELEM_NSDEFAULT 1 << 7 +/** + * this is set when "type", "ref", "substitutionGroup" + * references have been resolved. + */ +#define XML_SCHEMAS_ELEM_INTERNAL_RESOLVED 1 << 8 + /** + * a helper flag for the search of circular references. + */ +#define XML_SCHEMAS_ELEM_CIRCULAR 1 << 9 +/** + * the "block" attribute is absent + */ +#define XML_SCHEMAS_ELEM_BLOCK_ABSENT 1 << 10 +/** + * disallowed substitutions are absent + */ +#define XML_SCHEMAS_ELEM_BLOCK_EXTENSION 1 << 11 +/** + * disallowed substitutions: "restriction" + */ +#define XML_SCHEMAS_ELEM_BLOCK_RESTRICTION 1 << 12 +/** + * disallowed substitutions: "substitution" + */ +#define XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION 1 << 13 +/** + * substitution group exclusions are absent + */ +#define XML_SCHEMAS_ELEM_FINAL_ABSENT 1 << 14 +/** + * substitution group exclusions: "extension" + */ +#define XML_SCHEMAS_ELEM_FINAL_EXTENSION 1 << 15 +/** + * substitution group exclusions: "restriction" + */ +#define XML_SCHEMAS_ELEM_FINAL_RESTRICTION 1 << 16 +/** + * the declaration is a substitution group head + */ +#define XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD 1 << 17 +/** + * this is set when the elem decl has been checked against + * all constraints + */ +#define XML_SCHEMAS_ELEM_INTERNAL_CHECKED 1 << 18 + +/** Schema element definition */ +typedef struct _xmlSchemaElement xmlSchemaElement; +typedef xmlSchemaElement *xmlSchemaElementPtr; +/** + * An element definition. + * + * xmlSchemaType, xmlSchemaFacet and xmlSchemaElement start of + * structures must be kept similar + */ +struct _xmlSchemaElement { + xmlSchemaTypeType type; /* The kind of type */ + struct _xmlSchemaType *next; /* Not used? */ + const xmlChar *name; + const xmlChar *id; /* Deprecated; not used */ + const xmlChar *ref; /* Deprecated; not used */ + const xmlChar *refNs; /* Deprecated; not used */ + xmlSchemaAnnot *annot; + xmlSchemaType *subtypes; /* the type definition */ + xmlSchemaAttribute *attributes; + xmlNode *node; + int minOccurs; /* Deprecated; not used */ + int maxOccurs; /* Deprecated; not used */ + + int flags; + const xmlChar *targetNamespace; + const xmlChar *namedType; + const xmlChar *namedTypeNs; + const xmlChar *substGroup; + const xmlChar *substGroupNs; + const xmlChar *scope; + const xmlChar *value; /* The original value of the value constraint. */ + struct _xmlSchemaElement *refDecl; /* This will now be used for the + substitution group affiliation */ + xmlRegexp *contModel; /* Obsolete for WXS, maybe used for RelaxNG */ + xmlSchemaContentType contentType; + const xmlChar *refPrefix; /* Deprecated; not used */ + xmlSchemaVal *defVal; /* The compiled value constraint. */ + void *idcs; /* The identity-constraint defs */ +}; + +/** + * unknown facet handling + */ +#define XML_SCHEMAS_FACET_UNKNOWN 0 +/** + * preserve the type of the facet + */ +#define XML_SCHEMAS_FACET_PRESERVE 1 +/** + * replace the type of the facet + */ +#define XML_SCHEMAS_FACET_REPLACE 2 +/** + * collapse the types of the facet + */ +#define XML_SCHEMAS_FACET_COLLAPSE 3 +/** + * A facet definition. + */ +struct _xmlSchemaFacet { + xmlSchemaTypeType type; /* The kind of type */ + struct _xmlSchemaFacet *next;/* the next type if in a sequence ... */ + const xmlChar *value; /* The original value */ + const xmlChar *id; /* Obsolete */ + xmlSchemaAnnot *annot; + xmlNode *node; + int fixed; /* XML_SCHEMAS_FACET_PRESERVE, etc. */ + int whitespace; + xmlSchemaVal *val; /* The compiled value */ + xmlRegexp *regexp; /* The regex for patterns */ +}; + +/** Schema notation */ +typedef struct _xmlSchemaNotation xmlSchemaNotation; +typedef xmlSchemaNotation *xmlSchemaNotationPtr; +/** + * A notation definition. + */ +struct _xmlSchemaNotation { + xmlSchemaTypeType type; /* The kind of type */ + const xmlChar *name; + xmlSchemaAnnot *annot; + const xmlChar *identifier; + const xmlChar *targetNamespace; +}; + +/* +* TODO: Actually all those flags used for the schema should sit +* on the schema parser context, since they are used only +* during parsing an XML schema document, and not available +* on the component level as per spec. +*/ +/** + * Reflects elementFormDefault == qualified in + * an XML schema document. + */ +#define XML_SCHEMAS_QUALIF_ELEM 1 << 0 +/** + * Reflects attributeFormDefault == qualified in + * an XML schema document. + */ +#define XML_SCHEMAS_QUALIF_ATTR 1 << 1 +/** + * the schema has "extension" in the set of finalDefault. + */ +#define XML_SCHEMAS_FINAL_DEFAULT_EXTENSION 1 << 2 +/** + * the schema has "restriction" in the set of finalDefault. + */ +#define XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION 1 << 3 +/** + * the schema has "list" in the set of finalDefault. + */ +#define XML_SCHEMAS_FINAL_DEFAULT_LIST 1 << 4 +/** + * the schema has "union" in the set of finalDefault. + */ +#define XML_SCHEMAS_FINAL_DEFAULT_UNION 1 << 5 +/** + * the schema has "extension" in the set of blockDefault. + */ +#define XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION 1 << 6 +/** + * the schema has "restriction" in the set of blockDefault. + */ +#define XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION 1 << 7 +/** + * the schema has "substitution" in the set of blockDefault. + */ +#define XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION 1 << 8 +/** + * the schema is currently including an other schema with + * no target namespace. + */ +#define XML_SCHEMAS_INCLUDING_CONVERT_NS 1 << 9 +/** + * A Schemas definition + */ +struct _xmlSchema { + const xmlChar *name; /* schema name */ + const xmlChar *targetNamespace; /* the target namespace */ + const xmlChar *version; + const xmlChar *id; /* Obsolete */ + xmlDoc *doc; + xmlSchemaAnnot *annot; + int flags; + + xmlHashTable *typeDecl; + xmlHashTable *attrDecl; + xmlHashTable *attrgrpDecl; + xmlHashTable *elemDecl; + xmlHashTable *notaDecl; + + xmlHashTable *schemasImports; + + void *_private; /* unused by the library for users or bindings */ + xmlHashTable *groupDecl; + xmlDict *dict; + void *includes; /* the includes, this is opaque for now */ + int preserve; /* whether to free the document */ + int counter; /* used to give anonymous components unique names */ + xmlHashTable *idcDef; /* All identity-constraint defs. */ + void *volatiles; /* Obsolete */ +}; + +XMLPUBFUN void xmlSchemaFreeType (xmlSchemaType *type); +XMLPUBFUN void xmlSchemaFreeWildcard(xmlSchemaWildcard *wildcard); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_SCHEMAS_ENABLED */ +#endif /* __XML_SCHEMA_INTERNALS_H__ */ diff --git a/libxml2/include/libxml/schematron.h b/libxml2/include/libxml/schematron.h new file mode 100644 index 0000000..47dcd8c --- /dev/null +++ b/libxml2/include/libxml/schematron.h @@ -0,0 +1,151 @@ +/** + * @file + * + * @brief XML Schematron implementation + * + * interface to the XML Schematron validity checking. + * + * @copyright See Copyright for the status of this software. + * + * @author Daniel Veillard + */ + + +#ifndef __XML_SCHEMATRON_H__ +#define __XML_SCHEMATRON_H__ + +#include + +#ifdef LIBXML_SCHEMATRON_ENABLED + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Schematron validation options + */ +typedef enum { + /** quiet no report */ + XML_SCHEMATRON_OUT_QUIET = 1 << 0, + /** build a textual report */ + XML_SCHEMATRON_OUT_TEXT = 1 << 1, + /** output SVRL */ + XML_SCHEMATRON_OUT_XML = 1 << 2, + /** output via xmlStructuredErrorFunc */ + XML_SCHEMATRON_OUT_ERROR = 1 << 3, + /** output to a file descriptor */ + XML_SCHEMATRON_OUT_FILE = 1 << 8, + /** output to a buffer */ + XML_SCHEMATRON_OUT_BUFFER = 1 << 9, + /** output to I/O mechanism */ + XML_SCHEMATRON_OUT_IO = 1 << 10 +} xmlSchematronValidOptions; + +/** Schematron schema */ +typedef struct _xmlSchematron xmlSchematron; +typedef xmlSchematron *xmlSchematronPtr; + +/** + * Signature of an error callback from a Schematron validation + * + * @param ctx the validation context + * @param msg the message + * @param ... extra arguments + */ +typedef void (*xmlSchematronValidityErrorFunc) (void *ctx, const char *msg, ...); + +/** + * Signature of a warning callback from a Schematron validation + * + * @param ctx the validation context + * @param msg the message + * @param ... extra arguments + */ +typedef void (*xmlSchematronValidityWarningFunc) (void *ctx, const char *msg, ...); + +/** Schematron parser context */ +typedef struct _xmlSchematronParserCtxt xmlSchematronParserCtxt; +typedef xmlSchematronParserCtxt *xmlSchematronParserCtxtPtr; + +/** Schematron validation context */ +typedef struct _xmlSchematronValidCtxt xmlSchematronValidCtxt; +typedef xmlSchematronValidCtxt *xmlSchematronValidCtxtPtr; + +/* + * Interfaces for parsing. + */ +XMLPUBFUN xmlSchematronParserCtxt * + xmlSchematronNewParserCtxt (const char *URL); +XMLPUBFUN xmlSchematronParserCtxt * + xmlSchematronNewMemParserCtxt(const char *buffer, + int size); +XMLPUBFUN xmlSchematronParserCtxt * + xmlSchematronNewDocParserCtxt(xmlDoc *doc); +XMLPUBFUN void + xmlSchematronFreeParserCtxt (xmlSchematronParserCtxt *ctxt); +/***** +XMLPUBFUN void + xmlSchematronSetParserErrors(xmlSchematronParserCtxt *ctxt, + xmlSchematronValidityErrorFunc err, + xmlSchematronValidityWarningFunc warn, + void *ctx); +XMLPUBFUN int + xmlSchematronGetParserErrors(xmlSchematronParserCtxt *ctxt, + xmlSchematronValidityErrorFunc * err, + xmlSchematronValidityWarningFunc * warn, + void **ctx); +XMLPUBFUN int + xmlSchematronIsValid (xmlSchematronValidCtxt *ctxt); + *****/ +XMLPUBFUN xmlSchematron * + xmlSchematronParse (xmlSchematronParserCtxt *ctxt); +XMLPUBFUN void + xmlSchematronFree (xmlSchematron *schema); +/* + * Interfaces for validating + */ +XMLPUBFUN void + xmlSchematronSetValidStructuredErrors( + xmlSchematronValidCtxt *ctxt, + xmlStructuredErrorFunc serror, + void *ctx); +/****** +XMLPUBFUN void + xmlSchematronSetValidErrors (xmlSchematronValidCtxt *ctxt, + xmlSchematronValidityErrorFunc err, + xmlSchematronValidityWarningFunc warn, + void *ctx); +XMLPUBFUN int + xmlSchematronGetValidErrors (xmlSchematronValidCtxt *ctxt, + xmlSchematronValidityErrorFunc *err, + xmlSchematronValidityWarningFunc *warn, + void **ctx); +XMLPUBFUN int + xmlSchematronSetValidOptions(xmlSchematronValidCtxt *ctxt, + int options); +XMLPUBFUN int + xmlSchematronValidCtxtGetOptions(xmlSchematronValidCtxt *ctxt); +XMLPUBFUN int + xmlSchematronValidateOneElement (xmlSchematronValidCtxt *ctxt, + xmlNode *elem); + *******/ + +XMLPUBFUN xmlSchematronValidCtxt * + xmlSchematronNewValidCtxt (xmlSchematron *schema, + int options); +XMLPUBFUN void + xmlSchematronFreeValidCtxt (xmlSchematronValidCtxt *ctxt); +XMLPUBFUN int + xmlSchematronValidateDoc (xmlSchematronValidCtxt *ctxt, + xmlDoc *instance); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_SCHEMATRON_ENABLED */ +#endif /* __XML_SCHEMATRON_H__ */ diff --git a/libxml2/include/libxml/threads.h b/libxml2/include/libxml/threads.h new file mode 100644 index 0000000..8d0048c --- /dev/null +++ b/libxml2/include/libxml/threads.h @@ -0,0 +1,80 @@ +/** + * @file + * + * @brief interfaces for thread handling + * + * set of generic threading related routines + * should work with pthreads, Windows native or TLS threads + * + * @copyright See Copyright for the status of this software. + * + * @author Daniel Veillard + */ + +#ifndef __XML_THREADS_H__ +#define __XML_THREADS_H__ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** Mutual exclusion object */ +typedef struct _xmlMutex xmlMutex; +typedef xmlMutex *xmlMutexPtr; + +/** Reentrant mutual exclusion object */ +typedef struct _xmlRMutex xmlRMutex; +typedef xmlRMutex *xmlRMutexPtr; + +XMLPUBFUN int + xmlCheckThreadLocalStorage(void); + +XMLPUBFUN xmlMutex * + xmlNewMutex (void); +XMLPUBFUN void + xmlMutexLock (xmlMutex *tok); +XMLPUBFUN void + xmlMutexUnlock (xmlMutex *tok); +XMLPUBFUN void + xmlFreeMutex (xmlMutex *tok); + +XMLPUBFUN xmlRMutex * + xmlNewRMutex (void); +XMLPUBFUN void + xmlRMutexLock (xmlRMutex *tok); +XMLPUBFUN void + xmlRMutexUnlock (xmlRMutex *tok); +XMLPUBFUN void + xmlFreeRMutex (xmlRMutex *tok); + +/* + * Library wide APIs. + */ +XML_DEPRECATED +XMLPUBFUN void + xmlInitThreads (void); +XMLPUBFUN void + xmlLockLibrary (void); +XMLPUBFUN void + xmlUnlockLibrary(void); +XML_DEPRECATED +XMLPUBFUN void + xmlCleanupThreads(void); + +/** @cond IGNORE */ +#if defined(LIBXML_THREAD_ENABLED) && defined(_WIN32) && \ + defined(LIBXML_STATIC_FOR_DLL) +int +xmlDllMain(void *hinstDLL, unsigned long fdwReason, + void *lpvReserved); +#endif +/** @endcond */ + +#ifdef __cplusplus +} +#endif + + +#endif /* __XML_THREADS_H__ */ diff --git a/libxml2/include/libxml/tree.h b/libxml2/include/libxml/tree.h new file mode 100644 index 0000000..277110a --- /dev/null +++ b/libxml2/include/libxml/tree.h @@ -0,0 +1,1576 @@ +/** + * @file + * + * @brief Document tree API + * + * Data structures and functions to build, modify, query and + * serialize XML and HTML document trees. Also contains the + * buffer API. + * + * @copyright See Copyright for the status of this software. + * + * @author Daniel Veillard + */ + +#ifndef XML_TREE_INTERNALS + +/* + * Emulate circular dependency for backward compatibility + */ +#include + +#else /* XML_TREE_INTERNALS */ + +#ifndef __XML_TREE_H__ +/** @cond ignore */ +#define __XML_TREE_H__ +/** @endcond */ + +#include +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Backward compatibility + */ +/** @cond ignore */ +#define xmlBufferAllocScheme XML_BUFFER_ALLOC_EXACT +#define xmlDefaultBufferSize 4096 +#define XML_GET_CONTENT(n) \ + ((n)->type == XML_ELEMENT_NODE ? NULL : (n)->content) +#define XML_GET_LINE(n) xmlGetLineNo(n) +/** @endcond */ + +/* + * Some of the basic types pointer to structures: + */ +/* xmlIO.h */ +/** + * Parser input buffer + * + * This struct and all related functions should ultimately + * be removed from the public interface. + */ +typedef struct _xmlParserInputBuffer xmlParserInputBuffer; +typedef xmlParserInputBuffer *xmlParserInputBufferPtr; + +/** Output buffer */ +typedef struct _xmlOutputBuffer xmlOutputBuffer; +typedef xmlOutputBuffer *xmlOutputBufferPtr; + +/* parser.h */ +/** Parser input */ +typedef struct _xmlParserInput xmlParserInput; +typedef xmlParserInput *xmlParserInputPtr; + +/** Parser context */ +typedef struct _xmlParserCtxt xmlParserCtxt; +typedef xmlParserCtxt *xmlParserCtxtPtr; + +/** SAX locator */ +typedef struct _xmlSAXLocator xmlSAXLocator; +typedef xmlSAXLocator *xmlSAXLocatorPtr; + +/** SAX handler */ +typedef struct _xmlSAXHandler xmlSAXHandler; +typedef xmlSAXHandler *xmlSAXHandlerPtr; + +/* entities.h */ +/** Entity declaration */ +typedef struct _xmlEntity xmlEntity; +typedef xmlEntity *xmlEntityPtr; + +/** + * Removed, buffers always use XML_BUFFER_ALLOC_IO now. + */ +typedef enum { + XML_BUFFER_ALLOC_DOUBLEIT, /* double each time one need to grow */ + XML_BUFFER_ALLOC_EXACT, /* grow only to the minimal size */ + XML_BUFFER_ALLOC_IMMUTABLE, /* immutable buffer, deprecated */ + XML_BUFFER_ALLOC_IO, /* special allocation scheme used for I/O */ + XML_BUFFER_ALLOC_HYBRID, /* exact up to a threshold, and doubleit thereafter */ + XML_BUFFER_ALLOC_BOUNDED /* limit the upper size of the buffer */ +} xmlBufferAllocationScheme; + +/** Buffer type */ +typedef struct _xmlBuffer xmlBuffer; +typedef xmlBuffer *xmlBufferPtr; +/** + * A buffer structure, this old construct is limited to 2GB and + * is being deprecated, use API with xmlBuf instead. + */ +struct _xmlBuffer { + /** + * @deprecated Use #xmlBufferContent + * + * The buffer content UTF8 + */ + xmlChar *content XML_DEPRECATED_MEMBER; + /** + * @deprecated Use #xmlBufferLength + * + * The buffer size used + */ + unsigned int use XML_DEPRECATED_MEMBER; + /* The buffer size */ + unsigned int size XML_DEPRECATED_MEMBER; + /* The realloc method */ + xmlBufferAllocationScheme alloc XML_DEPRECATED_MEMBER; + /* in IO mode we may have a different base */ + xmlChar *contentIO XML_DEPRECATED_MEMBER; +}; + +/** Buffer with 64-bit support */ +typedef struct _xmlBuf xmlBuf; +typedef xmlBuf *xmlBufPtr; + +/** + * Macro used to express that the API use the new buffers for + * xmlParserInputBuffer and xmlOutputBuffer. The change was + * introduced in 2.9.0. + */ +#define LIBXML2_NEW_BUFFER + +/** + * This is the namespace for the special xml: prefix predefined in the + * XML Namespace specification. + */ +#define XML_XML_NAMESPACE \ + (const xmlChar *) "http://www.w3.org/XML/1998/namespace" + +/** + * This is the name for the special xml:id attribute + */ +#define XML_XML_ID (const xmlChar *) "xml:id" + +/** + * The different element types carried by an XML tree. + * + * NOTE: This is synchronized with DOM Level 1 values. + * See http://www.w3.org/TR/REC-DOM-Level-1/ + * + * Actually this had diverged a bit, and XML_DTD_NODE is used instead + * of XML_DOCUMENT_TYPE_NODE. + */ +typedef enum { + /** + * An element. + * + * Objects of this type are an xmlNode. + */ + XML_ELEMENT_NODE= 1, + /** + * An attribute. + * + * Objects of this type are an xmlAttr. + */ + XML_ATTRIBUTE_NODE= 2, + /** + * A text node. + * + * Objects of this type are an xmlNode. + */ + XML_TEXT_NODE= 3, + /** + * A CDATA section. + * + * Objects of this type are an xmlNode. + */ + XML_CDATA_SECTION_NODE= 4, + /** + * An entity reference. + * + * Objects of this type are an xmlNode. The `children` member + * points to the entity declaration if available. + */ + XML_ENTITY_REF_NODE= 5, + /** unused */ + XML_ENTITY_NODE= 6, + /** + * A processing instruction. + * + * Objects of this type are an xmlNode. + */ + XML_PI_NODE= 7, + /** + * A comment. + * + * Objects of this type are an xmlNode. + */ + XML_COMMENT_NODE= 8, + /** + * A document. + * + * Objects of this type are an xmlDoc. + */ + XML_DOCUMENT_NODE= 9, + /** unused */ + XML_DOCUMENT_TYPE_NODE= 10, + /** + * A document fragment. + * + * Objects of this type are an xmlNode. + */ + XML_DOCUMENT_FRAG_NODE= 11, + /** A notation, unused */ + XML_NOTATION_NODE= 12, + /** + * An HTML document. + * + * Objects of this type are an xmlDoc. + */ + XML_HTML_DOCUMENT_NODE= 13, + /** + * A document type definition. + * + * Objects of this type are an xmlDtd. + */ + XML_DTD_NODE= 14, + /** + * An element declaration. + * + * Objects of this type are an xmlElement. + */ + XML_ELEMENT_DECL= 15, + /** + * An attribute declaration. + * + * Objects of this type are an xmlAttribute. + */ + XML_ATTRIBUTE_DECL= 16, + /** + * An entity declaration. + * + * Objects of this type are an xmlEntity. + */ + XML_ENTITY_DECL= 17, + /** + * An XPath namespace node. + * + * Can only be returned by the XPath engine. Objects of this + * type are an xmlNs which has a completely different layout + * than xmlNode. The `next` member contains a pointer to the + * xmlNode element to which the namespace applies. + * + * Nodes of this type must be handled with extreme care to + * avoid type confusion bugs. + */ + XML_NAMESPACE_DECL= 18, + /** + * An XInclude start marker. + * + * Objects of this type are an xmlNode. Inserted as preceding + * sibling of XIncluded content. + */ + XML_XINCLUDE_START= 19, + /** + * An XInclude end marker. + * + * Objects of this type are an xmlNode. Inserted as following + * sibling of XIncluded content. + */ + XML_XINCLUDE_END= 20 + /* XML_DOCB_DOCUMENT_NODE= 21 */ /* removed */ +} xmlElementType; + +/** @cond IGNORE */ +/* For backward compatibility */ +#define XML_DOCB_DOCUMENT_NODE 21 +/** @endcond */ + +/** Notation declaration */ +typedef struct _xmlNotation xmlNotation; +typedef xmlNotation *xmlNotationPtr; +/** + * A DTD Notation definition. + * + * Should be treated as opaque. Accessing members directly + * is deprecated. + */ +struct _xmlNotation { + /** Notation name */ + const xmlChar *name; + /** Public identifier, if any */ + const xmlChar *PublicID; + /** System identifier, if any */ + const xmlChar *SystemID; +}; + +/** + * A DTD Attribute type definition. + */ +typedef enum { + XML_ATTRIBUTE_CDATA = 1, + XML_ATTRIBUTE_ID, + XML_ATTRIBUTE_IDREF , + XML_ATTRIBUTE_IDREFS, + XML_ATTRIBUTE_ENTITY, + XML_ATTRIBUTE_ENTITIES, + XML_ATTRIBUTE_NMTOKEN, + XML_ATTRIBUTE_NMTOKENS, + XML_ATTRIBUTE_ENUMERATION, + XML_ATTRIBUTE_NOTATION +} xmlAttributeType; + +/** + * A DTD Attribute default definition. + */ +typedef enum { + XML_ATTRIBUTE_NONE = 1, + XML_ATTRIBUTE_REQUIRED, + XML_ATTRIBUTE_IMPLIED, + XML_ATTRIBUTE_FIXED +} xmlAttributeDefault; + +/** Enumeration in a DTD */ +typedef struct _xmlEnumeration xmlEnumeration; +typedef xmlEnumeration *xmlEnumerationPtr; +/** + * List structure used when there is an enumeration in DTDs. + * + * Should be treated as opaque. Accessing members directly + * is deprecated. + */ +struct _xmlEnumeration { + /** next enumeration */ + struct _xmlEnumeration *next XML_DEPRECATED_MEMBER; + /** value */ + const xmlChar *name XML_DEPRECATED_MEMBER; +}; + +/** Attribute declaration */ +typedef struct _xmlAttribute xmlAttribute; +typedef xmlAttribute *xmlAttributePtr; +/** + * An Attribute declaration in a DTD. + * + * Should be treated as opaque. Accessing members directly + * is deprecated. + */ +struct _xmlAttribute { + /** application data */ + void *_private; + /** XML_ATTRIBUTE_DECL */ + xmlElementType type; + /** attribute name */ + const xmlChar *name; + /** NULL */ + struct _xmlNode *children; + /** NULL */ + struct _xmlNode *last; + /** DTD */ + struct _xmlDtd *parent; + /** next sibling */ + struct _xmlNode *next; + /** previous sibling */ + struct _xmlNode *prev; + /** containing document */ + struct _xmlDoc *doc; + + /** next in hash table */ + struct _xmlAttribute *nexth; + /** attribute type */ + xmlAttributeType atype; + /** attribute default */ + xmlAttributeDefault def; + /** default value */ + xmlChar *defaultValue; + /** enumeration tree if any */ + xmlEnumeration *tree XML_DEPRECATED_MEMBER; + /** namespace prefix if any */ + const xmlChar *prefix; + /** element name */ + const xmlChar *elem; +}; + +/** + * Possible definitions of element content types. + */ +typedef enum { + XML_ELEMENT_CONTENT_PCDATA = 1, + XML_ELEMENT_CONTENT_ELEMENT, + XML_ELEMENT_CONTENT_SEQ, + XML_ELEMENT_CONTENT_OR +} xmlElementContentType; + +/** + * Possible definitions of element content occurrences. + */ +typedef enum { + XML_ELEMENT_CONTENT_ONCE = 1, + XML_ELEMENT_CONTENT_OPT, + XML_ELEMENT_CONTENT_MULT, + XML_ELEMENT_CONTENT_PLUS +} xmlElementContentOccur; + +/** Element content in element declarations */ +typedef struct _xmlElementContent xmlElementContent; +typedef xmlElementContent *xmlElementContentPtr; +/** + * An XML Element content as stored after parsing an element definition + * in a DTD. + * + * Should be treated as opaque. Accessing members directly + * is deprecated. + */ +struct _xmlElementContent { + /** PCDATA, ELEMENT, SEQ or OR */ + xmlElementContentType type XML_DEPRECATED_MEMBER; + /** ONCE, OPT, MULT or PLUS */ + xmlElementContentOccur ocur XML_DEPRECATED_MEMBER; + /** element name */ + const xmlChar *name XML_DEPRECATED_MEMBER; + /** first child */ + struct _xmlElementContent *c1 XML_DEPRECATED_MEMBER; + /** second child */ + struct _xmlElementContent *c2 XML_DEPRECATED_MEMBER; + /** parent */ + struct _xmlElementContent *parent XML_DEPRECATED_MEMBER; + /** namespace prefix */ + const xmlChar *prefix XML_DEPRECATED_MEMBER; +}; + +/** + * The different possibilities for an element content type. + */ +typedef enum { + XML_ELEMENT_TYPE_UNDEFINED = 0, + XML_ELEMENT_TYPE_EMPTY = 1, + XML_ELEMENT_TYPE_ANY, + XML_ELEMENT_TYPE_MIXED, + XML_ELEMENT_TYPE_ELEMENT +} xmlElementTypeVal; + +/** Element declaration */ +typedef struct _xmlElement xmlElement; +typedef xmlElement *xmlElementPtr; +/** + * An XML Element declaration from a DTD. + * + * Should be treated as opaque. Accessing members directly + * is deprecated. + */ +struct _xmlElement { + /** application data */ + void *_private; + /** XML_ELEMENT_DECL */ + xmlElementType type; + /** element name */ + const xmlChar *name; + /** NULL */ + struct _xmlNode *children; + /** NULL */ + struct _xmlNode *last; + /** -> DTD */ + struct _xmlDtd *parent; + /** next sibling */ + struct _xmlNode *next; + /** previous sibling */ + struct _xmlNode *prev; + /** containing document */ + struct _xmlDoc *doc; + + /** element type */ + xmlElementTypeVal etype; + /** allowed element content */ + xmlElementContent *content; + /** list of declared attributes */ + xmlAttribute *attributes; + /** namespace prefix if any */ + const xmlChar *prefix; +#ifdef LIBXML_REGEXP_ENABLED + /** validating regexp */ + xmlRegexp *contModel XML_DEPRECATED_MEMBER; +#else + void *contModel XML_DEPRECATED_MEMBER; +#endif +}; + + +/** + * A namespace declaration node. + */ +#define XML_LOCAL_NAMESPACE XML_NAMESPACE_DECL +typedef xmlElementType xmlNsType; + +/** Namespace declaration */ +typedef struct _xmlNs xmlNs; +typedef xmlNs *xmlNsPtr; +/** + * An XML namespace. + * Note that prefix == NULL is valid, it defines the default namespace + * within the subtree (until overridden). + * + * xmlNsType is unified with xmlElementType. + * + * Note that the XPath engine returns XPath namespace nodes as + * xmlNs cast to xmlNode. This is a terrible design decision that + * can easily cause type confusion errors. In this case, the `next` + * member points to the xmlNode element to which the namespace + * node belongs. + */ +struct _xmlNs { + /** next namespace */ + struct _xmlNs *next; + /** XML_NAMESPACE_DECL */ + xmlNsType type; + /** namespace URI */ + const xmlChar *href; + /** namespace prefix */ + const xmlChar *prefix; + /** application data */ + void *_private; + /** normally an xmlDoc */ + struct _xmlDoc *context XML_DEPRECATED_MEMBER; +}; + +/** Document type definition (DTD) */ +typedef struct _xmlDtd xmlDtd; +typedef xmlDtd *xmlDtdPtr; +/** + * An XML DTD, as defined by ns. + * (Note that this is not intended for elem->nsDef). + */ + xmlDOMWrapAcquireNsFunction getNsForNodeFunc; +}; + +/** + * Signature for the registration callback of a created node + * + * @param node the current node + */ +typedef void (*xmlRegisterNodeFunc) (xmlNode *node); + +/** + * Signature for the deregistration callback of a discarded node + * + * @param node the current node + */ +typedef void (*xmlDeregisterNodeFunc) (xmlNode *node); + +/** + * Macro for compatibility naming layer with libxml1. Maps + * to "children." + */ +#ifndef xmlChildrenNode +#define xmlChildrenNode children +#endif + +/** + * Macro for compatibility naming layer with libxml1. Maps + * to "children". + */ +#ifndef xmlRootNode +#define xmlRootNode children +#endif + +/* + * Variables. + */ + +/** @cond ignore */ + +XML_DEPRECATED +XMLPUBFUN xmlRegisterNodeFunc *__xmlRegisterNodeDefaultValue(void); +XML_DEPRECATED +XMLPUBFUN xmlDeregisterNodeFunc *__xmlDeregisterNodeDefaultValue(void); + +#ifndef XML_GLOBALS_NO_REDEFINITION + #define xmlRegisterNodeDefaultValue \ + (*__xmlRegisterNodeDefaultValue()) + #define xmlDeregisterNodeDefaultValue \ + (*__xmlDeregisterNodeDefaultValue()) +#endif + +/** @endcond */ + +/* + * Some helper functions + */ +XMLPUBFUN int + xmlValidateNCName (const xmlChar *value, + int space); + +XMLPUBFUN int + xmlValidateQName (const xmlChar *value, + int space); +XMLPUBFUN int + xmlValidateName (const xmlChar *value, + int space); +XMLPUBFUN int + xmlValidateNMToken (const xmlChar *value, + int space); + +XMLPUBFUN xmlChar * + xmlBuildQName (const xmlChar *ncname, + const xmlChar *prefix, + xmlChar *memory, + int len); +XMLPUBFUN xmlChar * + xmlSplitQName2 (const xmlChar *name, + xmlChar **prefix); +XMLPUBFUN const xmlChar * + xmlSplitQName3 (const xmlChar *name, + int *len); + +/* + * Creating/freeing new structures. + */ +XMLPUBFUN xmlDtd * + xmlCreateIntSubset (xmlDoc *doc, + const xmlChar *name, + const xmlChar *publicId, + const xmlChar *systemId); +XMLPUBFUN xmlDtd * + xmlNewDtd (xmlDoc *doc, + const xmlChar *name, + const xmlChar *publicId, + const xmlChar *systemId); +XMLPUBFUN xmlDtd * + xmlGetIntSubset (const xmlDoc *doc); +XMLPUBFUN void + xmlFreeDtd (xmlDtd *cur); +XMLPUBFUN xmlNs * + xmlNewNs (xmlNode *node, + const xmlChar *href, + const xmlChar *prefix); +XMLPUBFUN void + xmlFreeNs (xmlNs *cur); +XMLPUBFUN void + xmlFreeNsList (xmlNs *cur); +XMLPUBFUN xmlDoc * + xmlNewDoc (const xmlChar *version); +XMLPUBFUN void + xmlFreeDoc (xmlDoc *cur); +XMLPUBFUN xmlAttr * + xmlNewDocProp (xmlDoc *doc, + const xmlChar *name, + const xmlChar *value); +XMLPUBFUN xmlAttr * + xmlNewProp (xmlNode *node, + const xmlChar *name, + const xmlChar *value); +XMLPUBFUN xmlAttr * + xmlNewNsProp (xmlNode *node, + xmlNs *ns, + const xmlChar *name, + const xmlChar *value); +XMLPUBFUN xmlAttr * + xmlNewNsPropEatName (xmlNode *node, + xmlNs *ns, + xmlChar *name, + const xmlChar *value); +XMLPUBFUN void + xmlFreePropList (xmlAttr *cur); +XMLPUBFUN void + xmlFreeProp (xmlAttr *cur); +XMLPUBFUN xmlAttr * + xmlCopyProp (xmlNode *target, + xmlAttr *cur); +XMLPUBFUN xmlAttr * + xmlCopyPropList (xmlNode *target, + xmlAttr *cur); +XMLPUBFUN xmlDtd * + xmlCopyDtd (xmlDtd *dtd); +XMLPUBFUN xmlDoc * + xmlCopyDoc (xmlDoc *doc, + int recursive); +/* + * Creating new nodes. + */ +XMLPUBFUN xmlNode * + xmlNewDocNode (xmlDoc *doc, + xmlNs *ns, + const xmlChar *name, + const xmlChar *content); +XMLPUBFUN xmlNode * + xmlNewDocNodeEatName (xmlDoc *doc, + xmlNs *ns, + xmlChar *name, + const xmlChar *content); +XMLPUBFUN xmlNode * + xmlNewNode (xmlNs *ns, + const xmlChar *name); +XMLPUBFUN xmlNode * + xmlNewNodeEatName (xmlNs *ns, + xmlChar *name); +XMLPUBFUN xmlNode * + xmlNewChild (xmlNode *parent, + xmlNs *ns, + const xmlChar *name, + const xmlChar *content); +XMLPUBFUN xmlNode * + xmlNewDocText (const xmlDoc *doc, + const xmlChar *content); +XMLPUBFUN xmlNode * + xmlNewText (const xmlChar *content); +XMLPUBFUN xmlNode * + xmlNewDocPI (xmlDoc *doc, + const xmlChar *name, + const xmlChar *content); +XMLPUBFUN xmlNode * + xmlNewPI (const xmlChar *name, + const xmlChar *content); +XMLPUBFUN xmlNode * + xmlNewDocTextLen (xmlDoc *doc, + const xmlChar *content, + int len); +XMLPUBFUN xmlNode * + xmlNewTextLen (const xmlChar *content, + int len); +XMLPUBFUN xmlNode * + xmlNewDocComment (xmlDoc *doc, + const xmlChar *content); +XMLPUBFUN xmlNode * + xmlNewComment (const xmlChar *content); +XMLPUBFUN xmlNode * + xmlNewCDataBlock (xmlDoc *doc, + const xmlChar *content, + int len); +XMLPUBFUN xmlNode * + xmlNewCharRef (xmlDoc *doc, + const xmlChar *name); +XMLPUBFUN xmlNode * + xmlNewReference (const xmlDoc *doc, + const xmlChar *name); +XMLPUBFUN xmlNode * + xmlCopyNode (xmlNode *node, + int recursive); +XMLPUBFUN xmlNode * + xmlDocCopyNode (xmlNode *node, + xmlDoc *doc, + int recursive); +XMLPUBFUN xmlNode * + xmlDocCopyNodeList (xmlDoc *doc, + xmlNode *node); +XMLPUBFUN xmlNode * + xmlCopyNodeList (xmlNode *node); +XMLPUBFUN xmlNode * + xmlNewTextChild (xmlNode *parent, + xmlNs *ns, + const xmlChar *name, + const xmlChar *content); +XMLPUBFUN xmlNode * + xmlNewDocRawNode (xmlDoc *doc, + xmlNs *ns, + const xmlChar *name, + const xmlChar *content); +XMLPUBFUN xmlNode * + xmlNewDocFragment (xmlDoc *doc); + +/* + * Navigating. + */ +XMLPUBFUN long + xmlGetLineNo (const xmlNode *node); +XMLPUBFUN xmlChar * + xmlGetNodePath (const xmlNode *node); +XMLPUBFUN xmlNode * + xmlDocGetRootElement (const xmlDoc *doc); +XMLPUBFUN xmlNode * + xmlGetLastChild (const xmlNode *parent); +XMLPUBFUN int + xmlNodeIsText (const xmlNode *node); +XMLPUBFUN int + xmlIsBlankNode (const xmlNode *node); + +/* + * Changing the structure. + */ +XMLPUBFUN xmlNode * + xmlDocSetRootElement (xmlDoc *doc, + xmlNode *root); +XMLPUBFUN void + xmlNodeSetName (xmlNode *cur, + const xmlChar *name); +XMLPUBFUN xmlNode * + xmlAddChild (xmlNode *parent, + xmlNode *cur); +XMLPUBFUN xmlNode * + xmlAddChildList (xmlNode *parent, + xmlNode *cur); +XMLPUBFUN xmlNode * + xmlReplaceNode (xmlNode *old, + xmlNode *cur); +XMLPUBFUN xmlNode * + xmlAddPrevSibling (xmlNode *cur, + xmlNode *elem); +XMLPUBFUN xmlNode * + xmlAddSibling (xmlNode *cur, + xmlNode *elem); +XMLPUBFUN xmlNode * + xmlAddNextSibling (xmlNode *cur, + xmlNode *elem); +XMLPUBFUN void + xmlUnlinkNode (xmlNode *cur); +XMLPUBFUN xmlNode * + xmlTextMerge (xmlNode *first, + xmlNode *second); +XMLPUBFUN int + xmlTextConcat (xmlNode *node, + const xmlChar *content, + int len); +XMLPUBFUN void + xmlFreeNodeList (xmlNode *cur); +XMLPUBFUN void + xmlFreeNode (xmlNode *cur); +XMLPUBFUN int + xmlSetTreeDoc (xmlNode *tree, + xmlDoc *doc); +XMLPUBFUN int + xmlSetListDoc (xmlNode *list, + xmlDoc *doc); +/* + * Namespaces. + */ +XMLPUBFUN xmlNs * + xmlSearchNs (xmlDoc *doc, + xmlNode *node, + const xmlChar *nameSpace); +XMLPUBFUN xmlNs * + xmlSearchNsByHref (xmlDoc *doc, + xmlNode *node, + const xmlChar *href); +XMLPUBFUN int + xmlGetNsListSafe (const xmlDoc *doc, + const xmlNode *node, + xmlNs ***out); +XMLPUBFUN xmlNs ** + xmlGetNsList (const xmlDoc *doc, + const xmlNode *node); + +XMLPUBFUN void + xmlSetNs (xmlNode *node, + xmlNs *ns); +XMLPUBFUN xmlNs * + xmlCopyNamespace (xmlNs *cur); +XMLPUBFUN xmlNs * + xmlCopyNamespaceList (xmlNs *cur); + +/* + * Changing the content. + */ +XMLPUBFUN xmlAttr * + xmlSetProp (xmlNode *node, + const xmlChar *name, + const xmlChar *value); +XMLPUBFUN xmlAttr * + xmlSetNsProp (xmlNode *node, + xmlNs *ns, + const xmlChar *name, + const xmlChar *value); +XMLPUBFUN int + xmlNodeGetAttrValue (const xmlNode *node, + const xmlChar *name, + const xmlChar *nsUri, + xmlChar **out); +XMLPUBFUN xmlChar * + xmlGetNoNsProp (const xmlNode *node, + const xmlChar *name); +XMLPUBFUN xmlChar * + xmlGetProp (const xmlNode *node, + const xmlChar *name); +XMLPUBFUN xmlAttr * + xmlHasProp (const xmlNode *node, + const xmlChar *name); +XMLPUBFUN xmlAttr * + xmlHasNsProp (const xmlNode *node, + const xmlChar *name, + const xmlChar *nameSpace); +XMLPUBFUN xmlChar * + xmlGetNsProp (const xmlNode *node, + const xmlChar *name, + const xmlChar *nameSpace); +XMLPUBFUN xmlNode * + xmlStringGetNodeList (const xmlDoc *doc, + const xmlChar *value); +XMLPUBFUN xmlNode * + xmlStringLenGetNodeList (const xmlDoc *doc, + const xmlChar *value, + int len); +XMLPUBFUN xmlChar * + xmlNodeListGetString (xmlDoc *doc, + const xmlNode *list, + int inLine); +XMLPUBFUN xmlChar * + xmlNodeListGetRawString (const xmlDoc *doc, + const xmlNode *list, + int inLine); +XMLPUBFUN int + xmlNodeSetContent (xmlNode *cur, + const xmlChar *content); +XMLPUBFUN int + xmlNodeSetContentLen (xmlNode *cur, + const xmlChar *content, + int len); +XMLPUBFUN int + xmlNodeAddContent (xmlNode *cur, + const xmlChar *content); +XMLPUBFUN int + xmlNodeAddContentLen (xmlNode *cur, + const xmlChar *content, + int len); +XMLPUBFUN xmlChar * + xmlNodeGetContent (const xmlNode *cur); + +XMLPUBFUN int + xmlNodeBufGetContent (xmlBuffer *buffer, + const xmlNode *cur); +XMLPUBFUN int + xmlBufGetNodeContent (xmlBuf *buf, + const xmlNode *cur); + +XMLPUBFUN xmlChar * + xmlNodeGetLang (const xmlNode *cur); +XMLPUBFUN int + xmlNodeGetSpacePreserve (const xmlNode *cur); +XMLPUBFUN int + xmlNodeSetLang (xmlNode *cur, + const xmlChar *lang); +XMLPUBFUN int + xmlNodeSetSpacePreserve (xmlNode *cur, + int val); +XMLPUBFUN int + xmlNodeGetBaseSafe (const xmlDoc *doc, + const xmlNode *cur, + xmlChar **baseOut); +XMLPUBFUN xmlChar * + xmlNodeGetBase (const xmlDoc *doc, + const xmlNode *cur); +XMLPUBFUN int + xmlNodeSetBase (xmlNode *cur, + const xmlChar *uri); + +/* + * Removing content. + */ +XMLPUBFUN int + xmlRemoveProp (xmlAttr *cur); +XMLPUBFUN int + xmlUnsetNsProp (xmlNode *node, + xmlNs *ns, + const xmlChar *name); +XMLPUBFUN int + xmlUnsetProp (xmlNode *node, + const xmlChar *name); + +#ifdef LIBXML_OUTPUT_ENABLED +XMLPUBFUN void xmlAttrSerializeTxtContent(xmlBuffer *buf, + xmlDoc *doc, + xmlAttr *attr, + const xmlChar *string); +#endif /* LIBXML_OUTPUT_ENABLED */ + +/* + * Namespace handling. + */ +XMLPUBFUN int + xmlReconciliateNs (xmlDoc *doc, + xmlNode *tree); + +#ifdef LIBXML_OUTPUT_ENABLED +/* + * Saving. + */ +XMLPUBFUN void + xmlDocDumpFormatMemory (xmlDoc *cur, + xmlChar **mem, + int *size, + int format); +XMLPUBFUN void + xmlDocDumpMemory (xmlDoc *cur, + xmlChar **mem, + int *size); +XMLPUBFUN void + xmlDocDumpMemoryEnc (xmlDoc *out_doc, + xmlChar **doc_txt_ptr, + int * doc_txt_len, + const char *txt_encoding); +XMLPUBFUN void + xmlDocDumpFormatMemoryEnc(xmlDoc *out_doc, + xmlChar **doc_txt_ptr, + int * doc_txt_len, + const char *txt_encoding, + int format); +XMLPUBFUN int + xmlDocFormatDump (FILE *f, + xmlDoc *cur, + int format); +XMLPUBFUN int + xmlDocDump (FILE *f, + xmlDoc *cur); +XMLPUBFUN void + xmlElemDump (FILE *f, + xmlDoc *doc, + xmlNode *cur); +XMLPUBFUN int + xmlSaveFile (const char *filename, + xmlDoc *cur); +XMLPUBFUN int + xmlSaveFormatFile (const char *filename, + xmlDoc *cur, + int format); +XMLPUBFUN size_t + xmlBufNodeDump (xmlBuf *buf, + xmlDoc *doc, + xmlNode *cur, + int level, + int format); +XMLPUBFUN int + xmlNodeDump (xmlBuffer *buf, + xmlDoc *doc, + xmlNode *cur, + int level, + int format); + +XMLPUBFUN int + xmlSaveFileTo (xmlOutputBuffer *buf, + xmlDoc *cur, + const char *encoding); +XMLPUBFUN int + xmlSaveFormatFileTo (xmlOutputBuffer *buf, + xmlDoc *cur, + const char *encoding, + int format); +XMLPUBFUN void + xmlNodeDumpOutput (xmlOutputBuffer *buf, + xmlDoc *doc, + xmlNode *cur, + int level, + int format, + const char *encoding); + +XMLPUBFUN int + xmlSaveFormatFileEnc (const char *filename, + xmlDoc *cur, + const char *encoding, + int format); + +XMLPUBFUN int + xmlSaveFileEnc (const char *filename, + xmlDoc *cur, + const char *encoding); + +#endif /* LIBXML_OUTPUT_ENABLED */ +/* + * XHTML + */ +XMLPUBFUN int + xmlIsXHTML (const xmlChar *systemID, + const xmlChar *publicID); + +/* + * Compression. + */ +XMLPUBFUN int + xmlGetDocCompressMode (const xmlDoc *doc); +XMLPUBFUN void + xmlSetDocCompressMode (xmlDoc *doc, + int mode); +XML_DEPRECATED +XMLPUBFUN int + xmlGetCompressMode (void); +XML_DEPRECATED +XMLPUBFUN void + xmlSetCompressMode (int mode); + +/* +* DOM-wrapper helper functions. +*/ +XMLPUBFUN xmlDOMWrapCtxt * + xmlDOMWrapNewCtxt (void); +XMLPUBFUN void + xmlDOMWrapFreeCtxt (xmlDOMWrapCtxt *ctxt); +XMLPUBFUN int + xmlDOMWrapReconcileNamespaces(xmlDOMWrapCtxt *ctxt, + xmlNode *elem, + int options); +XMLPUBFUN int + xmlDOMWrapAdoptNode (xmlDOMWrapCtxt *ctxt, + xmlDoc *sourceDoc, + xmlNode *node, + xmlDoc *destDoc, + xmlNode *destParent, + int options); +XMLPUBFUN int + xmlDOMWrapRemoveNode (xmlDOMWrapCtxt *ctxt, + xmlDoc *doc, + xmlNode *node, + int options); +XMLPUBFUN int + xmlDOMWrapCloneNode (xmlDOMWrapCtxt *ctxt, + xmlDoc *sourceDoc, + xmlNode *node, + xmlNode **clonedNode, + xmlDoc *destDoc, + xmlNode *destParent, + int deep, + int options); + +/* + * 5 interfaces from DOM ElementTraversal, but different in entities + * traversal. + */ +XMLPUBFUN unsigned long + xmlChildElementCount (xmlNode *parent); +XMLPUBFUN xmlNode * + xmlNextElementSibling (xmlNode *node); +XMLPUBFUN xmlNode * + xmlFirstElementChild (xmlNode *parent); +XMLPUBFUN xmlNode * + xmlLastElementChild (xmlNode *parent); +XMLPUBFUN xmlNode * + xmlPreviousElementSibling (xmlNode *node); + +XML_DEPRECATED +XMLPUBFUN xmlRegisterNodeFunc + xmlRegisterNodeDefault (xmlRegisterNodeFunc func); +XML_DEPRECATED +XMLPUBFUN xmlDeregisterNodeFunc + xmlDeregisterNodeDefault (xmlDeregisterNodeFunc func); +XML_DEPRECATED +XMLPUBFUN xmlRegisterNodeFunc + xmlThrDefRegisterNodeDefault(xmlRegisterNodeFunc func); +XML_DEPRECATED +XMLPUBFUN xmlDeregisterNodeFunc + xmlThrDefDeregisterNodeDefault(xmlDeregisterNodeFunc func); + +/* + * Handling Buffers, the old ones see `xmlBuf` for the new ones. + */ + +XML_DEPRECATED +XMLPUBFUN void + xmlSetBufferAllocationScheme(xmlBufferAllocationScheme scheme); +XML_DEPRECATED +XMLPUBFUN xmlBufferAllocationScheme + xmlGetBufferAllocationScheme(void); + +XMLPUBFUN xmlBuffer * + xmlBufferCreate (void); +XMLPUBFUN xmlBuffer * + xmlBufferCreateSize (size_t size); +XMLPUBFUN xmlBuffer * + xmlBufferCreateStatic (void *mem, + size_t size); +XML_DEPRECATED +XMLPUBFUN int + xmlBufferResize (xmlBuffer *buf, + unsigned int size); +XMLPUBFUN void + xmlBufferFree (xmlBuffer *buf); +XMLPUBFUN int + xmlBufferDump (FILE *file, + xmlBuffer *buf); +XMLPUBFUN int + xmlBufferAdd (xmlBuffer *buf, + const xmlChar *str, + int len); +XMLPUBFUN int + xmlBufferAddHead (xmlBuffer *buf, + const xmlChar *str, + int len); +XMLPUBFUN int + xmlBufferCat (xmlBuffer *buf, + const xmlChar *str); +XMLPUBFUN int + xmlBufferCCat (xmlBuffer *buf, + const char *str); +XML_DEPRECATED +XMLPUBFUN int + xmlBufferShrink (xmlBuffer *buf, + unsigned int len); +XML_DEPRECATED +XMLPUBFUN int + xmlBufferGrow (xmlBuffer *buf, + unsigned int len); +XMLPUBFUN void + xmlBufferEmpty (xmlBuffer *buf); +XMLPUBFUN const xmlChar* + xmlBufferContent (const xmlBuffer *buf); +XMLPUBFUN xmlChar* + xmlBufferDetach (xmlBuffer *buf); +XMLPUBFUN void + xmlBufferSetAllocationScheme(xmlBuffer *buf, + xmlBufferAllocationScheme scheme); +XMLPUBFUN int + xmlBufferLength (const xmlBuffer *buf); +XMLPUBFUN void + xmlBufferWriteCHAR (xmlBuffer *buf, + const xmlChar *string); +XMLPUBFUN void + xmlBufferWriteChar (xmlBuffer *buf, + const char *string); +XMLPUBFUN void + xmlBufferWriteQuotedString(xmlBuffer *buf, + const xmlChar *string); + +/* + * A few public routines for xmlBuf. As those are expected to be used + * mostly internally the bulk of the routines are internal in buf.h + */ +XMLPUBFUN xmlChar* xmlBufContent (const xmlBuf* buf); +XMLPUBFUN xmlChar* xmlBufEnd (xmlBuf *buf); +XMLPUBFUN size_t xmlBufUse (xmlBuf *buf); +XMLPUBFUN size_t xmlBufShrink (xmlBuf *buf, size_t len); + +#ifdef __cplusplus +} +#endif + +#endif /* __XML_TREE_H__ */ + +#endif /* XML_TREE_INTERNALS */ + diff --git a/libxml2/include/libxml/uri.h b/libxml2/include/libxml/uri.h new file mode 100644 index 0000000..418079b --- /dev/null +++ b/libxml2/include/libxml/uri.h @@ -0,0 +1,105 @@ +/** + * @file + * + * @brief library of generic URI related routines + * + * library of generic URI related routines + * Implements RFC 2396 + * + * @copyright See Copyright for the status of this software. + * + * @author Daniel Veillard + */ + +#ifndef __XML_URI_H__ +#define __XML_URI_H__ + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** Parsed URI */ +typedef struct _xmlURI xmlURI; +typedef xmlURI *xmlURIPtr; +/** + * A parsed URI reference. + * + * This is a struct containing the various fields + * as described in RFC 2396 but separated for further processing. + * + * Note: query is a deprecated field which is incorrectly unescaped. + * query_raw takes precedence over query if the former is set. + * See: http://mail.gnome.org/archives/xml/2007-April/thread.html\#00127 + */ +struct _xmlURI { + char *scheme; /* the URI scheme */ + char *opaque; /* opaque part */ + char *authority; /* the authority part */ + char *server; /* the server part */ + char *user; /* the user part */ + int port; /* the port number */ + char *path; /* the path string */ + char *query; /* the query string (deprecated - use with caution) */ + char *fragment; /* the fragment identifier */ + int cleanup; /* parsing potentially unclean URI */ + char *query_raw; /* the query string (as it appears in the URI) */ +}; + +XMLPUBFUN xmlURI * + xmlCreateURI (void); +XMLPUBFUN int + xmlBuildURISafe (const xmlChar *URI, + const xmlChar *base, + xmlChar **out); +XMLPUBFUN xmlChar * + xmlBuildURI (const xmlChar *URI, + const xmlChar *base); +XMLPUBFUN int + xmlBuildRelativeURISafe (const xmlChar *URI, + const xmlChar *base, + xmlChar **out); +XMLPUBFUN xmlChar * + xmlBuildRelativeURI (const xmlChar *URI, + const xmlChar *base); +XMLPUBFUN xmlURI * + xmlParseURI (const char *str); +XMLPUBFUN int + xmlParseURISafe (const char *str, + xmlURI **uri); +XMLPUBFUN xmlURI * + xmlParseURIRaw (const char *str, + int raw); +XMLPUBFUN int + xmlParseURIReference (xmlURI *uri, + const char *str); +XMLPUBFUN xmlChar * + xmlSaveUri (xmlURI *uri); +XMLPUBFUN void + xmlPrintURI (FILE *stream, + xmlURI *uri); +XMLPUBFUN xmlChar * + xmlURIEscapeStr (const xmlChar *str, + const xmlChar *list); +XMLPUBFUN char * + xmlURIUnescapeString (const char *str, + int len, + char *target); +XMLPUBFUN int + xmlNormalizeURIPath (char *path); +XMLPUBFUN xmlChar * + xmlURIEscape (const xmlChar *str); +XMLPUBFUN void + xmlFreeURI (xmlURI *uri); +XMLPUBFUN xmlChar* + xmlCanonicPath (const xmlChar *path); +XMLPUBFUN xmlChar* + xmlPathToURI (const xmlChar *path); + +#ifdef __cplusplus +} +#endif +#endif /* __XML_URI_H__ */ diff --git a/libxml2/include/libxml/valid.h b/libxml2/include/libxml/valid.h new file mode 100644 index 0000000..c563803 --- /dev/null +++ b/libxml2/include/libxml/valid.h @@ -0,0 +1,452 @@ +/** + * @file + * + * @brief DTD validator + * + * API to handle XML Document Type Definitions and validate + * documents. + * + * @copyright See Copyright for the status of this software. + * + * @author Daniel Veillard + */ + + +#ifndef __XML_VALID_H__ +#define __XML_VALID_H__ + +#include +#include +#define XML_TREE_INTERNALS +#include +#undef XML_TREE_INTERNALS +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Validation state added for non-deterministic content model. + */ +typedef struct _xmlValidState xmlValidState; +typedef xmlValidState *xmlValidStatePtr; + +/** + * Report a validity error. + * + * @param ctx user data (usually an xmlValidCtxt) + * @param msg printf-like format string + * @param ... arguments to format + */ +typedef void (*xmlValidityErrorFunc) (void *ctx, + const char *msg, + ...) LIBXML_ATTR_FORMAT(2,3); + +/** + * Report a validity warning. + * + * @param ctx user data (usually an xmlValidCtxt) + * @param msg printf-like format string + * @param ... arguments to format + */ +typedef void (*xmlValidityWarningFunc) (void *ctx, + const char *msg, + ...) LIBXML_ATTR_FORMAT(2,3); + +typedef struct _xmlValidCtxt xmlValidCtxt; +typedef xmlValidCtxt *xmlValidCtxtPtr; +/** + * An xmlValidCtxt is used for error reporting when validating. + */ +struct _xmlValidCtxt { + void *userData; /* user specific data block */ + xmlValidityErrorFunc error; /* the callback in case of errors */ + xmlValidityWarningFunc warning; /* the callback in case of warning */ + + /* Node analysis stack used when validating within entities */ + xmlNode *node; /* Current parsed Node */ + int nodeNr; /* Depth of the parsing stack */ + int nodeMax; /* Max depth of the parsing stack */ + xmlNode **nodeTab; /* array of nodes */ + + unsigned int flags; /* internal flags */ + xmlDoc *doc; /* the document */ + int valid; /* temporary validity check result */ + + /* state state used for non-determinist content validation */ + xmlValidState *vstate; /* current state */ + int vstateNr; /* Depth of the validation stack */ + int vstateMax; /* Max depth of the validation stack */ + xmlValidState *vstateTab; /* array of validation states */ + +#ifdef LIBXML_REGEXP_ENABLED + xmlAutomata *am; /* the automata */ + xmlAutomataState *state; /* used to build the automata */ +#else + void *am; + void *state; +#endif +}; + +typedef struct _xmlHashTable xmlNotationTable; +typedef xmlNotationTable *xmlNotationTablePtr; + +typedef struct _xmlHashTable xmlElementTable; +typedef xmlElementTable *xmlElementTablePtr; + +typedef struct _xmlHashTable xmlAttributeTable; +typedef xmlAttributeTable *xmlAttributeTablePtr; + +typedef struct _xmlHashTable xmlIDTable; +typedef xmlIDTable *xmlIDTablePtr; + +typedef struct _xmlHashTable xmlRefTable; +typedef xmlRefTable *xmlRefTablePtr; + +/* Notation */ +XMLPUBFUN xmlNotation * + xmlAddNotationDecl (xmlValidCtxt *ctxt, + xmlDtd *dtd, + const xmlChar *name, + const xmlChar *publicId, + const xmlChar *systemId); +XML_DEPRECATED +XMLPUBFUN xmlNotationTable * + xmlCopyNotationTable (xmlNotationTable *table); +XML_DEPRECATED +XMLPUBFUN void + xmlFreeNotationTable (xmlNotationTable *table); +#ifdef LIBXML_OUTPUT_ENABLED +XML_DEPRECATED +XMLPUBFUN void + xmlDumpNotationDecl (xmlBuffer *buf, + xmlNotation *nota); +/* XML_DEPRECATED, still used in lxml */ +XMLPUBFUN void + xmlDumpNotationTable (xmlBuffer *buf, + xmlNotationTable *table); +#endif /* LIBXML_OUTPUT_ENABLED */ + +/* Element Content */ +XML_DEPRECATED +XMLPUBFUN xmlElementContent * + xmlNewElementContent (const xmlChar *name, + xmlElementContentType type); +XML_DEPRECATED +XMLPUBFUN xmlElementContent * + xmlCopyElementContent (xmlElementContent *content); +XML_DEPRECATED +XMLPUBFUN void + xmlFreeElementContent (xmlElementContent *cur); +XML_DEPRECATED +XMLPUBFUN xmlElementContent * + xmlNewDocElementContent (xmlDoc *doc, + const xmlChar *name, + xmlElementContentType type); +XML_DEPRECATED +XMLPUBFUN xmlElementContent * + xmlCopyDocElementContent(xmlDoc *doc, + xmlElementContent *content); +XML_DEPRECATED +XMLPUBFUN void + xmlFreeDocElementContent(xmlDoc *doc, + xmlElementContent *cur); +XML_DEPRECATED +XMLPUBFUN void + xmlSnprintfElementContent(char *buf, + int size, + xmlElementContent *content, + int englob); +#ifdef LIBXML_OUTPUT_ENABLED +XML_DEPRECATED +XMLPUBFUN void + xmlSprintfElementContent(char *buf, + xmlElementContent *content, + int englob); +#endif /* LIBXML_OUTPUT_ENABLED */ + +/* Element */ +XMLPUBFUN xmlElement * + xmlAddElementDecl (xmlValidCtxt *ctxt, + xmlDtd *dtd, + const xmlChar *name, + xmlElementTypeVal type, + xmlElementContent *content); +XML_DEPRECATED +XMLPUBFUN xmlElementTable * + xmlCopyElementTable (xmlElementTable *table); +XML_DEPRECATED +XMLPUBFUN void + xmlFreeElementTable (xmlElementTable *table); +#ifdef LIBXML_OUTPUT_ENABLED +XML_DEPRECATED +XMLPUBFUN void + xmlDumpElementTable (xmlBuffer *buf, + xmlElementTable *table); +XML_DEPRECATED +XMLPUBFUN void + xmlDumpElementDecl (xmlBuffer *buf, + xmlElement *elem); +#endif /* LIBXML_OUTPUT_ENABLED */ + +/* Enumeration */ +XML_DEPRECATED +XMLPUBFUN xmlEnumeration * + xmlCreateEnumeration (const xmlChar *name); +/* XML_DEPRECATED, needed for custom attributeDecl SAX handler */ +XMLPUBFUN void + xmlFreeEnumeration (xmlEnumeration *cur); +XML_DEPRECATED +XMLPUBFUN xmlEnumeration * + xmlCopyEnumeration (xmlEnumeration *cur); + +/* Attribute */ +XMLPUBFUN xmlAttribute * + xmlAddAttributeDecl (xmlValidCtxt *ctxt, + xmlDtd *dtd, + const xmlChar *elem, + const xmlChar *name, + const xmlChar *ns, + xmlAttributeType type, + xmlAttributeDefault def, + const xmlChar *defaultValue, + xmlEnumeration *tree); +XML_DEPRECATED +XMLPUBFUN xmlAttributeTable * + xmlCopyAttributeTable (xmlAttributeTable *table); +XML_DEPRECATED +XMLPUBFUN void + xmlFreeAttributeTable (xmlAttributeTable *table); +#ifdef LIBXML_OUTPUT_ENABLED +XML_DEPRECATED +XMLPUBFUN void + xmlDumpAttributeTable (xmlBuffer *buf, + xmlAttributeTable *table); +XML_DEPRECATED +XMLPUBFUN void + xmlDumpAttributeDecl (xmlBuffer *buf, + xmlAttribute *attr); +#endif /* LIBXML_OUTPUT_ENABLED */ + +/* IDs */ +XMLPUBFUN int + xmlAddIDSafe (xmlAttr *attr, + const xmlChar *value); +XMLPUBFUN xmlID * + xmlAddID (xmlValidCtxt *ctxt, + xmlDoc *doc, + const xmlChar *value, + xmlAttr *attr); +XMLPUBFUN void + xmlFreeIDTable (xmlIDTable *table); +XMLPUBFUN xmlAttr * + xmlGetID (xmlDoc *doc, + const xmlChar *ID); +XMLPUBFUN int + xmlIsID (xmlDoc *doc, + xmlNode *elem, + xmlAttr *attr); +XMLPUBFUN int + xmlRemoveID (xmlDoc *doc, + xmlAttr *attr); + +/* IDREFs */ +XML_DEPRECATED +XMLPUBFUN xmlRef * + xmlAddRef (xmlValidCtxt *ctxt, + xmlDoc *doc, + const xmlChar *value, + xmlAttr *attr); +XML_DEPRECATED +XMLPUBFUN void + xmlFreeRefTable (xmlRefTable *table); +XML_DEPRECATED +XMLPUBFUN int + xmlIsRef (xmlDoc *doc, + xmlNode *elem, + xmlAttr *attr); +XML_DEPRECATED +XMLPUBFUN int + xmlRemoveRef (xmlDoc *doc, + xmlAttr *attr); +XML_DEPRECATED +XMLPUBFUN xmlList * + xmlGetRefs (xmlDoc *doc, + const xmlChar *ID); + +/** + * The public function calls related to validity checking. + */ +#ifdef LIBXML_VALID_ENABLED +/* Allocate/Release Validation Contexts */ +XMLPUBFUN xmlValidCtxt * + xmlNewValidCtxt(void); +XMLPUBFUN void + xmlFreeValidCtxt(xmlValidCtxt *); + +XML_DEPRECATED +XMLPUBFUN int + xmlValidateRoot (xmlValidCtxt *ctxt, + xmlDoc *doc); +XML_DEPRECATED +XMLPUBFUN int + xmlValidateElementDecl (xmlValidCtxt *ctxt, + xmlDoc *doc, + xmlElement *elem); +XML_DEPRECATED +XMLPUBFUN xmlChar * + xmlValidNormalizeAttributeValue(xmlDoc *doc, + xmlNode *elem, + const xmlChar *name, + const xmlChar *value); +XML_DEPRECATED +XMLPUBFUN xmlChar * + xmlValidCtxtNormalizeAttributeValue(xmlValidCtxt *ctxt, + xmlDoc *doc, + xmlNode *elem, + const xmlChar *name, + const xmlChar *value); +XML_DEPRECATED +XMLPUBFUN int + xmlValidateAttributeDecl(xmlValidCtxt *ctxt, + xmlDoc *doc, + xmlAttribute *attr); +XML_DEPRECATED +XMLPUBFUN int + xmlValidateAttributeValue(xmlAttributeType type, + const xmlChar *value); +XML_DEPRECATED +XMLPUBFUN int + xmlValidateNotationDecl (xmlValidCtxt *ctxt, + xmlDoc *doc, + xmlNotation *nota); +XMLPUBFUN int + xmlValidateDtd (xmlValidCtxt *ctxt, + xmlDoc *doc, + xmlDtd *dtd); +XML_DEPRECATED +XMLPUBFUN int + xmlValidateDtdFinal (xmlValidCtxt *ctxt, + xmlDoc *doc); +XMLPUBFUN int + xmlValidateDocument (xmlValidCtxt *ctxt, + xmlDoc *doc); +XMLPUBFUN int + xmlValidateElement (xmlValidCtxt *ctxt, + xmlDoc *doc, + xmlNode *elem); +XML_DEPRECATED +XMLPUBFUN int + xmlValidateOneElement (xmlValidCtxt *ctxt, + xmlDoc *doc, + xmlNode *elem); +XML_DEPRECATED +XMLPUBFUN int + xmlValidateOneAttribute (xmlValidCtxt *ctxt, + xmlDoc *doc, + xmlNode *elem, + xmlAttr *attr, + const xmlChar *value); +XML_DEPRECATED +XMLPUBFUN int + xmlValidateOneNamespace (xmlValidCtxt *ctxt, + xmlDoc *doc, + xmlNode *elem, + const xmlChar *prefix, + xmlNs *ns, + const xmlChar *value); +XML_DEPRECATED +XMLPUBFUN int + xmlValidateDocumentFinal(xmlValidCtxt *ctxt, + xmlDoc *doc); +XML_DEPRECATED +XMLPUBFUN int + xmlValidateNotationUse (xmlValidCtxt *ctxt, + xmlDoc *doc, + const xmlChar *notationName); +#endif /* LIBXML_VALID_ENABLED */ + +XML_DEPRECATED +XMLPUBFUN int + xmlIsMixedElement (xmlDoc *doc, + const xmlChar *name); +XMLPUBFUN xmlAttribute * + xmlGetDtdAttrDesc (xmlDtd *dtd, + const xmlChar *elem, + const xmlChar *name); +XMLPUBFUN xmlAttribute * + xmlGetDtdQAttrDesc (xmlDtd *dtd, + const xmlChar *elem, + const xmlChar *name, + const xmlChar *prefix); +XMLPUBFUN xmlNotation * + xmlGetDtdNotationDesc (xmlDtd *dtd, + const xmlChar *name); +XMLPUBFUN xmlElement * + xmlGetDtdQElementDesc (xmlDtd *dtd, + const xmlChar *name, + const xmlChar *prefix); +XMLPUBFUN xmlElement * + xmlGetDtdElementDesc (xmlDtd *dtd, + const xmlChar *name); + +#ifdef LIBXML_VALID_ENABLED + +XMLPUBFUN int + xmlValidGetPotentialChildren(xmlElementContent *ctree, + const xmlChar **names, + int *len, + int max); + +/* only needed for `xmllint --insert` */ +XMLPUBFUN int + xmlValidGetValidElements(xmlNode *prev, + xmlNode *next, + const xmlChar **names, + int max); +XMLPUBFUN int + xmlValidateNameValue (const xmlChar *value); +XMLPUBFUN int + xmlValidateNamesValue (const xmlChar *value); +XMLPUBFUN int + xmlValidateNmtokenValue (const xmlChar *value); +XMLPUBFUN int + xmlValidateNmtokensValue(const xmlChar *value); + +#ifdef LIBXML_REGEXP_ENABLED +/* + * Validation based on the regexp support + */ +XML_DEPRECATED +XMLPUBFUN int + xmlValidBuildContentModel(xmlValidCtxt *ctxt, + xmlElement *elem); + +XML_DEPRECATED +XMLPUBFUN int + xmlValidatePushElement (xmlValidCtxt *ctxt, + xmlDoc *doc, + xmlNode *elem, + const xmlChar *qname); +XML_DEPRECATED +XMLPUBFUN int + xmlValidatePushCData (xmlValidCtxt *ctxt, + const xmlChar *data, + int len); +XML_DEPRECATED +XMLPUBFUN int + xmlValidatePopElement (xmlValidCtxt *ctxt, + xmlDoc *doc, + xmlNode *elem, + const xmlChar *qname); +#endif /* LIBXML_REGEXP_ENABLED */ + +#endif /* LIBXML_VALID_ENABLED */ + +#ifdef __cplusplus +} +#endif +#endif /* __XML_VALID_H__ */ diff --git a/libxml2/include/libxml/xinclude.h b/libxml2/include/libxml/xinclude.h new file mode 100644 index 0000000..81fd350 --- /dev/null +++ b/libxml2/include/libxml/xinclude.h @@ -0,0 +1,122 @@ +/** + * @file + * + * @brief Implementation of XInclude 1.0 + * + * API to process XML Inclusions. + * + * @copyright See Copyright for the status of this software. + * + * @author Daniel Veillard + */ + +#ifndef __XML_XINCLUDE_H__ +#define __XML_XINCLUDE_H__ + +#include +#include +#include +#include + +#ifdef LIBXML_XINCLUDE_ENABLED + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Macro defining the Xinclude namespace: http://www.w3.org/2003/XInclude + */ +#define XINCLUDE_NS (const xmlChar *) "http://www.w3.org/2003/XInclude" +/** + * Macro defining the draft Xinclude namespace: http://www.w3.org/2001/XInclude + */ +#define XINCLUDE_OLD_NS (const xmlChar *) "http://www.w3.org/2001/XInclude" +/** + * Macro defining "include" + */ +#define XINCLUDE_NODE (const xmlChar *) "include" +/** + * Macro defining "fallback" + */ +#define XINCLUDE_FALLBACK (const xmlChar *) "fallback" +/** + * Macro defining "href" + */ +#define XINCLUDE_HREF (const xmlChar *) "href" +/** + * Macro defining "parse" + */ +#define XINCLUDE_PARSE (const xmlChar *) "parse" +/** + * Macro defining "xml" + */ +#define XINCLUDE_PARSE_XML (const xmlChar *) "xml" +/** + * Macro defining "text" + */ +#define XINCLUDE_PARSE_TEXT (const xmlChar *) "text" +/** + * Macro defining "encoding" + */ +#define XINCLUDE_PARSE_ENCODING (const xmlChar *) "encoding" +/** + * Macro defining "xpointer" + */ +#define XINCLUDE_PARSE_XPOINTER (const xmlChar *) "xpointer" + +/** XInclude context */ +typedef struct _xmlXIncludeCtxt xmlXIncludeCtxt; +typedef xmlXIncludeCtxt *xmlXIncludeCtxtPtr; + +/* + * standalone processing + */ +XMLPUBFUN int + xmlXIncludeProcess (xmlDoc *doc); +XMLPUBFUN int + xmlXIncludeProcessFlags (xmlDoc *doc, + int flags); +XMLPUBFUN int + xmlXIncludeProcessFlagsData(xmlDoc *doc, + int flags, + void *data); +XMLPUBFUN int + xmlXIncludeProcessTreeFlagsData(xmlNode *tree, + int flags, + void *data); +XMLPUBFUN int + xmlXIncludeProcessTree (xmlNode *tree); +XMLPUBFUN int + xmlXIncludeProcessTreeFlags(xmlNode *tree, + int flags); +/* + * contextual processing + */ +XMLPUBFUN xmlXIncludeCtxt * + xmlXIncludeNewContext (xmlDoc *doc); +XMLPUBFUN int + xmlXIncludeSetFlags (xmlXIncludeCtxt *ctxt, + int flags); +XMLPUBFUN void + xmlXIncludeSetErrorHandler(xmlXIncludeCtxt *ctxt, + xmlStructuredErrorFunc handler, + void *data); +XMLPUBFUN void + xmlXIncludeSetResourceLoader(xmlXIncludeCtxt *ctxt, + xmlResourceLoader loader, + void *data); +XMLPUBFUN int + xmlXIncludeGetLastError (xmlXIncludeCtxt *ctxt); +XMLPUBFUN void + xmlXIncludeFreeContext (xmlXIncludeCtxt *ctxt); +XMLPUBFUN int + xmlXIncludeProcessNode (xmlXIncludeCtxt *ctxt, + xmlNode *tree); +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_XINCLUDE_ENABLED */ + +#endif /* __XML_XINCLUDE_H__ */ diff --git a/libxml2/include/libxml/xlink.h b/libxml2/include/libxml/xlink.h new file mode 100644 index 0000000..35978d1 --- /dev/null +++ b/libxml2/include/libxml/xlink.h @@ -0,0 +1,197 @@ +/** + * @file + * + * @brief unfinished XLink detection module + * + * This module is deprecated, don't use. + * + * @copyright See Copyright for the status of this software. + * + * @author Daniel Veillard + */ + +#ifndef __XML_XLINK_H__ +#define __XML_XLINK_H__ + +#include +#include + +#ifdef LIBXML_XPTR_ENABLED + +#ifdef __cplusplus +extern "C" { +#endif + +/** @cond ignore */ + +/** + * Various defines for the various Link properties. + * + * NOTE: the link detection layer will try to resolve QName expansion + * of namespaces. If "foo" is the prefix for "http://foo.com/" + * then the link detection layer will expand role="foo:myrole" + * to "http://foo.com/:myrole". + * NOTE: the link detection layer will expand URI-References found on + * href attributes by using the base mechanism if found. + */ +typedef xmlChar *xlinkHRef; +typedef xmlChar *xlinkRole; +typedef xmlChar *xlinkTitle; + +typedef enum { + XLINK_TYPE_NONE = 0, + XLINK_TYPE_SIMPLE, + XLINK_TYPE_EXTENDED, + XLINK_TYPE_EXTENDED_SET +} xlinkType; + +typedef enum { + XLINK_SHOW_NONE = 0, + XLINK_SHOW_NEW, + XLINK_SHOW_EMBED, + XLINK_SHOW_REPLACE +} xlinkShow; + +typedef enum { + XLINK_ACTUATE_NONE = 0, + XLINK_ACTUATE_AUTO, + XLINK_ACTUATE_ONREQUEST +} xlinkActuate; + +/** @endcond */ + +/** + * This is the prototype for the link detection routine. + * It calls the default link detection callbacks upon link detection. + * + * @param ctx user data pointer + * @param node the node to check + */ +typedef void (*xlinkNodeDetectFunc) (void *ctx, xmlNode *node); + +/* + * The link detection module interact with the upper layers using + * a set of callback registered at parsing time. + */ + +/** + * This is the prototype for a simple link detection callback. + * + * @param ctx user data pointer + * @param node the node carrying the link + * @param href the target of the link + * @param role the role string + * @param title the link title + */ +typedef void +(*xlinkSimpleLinkFunk) (void *ctx, + xmlNode *node, + const xlinkHRef href, + const xlinkRole role, + const xlinkTitle title); + +/** + * This is the prototype for a extended link detection callback. + * + * @param ctx user data pointer + * @param node the node carrying the link + * @param nbLocators the number of locators detected on the link + * @param hrefs pointer to the array of locator hrefs + * @param roles pointer to the array of locator roles + * @param nbArcs the number of arcs detected on the link + * @param from pointer to the array of source roles found on the arcs + * @param to pointer to the array of target roles found on the arcs + * @param show array of values for the show attributes found on the arcs + * @param actuate array of values for the actuate attributes found on the arcs + * @param nbTitles the number of titles detected on the link + * @param titles array of titles detected on the link + * @param langs array of xml:lang values for the titles + */ +typedef void +(*xlinkExtendedLinkFunk)(void *ctx, + xmlNode *node, + int nbLocators, + const xlinkHRef *hrefs, + const xlinkRole *roles, + int nbArcs, + const xlinkRole *from, + const xlinkRole *to, + xlinkShow *show, + xlinkActuate *actuate, + int nbTitles, + const xlinkTitle *titles, + const xmlChar **langs); + +/** + * This is the prototype for a extended link set detection callback. + * + * @param ctx user data pointer + * @param node the node carrying the link + * @param nbLocators the number of locators detected on the link + * @param hrefs pointer to the array of locator hrefs + * @param roles pointer to the array of locator roles + * @param nbTitles the number of titles detected on the link + * @param titles array of titles detected on the link + * @param langs array of xml:lang values for the titles + */ +typedef void +(*xlinkExtendedLinkSetFunk) (void *ctx, + xmlNode *node, + int nbLocators, + const xlinkHRef *hrefs, + const xlinkRole *roles, + int nbTitles, + const xlinkTitle *titles, + const xmlChar **langs); + +typedef struct _xlinkHandler xlinkHandler; +typedef xlinkHandler *xlinkHandlerPtr; +/** + * This is the structure containing a set of Links detection callbacks. + * + * There is no default xlink callbacks, if one want to get link + * recognition activated, those call backs must be provided before parsing. + */ +struct _xlinkHandler { + xlinkSimpleLinkFunk simple; + xlinkExtendedLinkFunk extended; + xlinkExtendedLinkSetFunk set; +}; + +/* + * The default detection routine, can be overridden, they call the default + * detection callbacks. + */ + +XML_DEPRECATED +XMLPUBFUN xlinkNodeDetectFunc + xlinkGetDefaultDetect (void); +XML_DEPRECATED +XMLPUBFUN void + xlinkSetDefaultDetect (xlinkNodeDetectFunc func); + +/* + * Routines to set/get the default handlers. + */ +XML_DEPRECATED +XMLPUBFUN xlinkHandler * + xlinkGetDefaultHandler (void); +XML_DEPRECATED +XMLPUBFUN void + xlinkSetDefaultHandler (xlinkHandler *handler); + +/* + * Link detection module itself. + */ +XML_DEPRECATED +XMLPUBFUN xlinkType + xlinkIsLink (xmlDoc *doc, + xmlNode *node); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_XPTR_ENABLED */ + +#endif /* __XML_XLINK_H__ */ diff --git a/libxml2/include/libxml/xmlIO.h b/libxml2/include/libxml/xmlIO.h new file mode 100644 index 0000000..575b7eb --- /dev/null +++ b/libxml2/include/libxml/xmlIO.h @@ -0,0 +1,401 @@ +/** + * @file + * + * @brief I/O interfaces used by the parser + * + * Functions and datatypes for parser input and output. + * + * @copyright See Copyright for the status of this software. + * + * @author Daniel Veillard + */ + +#ifndef __XML_IO_H__ +#define __XML_IO_H__ + +#include +#include +#include +#define XML_TREE_INTERNALS +#include +#undef XML_TREE_INTERNALS + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Callback used in the I/O Input API to detect if the current handler + * can provide input functionality for this resource. + * + * @param filename the filename or URI + * @returns 1 if yes and 0 if another Input module should be used + */ +typedef int (*xmlInputMatchCallback) (const char *filename); +/** + * Callback used in the I/O Input API to open the resource + * + * @param filename the filename or URI + * @returns an Input context or NULL in case or error + */ +typedef void * (*xmlInputOpenCallback) (const char *filename); +/** + * Callback used in the I/O Input API to read the resource + * + * @param context an Input context + * @param buffer the buffer to store data read + * @param len the length of the buffer in bytes + * @returns the number of bytes read or -1 in case of error + */ +typedef int (*xmlInputReadCallback) (void * context, char * buffer, int len); +/** + * Callback used in the I/O Input API to close the resource + * + * @param context an Input context + * @returns 0 or -1 in case of error + */ +typedef int (*xmlInputCloseCallback) (void * context); + +#ifdef LIBXML_OUTPUT_ENABLED +/** + * Callback used in the I/O Output API to detect if the current handler + * can provide output functionality for this resource. + * + * @param filename the filename or URI + * @returns 1 if yes and 0 if another Output module should be used + */ +typedef int (*xmlOutputMatchCallback) (const char *filename); +/** + * Callback used in the I/O Output API to open the resource + * + * @param filename the filename or URI + * @returns an Output context or NULL in case or error + */ +typedef void * (*xmlOutputOpenCallback) (const char *filename); +/** + * Callback used in the I/O Output API to write to the resource + * + * @param context an Output context + * @param buffer the buffer of data to write + * @param len the length of the buffer in bytes + * @returns the number of bytes written or -1 in case of error + */ +typedef int (*xmlOutputWriteCallback) (void * context, const char * buffer, + int len); +/** + * Callback used in the I/O Output API to close the resource + * + * @param context an Output context + * @returns 0 or -1 in case of error + */ +typedef int (*xmlOutputCloseCallback) (void * context); +#endif /* LIBXML_OUTPUT_ENABLED */ + +/** + * Signature for the function doing the lookup for a suitable input method + * corresponding to an URI. + * + * @param URI the URI to read from + * @param enc the requested source encoding + * @returns the new xmlParserInputBuffer in case of success or NULL if no + * method was found. + */ +typedef xmlParserInputBuffer * +(*xmlParserInputBufferCreateFilenameFunc)(const char *URI, xmlCharEncoding enc); + +/** + * Signature for the function doing the lookup for a suitable output method + * corresponding to an URI. + * + * @param URI the URI to write to + * @param encoder the requested target encoding + * @param compression compression level + * @returns the new xmlOutputBuffer in case of success or NULL if no + * method was found. + */ +typedef xmlOutputBuffer * +(*xmlOutputBufferCreateFilenameFunc)(const char *URI, + xmlCharEncodingHandler *encoder, int compression); + +/** + * Parser input buffer + * + * This struct and all related functions should ultimately + * be removed from the public interface. + */ +struct _xmlParserInputBuffer { + void* context XML_DEPRECATED_MEMBER; + xmlInputReadCallback readcallback XML_DEPRECATED_MEMBER; + xmlInputCloseCallback closecallback XML_DEPRECATED_MEMBER; + + /* I18N conversions to UTF-8 */ + xmlCharEncodingHandler *encoder XML_DEPRECATED_MEMBER; + + /* Local buffer encoded in UTF-8 */ + xmlBuf *buffer XML_DEPRECATED_MEMBER; + /* if encoder != NULL buffer for raw input */ + xmlBuf *raw XML_DEPRECATED_MEMBER; + /* -1=unknown, 0=not compressed, 1=compressed */ + int compressed XML_DEPRECATED_MEMBER; + int error XML_DEPRECATED_MEMBER; + /* amount consumed from raw */ + unsigned long rawconsumed XML_DEPRECATED_MEMBER; +}; + + +#ifdef LIBXML_OUTPUT_ENABLED +/** + * Output buffer + */ +struct _xmlOutputBuffer { + void* context; + xmlOutputWriteCallback writecallback; + xmlOutputCloseCallback closecallback; + + /* I18N conversions to UTF-8 */ + xmlCharEncodingHandler *encoder; + + /* Local buffer encoded in UTF-8 or ISOLatin */ + xmlBuf *buffer; + /* if encoder != NULL buffer for output */ + xmlBuf *conv; + /* total number of byte written */ + int written; + int error; +}; +#endif /* LIBXML_OUTPUT_ENABLED */ + +/** @cond ignore */ + +XML_DEPRECATED +XMLPUBFUN xmlParserInputBufferCreateFilenameFunc * +__xmlParserInputBufferCreateFilenameValue(void); +XML_DEPRECATED +XMLPUBFUN xmlOutputBufferCreateFilenameFunc * +__xmlOutputBufferCreateFilenameValue(void); + +#ifndef XML_GLOBALS_NO_REDEFINITION + #define xmlParserInputBufferCreateFilenameValue \ + (*__xmlParserInputBufferCreateFilenameValue()) + #define xmlOutputBufferCreateFilenameValue \ + (*__xmlOutputBufferCreateFilenameValue()) +#endif + +/** @endcond */ + +/* + * Interfaces for input + */ +XMLPUBFUN void + xmlCleanupInputCallbacks (void); + +XMLPUBFUN int + xmlPopInputCallbacks (void); + +XMLPUBFUN void + xmlRegisterDefaultInputCallbacks (void); +XMLPUBFUN xmlParserInputBuffer * + xmlAllocParserInputBuffer (xmlCharEncoding enc); + +XMLPUBFUN xmlParserInputBuffer * + xmlParserInputBufferCreateFilename (const char *URI, + xmlCharEncoding enc); +XML_DEPRECATED +XMLPUBFUN xmlParserInputBuffer * + xmlParserInputBufferCreateFile (FILE *file, + xmlCharEncoding enc); +XMLPUBFUN xmlParserInputBuffer * + xmlParserInputBufferCreateFd (int fd, + xmlCharEncoding enc); +XMLPUBFUN xmlParserInputBuffer * + xmlParserInputBufferCreateMem (const char *mem, int size, + xmlCharEncoding enc); +XMLPUBFUN xmlParserInputBuffer * + xmlParserInputBufferCreateStatic (const char *mem, int size, + xmlCharEncoding enc); +XMLPUBFUN xmlParserInputBuffer * + xmlParserInputBufferCreateIO (xmlInputReadCallback ioread, + xmlInputCloseCallback ioclose, + void *ioctx, + xmlCharEncoding enc); +XML_DEPRECATED +XMLPUBFUN int + xmlParserInputBufferRead (xmlParserInputBuffer *in, + int len); +XML_DEPRECATED +XMLPUBFUN int + xmlParserInputBufferGrow (xmlParserInputBuffer *in, + int len); +XML_DEPRECATED +XMLPUBFUN int + xmlParserInputBufferPush (xmlParserInputBuffer *in, + int len, + const char *buf); +XMLPUBFUN void + xmlFreeParserInputBuffer (xmlParserInputBuffer *in); +XMLPUBFUN char * + xmlParserGetDirectory (const char *filename); + +XMLPUBFUN int + xmlRegisterInputCallbacks (xmlInputMatchCallback matchFunc, + xmlInputOpenCallback openFunc, + xmlInputReadCallback readFunc, + xmlInputCloseCallback closeFunc); + +XMLPUBFUN xmlParserInputBuffer * + __xmlParserInputBufferCreateFilename(const char *URI, + xmlCharEncoding enc); + +#ifdef LIBXML_OUTPUT_ENABLED +/* + * Interfaces for output + */ +XMLPUBFUN void + xmlCleanupOutputCallbacks (void); +XMLPUBFUN int + xmlPopOutputCallbacks (void); +XMLPUBFUN void + xmlRegisterDefaultOutputCallbacks(void); +XMLPUBFUN xmlOutputBuffer * + xmlAllocOutputBuffer (xmlCharEncodingHandler *encoder); + +XMLPUBFUN xmlOutputBuffer * + xmlOutputBufferCreateFilename (const char *URI, + xmlCharEncodingHandler *encoder, + int compression); + +XMLPUBFUN xmlOutputBuffer * + xmlOutputBufferCreateFile (FILE *file, + xmlCharEncodingHandler *encoder); + +XMLPUBFUN xmlOutputBuffer * + xmlOutputBufferCreateBuffer (xmlBuffer *buffer, + xmlCharEncodingHandler *encoder); + +XMLPUBFUN xmlOutputBuffer * + xmlOutputBufferCreateFd (int fd, + xmlCharEncodingHandler *encoder); + +XMLPUBFUN xmlOutputBuffer * + xmlOutputBufferCreateIO (xmlOutputWriteCallback iowrite, + xmlOutputCloseCallback ioclose, + void *ioctx, + xmlCharEncodingHandler *encoder); + +/* Couple of APIs to get the output without digging into the buffers */ +XMLPUBFUN const xmlChar * + xmlOutputBufferGetContent (xmlOutputBuffer *out); +XMLPUBFUN size_t + xmlOutputBufferGetSize (xmlOutputBuffer *out); + +XMLPUBFUN int + xmlOutputBufferWrite (xmlOutputBuffer *out, + int len, + const char *buf); +XMLPUBFUN int + xmlOutputBufferWriteString (xmlOutputBuffer *out, + const char *str); +XMLPUBFUN int + xmlOutputBufferWriteEscape (xmlOutputBuffer *out, + const xmlChar *str, + xmlCharEncodingOutputFunc escaping); + +XMLPUBFUN int + xmlOutputBufferFlush (xmlOutputBuffer *out); +XMLPUBFUN int + xmlOutputBufferClose (xmlOutputBuffer *out); + +XMLPUBFUN int + xmlRegisterOutputCallbacks (xmlOutputMatchCallback matchFunc, + xmlOutputOpenCallback openFunc, + xmlOutputWriteCallback writeFunc, + xmlOutputCloseCallback closeFunc); + +XMLPUBFUN xmlOutputBuffer * + __xmlOutputBufferCreateFilename(const char *URI, + xmlCharEncodingHandler *encoder, + int compression); +#endif /* LIBXML_OUTPUT_ENABLED */ + +XML_DEPRECATED +XMLPUBFUN xmlParserInput * + xmlCheckHTTPInput (xmlParserCtxt *ctxt, + xmlParserInput *ret); + +XML_DEPRECATED +XMLPUBFUN xmlParserInput * + xmlNoNetExternalEntityLoader (const char *URL, + const char *ID, + xmlParserCtxt *ctxt); + +XML_DEPRECATED +XMLPUBFUN xmlChar * + xmlNormalizeWindowsPath (const xmlChar *path); + +XML_DEPRECATED +XMLPUBFUN int + xmlCheckFilename (const char *path); + +XML_DEPRECATED +XMLPUBFUN int + xmlFileMatch (const char *filename); +XML_DEPRECATED +XMLPUBFUN void * + xmlFileOpen (const char *filename); +XML_DEPRECATED +XMLPUBFUN int + xmlFileRead (void * context, + char * buffer, + int len); +XML_DEPRECATED +XMLPUBFUN int + xmlFileClose (void * context); + +#ifdef LIBXML_HTTP_STUBS_ENABLED +/** @cond IGNORE */ +XML_DEPRECATED +XMLPUBFUN int + xmlIOHTTPMatch (const char *filename); +XML_DEPRECATED +XMLPUBFUN void * + xmlIOHTTPOpen (const char *filename); +#ifdef LIBXML_OUTPUT_ENABLED +XML_DEPRECATED +XMLPUBFUN void + xmlRegisterHTTPPostCallbacks (void ); +XML_DEPRECATED +XMLPUBFUN void * + xmlIOHTTPOpenW (const char * post_uri, + int compression ); +#endif /* LIBXML_OUTPUT_ENABLED */ +XML_DEPRECATED +XMLPUBFUN int + xmlIOHTTPRead (void * context, + char * buffer, + int len); +XML_DEPRECATED +XMLPUBFUN int + xmlIOHTTPClose (void * context); +/** @endcond */ +#endif /* LIBXML_HTTP_STUBS_ENABLED */ + +XMLPUBFUN xmlParserInputBufferCreateFilenameFunc + xmlParserInputBufferCreateFilenameDefault( + xmlParserInputBufferCreateFilenameFunc func); +XMLPUBFUN xmlOutputBufferCreateFilenameFunc + xmlOutputBufferCreateFilenameDefault( + xmlOutputBufferCreateFilenameFunc func); +XML_DEPRECATED +XMLPUBFUN xmlOutputBufferCreateFilenameFunc + xmlThrDefOutputBufferCreateFilenameDefault( + xmlOutputBufferCreateFilenameFunc func); +XML_DEPRECATED +XMLPUBFUN xmlParserInputBufferCreateFilenameFunc + xmlThrDefParserInputBufferCreateFilenameDefault( + xmlParserInputBufferCreateFilenameFunc func); + +#ifdef __cplusplus +} +#endif + +#endif /* __XML_IO_H__ */ diff --git a/libxml2/include/libxml/xmlautomata.h b/libxml2/include/libxml/xmlautomata.h new file mode 100644 index 0000000..148749e --- /dev/null +++ b/libxml2/include/libxml/xmlautomata.h @@ -0,0 +1,164 @@ +/** + * @file + * + * @brief API to build regexp automata + * + * These are internal functions and shouldn't be used. + * + * @copyright See Copyright for the status of this software. + * + * @author Daniel Veillard + */ + +#ifndef __XML_AUTOMATA_H__ +#define __XML_AUTOMATA_H__ + +#include + +#ifdef LIBXML_REGEXP_ENABLED + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * A libxml automata description + * + * It can be compiled into a regexp + */ +typedef struct _xmlAutomata xmlAutomata; +typedef xmlAutomata *xmlAutomataPtr; + +/** + * A state in the automata description + */ +typedef struct _xmlAutomataState xmlAutomataState; +typedef xmlAutomataState *xmlAutomataStatePtr; + +/* + * Building API + */ +XML_DEPRECATED +XMLPUBFUN xmlAutomata * + xmlNewAutomata (void); +XML_DEPRECATED +XMLPUBFUN void + xmlFreeAutomata (xmlAutomata *am); + +XML_DEPRECATED +XMLPUBFUN xmlAutomataState * + xmlAutomataGetInitState (xmlAutomata *am); +XML_DEPRECATED +XMLPUBFUN int + xmlAutomataSetFinalState (xmlAutomata *am, + xmlAutomataState *state); +XML_DEPRECATED +XMLPUBFUN xmlAutomataState * + xmlAutomataNewState (xmlAutomata *am); +XML_DEPRECATED +XMLPUBFUN xmlAutomataState * + xmlAutomataNewTransition (xmlAutomata *am, + xmlAutomataState *from, + xmlAutomataState *to, + const xmlChar *token, + void *data); +XML_DEPRECATED +XMLPUBFUN xmlAutomataState * + xmlAutomataNewTransition2 (xmlAutomata *am, + xmlAutomataState *from, + xmlAutomataState *to, + const xmlChar *token, + const xmlChar *token2, + void *data); +XML_DEPRECATED +XMLPUBFUN xmlAutomataState * + xmlAutomataNewNegTrans (xmlAutomata *am, + xmlAutomataState *from, + xmlAutomataState *to, + const xmlChar *token, + const xmlChar *token2, + void *data); + +XML_DEPRECATED +XMLPUBFUN xmlAutomataState * + xmlAutomataNewCountTrans (xmlAutomata *am, + xmlAutomataState *from, + xmlAutomataState *to, + const xmlChar *token, + int min, + int max, + void *data); +XML_DEPRECATED +XMLPUBFUN xmlAutomataState * + xmlAutomataNewCountTrans2 (xmlAutomata *am, + xmlAutomataState *from, + xmlAutomataState *to, + const xmlChar *token, + const xmlChar *token2, + int min, + int max, + void *data); +XML_DEPRECATED +XMLPUBFUN xmlAutomataState * + xmlAutomataNewOnceTrans (xmlAutomata *am, + xmlAutomataState *from, + xmlAutomataState *to, + const xmlChar *token, + int min, + int max, + void *data); +XML_DEPRECATED +XMLPUBFUN xmlAutomataState * + xmlAutomataNewOnceTrans2 (xmlAutomata *am, + xmlAutomataState *from, + xmlAutomataState *to, + const xmlChar *token, + const xmlChar *token2, + int min, + int max, + void *data); +XML_DEPRECATED +XMLPUBFUN xmlAutomataState * + xmlAutomataNewAllTrans (xmlAutomata *am, + xmlAutomataState *from, + xmlAutomataState *to, + int lax); +XML_DEPRECATED +XMLPUBFUN xmlAutomataState * + xmlAutomataNewEpsilon (xmlAutomata *am, + xmlAutomataState *from, + xmlAutomataState *to); +XML_DEPRECATED +XMLPUBFUN xmlAutomataState * + xmlAutomataNewCountedTrans (xmlAutomata *am, + xmlAutomataState *from, + xmlAutomataState *to, + int counter); +XML_DEPRECATED +XMLPUBFUN xmlAutomataState * + xmlAutomataNewCounterTrans (xmlAutomata *am, + xmlAutomataState *from, + xmlAutomataState *to, + int counter); +XML_DEPRECATED +XMLPUBFUN int + xmlAutomataNewCounter (xmlAutomata *am, + int min, + int max); + +XML_DEPRECATED +XMLPUBFUN struct _xmlRegexp * + xmlAutomataCompile (xmlAutomata *am); +XML_DEPRECATED +XMLPUBFUN int + xmlAutomataIsDeterminist (xmlAutomata *am); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_REGEXP_ENABLED */ + +#endif /* __XML_AUTOMATA_H__ */ diff --git a/libxml2/include/libxml/xmlerror.h b/libxml2/include/libxml/xmlerror.h new file mode 100644 index 0000000..017411e --- /dev/null +++ b/libxml2/include/libxml/xmlerror.h @@ -0,0 +1,1065 @@ +/** + * @file + * + * @brief Error handling + * + * API for error reporting and callbacks. + * + * @copyright See Copyright for the status of this software. + * + * @author Daniel Veillard + */ + +#ifndef __XML_ERROR_H__ +#define __XML_ERROR_H__ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Set generic error callback. + * + * @deprecated Use #xmlSetGenericErrorFunc + */ +#define initGenericErrorDefaultFunc(h) \ + xmlSetGenericErrorFunc(NULL, (h) ? *((xmlGenericErrorFunc *) (h)) : NULL) + +/** + * Indicates the level of an error + */ +typedef enum { + /** Success */ + XML_ERR_NONE = 0, + /** + * A warning + * + * When parsing XML, warnings are only reported to error + * handlers. + */ + XML_ERR_WARNING = 1, + /** + * An error + * + * When parsing XML, this is used for recoverable errors like + * + * - namespace errors + * - validity errors when validating + * - certain undeclared entities + * - ID uniqueness and xml:id errors + * + * Note that some recoverable errors in the sense of the XML + * spec are reported as warnings. + * + * In other contexts, this may be used for unrecoverable + * errors. + */ + XML_ERR_ERROR = 2, + /** + * A fatal error + * + * When parsing XML, a "fatal error" according to the XML spec. + * This typically means that the document isn't well-formed. + * + * This also includes OOM and I/O errors, resource limit + * exhaustion, unexpected errors from other libraries and + * invalid argument errors. + */ + XML_ERR_FATAL = 3 +} xmlErrorLevel; + +/** + * Indicates where an error may have come from + */ +typedef enum { + /** Unknown */ + XML_FROM_NONE = 0, + /** The XML parser */ + XML_FROM_PARSER, + /** The tree module (unused) */ + XML_FROM_TREE, + /** The XML Namespace module */ + XML_FROM_NAMESPACE, + /** The XML DTD validation with parser context */ + XML_FROM_DTD, + /** The HTML parser */ + XML_FROM_HTML, + /** The memory allocator (unused) */ + XML_FROM_MEMORY, + /** The serialization code */ + XML_FROM_OUTPUT, + /** The Input/Output stack */ + XML_FROM_IO, + /** The FTP module (unused) */ + XML_FROM_FTP, + /** The HTTP module (unused) */ + XML_FROM_HTTP, + /** The XInclude processing */ + XML_FROM_XINCLUDE, + /** The XPath module */ + XML_FROM_XPATH, + /** The XPointer module */ + XML_FROM_XPOINTER, + /** The regular expressions module */ + XML_FROM_REGEXP, + /** The W3C XML Schemas Datatype module */ + XML_FROM_DATATYPE, + /** The W3C XML Schemas parser module */ + XML_FROM_SCHEMASP, + /** The W3C XML Schemas validation module */ + XML_FROM_SCHEMASV, + /** The Relax-NG parser module */ + XML_FROM_RELAXNGP, + /** The Relax-NG validator module */ + XML_FROM_RELAXNGV, + /** The Catalog module */ + XML_FROM_CATALOG, + /** The Canonicalization module */ + XML_FROM_C14N, + /** The XSLT engine from libxslt (unused) */ + XML_FROM_XSLT, + /** The XML DTD validation with valid context */ + XML_FROM_VALID, + /** The error checking module (unused) */ + XML_FROM_CHECK, + /** The xmlwriter module */ + XML_FROM_WRITER, + /** The dynamically loaded module module (unused) */ + XML_FROM_MODULE, + /** The module handling character conversion (unused) */ + XML_FROM_I18N, + /** The Schematron validator module */ + XML_FROM_SCHEMATRONV, + /** The buffers module (unused) */ + XML_FROM_BUFFER, + /** The URI module (unused) */ + XML_FROM_URI +} xmlErrorDomain; + +/** Structured error */ +typedef struct _xmlError xmlError; +typedef xmlError *xmlErrorPtr; +/** + * An object containing information about an error. + */ +struct _xmlError { + /** An xmlErrorDomain value. */ + int domain; + /** The error code, e.g. an xmlParserErrors. */ + int code; + /** Human-readable error message. */ + char *message; + /** Error level. */ + xmlErrorLevel level; + /** Filename if available */ + char *file; + /** Line number if available */ + int line; + /** Extra string information. */ + char *str1; + /** Extra string information. */ + char *str2; + /** Extra string information. */ + char *str3; + /** Extra number information. */ + int int1; + /** Column number if available. */ + int int2; + /** Parser context if available */ + void *ctxt; + /** Node if available */ + void *node; +}; + +/** + * Error codes. Note that only some codes are documented. + */ +typedef enum { + /** Success. */ + XML_ERR_OK = 0, + /** Internal assertion failure. */ + XML_ERR_INTERNAL_ERROR, /* 1 */ + /** Out of memory */ + XML_ERR_NO_MEMORY, /* 2 */ + XML_ERR_DOCUMENT_START, /* 3 */ + XML_ERR_DOCUMENT_EMPTY, /* 4 */ + XML_ERR_DOCUMENT_END, /* 5 */ + XML_ERR_INVALID_HEX_CHARREF, /* 6 */ + XML_ERR_INVALID_DEC_CHARREF, /* 7 */ + XML_ERR_INVALID_CHARREF, /* 8 */ + XML_ERR_INVALID_CHAR, /* 9 */ + XML_ERR_CHARREF_AT_EOF, /* 10 */ + XML_ERR_CHARREF_IN_PROLOG, /* 11 */ + XML_ERR_CHARREF_IN_EPILOG, /* 12 */ + XML_ERR_CHARREF_IN_DTD, /* 13 */ + XML_ERR_ENTITYREF_AT_EOF, /* 14 */ + XML_ERR_ENTITYREF_IN_PROLOG, /* 15 */ + XML_ERR_ENTITYREF_IN_EPILOG, /* 16 */ + XML_ERR_ENTITYREF_IN_DTD, /* 17 */ + XML_ERR_PEREF_AT_EOF, /* 18 */ + XML_ERR_PEREF_IN_PROLOG, /* 19 */ + XML_ERR_PEREF_IN_EPILOG, /* 20 */ + XML_ERR_PEREF_IN_INT_SUBSET, /* 21 */ + XML_ERR_ENTITYREF_NO_NAME, /* 22 */ + XML_ERR_ENTITYREF_SEMICOL_MISSING, /* 23 */ + XML_ERR_PEREF_NO_NAME, /* 24 */ + XML_ERR_PEREF_SEMICOL_MISSING, /* 25 */ + XML_ERR_UNDECLARED_ENTITY, /* 26 */ + XML_WAR_UNDECLARED_ENTITY, /* 27 */ + XML_ERR_UNPARSED_ENTITY, /* 28 */ + XML_ERR_ENTITY_IS_EXTERNAL, /* 29 */ + XML_ERR_ENTITY_IS_PARAMETER, /* 30 */ + XML_ERR_UNKNOWN_ENCODING, /* 31 */ + /** Unsupported character encoding. */ + XML_ERR_UNSUPPORTED_ENCODING, /* 32 */ + XML_ERR_STRING_NOT_STARTED, /* 33 */ + XML_ERR_STRING_NOT_CLOSED, /* 34 */ + XML_ERR_NS_DECL_ERROR, /* 35 */ + XML_ERR_ENTITY_NOT_STARTED, /* 36 */ + XML_ERR_ENTITY_NOT_FINISHED, /* 37 */ + XML_ERR_LT_IN_ATTRIBUTE, /* 38 */ + XML_ERR_ATTRIBUTE_NOT_STARTED, /* 39 */ + XML_ERR_ATTRIBUTE_NOT_FINISHED, /* 40 */ + XML_ERR_ATTRIBUTE_WITHOUT_VALUE, /* 41 */ + XML_ERR_ATTRIBUTE_REDEFINED, /* 42 */ + XML_ERR_LITERAL_NOT_STARTED, /* 43 */ + XML_ERR_LITERAL_NOT_FINISHED, /* 44 */ + XML_ERR_COMMENT_NOT_FINISHED, /* 45 */ + XML_ERR_PI_NOT_STARTED, /* 46 */ + XML_ERR_PI_NOT_FINISHED, /* 47 */ + XML_ERR_NOTATION_NOT_STARTED, /* 48 */ + XML_ERR_NOTATION_NOT_FINISHED, /* 49 */ + XML_ERR_ATTLIST_NOT_STARTED, /* 50 */ + XML_ERR_ATTLIST_NOT_FINISHED, /* 51 */ + XML_ERR_MIXED_NOT_STARTED, /* 52 */ + XML_ERR_MIXED_NOT_FINISHED, /* 53 */ + XML_ERR_ELEMCONTENT_NOT_STARTED, /* 54 */ + XML_ERR_ELEMCONTENT_NOT_FINISHED, /* 55 */ + XML_ERR_XMLDECL_NOT_STARTED, /* 56 */ + XML_ERR_XMLDECL_NOT_FINISHED, /* 57 */ + XML_ERR_CONDSEC_NOT_STARTED, /* 58 */ + XML_ERR_CONDSEC_NOT_FINISHED, /* 59 */ + XML_ERR_EXT_SUBSET_NOT_FINISHED, /* 60 */ + XML_ERR_DOCTYPE_NOT_FINISHED, /* 61 */ + XML_ERR_MISPLACED_CDATA_END, /* 62 */ + XML_ERR_CDATA_NOT_FINISHED, /* 63 */ + XML_ERR_RESERVED_XML_NAME, /* 64 */ + XML_ERR_SPACE_REQUIRED, /* 65 */ + XML_ERR_SEPARATOR_REQUIRED, /* 66 */ + XML_ERR_NMTOKEN_REQUIRED, /* 67 */ + XML_ERR_NAME_REQUIRED, /* 68 */ + XML_ERR_PCDATA_REQUIRED, /* 69 */ + XML_ERR_URI_REQUIRED, /* 70 */ + XML_ERR_PUBID_REQUIRED, /* 71 */ + XML_ERR_LT_REQUIRED, /* 72 */ + XML_ERR_GT_REQUIRED, /* 73 */ + XML_ERR_LTSLASH_REQUIRED, /* 74 */ + XML_ERR_EQUAL_REQUIRED, /* 75 */ + XML_ERR_TAG_NAME_MISMATCH, /* 76 */ + XML_ERR_TAG_NOT_FINISHED, /* 77 */ + XML_ERR_STANDALONE_VALUE, /* 78 */ + XML_ERR_ENCODING_NAME, /* 79 */ + XML_ERR_HYPHEN_IN_COMMENT, /* 80 */ + XML_ERR_INVALID_ENCODING, /* 81 */ + XML_ERR_EXT_ENTITY_STANDALONE, /* 82 */ + XML_ERR_CONDSEC_INVALID, /* 83 */ + XML_ERR_VALUE_REQUIRED, /* 84 */ + XML_ERR_NOT_WELL_BALANCED, /* 85 */ + XML_ERR_EXTRA_CONTENT, /* 86 */ + XML_ERR_ENTITY_CHAR_ERROR, /* 87 */ + XML_ERR_ENTITY_PE_INTERNAL, /* 88 */ + XML_ERR_ENTITY_LOOP, /* 89 */ + XML_ERR_ENTITY_BOUNDARY, /* 90 */ + XML_ERR_INVALID_URI, /* 91 */ + XML_ERR_URI_FRAGMENT, /* 92 */ + XML_WAR_CATALOG_PI, /* 93 */ + XML_ERR_NO_DTD, /* 94 */ + XML_ERR_CONDSEC_INVALID_KEYWORD, /* 95 */ + XML_ERR_VERSION_MISSING, /* 96 */ + XML_WAR_UNKNOWN_VERSION, /* 97 */ + XML_WAR_LANG_VALUE, /* 98 */ + XML_WAR_NS_URI, /* 99 */ + XML_WAR_NS_URI_RELATIVE, /* 100 */ + XML_ERR_MISSING_ENCODING, /* 101 */ + XML_WAR_SPACE_VALUE, /* 102 */ + XML_ERR_NOT_STANDALONE, /* 103 */ + XML_ERR_ENTITY_PROCESSING, /* 104 */ + XML_ERR_NOTATION_PROCESSING, /* 105 */ + XML_WAR_NS_COLUMN, /* 106 */ + XML_WAR_ENTITY_REDEFINED, /* 107 */ + XML_ERR_UNKNOWN_VERSION, /* 108 */ + XML_ERR_VERSION_MISMATCH, /* 109 */ + XML_ERR_NAME_TOO_LONG, /* 110 */ + XML_ERR_USER_STOP, /* 111 */ + XML_ERR_COMMENT_ABRUPTLY_ENDED, /* 112 */ + XML_WAR_ENCODING_MISMATCH, /* 113 */ + /** + * Internal resource limit like maximum amplification + * factor exceeded. + */ + XML_ERR_RESOURCE_LIMIT, /* 114 */ + /** Invalid argument. */ + XML_ERR_ARGUMENT, /* 115 */ + /** Unexpected error from the OS or an external library. */ + XML_ERR_SYSTEM, /* 116 */ + XML_ERR_REDECL_PREDEF_ENTITY, /* 117 */ + XML_ERR_INT_SUBSET_NOT_FINISHED, /* 118 */ + XML_NS_ERR_XML_NAMESPACE = 200, + XML_NS_ERR_UNDEFINED_NAMESPACE, /* 201 */ + XML_NS_ERR_QNAME, /* 202 */ + XML_NS_ERR_ATTRIBUTE_REDEFINED, /* 203 */ + XML_NS_ERR_EMPTY, /* 204 */ + XML_NS_ERR_COLON, /* 205 */ + XML_DTD_ATTRIBUTE_DEFAULT = 500, + XML_DTD_ATTRIBUTE_REDEFINED, /* 501 */ + XML_DTD_ATTRIBUTE_VALUE, /* 502 */ + XML_DTD_CONTENT_ERROR, /* 503 */ + XML_DTD_CONTENT_MODEL, /* 504 */ + XML_DTD_CONTENT_NOT_DETERMINIST, /* 505 */ + XML_DTD_DIFFERENT_PREFIX, /* 506 */ + XML_DTD_ELEM_DEFAULT_NAMESPACE, /* 507 */ + XML_DTD_ELEM_NAMESPACE, /* 508 */ + XML_DTD_ELEM_REDEFINED, /* 509 */ + XML_DTD_EMPTY_NOTATION, /* 510 */ + XML_DTD_ENTITY_TYPE, /* 511 */ + XML_DTD_ID_FIXED, /* 512 */ + XML_DTD_ID_REDEFINED, /* 513 */ + XML_DTD_ID_SUBSET, /* 514 */ + XML_DTD_INVALID_CHILD, /* 515 */ + XML_DTD_INVALID_DEFAULT, /* 516 */ + XML_DTD_LOAD_ERROR, /* 517 */ + XML_DTD_MISSING_ATTRIBUTE, /* 518 */ + XML_DTD_MIXED_CORRUPT, /* 519 */ + XML_DTD_MULTIPLE_ID, /* 520 */ + XML_DTD_NO_DOC, /* 521 */ + XML_DTD_NO_DTD, /* 522 */ + XML_DTD_NO_ELEM_NAME, /* 523 */ + XML_DTD_NO_PREFIX, /* 524 */ + XML_DTD_NO_ROOT, /* 525 */ + XML_DTD_NOTATION_REDEFINED, /* 526 */ + XML_DTD_NOTATION_VALUE, /* 527 */ + XML_DTD_NOT_EMPTY, /* 528 */ + XML_DTD_NOT_PCDATA, /* 529 */ + XML_DTD_NOT_STANDALONE, /* 530 */ + XML_DTD_ROOT_NAME, /* 531 */ + XML_DTD_STANDALONE_WHITE_SPACE, /* 532 */ + XML_DTD_UNKNOWN_ATTRIBUTE, /* 533 */ + XML_DTD_UNKNOWN_ELEM, /* 534 */ + XML_DTD_UNKNOWN_ENTITY, /* 535 */ + XML_DTD_UNKNOWN_ID, /* 536 */ + XML_DTD_UNKNOWN_NOTATION, /* 537 */ + XML_DTD_STANDALONE_DEFAULTED, /* 538 */ + XML_DTD_XMLID_VALUE, /* 539 */ + XML_DTD_XMLID_TYPE, /* 540 */ + XML_DTD_DUP_TOKEN, /* 541 */ + XML_HTML_STRUCURE_ERROR = 800, + XML_HTML_UNKNOWN_TAG, /* 801 */ + XML_HTML_INCORRECTLY_OPENED_COMMENT, /* 802 */ + XML_RNGP_ANYNAME_ATTR_ANCESTOR = 1000, + XML_RNGP_ATTR_CONFLICT, /* 1001 */ + XML_RNGP_ATTRIBUTE_CHILDREN, /* 1002 */ + XML_RNGP_ATTRIBUTE_CONTENT, /* 1003 */ + XML_RNGP_ATTRIBUTE_EMPTY, /* 1004 */ + XML_RNGP_ATTRIBUTE_NOOP, /* 1005 */ + XML_RNGP_CHOICE_CONTENT, /* 1006 */ + XML_RNGP_CHOICE_EMPTY, /* 1007 */ + XML_RNGP_CREATE_FAILURE, /* 1008 */ + XML_RNGP_DATA_CONTENT, /* 1009 */ + XML_RNGP_DEF_CHOICE_AND_INTERLEAVE, /* 1010 */ + XML_RNGP_DEFINE_CREATE_FAILED, /* 1011 */ + XML_RNGP_DEFINE_EMPTY, /* 1012 */ + XML_RNGP_DEFINE_MISSING, /* 1013 */ + XML_RNGP_DEFINE_NAME_MISSING, /* 1014 */ + XML_RNGP_ELEM_CONTENT_EMPTY, /* 1015 */ + XML_RNGP_ELEM_CONTENT_ERROR, /* 1016 */ + XML_RNGP_ELEMENT_EMPTY, /* 1017 */ + XML_RNGP_ELEMENT_CONTENT, /* 1018 */ + XML_RNGP_ELEMENT_NAME, /* 1019 */ + XML_RNGP_ELEMENT_NO_CONTENT, /* 1020 */ + XML_RNGP_ELEM_TEXT_CONFLICT, /* 1021 */ + XML_RNGP_EMPTY, /* 1022 */ + XML_RNGP_EMPTY_CONSTRUCT, /* 1023 */ + XML_RNGP_EMPTY_CONTENT, /* 1024 */ + XML_RNGP_EMPTY_NOT_EMPTY, /* 1025 */ + XML_RNGP_ERROR_TYPE_LIB, /* 1026 */ + XML_RNGP_EXCEPT_EMPTY, /* 1027 */ + XML_RNGP_EXCEPT_MISSING, /* 1028 */ + XML_RNGP_EXCEPT_MULTIPLE, /* 1029 */ + XML_RNGP_EXCEPT_NO_CONTENT, /* 1030 */ + XML_RNGP_EXTERNALREF_EMTPY, /* 1031 */ + XML_RNGP_EXTERNAL_REF_FAILURE, /* 1032 */ + XML_RNGP_EXTERNALREF_RECURSE, /* 1033 */ + XML_RNGP_FORBIDDEN_ATTRIBUTE, /* 1034 */ + XML_RNGP_FOREIGN_ELEMENT, /* 1035 */ + XML_RNGP_GRAMMAR_CONTENT, /* 1036 */ + XML_RNGP_GRAMMAR_EMPTY, /* 1037 */ + XML_RNGP_GRAMMAR_MISSING, /* 1038 */ + XML_RNGP_GRAMMAR_NO_START, /* 1039 */ + XML_RNGP_GROUP_ATTR_CONFLICT, /* 1040 */ + XML_RNGP_HREF_ERROR, /* 1041 */ + XML_RNGP_INCLUDE_EMPTY, /* 1042 */ + XML_RNGP_INCLUDE_FAILURE, /* 1043 */ + XML_RNGP_INCLUDE_RECURSE, /* 1044 */ + XML_RNGP_INTERLEAVE_ADD, /* 1045 */ + XML_RNGP_INTERLEAVE_CREATE_FAILED, /* 1046 */ + XML_RNGP_INTERLEAVE_EMPTY, /* 1047 */ + XML_RNGP_INTERLEAVE_NO_CONTENT, /* 1048 */ + XML_RNGP_INVALID_DEFINE_NAME, /* 1049 */ + XML_RNGP_INVALID_URI, /* 1050 */ + XML_RNGP_INVALID_VALUE, /* 1051 */ + XML_RNGP_MISSING_HREF, /* 1052 */ + XML_RNGP_NAME_MISSING, /* 1053 */ + XML_RNGP_NEED_COMBINE, /* 1054 */ + XML_RNGP_NOTALLOWED_NOT_EMPTY, /* 1055 */ + XML_RNGP_NSNAME_ATTR_ANCESTOR, /* 1056 */ + XML_RNGP_NSNAME_NO_NS, /* 1057 */ + XML_RNGP_PARAM_FORBIDDEN, /* 1058 */ + XML_RNGP_PARAM_NAME_MISSING, /* 1059 */ + XML_RNGP_PARENTREF_CREATE_FAILED, /* 1060 */ + XML_RNGP_PARENTREF_NAME_INVALID, /* 1061 */ + XML_RNGP_PARENTREF_NO_NAME, /* 1062 */ + XML_RNGP_PARENTREF_NO_PARENT, /* 1063 */ + XML_RNGP_PARENTREF_NOT_EMPTY, /* 1064 */ + XML_RNGP_PARSE_ERROR, /* 1065 */ + XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME, /* 1066 */ + XML_RNGP_PAT_ATTR_ATTR, /* 1067 */ + XML_RNGP_PAT_ATTR_ELEM, /* 1068 */ + XML_RNGP_PAT_DATA_EXCEPT_ATTR, /* 1069 */ + XML_RNGP_PAT_DATA_EXCEPT_ELEM, /* 1070 */ + XML_RNGP_PAT_DATA_EXCEPT_EMPTY, /* 1071 */ + XML_RNGP_PAT_DATA_EXCEPT_GROUP, /* 1072 */ + XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE, /* 1073 */ + XML_RNGP_PAT_DATA_EXCEPT_LIST, /* 1074 */ + XML_RNGP_PAT_DATA_EXCEPT_ONEMORE, /* 1075 */ + XML_RNGP_PAT_DATA_EXCEPT_REF, /* 1076 */ + XML_RNGP_PAT_DATA_EXCEPT_TEXT, /* 1077 */ + XML_RNGP_PAT_LIST_ATTR, /* 1078 */ + XML_RNGP_PAT_LIST_ELEM, /* 1079 */ + XML_RNGP_PAT_LIST_INTERLEAVE, /* 1080 */ + XML_RNGP_PAT_LIST_LIST, /* 1081 */ + XML_RNGP_PAT_LIST_REF, /* 1082 */ + XML_RNGP_PAT_LIST_TEXT, /* 1083 */ + XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME, /* 1084 */ + XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME, /* 1085 */ + XML_RNGP_PAT_ONEMORE_GROUP_ATTR, /* 1086 */ + XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR, /* 1087 */ + XML_RNGP_PAT_START_ATTR, /* 1088 */ + XML_RNGP_PAT_START_DATA, /* 1089 */ + XML_RNGP_PAT_START_EMPTY, /* 1090 */ + XML_RNGP_PAT_START_GROUP, /* 1091 */ + XML_RNGP_PAT_START_INTERLEAVE, /* 1092 */ + XML_RNGP_PAT_START_LIST, /* 1093 */ + XML_RNGP_PAT_START_ONEMORE, /* 1094 */ + XML_RNGP_PAT_START_TEXT, /* 1095 */ + XML_RNGP_PAT_START_VALUE, /* 1096 */ + XML_RNGP_PREFIX_UNDEFINED, /* 1097 */ + XML_RNGP_REF_CREATE_FAILED, /* 1098 */ + XML_RNGP_REF_CYCLE, /* 1099 */ + XML_RNGP_REF_NAME_INVALID, /* 1100 */ + XML_RNGP_REF_NO_DEF, /* 1101 */ + XML_RNGP_REF_NO_NAME, /* 1102 */ + XML_RNGP_REF_NOT_EMPTY, /* 1103 */ + XML_RNGP_START_CHOICE_AND_INTERLEAVE, /* 1104 */ + XML_RNGP_START_CONTENT, /* 1105 */ + XML_RNGP_START_EMPTY, /* 1106 */ + XML_RNGP_START_MISSING, /* 1107 */ + XML_RNGP_TEXT_EXPECTED, /* 1108 */ + XML_RNGP_TEXT_HAS_CHILD, /* 1109 */ + XML_RNGP_TYPE_MISSING, /* 1110 */ + XML_RNGP_TYPE_NOT_FOUND, /* 1111 */ + XML_RNGP_TYPE_VALUE, /* 1112 */ + XML_RNGP_UNKNOWN_ATTRIBUTE, /* 1113 */ + XML_RNGP_UNKNOWN_COMBINE, /* 1114 */ + XML_RNGP_UNKNOWN_CONSTRUCT, /* 1115 */ + XML_RNGP_UNKNOWN_TYPE_LIB, /* 1116 */ + XML_RNGP_URI_FRAGMENT, /* 1117 */ + XML_RNGP_URI_NOT_ABSOLUTE, /* 1118 */ + XML_RNGP_VALUE_EMPTY, /* 1119 */ + XML_RNGP_VALUE_NO_CONTENT, /* 1120 */ + XML_RNGP_XMLNS_NAME, /* 1121 */ + XML_RNGP_XML_NS, /* 1122 */ + XML_XPATH_EXPRESSION_OK = 1200, + XML_XPATH_NUMBER_ERROR, /* 1201 */ + XML_XPATH_UNFINISHED_LITERAL_ERROR, /* 1202 */ + XML_XPATH_START_LITERAL_ERROR, /* 1203 */ + XML_XPATH_VARIABLE_REF_ERROR, /* 1204 */ + XML_XPATH_UNDEF_VARIABLE_ERROR, /* 1205 */ + XML_XPATH_INVALID_PREDICATE_ERROR, /* 1206 */ + XML_XPATH_EXPR_ERROR, /* 1207 */ + XML_XPATH_UNCLOSED_ERROR, /* 1208 */ + XML_XPATH_UNKNOWN_FUNC_ERROR, /* 1209 */ + XML_XPATH_INVALID_OPERAND, /* 1210 */ + XML_XPATH_INVALID_TYPE, /* 1211 */ + XML_XPATH_INVALID_ARITY, /* 1212 */ + XML_XPATH_INVALID_CTXT_SIZE, /* 1213 */ + XML_XPATH_INVALID_CTXT_POSITION, /* 1214 */ + XML_XPATH_MEMORY_ERROR, /* 1215 */ + XML_XPTR_SYNTAX_ERROR, /* 1216 */ + XML_XPTR_RESOURCE_ERROR, /* 1217 */ + XML_XPTR_SUB_RESOURCE_ERROR, /* 1218 */ + XML_XPATH_UNDEF_PREFIX_ERROR, /* 1219 */ + XML_XPATH_ENCODING_ERROR, /* 1220 */ + XML_XPATH_INVALID_CHAR_ERROR, /* 1221 */ + XML_TREE_INVALID_HEX = 1300, + XML_TREE_INVALID_DEC, /* 1301 */ + XML_TREE_UNTERMINATED_ENTITY, /* 1302 */ + XML_TREE_NOT_UTF8, /* 1303 */ + XML_SAVE_NOT_UTF8 = 1400, + XML_SAVE_CHAR_INVALID, /* 1401 */ + XML_SAVE_NO_DOCTYPE, /* 1402 */ + XML_SAVE_UNKNOWN_ENCODING, /* 1403 */ + XML_REGEXP_COMPILE_ERROR = 1450, + XML_IO_UNKNOWN = 1500, + XML_IO_EACCES, /* 1501 */ + XML_IO_EAGAIN, /* 1502 */ + XML_IO_EBADF, /* 1503 */ + XML_IO_EBADMSG, /* 1504 */ + XML_IO_EBUSY, /* 1505 */ + XML_IO_ECANCELED, /* 1506 */ + XML_IO_ECHILD, /* 1507 */ + XML_IO_EDEADLK, /* 1508 */ + XML_IO_EDOM, /* 1509 */ + XML_IO_EEXIST, /* 1510 */ + XML_IO_EFAULT, /* 1511 */ + XML_IO_EFBIG, /* 1512 */ + XML_IO_EINPROGRESS, /* 1513 */ + XML_IO_EINTR, /* 1514 */ + XML_IO_EINVAL, /* 1515 */ + XML_IO_EIO, /* 1516 */ + XML_IO_EISDIR, /* 1517 */ + XML_IO_EMFILE, /* 1518 */ + XML_IO_EMLINK, /* 1519 */ + XML_IO_EMSGSIZE, /* 1520 */ + XML_IO_ENAMETOOLONG, /* 1521 */ + XML_IO_ENFILE, /* 1522 */ + XML_IO_ENODEV, /* 1523 */ + /** File not found. */ + XML_IO_ENOENT, /* 1524 */ + XML_IO_ENOEXEC, /* 1525 */ + XML_IO_ENOLCK, /* 1526 */ + XML_IO_ENOMEM, /* 1527 */ + XML_IO_ENOSPC, /* 1528 */ + XML_IO_ENOSYS, /* 1529 */ + XML_IO_ENOTDIR, /* 1530 */ + XML_IO_ENOTEMPTY, /* 1531 */ + XML_IO_ENOTSUP, /* 1532 */ + XML_IO_ENOTTY, /* 1533 */ + XML_IO_ENXIO, /* 1534 */ + XML_IO_EPERM, /* 1535 */ + XML_IO_EPIPE, /* 1536 */ + XML_IO_ERANGE, /* 1537 */ + XML_IO_EROFS, /* 1538 */ + XML_IO_ESPIPE, /* 1539 */ + XML_IO_ESRCH, /* 1540 */ + XML_IO_ETIMEDOUT, /* 1541 */ + XML_IO_EXDEV, /* 1542 */ + XML_IO_NETWORK_ATTEMPT, /* 1543 */ + XML_IO_ENCODER, /* 1544 */ + XML_IO_FLUSH, /* 1545 */ + XML_IO_WRITE, /* 1546 */ + XML_IO_NO_INPUT, /* 1547 */ + XML_IO_BUFFER_FULL, /* 1548 */ + XML_IO_LOAD_ERROR, /* 1549 */ + XML_IO_ENOTSOCK, /* 1550 */ + XML_IO_EISCONN, /* 1551 */ + XML_IO_ECONNREFUSED, /* 1552 */ + XML_IO_ENETUNREACH, /* 1553 */ + XML_IO_EADDRINUSE, /* 1554 */ + XML_IO_EALREADY, /* 1555 */ + XML_IO_EAFNOSUPPORT, /* 1556 */ + XML_IO_UNSUPPORTED_PROTOCOL, /* 1557 */ + XML_XINCLUDE_RECURSION=1600, + XML_XINCLUDE_PARSE_VALUE, /* 1601 */ + XML_XINCLUDE_ENTITY_DEF_MISMATCH, /* 1602 */ + XML_XINCLUDE_NO_HREF, /* 1603 */ + XML_XINCLUDE_NO_FALLBACK, /* 1604 */ + XML_XINCLUDE_HREF_URI, /* 1605 */ + XML_XINCLUDE_TEXT_FRAGMENT, /* 1606 */ + XML_XINCLUDE_TEXT_DOCUMENT, /* 1607 */ + XML_XINCLUDE_INVALID_CHAR, /* 1608 */ + XML_XINCLUDE_BUILD_FAILED, /* 1609 */ + XML_XINCLUDE_UNKNOWN_ENCODING, /* 1610 */ + XML_XINCLUDE_MULTIPLE_ROOT, /* 1611 */ + XML_XINCLUDE_XPTR_FAILED, /* 1612 */ + XML_XINCLUDE_XPTR_RESULT, /* 1613 */ + XML_XINCLUDE_INCLUDE_IN_INCLUDE, /* 1614 */ + XML_XINCLUDE_FALLBACKS_IN_INCLUDE, /* 1615 */ + XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE, /* 1616 */ + XML_XINCLUDE_DEPRECATED_NS, /* 1617 */ + XML_XINCLUDE_FRAGMENT_ID, /* 1618 */ + XML_CATALOG_MISSING_ATTR = 1650, + XML_CATALOG_ENTRY_BROKEN, /* 1651 */ + XML_CATALOG_PREFER_VALUE, /* 1652 */ + XML_CATALOG_NOT_CATALOG, /* 1653 */ + XML_CATALOG_RECURSION, /* 1654 */ + XML_SCHEMAP_PREFIX_UNDEFINED = 1700, + XML_SCHEMAP_ATTRFORMDEFAULT_VALUE, /* 1701 */ + XML_SCHEMAP_ATTRGRP_NONAME_NOREF, /* 1702 */ + XML_SCHEMAP_ATTR_NONAME_NOREF, /* 1703 */ + XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF, /* 1704 */ + XML_SCHEMAP_ELEMFORMDEFAULT_VALUE, /* 1705 */ + XML_SCHEMAP_ELEM_NONAME_NOREF, /* 1706 */ + XML_SCHEMAP_EXTENSION_NO_BASE, /* 1707 */ + XML_SCHEMAP_FACET_NO_VALUE, /* 1708 */ + XML_SCHEMAP_FAILED_BUILD_IMPORT, /* 1709 */ + XML_SCHEMAP_GROUP_NONAME_NOREF, /* 1710 */ + XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI, /* 1711 */ + XML_SCHEMAP_IMPORT_REDEFINE_NSNAME, /* 1712 */ + XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI, /* 1713 */ + XML_SCHEMAP_INVALID_BOOLEAN, /* 1714 */ + XML_SCHEMAP_INVALID_ENUM, /* 1715 */ + XML_SCHEMAP_INVALID_FACET, /* 1716 */ + XML_SCHEMAP_INVALID_FACET_VALUE, /* 1717 */ + XML_SCHEMAP_INVALID_MAXOCCURS, /* 1718 */ + XML_SCHEMAP_INVALID_MINOCCURS, /* 1719 */ + XML_SCHEMAP_INVALID_REF_AND_SUBTYPE, /* 1720 */ + XML_SCHEMAP_INVALID_WHITE_SPACE, /* 1721 */ + XML_SCHEMAP_NOATTR_NOREF, /* 1722 */ + XML_SCHEMAP_NOTATION_NO_NAME, /* 1723 */ + XML_SCHEMAP_NOTYPE_NOREF, /* 1724 */ + XML_SCHEMAP_REF_AND_SUBTYPE, /* 1725 */ + XML_SCHEMAP_RESTRICTION_NONAME_NOREF, /* 1726 */ + XML_SCHEMAP_SIMPLETYPE_NONAME, /* 1727 */ + XML_SCHEMAP_TYPE_AND_SUBTYPE, /* 1728 */ + XML_SCHEMAP_UNKNOWN_ALL_CHILD, /* 1729 */ + XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD, /* 1730 */ + XML_SCHEMAP_UNKNOWN_ATTR_CHILD, /* 1731 */ + XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD, /* 1732 */ + XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP, /* 1733 */ + XML_SCHEMAP_UNKNOWN_BASE_TYPE, /* 1734 */ + XML_SCHEMAP_UNKNOWN_CHOICE_CHILD, /* 1735 */ + XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD, /* 1736 */ + XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD, /* 1737 */ + XML_SCHEMAP_UNKNOWN_ELEM_CHILD, /* 1738 */ + XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD, /* 1739 */ + XML_SCHEMAP_UNKNOWN_FACET_CHILD, /* 1740 */ + XML_SCHEMAP_UNKNOWN_FACET_TYPE, /* 1741 */ + XML_SCHEMAP_UNKNOWN_GROUP_CHILD, /* 1742 */ + XML_SCHEMAP_UNKNOWN_IMPORT_CHILD, /* 1743 */ + XML_SCHEMAP_UNKNOWN_LIST_CHILD, /* 1744 */ + XML_SCHEMAP_UNKNOWN_NOTATION_CHILD, /* 1745 */ + XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD, /* 1746 */ + XML_SCHEMAP_UNKNOWN_REF, /* 1747 */ + XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD, /* 1748 */ + XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD, /* 1749 */ + XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD, /* 1750 */ + XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD, /* 1751 */ + XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD, /* 1752 */ + XML_SCHEMAP_UNKNOWN_TYPE, /* 1753 */ + XML_SCHEMAP_UNKNOWN_UNION_CHILD, /* 1754 */ + XML_SCHEMAP_ELEM_DEFAULT_FIXED, /* 1755 */ + XML_SCHEMAP_REGEXP_INVALID, /* 1756 */ + XML_SCHEMAP_FAILED_LOAD, /* 1757 */ + XML_SCHEMAP_NOTHING_TO_PARSE, /* 1758 */ + XML_SCHEMAP_NOROOT, /* 1759 */ + XML_SCHEMAP_REDEFINED_GROUP, /* 1760 */ + XML_SCHEMAP_REDEFINED_TYPE, /* 1761 */ + XML_SCHEMAP_REDEFINED_ELEMENT, /* 1762 */ + XML_SCHEMAP_REDEFINED_ATTRGROUP, /* 1763 */ + XML_SCHEMAP_REDEFINED_ATTR, /* 1764 */ + XML_SCHEMAP_REDEFINED_NOTATION, /* 1765 */ + XML_SCHEMAP_FAILED_PARSE, /* 1766 */ + XML_SCHEMAP_UNKNOWN_PREFIX, /* 1767 */ + XML_SCHEMAP_DEF_AND_PREFIX, /* 1768 */ + XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD, /* 1769 */ + XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI, /* 1770 */ + XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI, /* 1771 */ + XML_SCHEMAP_NOT_SCHEMA, /* 1772 */ + XML_SCHEMAP_UNKNOWN_MEMBER_TYPE, /* 1773 */ + XML_SCHEMAP_INVALID_ATTR_USE, /* 1774 */ + XML_SCHEMAP_RECURSIVE, /* 1775 */ + XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE, /* 1776 */ + XML_SCHEMAP_INVALID_ATTR_COMBINATION, /* 1777 */ + XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION, /* 1778 */ + XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD, /* 1779 */ + XML_SCHEMAP_INVALID_ATTR_NAME, /* 1780 */ + XML_SCHEMAP_REF_AND_CONTENT, /* 1781 */ + XML_SCHEMAP_CT_PROPS_CORRECT_1, /* 1782 */ + XML_SCHEMAP_CT_PROPS_CORRECT_2, /* 1783 */ + XML_SCHEMAP_CT_PROPS_CORRECT_3, /* 1784 */ + XML_SCHEMAP_CT_PROPS_CORRECT_4, /* 1785 */ + XML_SCHEMAP_CT_PROPS_CORRECT_5, /* 1786 */ + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1, /* 1787 */ + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1, /* 1788 */ + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2, /* 1789 */ + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2, /* 1790 */ + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3, /* 1791 */ + XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER, /* 1792 */ + XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE, /* 1793 */ + XML_SCHEMAP_UNION_NOT_EXPRESSIBLE, /* 1794 */ + XML_SCHEMAP_SRC_IMPORT_3_1, /* 1795 */ + XML_SCHEMAP_SRC_IMPORT_3_2, /* 1796 */ + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1, /* 1797 */ + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2, /* 1798 */ + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3, /* 1799 */ + XML_SCHEMAP_COS_CT_EXTENDS_1_3, /* 1800 */ + XML_SCHEMAV_NOROOT = 1801, + XML_SCHEMAV_UNDECLAREDELEM, /* 1802 */ + XML_SCHEMAV_NOTTOPLEVEL, /* 1803 */ + XML_SCHEMAV_MISSING, /* 1804 */ + XML_SCHEMAV_WRONGELEM, /* 1805 */ + XML_SCHEMAV_NOTYPE, /* 1806 */ + XML_SCHEMAV_NOROLLBACK, /* 1807 */ + XML_SCHEMAV_ISABSTRACT, /* 1808 */ + XML_SCHEMAV_NOTEMPTY, /* 1809 */ + XML_SCHEMAV_ELEMCONT, /* 1810 */ + XML_SCHEMAV_HAVEDEFAULT, /* 1811 */ + XML_SCHEMAV_NOTNILLABLE, /* 1812 */ + XML_SCHEMAV_EXTRACONTENT, /* 1813 */ + XML_SCHEMAV_INVALIDATTR, /* 1814 */ + XML_SCHEMAV_INVALIDELEM, /* 1815 */ + XML_SCHEMAV_NOTDETERMINIST, /* 1816 */ + XML_SCHEMAV_CONSTRUCT, /* 1817 */ + XML_SCHEMAV_INTERNAL, /* 1818 */ + XML_SCHEMAV_NOTSIMPLE, /* 1819 */ + XML_SCHEMAV_ATTRUNKNOWN, /* 1820 */ + XML_SCHEMAV_ATTRINVALID, /* 1821 */ + XML_SCHEMAV_VALUE, /* 1822 */ + XML_SCHEMAV_FACET, /* 1823 */ + XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1, /* 1824 */ + XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2, /* 1825 */ + XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3, /* 1826 */ + XML_SCHEMAV_CVC_TYPE_3_1_1, /* 1827 */ + XML_SCHEMAV_CVC_TYPE_3_1_2, /* 1828 */ + XML_SCHEMAV_CVC_FACET_VALID, /* 1829 */ + XML_SCHEMAV_CVC_LENGTH_VALID, /* 1830 */ + XML_SCHEMAV_CVC_MINLENGTH_VALID, /* 1831 */ + XML_SCHEMAV_CVC_MAXLENGTH_VALID, /* 1832 */ + XML_SCHEMAV_CVC_MININCLUSIVE_VALID, /* 1833 */ + XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID, /* 1834 */ + XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID, /* 1835 */ + XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID, /* 1836 */ + XML_SCHEMAV_CVC_TOTALDIGITS_VALID, /* 1837 */ + XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID, /* 1838 */ + XML_SCHEMAV_CVC_PATTERN_VALID, /* 1839 */ + XML_SCHEMAV_CVC_ENUMERATION_VALID, /* 1840 */ + XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1, /* 1841 */ + XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2, /* 1842 */ + XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3, /* 1843 */ + XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4, /* 1844 */ + XML_SCHEMAV_CVC_ELT_1, /* 1845 */ + XML_SCHEMAV_CVC_ELT_2, /* 1846 */ + XML_SCHEMAV_CVC_ELT_3_1, /* 1847 */ + XML_SCHEMAV_CVC_ELT_3_2_1, /* 1848 */ + XML_SCHEMAV_CVC_ELT_3_2_2, /* 1849 */ + XML_SCHEMAV_CVC_ELT_4_1, /* 1850 */ + XML_SCHEMAV_CVC_ELT_4_2, /* 1851 */ + XML_SCHEMAV_CVC_ELT_4_3, /* 1852 */ + XML_SCHEMAV_CVC_ELT_5_1_1, /* 1853 */ + XML_SCHEMAV_CVC_ELT_5_1_2, /* 1854 */ + XML_SCHEMAV_CVC_ELT_5_2_1, /* 1855 */ + XML_SCHEMAV_CVC_ELT_5_2_2_1, /* 1856 */ + XML_SCHEMAV_CVC_ELT_5_2_2_2_1, /* 1857 */ + XML_SCHEMAV_CVC_ELT_5_2_2_2_2, /* 1858 */ + XML_SCHEMAV_CVC_ELT_6, /* 1859 */ + XML_SCHEMAV_CVC_ELT_7, /* 1860 */ + XML_SCHEMAV_CVC_ATTRIBUTE_1, /* 1861 */ + XML_SCHEMAV_CVC_ATTRIBUTE_2, /* 1862 */ + XML_SCHEMAV_CVC_ATTRIBUTE_3, /* 1863 */ + XML_SCHEMAV_CVC_ATTRIBUTE_4, /* 1864 */ + XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1, /* 1865 */ + XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1, /* 1866 */ + XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2, /* 1867 */ + XML_SCHEMAV_CVC_COMPLEX_TYPE_4, /* 1868 */ + XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1, /* 1869 */ + XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2, /* 1870 */ + XML_SCHEMAV_ELEMENT_CONTENT, /* 1871 */ + XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING, /* 1872 */ + XML_SCHEMAV_CVC_COMPLEX_TYPE_1, /* 1873 */ + XML_SCHEMAV_CVC_AU, /* 1874 */ + XML_SCHEMAV_CVC_TYPE_1, /* 1875 */ + XML_SCHEMAV_CVC_TYPE_2, /* 1876 */ + XML_SCHEMAV_CVC_IDC, /* 1877 */ + XML_SCHEMAV_CVC_WILDCARD, /* 1878 */ + XML_SCHEMAV_MISC, /* 1879 */ + XML_XPTR_UNKNOWN_SCHEME = 1900, + XML_XPTR_CHILDSEQ_START, /* 1901 */ + XML_XPTR_EVAL_FAILED, /* 1902 */ + XML_XPTR_EXTRA_OBJECTS, /* 1903 */ + XML_C14N_CREATE_CTXT = 1950, + XML_C14N_REQUIRES_UTF8, /* 1951 */ + XML_C14N_CREATE_STACK, /* 1952 */ + XML_C14N_INVALID_NODE, /* 1953 */ + XML_C14N_UNKNOW_NODE, /* 1954 */ + XML_C14N_RELATIVE_NAMESPACE, /* 1955 */ + XML_FTP_PASV_ANSWER = 2000, + XML_FTP_EPSV_ANSWER, /* 2001 */ + XML_FTP_ACCNT, /* 2002 */ + XML_FTP_URL_SYNTAX, /* 2003 */ + XML_HTTP_URL_SYNTAX = 2020, + XML_HTTP_USE_IP, /* 2021 */ + XML_HTTP_UNKNOWN_HOST, /* 2022 */ + XML_SCHEMAP_SRC_SIMPLE_TYPE_1 = 3000, + XML_SCHEMAP_SRC_SIMPLE_TYPE_2, /* 3001 */ + XML_SCHEMAP_SRC_SIMPLE_TYPE_3, /* 3002 */ + XML_SCHEMAP_SRC_SIMPLE_TYPE_4, /* 3003 */ + XML_SCHEMAP_SRC_RESOLVE, /* 3004 */ + XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE, /* 3005 */ + XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE, /* 3006 */ + XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES, /* 3007 */ + XML_SCHEMAP_ST_PROPS_CORRECT_1, /* 3008 */ + XML_SCHEMAP_ST_PROPS_CORRECT_2, /* 3009 */ + XML_SCHEMAP_ST_PROPS_CORRECT_3, /* 3010 */ + XML_SCHEMAP_COS_ST_RESTRICTS_1_1, /* 3011 */ + XML_SCHEMAP_COS_ST_RESTRICTS_1_2, /* 3012 */ + XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1, /* 3013 */ + XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2, /* 3014 */ + XML_SCHEMAP_COS_ST_RESTRICTS_2_1, /* 3015 */ + XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1, /* 3016 */ + XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2, /* 3017 */ + XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1, /* 3018 */ + XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2, /* 3019 */ + XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3, /* 3020 */ + XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4, /* 3021 */ + XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5, /* 3022 */ + XML_SCHEMAP_COS_ST_RESTRICTS_3_1, /* 3023 */ + XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1, /* 3024 */ + XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2, /* 3025 */ + XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2, /* 3026 */ + XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1, /* 3027 */ + XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3, /* 3028 */ + XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4, /* 3029 */ + XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5, /* 3030 */ + XML_SCHEMAP_COS_ST_DERIVED_OK_2_1, /* 3031 */ + XML_SCHEMAP_COS_ST_DERIVED_OK_2_2, /* 3032 */ + XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED, /* 3033 */ + XML_SCHEMAP_S4S_ELEM_MISSING, /* 3034 */ + XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, /* 3035 */ + XML_SCHEMAP_S4S_ATTR_MISSING, /* 3036 */ + XML_SCHEMAP_S4S_ATTR_INVALID_VALUE, /* 3037 */ + XML_SCHEMAP_SRC_ELEMENT_1, /* 3038 */ + XML_SCHEMAP_SRC_ELEMENT_2_1, /* 3039 */ + XML_SCHEMAP_SRC_ELEMENT_2_2, /* 3040 */ + XML_SCHEMAP_SRC_ELEMENT_3, /* 3041 */ + XML_SCHEMAP_P_PROPS_CORRECT_1, /* 3042 */ + XML_SCHEMAP_P_PROPS_CORRECT_2_1, /* 3043 */ + XML_SCHEMAP_P_PROPS_CORRECT_2_2, /* 3044 */ + XML_SCHEMAP_E_PROPS_CORRECT_2, /* 3045 */ + XML_SCHEMAP_E_PROPS_CORRECT_3, /* 3046 */ + XML_SCHEMAP_E_PROPS_CORRECT_4, /* 3047 */ + XML_SCHEMAP_E_PROPS_CORRECT_5, /* 3048 */ + XML_SCHEMAP_E_PROPS_CORRECT_6, /* 3049 */ + XML_SCHEMAP_SRC_INCLUDE, /* 3050 */ + XML_SCHEMAP_SRC_ATTRIBUTE_1, /* 3051 */ + XML_SCHEMAP_SRC_ATTRIBUTE_2, /* 3052 */ + XML_SCHEMAP_SRC_ATTRIBUTE_3_1, /* 3053 */ + XML_SCHEMAP_SRC_ATTRIBUTE_3_2, /* 3054 */ + XML_SCHEMAP_SRC_ATTRIBUTE_4, /* 3055 */ + XML_SCHEMAP_NO_XMLNS, /* 3056 */ + XML_SCHEMAP_NO_XSI, /* 3057 */ + XML_SCHEMAP_COS_VALID_DEFAULT_1, /* 3058 */ + XML_SCHEMAP_COS_VALID_DEFAULT_2_1, /* 3059 */ + XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1, /* 3060 */ + XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2, /* 3061 */ + XML_SCHEMAP_CVC_SIMPLE_TYPE, /* 3062 */ + XML_SCHEMAP_COS_CT_EXTENDS_1_1, /* 3063 */ + XML_SCHEMAP_SRC_IMPORT_1_1, /* 3064 */ + XML_SCHEMAP_SRC_IMPORT_1_2, /* 3065 */ + XML_SCHEMAP_SRC_IMPORT_2, /* 3066 */ + XML_SCHEMAP_SRC_IMPORT_2_1, /* 3067 */ + XML_SCHEMAP_SRC_IMPORT_2_2, /* 3068 */ + XML_SCHEMAP_INTERNAL, /* 3069 non-W3C */ + XML_SCHEMAP_NOT_DETERMINISTIC, /* 3070 non-W3C */ + XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1, /* 3071 */ + XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2, /* 3072 */ + XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3, /* 3073 */ + XML_SCHEMAP_MG_PROPS_CORRECT_1, /* 3074 */ + XML_SCHEMAP_MG_PROPS_CORRECT_2, /* 3075 */ + XML_SCHEMAP_SRC_CT_1, /* 3076 */ + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3, /* 3077 */ + XML_SCHEMAP_AU_PROPS_CORRECT_2, /* 3078 */ + XML_SCHEMAP_A_PROPS_CORRECT_2, /* 3079 */ + XML_SCHEMAP_C_PROPS_CORRECT, /* 3080 */ + XML_SCHEMAP_SRC_REDEFINE, /* 3081 */ + XML_SCHEMAP_SRC_IMPORT, /* 3082 */ + XML_SCHEMAP_WARN_SKIP_SCHEMA, /* 3083 */ + XML_SCHEMAP_WARN_UNLOCATED_SCHEMA, /* 3084 */ + XML_SCHEMAP_WARN_ATTR_REDECL_PROH, /* 3085 */ + XML_SCHEMAP_WARN_ATTR_POINTLESS_PROH, /* 3085 */ + XML_SCHEMAP_AG_PROPS_CORRECT, /* 3086 */ + XML_SCHEMAP_COS_CT_EXTENDS_1_2, /* 3087 */ + XML_SCHEMAP_AU_PROPS_CORRECT, /* 3088 */ + XML_SCHEMAP_A_PROPS_CORRECT_3, /* 3089 */ + XML_SCHEMAP_COS_ALL_LIMITED, /* 3090 */ + XML_SCHEMATRONV_ASSERT = 4000, /* 4000 */ + XML_SCHEMATRONV_REPORT, + XML_MODULE_OPEN = 4900, /* 4900 */ + XML_MODULE_CLOSE, /* 4901 */ + XML_CHECK_FOUND_ELEMENT = 5000, + XML_CHECK_FOUND_ATTRIBUTE, /* 5001 */ + XML_CHECK_FOUND_TEXT, /* 5002 */ + XML_CHECK_FOUND_CDATA, /* 5003 */ + XML_CHECK_FOUND_ENTITYREF, /* 5004 */ + XML_CHECK_FOUND_ENTITY, /* 5005 */ + XML_CHECK_FOUND_PI, /* 5006 */ + XML_CHECK_FOUND_COMMENT, /* 5007 */ + XML_CHECK_FOUND_DOCTYPE, /* 5008 */ + XML_CHECK_FOUND_FRAGMENT, /* 5009 */ + XML_CHECK_FOUND_NOTATION, /* 5010 */ + XML_CHECK_UNKNOWN_NODE, /* 5011 */ + XML_CHECK_ENTITY_TYPE, /* 5012 */ + XML_CHECK_NO_PARENT, /* 5013 */ + XML_CHECK_NO_DOC, /* 5014 */ + XML_CHECK_NO_NAME, /* 5015 */ + XML_CHECK_NO_ELEM, /* 5016 */ + XML_CHECK_WRONG_DOC, /* 5017 */ + XML_CHECK_NO_PREV, /* 5018 */ + XML_CHECK_WRONG_PREV, /* 5019 */ + XML_CHECK_NO_NEXT, /* 5020 */ + XML_CHECK_WRONG_NEXT, /* 5021 */ + XML_CHECK_NOT_DTD, /* 5022 */ + XML_CHECK_NOT_ATTR, /* 5023 */ + XML_CHECK_NOT_ATTR_DECL, /* 5024 */ + XML_CHECK_NOT_ELEM_DECL, /* 5025 */ + XML_CHECK_NOT_ENTITY_DECL, /* 5026 */ + XML_CHECK_NOT_NS_DECL, /* 5027 */ + XML_CHECK_NO_HREF, /* 5028 */ + XML_CHECK_WRONG_PARENT,/* 5029 */ + XML_CHECK_NS_SCOPE, /* 5030 */ + XML_CHECK_NS_ANCESTOR, /* 5031 */ + XML_CHECK_NOT_UTF8, /* 5032 */ + XML_CHECK_NO_DICT, /* 5033 */ + XML_CHECK_NOT_NCNAME, /* 5034 */ + XML_CHECK_OUTSIDE_DICT, /* 5035 */ + XML_CHECK_WRONG_NAME, /* 5036 */ + XML_CHECK_NAME_NOT_NULL, /* 5037 */ + XML_I18N_NO_NAME = 6000, + XML_I18N_NO_HANDLER, /* 6001 */ + XML_I18N_EXCESS_HANDLER, /* 6002 */ + XML_I18N_CONV_FAILED, /* 6003 */ + XML_I18N_NO_OUTPUT, /* 6004 */ + XML_BUF_OVERFLOW = 7000 +} xmlParserErrors; + +/** + * Generic error callback. + * + * @deprecated in favor of structured errors. + * @param ctx user data + * @param msg printf-like format string + * @param ... arguments to format + */ +typedef void (*xmlGenericErrorFunc) (void *ctx, + const char *msg, + ...) LIBXML_ATTR_FORMAT(2,3); +/** + * Structured error callback receiving an xmlError. + * + * @param userData user provided data for the error callback + * @param error the error being raised + */ +typedef void (*xmlStructuredErrorFunc) (void *userData, const xmlError *error); + +/** @cond ignore */ +XML_DEPRECATED +XMLPUBFUN const xmlError *__xmlLastError(void); +XMLPUBFUN xmlGenericErrorFunc *__xmlGenericError(void); +XMLPUBFUN void **__xmlGenericErrorContext(void); +XMLPUBFUN xmlStructuredErrorFunc *__xmlStructuredError(void); +XMLPUBFUN void **__xmlStructuredErrorContext(void); +/** @endcond */ + +#ifndef XML_GLOBALS_NO_REDEFINITION + /** + * Thread-local variable containing the last reported error. + * + * @deprecated Use xmlGetLastError(). + */ + #define xmlLastError (*__xmlLastError()) + /** + * Thread-local variable containing the generic error callback. + * + * @deprecated See xmlSetStructuredErrorFunc(). + */ + #define xmlGenericError (*__xmlGenericError()) + /** + * Thread-local variable containing user data for the generic + * error handler. + * + * @deprecated See xmlSetStructuredErrorFunc(). + */ + #define xmlGenericErrorContext (*__xmlGenericErrorContext()) + /** + * Thread-local variable containing the structured error + * callback. + * + * @deprecated See xmlSetStructuredErrorFunc(). + */ + #define xmlStructuredError (*__xmlStructuredError()) + /** + * Thread-local variable containing user data for the + * structured error handler. + * + * @deprecated See xmlSetStructuredErrorFunc(). + */ + #define xmlStructuredErrorContext (*__xmlStructuredErrorContext()) +#endif + +XMLPUBFUN void + xmlSetGenericErrorFunc (void *ctx, + xmlGenericErrorFunc handler); +XMLPUBFUN void + xmlSetStructuredErrorFunc (void *ctx, + xmlStructuredErrorFunc handler); + +XML_DEPRECATED +XMLPUBFUN void + xmlThrDefSetGenericErrorFunc(void *ctx, + xmlGenericErrorFunc handler); +XML_DEPRECATED +XMLPUBFUN void + xmlThrDefSetStructuredErrorFunc(void *ctx, + xmlStructuredErrorFunc handler); + +/* + * Legacy error handlers. + */ +XMLPUBFUN void + xmlParserError (void *ctx, + const char *msg, + ...) LIBXML_ATTR_FORMAT(2,3); +XMLPUBFUN void + xmlParserWarning (void *ctx, + const char *msg, + ...) LIBXML_ATTR_FORMAT(2,3); +XMLPUBFUN void + xmlParserValidityError (void *ctx, + const char *msg, + ...) LIBXML_ATTR_FORMAT(2,3); +XMLPUBFUN void + xmlParserValidityWarning (void *ctx, + const char *msg, + ...) LIBXML_ATTR_FORMAT(2,3); +struct _xmlParserInput; +XMLPUBFUN void + xmlParserPrintFileInfo (struct _xmlParserInput *input); +XMLPUBFUN void + xmlParserPrintFileContext (struct _xmlParserInput *input); +XMLPUBFUN void +xmlFormatError (const xmlError *err, + xmlGenericErrorFunc channel, + void *data); + +/* + * Extended error information routines + */ +XMLPUBFUN const xmlError * + xmlGetLastError (void); +XMLPUBFUN void + xmlResetLastError (void); +XMLPUBFUN const xmlError * + xmlCtxtGetLastError (void *ctx); +XMLPUBFUN void + xmlCtxtResetLastError (void *ctx); +XMLPUBFUN void + xmlResetError (xmlError *err); +XMLPUBFUN int + xmlCopyError (const xmlError *from, + xmlError *to); + +#ifdef __cplusplus +} +#endif +#endif /* __XML_ERROR_H__ */ diff --git a/libxml2/include/libxml/xmlexports.h b/libxml2/include/libxml/xmlexports.h new file mode 100644 index 0000000..3a23c54 --- /dev/null +++ b/libxml2/include/libxml/xmlexports.h @@ -0,0 +1,98 @@ +/** + * @file + * + * @brief macros for marking symbols as exportable/importable. + * + * macros for marking symbols as exportable/importable. + * + * @copyright See Copyright for the status of this software. + */ + +#ifndef __XML_EXPORTS_H__ +#define __XML_EXPORTS_H__ + +/* + * Symbol visibility + */ + +#if (defined(_WIN32) || defined(__CYGWIN__)) && !defined(LIBXML_STATIC) + #if defined(IN_LIBXML) + #define XMLPUBFUN __declspec(dllexport) + #define XMLPUBVAR __declspec(dllexport) extern + #else + #define XMLPUBFUN __declspec(dllimport) + #define XMLPUBVAR __declspec(dllimport) extern + #endif +#else /* not Windows */ + #define XMLPUBFUN + #define XMLPUBVAR extern +#endif /* platform switch */ + +/* Compatibility */ +#define XMLCALL +#define XMLCDECL +#ifndef LIBXML_DLL_IMPORT + #define LIBXML_DLL_IMPORT XMLPUBVAR +#endif + +/* + * Attributes + */ + +#if !defined(__clang__) && (__GNUC__ * 100 + __GNUC_MINOR__ >= 403) + #define LIBXML_ATTR_ALLOC_SIZE(x) __attribute__((alloc_size(x))) +#else + #define LIBXML_ATTR_ALLOC_SIZE(x) +#endif + +#if __GNUC__ * 100 + __GNUC_MINOR__ >= 303 + #define LIBXML_ATTR_FORMAT(fmt,args) \ + __attribute__((__format__(__printf__,fmt,args))) +#else + #define LIBXML_ATTR_FORMAT(fmt,args) +#endif + +#ifndef XML_DEPRECATED + #if defined(IN_LIBXML) + #define XML_DEPRECATED + #elif __GNUC__ * 100 + __GNUC_MINOR__ >= 405 + /* GCC 4.5+ supports deprecated with message */ + #define XML_DEPRECATED __attribute__((deprecated("See https://gnome.pages.gitlab.gnome.org/libxml2/html/deprecated.html"))) + #elif __GNUC__ * 100 + __GNUC_MINOR__ >= 301 + /* GCC 3.1+ supports deprecated without message */ + #define XML_DEPRECATED __attribute__((deprecated)) + #elif defined(_MSC_VER) && _MSC_VER >= 1400 + /* Available since Visual Studio 2005 */ + #define XML_DEPRECATED __declspec(deprecated("See https://gnome.pages.gitlab.gnome.org/libxml2/html/deprecated.html")) + #else + #define XML_DEPRECATED + #endif +#endif + +#ifndef XML_DEPRECATED_MEMBER + #if defined(IN_LIBXML) + #define XML_DEPRECATED_MEMBER + #elif __GNUC__ * 100 + __GNUC_MINOR__ >= 301 + #define XML_DEPRECATED_MEMBER __attribute__((deprecated)) + #else + #define XML_DEPRECATED_MEMBER + #endif +#endif + +/* + * Originally declared in xmlversion.h which is generated + */ + +#ifdef __cplusplus +extern "C" { +#endif + +XMLPUBFUN void xmlCheckVersion(int version); + +#ifdef __cplusplus +} +#endif + +#endif /* __XML_EXPORTS_H__ */ + + diff --git a/libxml2/include/libxml/xmlmemory.h b/libxml2/include/libxml/xmlmemory.h new file mode 100644 index 0000000..bad77a5 --- /dev/null +++ b/libxml2/include/libxml/xmlmemory.h @@ -0,0 +1,203 @@ +/** + * @file + * + * @brief interface for the memory allocator + * + * provides interfaces for the memory allocator, + * including debugging capabilities. + * + * @copyright See Copyright for the status of this software. + * + * @author Daniel Veillard + */ + + +#ifndef __DEBUG_MEMORY_ALLOC__ +#define __DEBUG_MEMORY_ALLOC__ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * The XML memory wrapper support 4 basic overloadable functions. + */ +/** + * Signature for a free() implementation. + * + * @param mem an already allocated block of memory + */ +typedef void (*xmlFreeFunc)(void *mem); +/** + * Signature for a malloc() implementation. + * + * @param size the size requested in bytes + * @returns a pointer to the newly allocated block or NULL in case of error. + */ +typedef void *(*xmlMallocFunc)(size_t size) LIBXML_ATTR_ALLOC_SIZE(1); + +/** + * Signature for a realloc() implementation. + * + * @param mem an already allocated block of memory + * @param size the new size requested in bytes + * @returns a pointer to the newly reallocated block or NULL in case of error. + */ +typedef void *(*xmlReallocFunc)(void *mem, size_t size); + +/** + * Signature for an strdup() implementation. + * + * @param str a zero terminated string + * @returns the copy of the string or NULL in case of error. + */ +typedef char *(*xmlStrdupFunc)(const char *str); + +/* + * In general the memory allocation entry points are not kept + * thread specific but this can be overridden by LIBXML_THREAD_ALLOC_ENABLED + * - xmlMalloc + * - xmlMallocAtomic + * - xmlRealloc + * - xmlMemStrdup + * - xmlFree + */ +#ifdef LIBXML_THREAD_ALLOC_ENABLED + +XMLPUBFUN xmlMallocFunc *__xmlMalloc(void); +XMLPUBFUN xmlMallocFunc *__xmlMallocAtomic(void); +XMLPUBFUN xmlReallocFunc *__xmlRealloc(void); +XMLPUBFUN xmlFreeFunc *__xmlFree(void); +XMLPUBFUN xmlStrdupFunc *__xmlMemStrdup(void); + +#ifndef XML_GLOBALS_NO_REDEFINITION + #define xmlMalloc (*__xmlMalloc()) + #define xmlMallocAtomic (*__xmlMallocAtomic()) + #define xmlRealloc (*__xmlRealloc()) + #define xmlFree (*__xmlFree()) + #define xmlMemStrdup (*__xmlMemStrdup()) +#endif + +#else + +/** + * The variable holding the libxml malloc() implementation + */ +XMLPUBVAR xmlMallocFunc xmlMalloc; +/** + * The variable holding the libxml malloc() implementation for atomic + * data (i.e. blocks not containing pointers), useful when using a + * garbage collecting allocator. + * + * @deprecated Use #xmlMalloc + */ +XMLPUBVAR xmlMallocFunc xmlMallocAtomic; +/** + * The variable holding the libxml realloc() implementation + */ +XMLPUBVAR xmlReallocFunc xmlRealloc; +/** + * The variable holding the libxml free() implementation + */ +XMLPUBVAR xmlFreeFunc xmlFree; +/** + * The variable holding the libxml strdup() implementation + */ +XMLPUBVAR xmlStrdupFunc xmlMemStrdup; + +#endif + +/* + * The way to overload the existing functions. + * The xmlGc function have an extra entry for atomic block + * allocations useful for garbage collected memory allocators + */ +XMLPUBFUN int + xmlMemSetup (xmlFreeFunc freeFunc, + xmlMallocFunc mallocFunc, + xmlReallocFunc reallocFunc, + xmlStrdupFunc strdupFunc); +XMLPUBFUN int + xmlMemGet (xmlFreeFunc *freeFunc, + xmlMallocFunc *mallocFunc, + xmlReallocFunc *reallocFunc, + xmlStrdupFunc *strdupFunc); +XML_DEPRECATED +XMLPUBFUN int + xmlGcMemSetup (xmlFreeFunc freeFunc, + xmlMallocFunc mallocFunc, + xmlMallocFunc mallocAtomicFunc, + xmlReallocFunc reallocFunc, + xmlStrdupFunc strdupFunc); +XML_DEPRECATED +XMLPUBFUN int + xmlGcMemGet (xmlFreeFunc *freeFunc, + xmlMallocFunc *mallocFunc, + xmlMallocFunc *mallocAtomicFunc, + xmlReallocFunc *reallocFunc, + xmlStrdupFunc *strdupFunc); + +/* + * Initialization of the memory layer. + */ +XML_DEPRECATED +XMLPUBFUN int + xmlInitMemory (void); + +/* + * Cleanup of the memory layer. + */ +XML_DEPRECATED +XMLPUBFUN void + xmlCleanupMemory (void); +/* + * These are specific to the XML debug memory wrapper. + */ +XMLPUBFUN size_t + xmlMemSize (void *ptr); +XMLPUBFUN int + xmlMemUsed (void); +XMLPUBFUN int + xmlMemBlocks (void); +XML_DEPRECATED +XMLPUBFUN void + xmlMemDisplay (FILE *fp); +XML_DEPRECATED +XMLPUBFUN void + xmlMemDisplayLast(FILE *fp, long nbBytes); +XML_DEPRECATED +XMLPUBFUN void + xmlMemShow (FILE *fp, int nr); +XML_DEPRECATED +XMLPUBFUN void + xmlMemoryDump (void); +XMLPUBFUN void * + xmlMemMalloc (size_t size) LIBXML_ATTR_ALLOC_SIZE(1); +XMLPUBFUN void * + xmlMemRealloc (void *ptr,size_t size); +XMLPUBFUN void + xmlMemFree (void *ptr); +XMLPUBFUN char * + xmlMemoryStrdup (const char *str); +XML_DEPRECATED +XMLPUBFUN void * + xmlMallocLoc (size_t size, const char *file, int line) LIBXML_ATTR_ALLOC_SIZE(1); +XML_DEPRECATED +XMLPUBFUN void * + xmlReallocLoc (void *ptr, size_t size, const char *file, int line); +XML_DEPRECATED +XMLPUBFUN void * + xmlMallocAtomicLoc (size_t size, const char *file, int line) LIBXML_ATTR_ALLOC_SIZE(1); +XML_DEPRECATED +XMLPUBFUN char * + xmlMemStrdupLoc (const char *str, const char *file, int line); + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* __DEBUG_MEMORY_ALLOC__ */ + diff --git a/libxml2/include/libxml/xmlmodule.h b/libxml2/include/libxml/xmlmodule.h new file mode 100644 index 0000000..1001e82 --- /dev/null +++ b/libxml2/include/libxml/xmlmodule.h @@ -0,0 +1,60 @@ +/** + * @file + * + * @brief Dynamic module loading + * + * API for dynamic module loading. Only used by old libxslt versions + * and subject to removal. + * + * @copyright See Copyright for the status of this software. + * + * @author Joel W. Reed + */ + +#ifndef __XML_MODULE_H__ +#define __XML_MODULE_H__ + +#include + +#ifdef LIBXML_MODULES_ENABLED + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * A handle to a dynamically loaded module + */ +typedef struct _xmlModule xmlModule; +typedef xmlModule *xmlModulePtr; + +/** + * enumeration of options that can be passed down to #xmlModuleOpen + */ +typedef enum { + XML_MODULE_LAZY = 1, /* lazy binding */ + XML_MODULE_LOCAL= 2 /* local binding */ +} xmlModuleOption; + +XML_DEPRECATED +XMLPUBFUN xmlModule *xmlModuleOpen (const char *filename, + int options); + +XML_DEPRECATED +XMLPUBFUN int xmlModuleSymbol (xmlModule *module, + const char* name, + void **result); + +XML_DEPRECATED +XMLPUBFUN int xmlModuleClose (xmlModule *module); + +XML_DEPRECATED +XMLPUBFUN int xmlModuleFree (xmlModule *module); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_MODULES_ENABLED */ + +#endif /*__XML_MODULE_H__ */ diff --git a/libxml2/include/libxml/xmlreader.h b/libxml2/include/libxml/xmlreader.h new file mode 100644 index 0000000..b71dc9d --- /dev/null +++ b/libxml2/include/libxml/xmlreader.h @@ -0,0 +1,450 @@ +/** + * @file + * + * @brief the XMLReader implementation + * + * API of the XML streaming API based on C\# interfaces. + * + * @copyright See Copyright for the status of this software. + * + * @author Daniel Veillard + */ + +#ifndef __XML_XMLREADER_H__ +#define __XML_XMLREADER_H__ + +#include +#include +#include +#include +#ifdef LIBXML_RELAXNG_ENABLED +#include +#endif +#ifdef LIBXML_SCHEMAS_ENABLED +#include +#endif +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * How severe an error callback is when the per-reader error callback API + * is used. + */ +typedef enum { + XML_PARSER_SEVERITY_VALIDITY_WARNING = 1, + XML_PARSER_SEVERITY_VALIDITY_ERROR = 2, + XML_PARSER_SEVERITY_WARNING = 3, + XML_PARSER_SEVERITY_ERROR = 4 +} xmlParserSeverities; + +#ifdef LIBXML_READER_ENABLED + +/** + * Internal state values for the reader. + */ +typedef enum { + XML_TEXTREADER_MODE_INITIAL = 0, + XML_TEXTREADER_MODE_INTERACTIVE = 1, + XML_TEXTREADER_MODE_ERROR = 2, + XML_TEXTREADER_MODE_EOF =3, + XML_TEXTREADER_MODE_CLOSED = 4, + XML_TEXTREADER_MODE_READING = 5 +} xmlTextReaderMode; + +/** + * Some common options to use with #xmlTextReaderSetParserProp, but it + * is better to use xmlParserOption and the xmlReaderNewxxx and + * xmlReaderForxxx APIs now. + */ +typedef enum { + /* load external DTD */ + XML_PARSER_LOADDTD = 1, + /* use default attributes */ + XML_PARSER_DEFAULTATTRS = 2, + /* DTD validation */ + XML_PARSER_VALIDATE = 3, + /* substitute entities */ + XML_PARSER_SUBST_ENTITIES = 4 +} xmlParserProperties; + +/** + * Predefined constants for the different types of nodes. + */ +typedef enum { + /** unknown or error */ + XML_READER_TYPE_NONE = 0, + /** element */ + XML_READER_TYPE_ELEMENT = 1, + /** attribute */ + XML_READER_TYPE_ATTRIBUTE = 2, + /** text */ + XML_READER_TYPE_TEXT = 3, + /** CDATA section */ + XML_READER_TYPE_CDATA = 4, + /** entity reference */ + XML_READER_TYPE_ENTITY_REFERENCE = 5, + /** unused */ + XML_READER_TYPE_ENTITY = 6, + /** processing instruction */ + XML_READER_TYPE_PROCESSING_INSTRUCTION = 7, + /** comment */ + XML_READER_TYPE_COMMENT = 8, + /** document */ + XML_READER_TYPE_DOCUMENT = 9, + /** unused */ + XML_READER_TYPE_DOCUMENT_TYPE = 10, + /** document fragment */ + XML_READER_TYPE_DOCUMENT_FRAGMENT = 11, + /** notation, unused */ + XML_READER_TYPE_NOTATION = 12, + /** whitespace */ + XML_READER_TYPE_WHITESPACE = 13, + /** significant whitespace */ + XML_READER_TYPE_SIGNIFICANT_WHITESPACE = 14, + /** end of element */ + XML_READER_TYPE_END_ELEMENT = 15, + /** unused */ + XML_READER_TYPE_END_ENTITY = 16, + /** unused */ + XML_READER_TYPE_XML_DECLARATION = 17 +} xmlReaderTypes; + +/** xmlReader context */ +typedef struct _xmlTextReader xmlTextReader; +typedef xmlTextReader *xmlTextReaderPtr; + +/* + * Constructors & Destructor + */ +XMLPUBFUN xmlTextReader * + xmlNewTextReader (xmlParserInputBuffer *input, + const char *URI); +XMLPUBFUN xmlTextReader * + xmlNewTextReaderFilename(const char *URI); + +XMLPUBFUN void + xmlFreeTextReader (xmlTextReader *reader); + +XMLPUBFUN int + xmlTextReaderSetup(xmlTextReader *reader, + xmlParserInputBuffer *input, const char *URL, + const char *encoding, int options); +XMLPUBFUN void + xmlTextReaderSetMaxAmplification(xmlTextReader *reader, + unsigned maxAmpl); +XMLPUBFUN const xmlError * + xmlTextReaderGetLastError(xmlTextReader *reader); + +/* + * Iterators + */ +XMLPUBFUN int + xmlTextReaderRead (xmlTextReader *reader); + +#ifdef LIBXML_WRITER_ENABLED +XMLPUBFUN xmlChar * + xmlTextReaderReadInnerXml(xmlTextReader *reader); + +XMLPUBFUN xmlChar * + xmlTextReaderReadOuterXml(xmlTextReader *reader); +#endif + +XMLPUBFUN xmlChar * + xmlTextReaderReadString (xmlTextReader *reader); +XMLPUBFUN int + xmlTextReaderReadAttributeValue(xmlTextReader *reader); + +/* + * Attributes of the node + */ +XMLPUBFUN int + xmlTextReaderAttributeCount(xmlTextReader *reader); +XMLPUBFUN int + xmlTextReaderDepth (xmlTextReader *reader); +XMLPUBFUN int + xmlTextReaderHasAttributes(xmlTextReader *reader); +XMLPUBFUN int + xmlTextReaderHasValue(xmlTextReader *reader); +XMLPUBFUN int + xmlTextReaderIsDefault (xmlTextReader *reader); +XMLPUBFUN int + xmlTextReaderIsEmptyElement(xmlTextReader *reader); +XMLPUBFUN int + xmlTextReaderNodeType (xmlTextReader *reader); +XMLPUBFUN int + xmlTextReaderQuoteChar (xmlTextReader *reader); +XMLPUBFUN int + xmlTextReaderReadState (xmlTextReader *reader); +XMLPUBFUN int + xmlTextReaderIsNamespaceDecl(xmlTextReader *reader); + +XMLPUBFUN const xmlChar * + xmlTextReaderConstBaseUri (xmlTextReader *reader); +XMLPUBFUN const xmlChar * + xmlTextReaderConstLocalName (xmlTextReader *reader); +XMLPUBFUN const xmlChar * + xmlTextReaderConstName (xmlTextReader *reader); +XMLPUBFUN const xmlChar * + xmlTextReaderConstNamespaceUri(xmlTextReader *reader); +XMLPUBFUN const xmlChar * + xmlTextReaderConstPrefix (xmlTextReader *reader); +XMLPUBFUN const xmlChar * + xmlTextReaderConstXmlLang (xmlTextReader *reader); +XMLPUBFUN const xmlChar * + xmlTextReaderConstString (xmlTextReader *reader, + const xmlChar *str); +XMLPUBFUN const xmlChar * + xmlTextReaderConstValue (xmlTextReader *reader); + +/* + * use the Const version of the routine for + * better performance and simpler code + */ +XMLPUBFUN xmlChar * + xmlTextReaderBaseUri (xmlTextReader *reader); +XMLPUBFUN xmlChar * + xmlTextReaderLocalName (xmlTextReader *reader); +XMLPUBFUN xmlChar * + xmlTextReaderName (xmlTextReader *reader); +XMLPUBFUN xmlChar * + xmlTextReaderNamespaceUri(xmlTextReader *reader); +XMLPUBFUN xmlChar * + xmlTextReaderPrefix (xmlTextReader *reader); +XMLPUBFUN xmlChar * + xmlTextReaderXmlLang (xmlTextReader *reader); +XMLPUBFUN xmlChar * + xmlTextReaderValue (xmlTextReader *reader); + +/* + * Methods of the XmlTextReader + */ +XMLPUBFUN int + xmlTextReaderClose (xmlTextReader *reader); +XMLPUBFUN xmlChar * + xmlTextReaderGetAttributeNo (xmlTextReader *reader, + int no); +XMLPUBFUN xmlChar * + xmlTextReaderGetAttribute (xmlTextReader *reader, + const xmlChar *name); +XMLPUBFUN xmlChar * + xmlTextReaderGetAttributeNs (xmlTextReader *reader, + const xmlChar *localName, + const xmlChar *namespaceURI); +XMLPUBFUN xmlParserInputBuffer * + xmlTextReaderGetRemainder (xmlTextReader *reader); +XMLPUBFUN xmlChar * + xmlTextReaderLookupNamespace(xmlTextReader *reader, + const xmlChar *prefix); +XMLPUBFUN int + xmlTextReaderMoveToAttributeNo(xmlTextReader *reader, + int no); +XMLPUBFUN int + xmlTextReaderMoveToAttribute(xmlTextReader *reader, + const xmlChar *name); +XMLPUBFUN int + xmlTextReaderMoveToAttributeNs(xmlTextReader *reader, + const xmlChar *localName, + const xmlChar *namespaceURI); +XMLPUBFUN int + xmlTextReaderMoveToFirstAttribute(xmlTextReader *reader); +XMLPUBFUN int + xmlTextReaderMoveToNextAttribute(xmlTextReader *reader); +XMLPUBFUN int + xmlTextReaderMoveToElement (xmlTextReader *reader); +XMLPUBFUN int + xmlTextReaderNormalization (xmlTextReader *reader); +XMLPUBFUN const xmlChar * + xmlTextReaderConstEncoding (xmlTextReader *reader); + +/* + * Extensions + */ +XMLPUBFUN int + xmlTextReaderSetParserProp (xmlTextReader *reader, + int prop, + int value); +XMLPUBFUN int + xmlTextReaderGetParserProp (xmlTextReader *reader, + int prop); +XMLPUBFUN xmlNode * + xmlTextReaderCurrentNode (xmlTextReader *reader); + +XMLPUBFUN int + xmlTextReaderGetParserLineNumber(xmlTextReader *reader); + +XMLPUBFUN int + xmlTextReaderGetParserColumnNumber(xmlTextReader *reader); + +XMLPUBFUN xmlNode * + xmlTextReaderPreserve (xmlTextReader *reader); +#ifdef LIBXML_PATTERN_ENABLED +XMLPUBFUN int + xmlTextReaderPreservePattern(xmlTextReader *reader, + const xmlChar *pattern, + const xmlChar **namespaces); +#endif /* LIBXML_PATTERN_ENABLED */ +XMLPUBFUN xmlDoc * + xmlTextReaderCurrentDoc (xmlTextReader *reader); +XMLPUBFUN xmlNode * + xmlTextReaderExpand (xmlTextReader *reader); +XMLPUBFUN int + xmlTextReaderNext (xmlTextReader *reader); +XMLPUBFUN int + xmlTextReaderNextSibling (xmlTextReader *reader); +XMLPUBFUN int + xmlTextReaderIsValid (xmlTextReader *reader); +#ifdef LIBXML_RELAXNG_ENABLED +XMLPUBFUN int + xmlTextReaderRelaxNGValidate(xmlTextReader *reader, + const char *rng); +XMLPUBFUN int + xmlTextReaderRelaxNGValidateCtxt(xmlTextReader *reader, + xmlRelaxNGValidCtxt *ctxt, + int options); + +XMLPUBFUN int + xmlTextReaderRelaxNGSetSchema(xmlTextReader *reader, + xmlRelaxNG *schema); +#endif +#ifdef LIBXML_SCHEMAS_ENABLED +XMLPUBFUN int + xmlTextReaderSchemaValidate (xmlTextReader *reader, + const char *xsd); +XMLPUBFUN int + xmlTextReaderSchemaValidateCtxt(xmlTextReader *reader, + xmlSchemaValidCtxt *ctxt, + int options); +XMLPUBFUN int + xmlTextReaderSetSchema (xmlTextReader *reader, + xmlSchema *schema); +#endif +XMLPUBFUN const xmlChar * + xmlTextReaderConstXmlVersion(xmlTextReader *reader); +XMLPUBFUN int + xmlTextReaderStandalone (xmlTextReader *reader); + + +/* + * Index lookup + */ +XMLPUBFUN long + xmlTextReaderByteConsumed (xmlTextReader *reader); + +/* + * New more complete APIs for simpler creation and reuse of readers + */ +XMLPUBFUN xmlTextReader * + xmlReaderWalker (xmlDoc *doc); +XMLPUBFUN xmlTextReader * + xmlReaderForDoc (const xmlChar * cur, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlTextReader * + xmlReaderForFile (const char *filename, + const char *encoding, + int options); +XMLPUBFUN xmlTextReader * + xmlReaderForMemory (const char *buffer, + int size, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlTextReader * + xmlReaderForFd (int fd, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlTextReader * + xmlReaderForIO (xmlInputReadCallback ioread, + xmlInputCloseCallback ioclose, + void *ioctx, + const char *URL, + const char *encoding, + int options); + +XMLPUBFUN int + xmlReaderNewWalker (xmlTextReader *reader, + xmlDoc *doc); +XMLPUBFUN int + xmlReaderNewDoc (xmlTextReader *reader, + const xmlChar * cur, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN int + xmlReaderNewFile (xmlTextReader *reader, + const char *filename, + const char *encoding, + int options); +XMLPUBFUN int + xmlReaderNewMemory (xmlTextReader *reader, + const char *buffer, + int size, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN int + xmlReaderNewFd (xmlTextReader *reader, + int fd, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN int + xmlReaderNewIO (xmlTextReader *reader, + xmlInputReadCallback ioread, + xmlInputCloseCallback ioclose, + void *ioctx, + const char *URL, + const char *encoding, + int options); +/* + * Error handling extensions + */ +typedef void * xmlTextReaderLocatorPtr; + +/** + * Signature of an error callback from a reader parser + * + * @param arg the user argument + * @param msg the message + * @param severity the severity of the error + * @param locator a locator indicating where the error occurred + */ +typedef void (*xmlTextReaderErrorFunc)(void *arg, + const char *msg, + xmlParserSeverities severity, + xmlTextReaderLocatorPtr locator); +XMLPUBFUN int + xmlTextReaderLocatorLineNumber(xmlTextReaderLocatorPtr locator); +XMLPUBFUN xmlChar * + xmlTextReaderLocatorBaseURI (xmlTextReaderLocatorPtr locator); +XMLPUBFUN void + xmlTextReaderSetErrorHandler(xmlTextReader *reader, + xmlTextReaderErrorFunc f, + void *arg); +XMLPUBFUN void + xmlTextReaderSetStructuredErrorHandler(xmlTextReader *reader, + xmlStructuredErrorFunc f, + void *arg); +XMLPUBFUN void + xmlTextReaderGetErrorHandler(xmlTextReader *reader, + xmlTextReaderErrorFunc *f, + void **arg); + +XMLPUBFUN void + xmlTextReaderSetResourceLoader(xmlTextReader *reader, + xmlResourceLoader loader, + void *data); + +#endif /* LIBXML_READER_ENABLED */ + +#ifdef __cplusplus +} +#endif + +#endif /* __XML_XMLREADER_H__ */ + diff --git a/libxml2/include/libxml/xmlregexp.h b/libxml2/include/libxml/xmlregexp.h new file mode 100644 index 0000000..7a2a1be --- /dev/null +++ b/libxml2/include/libxml/xmlregexp.h @@ -0,0 +1,113 @@ +/** + * @file + * + * @brief Regular expressions + * + * A regular expression engine used for DTD and XML Schema + * validation. + * + * @copyright See Copyright for the status of this software. + * + * @author Daniel Veillard + */ + +#ifndef __XML_REGEXP_H__ +#define __XML_REGEXP_H__ + +#include +#include +#include + +#ifdef LIBXML_REGEXP_ENABLED + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * A libxml regular expression + */ +typedef struct _xmlRegexp xmlRegexp; +typedef xmlRegexp *xmlRegexpPtr; + +/** + * A libxml progressive regular expression evaluation context + */ +typedef struct _xmlRegExecCtxt xmlRegExecCtxt; +typedef xmlRegExecCtxt *xmlRegExecCtxtPtr; + +/* + * The POSIX like API + */ +XMLPUBFUN xmlRegexp * + xmlRegexpCompile (const xmlChar *regexp); +XMLPUBFUN void xmlRegFreeRegexp(xmlRegexp *regexp); +XMLPUBFUN int + xmlRegexpExec (xmlRegexp *comp, + const xmlChar *value); +XML_DEPRECATED +XMLPUBFUN void + xmlRegexpPrint (FILE *output, + xmlRegexp *regexp); +XMLPUBFUN int + xmlRegexpIsDeterminist(xmlRegexp *comp); + +/** + * Callback function when doing a transition in the automata + * + * @param exec the regular expression context + * @param token the current token string + * @param transdata transition data + * @param inputdata input data + */ +typedef void (*xmlRegExecCallbacks) (xmlRegExecCtxt *exec, + const xmlChar *token, + void *transdata, + void *inputdata); + +/* + * The progressive API + */ +XML_DEPRECATED +XMLPUBFUN xmlRegExecCtxt * + xmlRegNewExecCtxt (xmlRegexp *comp, + xmlRegExecCallbacks callback, + void *data); +XML_DEPRECATED +XMLPUBFUN void + xmlRegFreeExecCtxt (xmlRegExecCtxt *exec); +XML_DEPRECATED +XMLPUBFUN int + xmlRegExecPushString(xmlRegExecCtxt *exec, + const xmlChar *value, + void *data); +XML_DEPRECATED +XMLPUBFUN int + xmlRegExecPushString2(xmlRegExecCtxt *exec, + const xmlChar *value, + const xmlChar *value2, + void *data); + +XML_DEPRECATED +XMLPUBFUN int + xmlRegExecNextValues(xmlRegExecCtxt *exec, + int *nbval, + int *nbneg, + xmlChar **values, + int *terminal); +XML_DEPRECATED +XMLPUBFUN int + xmlRegExecErrInfo (xmlRegExecCtxt *exec, + const xmlChar **string, + int *nbval, + int *nbneg, + xmlChar **values, + int *terminal); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_REGEXP_ENABLED */ + +#endif /*__XML_REGEXP_H__ */ diff --git a/libxml2/include/libxml/xmlsave.h b/libxml2/include/libxml/xmlsave.h new file mode 100644 index 0000000..0487815 --- /dev/null +++ b/libxml2/include/libxml/xmlsave.h @@ -0,0 +1,156 @@ +/** + * @file + * + * @brief XML/HTML serializer + * + * API to save documents or subtrees of documents. + * + * @copyright See Copyright for the status of this software. + * + * @author Daniel Veillard + */ + +#ifndef __XML_XMLSAVE_H__ +#define __XML_XMLSAVE_H__ + +#include +#include +#include +#include + +#ifdef LIBXML_OUTPUT_ENABLED +#ifdef __cplusplus +extern "C" { +#endif + +/** + * This is the set of XML save options that can be passed down + * to the #xmlSaveToFd and similar calls. + */ +typedef enum { + /** + * Format output. This adds newlines and enables indenting + * by default. + */ + XML_SAVE_FORMAT = 1<<0, + /** + * Don't emit an XML declaration. + */ + XML_SAVE_NO_DECL = 1<<1, + /** + * Don't emit empty tags. + */ + XML_SAVE_NO_EMPTY = 1<<2, + /** + * Don't serialize as XHTML. + */ + XML_SAVE_NO_XHTML = 1<<3, + /** + * Always serialize as XHTML. + */ + XML_SAVE_XHTML = 1<<4, + /** + * Serialize HTML documents as XML. + */ + XML_SAVE_AS_XML = 1<<5, + /** + * Serialize XML documents as HTML. + */ + XML_SAVE_AS_HTML = 1<<6, + /** + * Format with non-significant whitespace. + * TODO: What does this mean? + */ + XML_SAVE_WSNONSIG = 1<<7, + /** + * Always emit empty tags. This is the default unless the + * deprecated thread-local setting xmlSaveNoEmptyTags is + * set to 1. + * + * @since 2.14 + */ + XML_SAVE_EMPTY = 1<<8, + /** + * Don't indent output when formatting. + * + * @since 2.14 + */ + XML_SAVE_NO_INDENT = 1<<9, + /** + * Always indent output when formatting. This is the default + * unless the deprecated thread-local setting + * xmlIndentTreeOutput is set to 0. + * + * @since 2.14 + */ + XML_SAVE_INDENT = 1<<10 +} xmlSaveOption; + +/** XML and HTML serializer */ +typedef struct _xmlSaveCtxt xmlSaveCtxt; +typedef xmlSaveCtxt *xmlSaveCtxtPtr; + +XMLPUBFUN xmlSaveCtxt * + xmlSaveToFd (int fd, + const char *encoding, + int options); +XMLPUBFUN xmlSaveCtxt * + xmlSaveToFilename (const char *filename, + const char *encoding, + int options); + +XMLPUBFUN xmlSaveCtxt * + xmlSaveToBuffer (xmlBuffer *buffer, + const char *encoding, + int options); + +XMLPUBFUN xmlSaveCtxt * + xmlSaveToIO (xmlOutputWriteCallback iowrite, + xmlOutputCloseCallback ioclose, + void *ioctx, + const char *encoding, + int options); + +XMLPUBFUN long + xmlSaveDoc (xmlSaveCtxt *ctxt, + xmlDoc *doc); +XMLPUBFUN long + xmlSaveTree (xmlSaveCtxt *ctxt, + xmlNode *node); + +XMLPUBFUN int + xmlSaveFlush (xmlSaveCtxt *ctxt); +XMLPUBFUN int + xmlSaveClose (xmlSaveCtxt *ctxt); +XMLPUBFUN xmlParserErrors + xmlSaveFinish (xmlSaveCtxt *ctxt); +XMLPUBFUN int + xmlSaveSetIndentString (xmlSaveCtxt *ctxt, + const char *indent); +XML_DEPRECATED +XMLPUBFUN int + xmlSaveSetEscape (xmlSaveCtxt *ctxt, + xmlCharEncodingOutputFunc escape); +XML_DEPRECATED +XMLPUBFUN int + xmlSaveSetAttrEscape (xmlSaveCtxt *ctxt, + xmlCharEncodingOutputFunc escape); + +XML_DEPRECATED +XMLPUBFUN int + xmlThrDefIndentTreeOutput(int v); +XML_DEPRECATED +XMLPUBFUN const char * + xmlThrDefTreeIndentString(const char * v); +XML_DEPRECATED +XMLPUBFUN int + xmlThrDefSaveNoEmptyTags(int v); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_OUTPUT_ENABLED */ +#endif /* __XML_XMLSAVE_H__ */ + + diff --git a/libxml2/include/libxml/xmlschemas.h b/libxml2/include/libxml/xmlschemas.h new file mode 100644 index 0000000..abbf51f --- /dev/null +++ b/libxml2/include/libxml/xmlschemas.h @@ -0,0 +1,248 @@ +/** + * @file + * + * @brief incomplete XML Schemas structure implementation + * + * interface to the XML Schemas handling and schema validity + * checking, it is incomplete right now. + * + * @copyright See Copyright for the status of this software. + * + * @author Daniel Veillard + */ + + +#ifndef __XML_SCHEMA_H__ +#define __XML_SCHEMA_H__ + +#include + +#ifdef LIBXML_SCHEMAS_ENABLED + +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * This error codes are obsolete; not used any more. + */ +typedef enum { + XML_SCHEMAS_ERR_OK = 0, + XML_SCHEMAS_ERR_NOROOT = 1, + XML_SCHEMAS_ERR_UNDECLAREDELEM, + XML_SCHEMAS_ERR_NOTTOPLEVEL, + XML_SCHEMAS_ERR_MISSING, + XML_SCHEMAS_ERR_WRONGELEM, + XML_SCHEMAS_ERR_NOTYPE, + XML_SCHEMAS_ERR_NOROLLBACK, + XML_SCHEMAS_ERR_ISABSTRACT, + XML_SCHEMAS_ERR_NOTEMPTY, + XML_SCHEMAS_ERR_ELEMCONT, + XML_SCHEMAS_ERR_HAVEDEFAULT, + XML_SCHEMAS_ERR_NOTNILLABLE, + XML_SCHEMAS_ERR_EXTRACONTENT, + XML_SCHEMAS_ERR_INVALIDATTR, + XML_SCHEMAS_ERR_INVALIDELEM, + XML_SCHEMAS_ERR_NOTDETERMINIST, + XML_SCHEMAS_ERR_CONSTRUCT, + XML_SCHEMAS_ERR_INTERNAL, + XML_SCHEMAS_ERR_NOTSIMPLE, + XML_SCHEMAS_ERR_ATTRUNKNOWN, + XML_SCHEMAS_ERR_ATTRINVALID, + XML_SCHEMAS_ERR_VALUE, + XML_SCHEMAS_ERR_FACET, + XML_SCHEMAS_ERR_, + XML_SCHEMAS_ERR_XXX +} xmlSchemaValidError; + +/* +* ATTENTION: Change xmlSchemaSetValidOptions's check +* for invalid values, if adding to the validation +* options below. +*/ +/** + * This is the set of XML Schema validation options. + */ +typedef enum { + XML_SCHEMA_VAL_VC_I_CREATE = 1<<0 + /* Default/fixed: create an attribute node + * or an element's text node on the instance. + */ +} xmlSchemaValidOption; + +/* + XML_SCHEMA_VAL_XSI_ASSEMBLE = 1<<1, + * assemble schemata using + * xsi:schemaLocation and + * xsi:noNamespaceSchemaLocation +*/ + +/** XML schema */ +typedef struct _xmlSchema xmlSchema; +typedef xmlSchema *xmlSchemaPtr; + +/** + * Signature of an error callback from an XSD validation + * + * @param ctx the validation context + * @param msg the message + * @param ... extra arguments + */ +typedef void (*xmlSchemaValidityErrorFunc) + (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); + +/** + * Signature of a warning callback from an XSD validation + * + * @param ctx the validation context + * @param msg the message + * @param ... extra arguments + */ +typedef void (*xmlSchemaValidityWarningFunc) + (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); + +/** Schema parser context */ +typedef struct _xmlSchemaParserCtxt xmlSchemaParserCtxt; +typedef xmlSchemaParserCtxt *xmlSchemaParserCtxtPtr; + +/** Schema validation context */ +typedef struct _xmlSchemaValidCtxt xmlSchemaValidCtxt; +typedef xmlSchemaValidCtxt *xmlSchemaValidCtxtPtr; + +/** + * A schemas validation locator, a callback called by the validator. + * This is used when file or node information are not available + * to find out what file and line number are affected + * + * @param ctx user provided context + * @param file returned file information + * @param line returned line information + * @returns 0 in case of success and -1 in case of error + */ + +typedef int (*xmlSchemaValidityLocatorFunc) (void *ctx, + const char **file, unsigned long *line); + +/* + * Interfaces for parsing. + */ +XMLPUBFUN xmlSchemaParserCtxt * + xmlSchemaNewParserCtxt (const char *URL); +XMLPUBFUN xmlSchemaParserCtxt * + xmlSchemaNewMemParserCtxt (const char *buffer, + int size); +XMLPUBFUN xmlSchemaParserCtxt * + xmlSchemaNewDocParserCtxt (xmlDoc *doc); +XMLPUBFUN void + xmlSchemaFreeParserCtxt (xmlSchemaParserCtxt *ctxt); +XMLPUBFUN void + xmlSchemaSetParserErrors (xmlSchemaParserCtxt *ctxt, + xmlSchemaValidityErrorFunc err, + xmlSchemaValidityWarningFunc warn, + void *ctx); +XMLPUBFUN void + xmlSchemaSetParserStructuredErrors(xmlSchemaParserCtxt *ctxt, + xmlStructuredErrorFunc serror, + void *ctx); +XMLPUBFUN int + xmlSchemaGetParserErrors (xmlSchemaParserCtxt *ctxt, + xmlSchemaValidityErrorFunc * err, + xmlSchemaValidityWarningFunc * warn, + void **ctx); +XMLPUBFUN void + xmlSchemaSetResourceLoader (xmlSchemaParserCtxt *ctxt, + xmlResourceLoader loader, + void *data); +XMLPUBFUN int + xmlSchemaIsValid (xmlSchemaValidCtxt *ctxt); + +XMLPUBFUN xmlSchema * + xmlSchemaParse (xmlSchemaParserCtxt *ctxt); +XMLPUBFUN void + xmlSchemaFree (xmlSchema *schema); +#ifdef LIBXML_DEBUG_ENABLED +XMLPUBFUN void + xmlSchemaDump (FILE *output, + xmlSchema *schema); +#endif /* LIBXML_DEBUG_ENABLED */ +/* + * Interfaces for validating + */ +XMLPUBFUN void + xmlSchemaSetValidErrors (xmlSchemaValidCtxt *ctxt, + xmlSchemaValidityErrorFunc err, + xmlSchemaValidityWarningFunc warn, + void *ctx); +XMLPUBFUN void + xmlSchemaSetValidStructuredErrors(xmlSchemaValidCtxt *ctxt, + xmlStructuredErrorFunc serror, + void *ctx); +XMLPUBFUN int + xmlSchemaGetValidErrors (xmlSchemaValidCtxt *ctxt, + xmlSchemaValidityErrorFunc *err, + xmlSchemaValidityWarningFunc *warn, + void **ctx); +XMLPUBFUN int + xmlSchemaSetValidOptions (xmlSchemaValidCtxt *ctxt, + int options); +XMLPUBFUN void + xmlSchemaValidateSetFilename(xmlSchemaValidCtxt *vctxt, + const char *filename); +XMLPUBFUN int + xmlSchemaValidCtxtGetOptions(xmlSchemaValidCtxt *ctxt); + +XMLPUBFUN xmlSchemaValidCtxt * + xmlSchemaNewValidCtxt (xmlSchema *schema); +XMLPUBFUN void + xmlSchemaFreeValidCtxt (xmlSchemaValidCtxt *ctxt); +XMLPUBFUN int + xmlSchemaValidateDoc (xmlSchemaValidCtxt *ctxt, + xmlDoc *instance); +XMLPUBFUN int + xmlSchemaValidateOneElement (xmlSchemaValidCtxt *ctxt, + xmlNode *elem); +XMLPUBFUN int + xmlSchemaValidateStream (xmlSchemaValidCtxt *ctxt, + xmlParserInputBuffer *input, + xmlCharEncoding enc, + const xmlSAXHandler *sax, + void *user_data); +XMLPUBFUN int + xmlSchemaValidateFile (xmlSchemaValidCtxt *ctxt, + const char * filename, + int options); + +XMLPUBFUN xmlParserCtxt * + xmlSchemaValidCtxtGetParserCtxt(xmlSchemaValidCtxt *ctxt); + +/** + * Interface to insert Schemas SAX validation in a SAX stream + */ +typedef struct _xmlSchemaSAXPlug xmlSchemaSAXPlugStruct; +typedef xmlSchemaSAXPlugStruct *xmlSchemaSAXPlugPtr; + +XMLPUBFUN xmlSchemaSAXPlugStruct * + xmlSchemaSAXPlug (xmlSchemaValidCtxt *ctxt, + xmlSAXHandler **sax, + void **user_data); +XMLPUBFUN int + xmlSchemaSAXUnplug (xmlSchemaSAXPlugStruct *plug); + + +XMLPUBFUN void + xmlSchemaValidateSetLocator (xmlSchemaValidCtxt *vctxt, + xmlSchemaValidityLocatorFunc f, + void *ctxt); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_SCHEMAS_ENABLED */ +#endif /* __XML_SCHEMA_H__ */ diff --git a/libxml2/include/libxml/xmlschemastypes.h b/libxml2/include/libxml/xmlschemastypes.h new file mode 100644 index 0000000..35b2abe --- /dev/null +++ b/libxml2/include/libxml/xmlschemastypes.h @@ -0,0 +1,158 @@ +/** + * @file + * + * @brief implementation of XML Schema Datatypes + * + * module providing the XML Schema Datatypes implementation + * both definition and validity checking + * + * @copyright See Copyright for the status of this software. + * + * @author Daniel Veillard + */ + + +#ifndef __XML_SCHEMA_TYPES_H__ +#define __XML_SCHEMA_TYPES_H__ + +#include + +#ifdef LIBXML_SCHEMAS_ENABLED + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Schema whitespace value type + */ +typedef enum { + XML_SCHEMA_WHITESPACE_UNKNOWN = 0, + XML_SCHEMA_WHITESPACE_PRESERVE = 1, + XML_SCHEMA_WHITESPACE_REPLACE = 2, + XML_SCHEMA_WHITESPACE_COLLAPSE = 3 +} xmlSchemaWhitespaceValueType; + +XMLPUBFUN int + xmlSchemaInitTypes (void); +XML_DEPRECATED +XMLPUBFUN void + xmlSchemaCleanupTypes (void); +XMLPUBFUN xmlSchemaType * + xmlSchemaGetPredefinedType (const xmlChar *name, + const xmlChar *ns); +XMLPUBFUN int + xmlSchemaValidatePredefinedType (xmlSchemaType *type, + const xmlChar *value, + xmlSchemaVal **val); +XMLPUBFUN int + xmlSchemaValPredefTypeNode (xmlSchemaType *type, + const xmlChar *value, + xmlSchemaVal **val, + xmlNode *node); +XMLPUBFUN int + xmlSchemaValidateFacet (xmlSchemaType *base, + xmlSchemaFacet *facet, + const xmlChar *value, + xmlSchemaVal *val); +XMLPUBFUN int + xmlSchemaValidateFacetWhtsp (xmlSchemaFacet *facet, + xmlSchemaWhitespaceValueType fws, + xmlSchemaValType valType, + const xmlChar *value, + xmlSchemaVal *val, + xmlSchemaWhitespaceValueType ws); +XMLPUBFUN void + xmlSchemaFreeValue (xmlSchemaVal *val); +XMLPUBFUN xmlSchemaFacet * + xmlSchemaNewFacet (void); +XMLPUBFUN int + xmlSchemaCheckFacet (xmlSchemaFacet *facet, + xmlSchemaType *typeDecl, + xmlSchemaParserCtxt *ctxt, + const xmlChar *name); +XMLPUBFUN void + xmlSchemaFreeFacet (xmlSchemaFacet *facet); +XMLPUBFUN int + xmlSchemaCompareValues (xmlSchemaVal *x, + xmlSchemaVal *y); +XMLPUBFUN xmlSchemaType * + xmlSchemaGetBuiltInListSimpleTypeItemType (xmlSchemaType *type); +XMLPUBFUN int + xmlSchemaValidateListSimpleTypeFacet (xmlSchemaFacet *facet, + const xmlChar *value, + unsigned long actualLen, + unsigned long *expectedLen); +XMLPUBFUN xmlSchemaType * + xmlSchemaGetBuiltInType (xmlSchemaValType type); +XMLPUBFUN int + xmlSchemaIsBuiltInTypeFacet (xmlSchemaType *type, + int facetType); +XMLPUBFUN xmlChar * + xmlSchemaCollapseString (const xmlChar *value); +XMLPUBFUN xmlChar * + xmlSchemaWhiteSpaceReplace (const xmlChar *value); +XMLPUBFUN unsigned long + xmlSchemaGetFacetValueAsULong (xmlSchemaFacet *facet); +XMLPUBFUN int + xmlSchemaValidateLengthFacet (xmlSchemaType *type, + xmlSchemaFacet *facet, + const xmlChar *value, + xmlSchemaVal *val, + unsigned long *length); +XMLPUBFUN int + xmlSchemaValidateLengthFacetWhtsp(xmlSchemaFacet *facet, + xmlSchemaValType valType, + const xmlChar *value, + xmlSchemaVal *val, + unsigned long *length, + xmlSchemaWhitespaceValueType ws); +XMLPUBFUN int + xmlSchemaValPredefTypeNodeNoNorm(xmlSchemaType *type, + const xmlChar *value, + xmlSchemaVal **val, + xmlNode *node); +XMLPUBFUN int + xmlSchemaGetCanonValue (xmlSchemaVal *val, + const xmlChar **retValue); +XMLPUBFUN int + xmlSchemaGetCanonValueWhtsp (xmlSchemaVal *val, + const xmlChar **retValue, + xmlSchemaWhitespaceValueType ws); +XMLPUBFUN int + xmlSchemaValueAppend (xmlSchemaVal *prev, + xmlSchemaVal *cur); +XMLPUBFUN xmlSchemaVal * + xmlSchemaValueGetNext (xmlSchemaVal *cur); +XMLPUBFUN const xmlChar * + xmlSchemaValueGetAsString (xmlSchemaVal *val); +XMLPUBFUN int + xmlSchemaValueGetAsBoolean (xmlSchemaVal *val); +XMLPUBFUN xmlSchemaVal * + xmlSchemaNewStringValue (xmlSchemaValType type, + const xmlChar *value); +XMLPUBFUN xmlSchemaVal * + xmlSchemaNewNOTATIONValue (const xmlChar *name, + const xmlChar *ns); +XMLPUBFUN xmlSchemaVal * + xmlSchemaNewQNameValue (const xmlChar *namespaceName, + const xmlChar *localName); +XMLPUBFUN int + xmlSchemaCompareValuesWhtsp (xmlSchemaVal *x, + xmlSchemaWhitespaceValueType xws, + xmlSchemaVal *y, + xmlSchemaWhitespaceValueType yws); +XMLPUBFUN xmlSchemaVal * + xmlSchemaCopyValue (xmlSchemaVal *val); +XMLPUBFUN xmlSchemaValType + xmlSchemaGetValType (xmlSchemaVal *val); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_SCHEMAS_ENABLED */ +#endif /* __XML_SCHEMA_TYPES_H__ */ diff --git a/libxml2/include/libxml/xmlstring.h b/libxml2/include/libxml/xmlstring.h new file mode 100644 index 0000000..d8e8c33 --- /dev/null +++ b/libxml2/include/libxml/xmlstring.h @@ -0,0 +1,139 @@ +/** + * @file + * + * @brief set of routines to process strings + * + * type and interfaces needed for the internal string handling + * of the library, especially UTF8 processing. + * + * @copyright See Copyright for the status of this software. + * + * @author Daniel Veillard + */ + +#ifndef __XML_STRING_H__ +#define __XML_STRING_H__ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * This is a basic byte in an UTF-8 encoded string. + * It's unsigned allowing to pinpoint case where char * are assigned + * to xmlChar * (possibly making serialization back impossible). + */ +typedef unsigned char xmlChar; + +/** + * Macro to cast a string to an xmlChar * when one know its safe. + */ +#define BAD_CAST (xmlChar *) + +/* + * xmlChar handling + */ +XMLPUBFUN xmlChar * + xmlStrdup (const xmlChar *cur); +XMLPUBFUN xmlChar * + xmlStrndup (const xmlChar *cur, + int len); +XMLPUBFUN xmlChar * + xmlCharStrndup (const char *cur, + int len); +XMLPUBFUN xmlChar * + xmlCharStrdup (const char *cur); +XMLPUBFUN xmlChar * + xmlStrsub (const xmlChar *str, + int start, + int len); +XMLPUBFUN const xmlChar * + xmlStrchr (const xmlChar *str, + xmlChar val); +XMLPUBFUN const xmlChar * + xmlStrstr (const xmlChar *str, + const xmlChar *val); +XMLPUBFUN const xmlChar * + xmlStrcasestr (const xmlChar *str, + const xmlChar *val); +XMLPUBFUN int + xmlStrcmp (const xmlChar *str1, + const xmlChar *str2); +XMLPUBFUN int + xmlStrncmp (const xmlChar *str1, + const xmlChar *str2, + int len); +XMLPUBFUN int + xmlStrcasecmp (const xmlChar *str1, + const xmlChar *str2); +XMLPUBFUN int + xmlStrncasecmp (const xmlChar *str1, + const xmlChar *str2, + int len); +XMLPUBFUN int + xmlStrEqual (const xmlChar *str1, + const xmlChar *str2); +XMLPUBFUN int + xmlStrQEqual (const xmlChar *pref, + const xmlChar *name, + const xmlChar *str); +XMLPUBFUN int + xmlStrlen (const xmlChar *str); +XMLPUBFUN xmlChar * + xmlStrcat (xmlChar *cur, + const xmlChar *add); +XMLPUBFUN xmlChar * + xmlStrncat (xmlChar *cur, + const xmlChar *add, + int len); +XMLPUBFUN xmlChar * + xmlStrncatNew (const xmlChar *str1, + const xmlChar *str2, + int len); +XMLPUBFUN int + xmlStrPrintf (xmlChar *buf, + int len, + const char *msg, + ...) LIBXML_ATTR_FORMAT(3,4); +XMLPUBFUN int + xmlStrVPrintf (xmlChar *buf, + int len, + const char *msg, + va_list ap) LIBXML_ATTR_FORMAT(3,0); + +XMLPUBFUN int + xmlGetUTF8Char (const unsigned char *utf, + int *len); +XMLPUBFUN int + xmlCheckUTF8 (const unsigned char *utf); +XMLPUBFUN int + xmlUTF8Strsize (const xmlChar *utf, + int len); +XMLPUBFUN xmlChar * + xmlUTF8Strndup (const xmlChar *utf, + int len); +XMLPUBFUN const xmlChar * + xmlUTF8Strpos (const xmlChar *utf, + int pos); +XMLPUBFUN int + xmlUTF8Strloc (const xmlChar *utf, + const xmlChar *utfchar); +XMLPUBFUN xmlChar * + xmlUTF8Strsub (const xmlChar *utf, + int start, + int len); +XMLPUBFUN int + xmlUTF8Strlen (const xmlChar *utf); +XMLPUBFUN int + xmlUTF8Size (const xmlChar *utf); +XMLPUBFUN int + xmlUTF8Charcmp (const xmlChar *utf1, + const xmlChar *utf2); + +#ifdef __cplusplus +} +#endif +#endif /* __XML_STRING_H__ */ diff --git a/libxml2/include/libxml/xmlunicode.h b/libxml2/include/libxml/xmlunicode.h new file mode 100644 index 0000000..db2911b --- /dev/null +++ b/libxml2/include/libxml/xmlunicode.h @@ -0,0 +1,18 @@ +/** + * @file + * + * @brief Unicode character APIs + * + * API for the Unicode character APIs + * + * Deprecated, don't use. + */ + +#ifndef __XML_UNICODE_H__ +#define __XML_UNICODE_H__ + +#ifdef __GNUC__ + #warning "libxml/xmlunicode.h is deprecated" +#endif + +#endif /* __XML_UNICODE_H__ */ diff --git a/libxml2/include/libxml/xmlversion.h.in b/libxml2/include/libxml/xmlversion.h.in new file mode 100644 index 0000000..f7ed8a9 --- /dev/null +++ b/libxml2/include/libxml/xmlversion.h.in @@ -0,0 +1,262 @@ +/** + * @file + * + * @brief compile-time version information + * + * compile-time version information for the XML library + * + * @copyright See Copyright for the status of this software. + * + * @author Daniel Veillard + */ + +#ifndef __XML_VERSION_H__ +#define __XML_VERSION_H__ + +/** + * the version string like "1.2.3" + */ +#define LIBXML_DOTTED_VERSION "@VERSION@" + +/** + * the version number: 1.2.3 value is 10203 + */ +#define LIBXML_VERSION @LIBXML_VERSION_NUMBER@ + +/** + * the version number string, 1.2.3 value is "10203" + */ +#define LIBXML_VERSION_STRING "@LIBXML_VERSION_NUMBER@" + +/** + * extra version information, used to show a git commit description + */ +#define LIBXML_VERSION_EXTRA "@LIBXML_VERSION_EXTRA@" + +/** + * Macro to check that the libxml version in use is compatible with + * the version the software has been compiled against + */ +#define LIBXML_TEST_VERSION xmlCheckVersion(@LIBXML_VERSION_NUMBER@); + +#if @WITH_THREADS@ +/** + * Whether the thread support is configured in + */ +#define LIBXML_THREAD_ENABLED +#endif + +#if @WITH_THREAD_ALLOC@ +/** + * Whether the allocation hooks are per-thread + */ +#define LIBXML_THREAD_ALLOC_ENABLED +#endif + +/** + * Always enabled since 2.14.0 + */ +#define LIBXML_TREE_ENABLED + +#if @WITH_OUTPUT@ +/** + * Whether the serialization/saving support is configured in + */ +#define LIBXML_OUTPUT_ENABLED +#endif + +#if @WITH_PUSH@ +/** + * Whether the push parsing interfaces are configured in + */ +#define LIBXML_PUSH_ENABLED +#endif + +#if @WITH_READER@ +/** + * Whether the xmlReader parsing interface is configured in + */ +#define LIBXML_READER_ENABLED +#endif + +#if @WITH_PATTERN@ +/** + * Whether the xmlPattern node selection interface is configured in + */ +#define LIBXML_PATTERN_ENABLED +#endif + +#if @WITH_WRITER@ +/** + * Whether the xmlWriter saving interface is configured in + */ +#define LIBXML_WRITER_ENABLED +#endif + +#if @WITH_SAX1@ +/** + * Whether the older SAX1 interface is configured in + */ +#define LIBXML_SAX1_ENABLED +#endif + +#if @WITH_HTTP@ +/** + * HTTP support was removed in 2.15 + */ +#define LIBXML_HTTP_STUBS_ENABLED +#endif + +#if @WITH_VALID@ +/** + * Whether the DTD validation support is configured in + */ +#define LIBXML_VALID_ENABLED +#endif + +#if @WITH_HTML@ +/** + * Whether the HTML support is configured in + */ +#define LIBXML_HTML_ENABLED +#endif + +/* + * Removed in 2.14 + */ +#undef LIBXML_LEGACY_ENABLED + +#if @WITH_C14N@ +/** + * Whether the Canonicalization support is configured in + */ +#define LIBXML_C14N_ENABLED +#endif + +#if @WITH_CATALOG@ +/** + * Whether the Catalog support is configured in + */ +#define LIBXML_CATALOG_ENABLED +#define LIBXML_SGML_CATALOG_ENABLED +#endif + +#if @WITH_WINPATH@ +/** + * Whether the Windows path support is configured in + */ +#define LIBXML_WINPATH_ENABLED +#endif + +#if @WITH_XPATH@ +/** + * Whether XPath is configured in + */ +#define LIBXML_XPATH_ENABLED +#endif + +#if @WITH_XPTR@ +/** + * Whether XPointer is configured in + */ +#define LIBXML_XPTR_ENABLED +#endif + +#if @WITH_XINCLUDE@ +/** + * Whether XInclude is configured in + */ +#define LIBXML_XINCLUDE_ENABLED +#endif + +#if @WITH_ICONV@ +/** + * Whether iconv support is available + */ +#define LIBXML_ICONV_ENABLED +#endif + +#if @WITH_ICU@ +/** + * Whether icu support is available + */ +#define LIBXML_ICU_ENABLED +#endif + +#if @WITH_ISO8859X@ +/** + * Whether ISO-8859-* support is made available in case iconv is not + */ +#define LIBXML_ISO8859X_ENABLED +#endif + +#if @WITH_DEBUG@ +/** + * Whether Debugging module is configured in + */ +#define LIBXML_DEBUG_ENABLED +#endif + +/* + * Removed in 2.14 + */ +#undef LIBXML_UNICODE_ENABLED + +#if @WITH_REGEXPS@ +/** + * Whether the regular expressions interfaces are compiled in + */ +#define LIBXML_REGEXP_ENABLED +#endif + +#if @WITH_REGEXPS@ +/** + * Whether the automata interfaces are compiled in + */ +#define LIBXML_AUTOMATA_ENABLED +#endif + +#if @WITH_RELAXNG@ +/** + * Whether the RelaxNG validation interfaces are compiled in + */ +#define LIBXML_RELAXNG_ENABLED +#endif + +#if @WITH_SCHEMAS@ +/** + * Whether the Schemas validation interfaces are compiled in + */ +#define LIBXML_SCHEMAS_ENABLED +#endif + +#if @WITH_SCHEMATRON@ +/** + * Whether the Schematron validation interfaces are compiled in + */ +#define LIBXML_SCHEMATRON_ENABLED +#endif + +#if @WITH_MODULES@ +/** + * Whether the module interfaces are compiled in + */ +#define LIBXML_MODULES_ENABLED +/** + * the string suffix used by dynamic modules (usually shared libraries) + */ +#define LIBXML_MODULE_EXTENSION "@MODULE_EXTENSION@" +#endif + +#if @WITH_ZLIB@ +/** + * Whether the Zlib support is compiled in + */ +#define LIBXML_ZLIB_ENABLED +#endif + +#include + +#endif + + diff --git a/libxml2/include/libxml/xmlwriter.h b/libxml2/include/libxml/xmlwriter.h new file mode 100644 index 0000000..d48d0be --- /dev/null +++ b/libxml2/include/libxml/xmlwriter.h @@ -0,0 +1,489 @@ +/** + * @file + * + * @brief text writing API for XML + * + * text writing API for XML + * + * @copyright See Copyright for the status of this software. + * + * @author Alfred Mickautsch + */ + +#ifndef __XML_XMLWRITER_H__ +#define __XML_XMLWRITER_H__ + +#include + +#ifdef LIBXML_WRITER_ENABLED + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + + /** Writer object */ + typedef struct _xmlTextWriter xmlTextWriter; + typedef xmlTextWriter *xmlTextWriterPtr; + +/* + * Constructors & Destructor + */ + XMLPUBFUN xmlTextWriter * + xmlNewTextWriter(xmlOutputBuffer *out); + XMLPUBFUN xmlTextWriter * + xmlNewTextWriterFilename(const char *uri, int compression); + XMLPUBFUN xmlTextWriter * + xmlNewTextWriterMemory(xmlBuffer *buf, int compression); + XMLPUBFUN xmlTextWriter * + xmlNewTextWriterPushParser(xmlParserCtxt *ctxt, int compression); + XMLPUBFUN xmlTextWriter * + xmlNewTextWriterDoc(xmlDoc ** doc, int compression); + XMLPUBFUN xmlTextWriter * + xmlNewTextWriterTree(xmlDoc *doc, xmlNode *node, + int compression); + XMLPUBFUN void xmlFreeTextWriter(xmlTextWriter *writer); + +/* + * Functions + */ + + +/* + * Document + */ + XMLPUBFUN int + xmlTextWriterStartDocument(xmlTextWriter *writer, + const char *version, + const char *encoding, + const char *standalone); + XMLPUBFUN int xmlTextWriterEndDocument(xmlTextWriter * + writer); + +/* + * Comments + */ + XMLPUBFUN int xmlTextWriterStartComment(xmlTextWriter * + writer); + XMLPUBFUN int xmlTextWriterEndComment(xmlTextWriter *writer); + XMLPUBFUN int + xmlTextWriterWriteFormatComment(xmlTextWriter *writer, + const char *format, ...) + LIBXML_ATTR_FORMAT(2,3); + XMLPUBFUN int + xmlTextWriterWriteVFormatComment(xmlTextWriter *writer, + const char *format, + va_list argptr) + LIBXML_ATTR_FORMAT(2,0); + XMLPUBFUN int xmlTextWriterWriteComment(xmlTextWriter * + writer, + const xmlChar * + content); + +/* + * Elements + */ + XMLPUBFUN int + xmlTextWriterStartElement(xmlTextWriter *writer, + const xmlChar * name); + XMLPUBFUN int xmlTextWriterStartElementNS(xmlTextWriter * + writer, + const xmlChar * + prefix, + const xmlChar * name, + const xmlChar * + namespaceURI); + XMLPUBFUN int xmlTextWriterEndElement(xmlTextWriter *writer); + XMLPUBFUN int xmlTextWriterFullEndElement(xmlTextWriter * + writer); + +/* + * Elements conveniency functions + */ + XMLPUBFUN int + xmlTextWriterWriteFormatElement(xmlTextWriter *writer, + const xmlChar * name, + const char *format, ...) + LIBXML_ATTR_FORMAT(3,4); + XMLPUBFUN int + xmlTextWriterWriteVFormatElement(xmlTextWriter *writer, + const xmlChar * name, + const char *format, + va_list argptr) + LIBXML_ATTR_FORMAT(3,0); + XMLPUBFUN int xmlTextWriterWriteElement(xmlTextWriter * + writer, + const xmlChar * name, + const xmlChar * + content); + XMLPUBFUN int + xmlTextWriterWriteFormatElementNS(xmlTextWriter *writer, + const xmlChar * prefix, + const xmlChar * name, + const xmlChar * namespaceURI, + const char *format, ...) + LIBXML_ATTR_FORMAT(5,6); + XMLPUBFUN int + xmlTextWriterWriteVFormatElementNS(xmlTextWriter *writer, + const xmlChar * prefix, + const xmlChar * name, + const xmlChar * namespaceURI, + const char *format, + va_list argptr) + LIBXML_ATTR_FORMAT(5,0); + XMLPUBFUN int xmlTextWriterWriteElementNS(xmlTextWriter * + writer, + const xmlChar * + prefix, + const xmlChar * name, + const xmlChar * + namespaceURI, + const xmlChar * + content); + +/* + * Text + */ + XMLPUBFUN int + xmlTextWriterWriteFormatRaw(xmlTextWriter *writer, + const char *format, ...) + LIBXML_ATTR_FORMAT(2,3); + XMLPUBFUN int + xmlTextWriterWriteVFormatRaw(xmlTextWriter *writer, + const char *format, va_list argptr) + LIBXML_ATTR_FORMAT(2,0); + XMLPUBFUN int + xmlTextWriterWriteRawLen(xmlTextWriter *writer, + const xmlChar * content, int len); + XMLPUBFUN int + xmlTextWriterWriteRaw(xmlTextWriter *writer, + const xmlChar * content); + XMLPUBFUN int xmlTextWriterWriteFormatString(xmlTextWriter * + writer, + const char + *format, ...) + LIBXML_ATTR_FORMAT(2,3); + XMLPUBFUN int xmlTextWriterWriteVFormatString(xmlTextWriter * + writer, + const char + *format, + va_list argptr) + LIBXML_ATTR_FORMAT(2,0); + XMLPUBFUN int xmlTextWriterWriteString(xmlTextWriter *writer, + const xmlChar * + content); + XMLPUBFUN int xmlTextWriterWriteBase64(xmlTextWriter *writer, + const char *data, + int start, int len); + XMLPUBFUN int xmlTextWriterWriteBinHex(xmlTextWriter *writer, + const char *data, + int start, int len); + +/* + * Attributes + */ + XMLPUBFUN int + xmlTextWriterStartAttribute(xmlTextWriter *writer, + const xmlChar * name); + XMLPUBFUN int xmlTextWriterStartAttributeNS(xmlTextWriter * + writer, + const xmlChar * + prefix, + const xmlChar * + name, + const xmlChar * + namespaceURI); + XMLPUBFUN int xmlTextWriterEndAttribute(xmlTextWriter * + writer); + +/* + * Attributes conveniency functions + */ + XMLPUBFUN int + xmlTextWriterWriteFormatAttribute(xmlTextWriter *writer, + const xmlChar * name, + const char *format, ...) + LIBXML_ATTR_FORMAT(3,4); + XMLPUBFUN int + xmlTextWriterWriteVFormatAttribute(xmlTextWriter *writer, + const xmlChar * name, + const char *format, + va_list argptr) + LIBXML_ATTR_FORMAT(3,0); + XMLPUBFUN int xmlTextWriterWriteAttribute(xmlTextWriter * + writer, + const xmlChar * name, + const xmlChar * + content); + XMLPUBFUN int + xmlTextWriterWriteFormatAttributeNS(xmlTextWriter *writer, + const xmlChar * prefix, + const xmlChar * name, + const xmlChar * namespaceURI, + const char *format, ...) + LIBXML_ATTR_FORMAT(5,6); + XMLPUBFUN int + xmlTextWriterWriteVFormatAttributeNS(xmlTextWriter *writer, + const xmlChar * prefix, + const xmlChar * name, + const xmlChar * namespaceURI, + const char *format, + va_list argptr) + LIBXML_ATTR_FORMAT(5,0); + XMLPUBFUN int xmlTextWriterWriteAttributeNS(xmlTextWriter * + writer, + const xmlChar * + prefix, + const xmlChar * + name, + const xmlChar * + namespaceURI, + const xmlChar * + content); + +/* + * PI's + */ + XMLPUBFUN int + xmlTextWriterStartPI(xmlTextWriter *writer, + const xmlChar * target); + XMLPUBFUN int xmlTextWriterEndPI(xmlTextWriter *writer); + +/* + * PI conveniency functions + */ + XMLPUBFUN int + xmlTextWriterWriteFormatPI(xmlTextWriter *writer, + const xmlChar * target, + const char *format, ...) + LIBXML_ATTR_FORMAT(3,4); + XMLPUBFUN int + xmlTextWriterWriteVFormatPI(xmlTextWriter *writer, + const xmlChar * target, + const char *format, va_list argptr) + LIBXML_ATTR_FORMAT(3,0); + XMLPUBFUN int + xmlTextWriterWritePI(xmlTextWriter *writer, + const xmlChar * target, + const xmlChar * content); + +/** + * This macro maps to #xmlTextWriterWritePI + */ +#define xmlTextWriterWriteProcessingInstruction xmlTextWriterWritePI + +/* + * CDATA + */ + XMLPUBFUN int xmlTextWriterStartCDATA(xmlTextWriter *writer); + XMLPUBFUN int xmlTextWriterEndCDATA(xmlTextWriter *writer); + +/* + * CDATA conveniency functions + */ + XMLPUBFUN int + xmlTextWriterWriteFormatCDATA(xmlTextWriter *writer, + const char *format, ...) + LIBXML_ATTR_FORMAT(2,3); + XMLPUBFUN int + xmlTextWriterWriteVFormatCDATA(xmlTextWriter *writer, + const char *format, va_list argptr) + LIBXML_ATTR_FORMAT(2,0); + XMLPUBFUN int + xmlTextWriterWriteCDATA(xmlTextWriter *writer, + const xmlChar * content); + +/* + * DTD + */ + XMLPUBFUN int + xmlTextWriterStartDTD(xmlTextWriter *writer, + const xmlChar * name, + const xmlChar * pubid, + const xmlChar * sysid); + XMLPUBFUN int xmlTextWriterEndDTD(xmlTextWriter *writer); + +/* + * DTD conveniency functions + */ + XMLPUBFUN int + xmlTextWriterWriteFormatDTD(xmlTextWriter *writer, + const xmlChar * name, + const xmlChar * pubid, + const xmlChar * sysid, + const char *format, ...) + LIBXML_ATTR_FORMAT(5,6); + XMLPUBFUN int + xmlTextWriterWriteVFormatDTD(xmlTextWriter *writer, + const xmlChar * name, + const xmlChar * pubid, + const xmlChar * sysid, + const char *format, va_list argptr) + LIBXML_ATTR_FORMAT(5,0); + XMLPUBFUN int + xmlTextWriterWriteDTD(xmlTextWriter *writer, + const xmlChar * name, + const xmlChar * pubid, + const xmlChar * sysid, + const xmlChar * subset); + +/** + * this macro maps to #xmlTextWriterWriteDTD + */ +#define xmlTextWriterWriteDocType xmlTextWriterWriteDTD + +/* + * DTD element definition + */ + XMLPUBFUN int + xmlTextWriterStartDTDElement(xmlTextWriter *writer, + const xmlChar * name); + XMLPUBFUN int xmlTextWriterEndDTDElement(xmlTextWriter * + writer); + +/* + * DTD element definition conveniency functions + */ + XMLPUBFUN int + xmlTextWriterWriteFormatDTDElement(xmlTextWriter *writer, + const xmlChar * name, + const char *format, ...) + LIBXML_ATTR_FORMAT(3,4); + XMLPUBFUN int + xmlTextWriterWriteVFormatDTDElement(xmlTextWriter *writer, + const xmlChar * name, + const char *format, + va_list argptr) + LIBXML_ATTR_FORMAT(3,0); + XMLPUBFUN int xmlTextWriterWriteDTDElement(xmlTextWriter * + writer, + const xmlChar * + name, + const xmlChar * + content); + +/* + * DTD attribute list definition + */ + XMLPUBFUN int + xmlTextWriterStartDTDAttlist(xmlTextWriter *writer, + const xmlChar * name); + XMLPUBFUN int xmlTextWriterEndDTDAttlist(xmlTextWriter * + writer); + +/* + * DTD attribute list definition conveniency functions + */ + XMLPUBFUN int + xmlTextWriterWriteFormatDTDAttlist(xmlTextWriter *writer, + const xmlChar * name, + const char *format, ...) + LIBXML_ATTR_FORMAT(3,4); + XMLPUBFUN int + xmlTextWriterWriteVFormatDTDAttlist(xmlTextWriter *writer, + const xmlChar * name, + const char *format, + va_list argptr) + LIBXML_ATTR_FORMAT(3,0); + XMLPUBFUN int xmlTextWriterWriteDTDAttlist(xmlTextWriter * + writer, + const xmlChar * + name, + const xmlChar * + content); + +/* + * DTD entity definition + */ + XMLPUBFUN int + xmlTextWriterStartDTDEntity(xmlTextWriter *writer, + int pe, const xmlChar * name); + XMLPUBFUN int xmlTextWriterEndDTDEntity(xmlTextWriter * + writer); + +/* + * DTD entity definition conveniency functions + */ + XMLPUBFUN int + xmlTextWriterWriteFormatDTDInternalEntity(xmlTextWriter *writer, + int pe, + const xmlChar * name, + const char *format, ...) + LIBXML_ATTR_FORMAT(4,5); + XMLPUBFUN int + xmlTextWriterWriteVFormatDTDInternalEntity(xmlTextWriter *writer, + int pe, + const xmlChar * name, + const char *format, + va_list argptr) + LIBXML_ATTR_FORMAT(4,0); + XMLPUBFUN int + xmlTextWriterWriteDTDInternalEntity(xmlTextWriter *writer, + int pe, + const xmlChar * name, + const xmlChar * content); + XMLPUBFUN int + xmlTextWriterWriteDTDExternalEntity(xmlTextWriter *writer, + int pe, + const xmlChar * name, + const xmlChar * pubid, + const xmlChar * sysid, + const xmlChar * ndataid); + XMLPUBFUN int + xmlTextWriterWriteDTDExternalEntityContents(xmlTextWriter * + writer, + const xmlChar * pubid, + const xmlChar * sysid, + const xmlChar * + ndataid); + XMLPUBFUN int xmlTextWriterWriteDTDEntity(xmlTextWriter * + writer, int pe, + const xmlChar * name, + const xmlChar * + pubid, + const xmlChar * + sysid, + const xmlChar * + ndataid, + const xmlChar * + content); + +/* + * DTD notation definition + */ + XMLPUBFUN int + xmlTextWriterWriteDTDNotation(xmlTextWriter *writer, + const xmlChar * name, + const xmlChar * pubid, + const xmlChar * sysid); + +/* + * Indentation + */ + XMLPUBFUN int + xmlTextWriterSetIndent(xmlTextWriter *writer, int indent); + XMLPUBFUN int + xmlTextWriterSetIndentString(xmlTextWriter *writer, + const xmlChar * str); + + XMLPUBFUN int + xmlTextWriterSetQuoteChar(xmlTextWriter *writer, xmlChar quotechar); + + +/* + * misc + */ + XMLPUBFUN int xmlTextWriterFlush(xmlTextWriter *writer); + XMLPUBFUN int xmlTextWriterClose(xmlTextWriter *writer); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_WRITER_ENABLED */ + +#endif /* __XML_XMLWRITER_H__ */ diff --git a/libxml2/include/libxml/xpath.h b/libxml2/include/libxml/xpath.h new file mode 100644 index 0000000..0545411 --- /dev/null +++ b/libxml2/include/libxml/xpath.h @@ -0,0 +1,572 @@ +/** + * @file + * + * @brief XML Path Language implementation + * + * API for the XML Path Language implementation + * + * XML Path Language implementation + * XPath is a language for addressing parts of an XML document, + * designed to be used by both XSLT and XPointer + * http://www.w3.org/TR/xpath + * + * Implements + * W3C Recommendation 16 November 1999 + * http://www.w3.org/TR/1999/REC-xpath-19991116 + * + * @copyright See Copyright for the status of this software. + * + * @author Daniel Veillard + */ + +#ifndef __XML_XPATH_H__ +#define __XML_XPATH_H__ + +#include + +#ifdef LIBXML_XPATH_ENABLED + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** XPath context */ +typedef struct _xmlXPathContext xmlXPathContext; +typedef xmlXPathContext *xmlXPathContextPtr; +/** XPath parser and evaluation context */ +typedef struct _xmlXPathParserContext xmlXPathParserContext; +typedef xmlXPathParserContext *xmlXPathParserContextPtr; + +/** + * The set of XPath error codes. + */ + +typedef enum { + XPATH_EXPRESSION_OK = 0, + XPATH_NUMBER_ERROR, + XPATH_UNFINISHED_LITERAL_ERROR, + XPATH_START_LITERAL_ERROR, + XPATH_VARIABLE_REF_ERROR, + XPATH_UNDEF_VARIABLE_ERROR, + XPATH_INVALID_PREDICATE_ERROR, + XPATH_EXPR_ERROR, + XPATH_UNCLOSED_ERROR, + XPATH_UNKNOWN_FUNC_ERROR, + XPATH_INVALID_OPERAND, + XPATH_INVALID_TYPE, + XPATH_INVALID_ARITY, + XPATH_INVALID_CTXT_SIZE, + XPATH_INVALID_CTXT_POSITION, + XPATH_MEMORY_ERROR, + XPTR_SYNTAX_ERROR, + XPTR_RESOURCE_ERROR, + XPTR_SUB_RESOURCE_ERROR, + XPATH_UNDEF_PREFIX_ERROR, + XPATH_ENCODING_ERROR, + XPATH_INVALID_CHAR_ERROR, + XPATH_INVALID_CTXT, + XPATH_STACK_ERROR, + XPATH_FORBID_VARIABLE_ERROR, + XPATH_OP_LIMIT_EXCEEDED, + XPATH_RECURSION_LIMIT_EXCEEDED +} xmlXPathError; + +/** XPath node set */ +typedef struct _xmlNodeSet xmlNodeSet; +typedef xmlNodeSet *xmlNodeSetPtr; +/** + * A node-set (an unordered collection of nodes without duplicates). + */ +struct _xmlNodeSet { + /** number of nodes in the set */ + int nodeNr; + /** size of the array as allocated */ + int nodeMax; + /** array of nodes in no particular order */ + xmlNode **nodeTab; +}; + +/** + * An expression is evaluated to yield an object, which + * has one of the following four basic types: + * + * - node-set + * - boolean + * - number + * - string + */ +typedef enum { + XPATH_UNDEFINED = 0, + XPATH_NODESET = 1, + XPATH_BOOLEAN = 2, + XPATH_NUMBER = 3, + XPATH_STRING = 4, + XPATH_USERS = 8, + XPATH_XSLT_TREE = 9 /* An XSLT value tree, non modifiable */ +} xmlXPathObjectType; + +/** @cond IGNORE */ +#define XPATH_POINT 5 +#define XPATH_RANGE 6 +#define XPATH_LOCATIONSET 7 +/** @endcond */ + +/** XPath object */ +typedef struct _xmlXPathObject xmlXPathObject; +typedef xmlXPathObject *xmlXPathObjectPtr; +/** + * An XPath object + */ +struct _xmlXPathObject { + /** object type */ + xmlXPathObjectType type; + /** node set */ + xmlNodeSet *nodesetval; + /** boolean */ + int boolval; + /** number */ + double floatval; + /** string */ + xmlChar *stringval; + void *user; + int index; + void *user2; + int index2; +}; + +/** @cond ignore */ + +/* + * unused + */ +typedef int (*xmlXPathConvertFunc) (xmlXPathObject *obj, int type); +typedef struct _xmlXPathType xmlXPathType; +typedef xmlXPathType *xmlXPathTypePtr; +struct _xmlXPathType { + const xmlChar *name; /* the type name */ + xmlXPathConvertFunc func; /* the conversion function */ +}; + +/* + * unused + */ +typedef struct _xmlXPathVariable xmlXPathVariable; +typedef xmlXPathVariable *xmlXPathVariablePtr; +struct _xmlXPathVariable { + const xmlChar *name; /* the variable name */ + xmlXPathObject *value; /* the value */ +}; + +/* + * unused + */ +typedef void (*xmlXPathEvalFunc)(xmlXPathParserContext *ctxt, + int nargs); +typedef struct _xmlXPathFunct xmlXPathFunct; +typedef xmlXPathFunct *xmlXPathFuncPtr; +struct _xmlXPathFunct { + const xmlChar *name; /* the function name */ + xmlXPathEvalFunc func; /* the evaluation function */ +}; + +/* + * unused + */ +typedef xmlXPathObject *(*xmlXPathAxisFunc) (xmlXPathParserContext *ctxt, + xmlXPathObject *cur); +typedef struct _xmlXPathAxis xmlXPathAxis; +typedef xmlXPathAxis *xmlXPathAxisPtr; +struct _xmlXPathAxis { + const xmlChar *name; /* the axis name */ + xmlXPathAxisFunc func; /* the search function */ +}; + +/** @endcond */ + +/** + * An XPath function. + * The arguments (if any) are popped out from the context stack + * and the result is pushed on the stack. + * + * @param ctxt the XPath interprestation context + * @param nargs the number of arguments + */ + +typedef void (*xmlXPathFunction) (xmlXPathParserContext *ctxt, int nargs); + +/* + * Function and Variable Lookup. + */ + +/** + * Prototype for callbacks used to plug variable lookup in the XPath + * engine. + * + * @param ctxt an XPath context + * @param name name of the variable + * @param ns_uri the namespace name hosting this variable + * @returns the XPath object value or NULL if not found. + */ +typedef xmlXPathObject *(*xmlXPathVariableLookupFunc) (void *ctxt, + const xmlChar *name, + const xmlChar *ns_uri); + +/** + * Prototype for callbacks used to plug function lookup in the XPath + * engine. + * + * @param ctxt an XPath context + * @param name name of the function + * @param ns_uri the namespace name hosting this function + * @returns the XPath function or NULL if not found. + */ +typedef xmlXPathFunction (*xmlXPathFuncLookupFunc) (void *ctxt, + const xmlChar *name, + const xmlChar *ns_uri); + +/** + * Flags for XPath engine compilation and runtime + */ +/** + * check namespaces at compilation + */ +#define XML_XPATH_CHECKNS (1<<0) +/** + * forbid variables in expression + */ +#define XML_XPATH_NOVAR (1<<1) + +/** + * Expression evaluation occurs with respect to a context. + * he context consists of: + * - a node (the context node) + * - a node list (the context node list) + * - a set of variable bindings + * - a function library + * - the set of namespace declarations in scope for the expression + * Following the switch to hash tables, this need to be trimmed up at + * the next binary incompatible release. + * The node may be modified when the context is passed to libxml2 + * for an XPath evaluation so you may need to initialize it again + * before the next call. + */ +struct _xmlXPathContext { + /** The current document */ + xmlDoc *doc; + /** The current node */ + xmlNode *node; + + /* unused (hash table) */ + int nb_variables_unused; + /* unused (hash table) */ + int max_variables_unused; + /* Hash table of defined variables */ + xmlHashTable *varHash; + + /* number of defined types */ + int nb_types; + /* max number of types */ + int max_types; + /* Array of defined types */ + xmlXPathType *types; + + /* unused (hash table) */ + int nb_funcs_unused; + /* unused (hash table) */ + int max_funcs_unused; + /* Hash table of defined funcs */ + xmlHashTable *funcHash; + + /* number of defined axis */ + int nb_axis; + /* max number of axis */ + int max_axis; + /* Array of defined axis */ + xmlXPathAxis *axis; + + /* Array of namespaces */ + xmlNs **namespaces; + /* number of namespace in scope */ + int nsNr; + /* function to free */ + void *user; + + /** the context size */ + int contextSize; + /** the proximity position */ + int proximityPosition; + + /* is this an XPointer context? */ + int xptr; + /* for here() */ + xmlNode *here; + /* for origin() */ + xmlNode *origin; + + /* The namespaces hash table */ + xmlHashTable *nsHash; + /* variable lookup func */ + xmlXPathVariableLookupFunc varLookupFunc; + /* variable lookup data */ + void *varLookupData; + + /* needed for XSLT */ + void *extra; + + /* The function name when calling a function */ + const xmlChar *function; + /* The namespace URI when calling a function */ + const xmlChar *functionURI; + + /* function lookup func */ + xmlXPathFuncLookupFunc funcLookupFunc; + /* function lookup data */ + void *funcLookupData; + + /* Array of temp namespaces */ + xmlNs **tmpNsList; + /* number of namespaces in scope */ + int tmpNsNr; + + /* user specific data block */ + void *userData; + /* the callback in case of errors */ + xmlStructuredErrorFunc error; + /* the last error */ + xmlError lastError; + /* the source node XSLT */ + xmlNode *debugNode; + + /* dictionary if any */ + xmlDict *dict; + + /** flags to control compilation */ + int flags; + + /* Cache for reusal of XPath objects */ + void *cache; + + /* Resource limits */ + unsigned long opLimit; + unsigned long opCount; + int depth; +}; + +/** Compiled XPath expression */ +typedef struct _xmlXPathCompExpr xmlXPathCompExpr; +typedef xmlXPathCompExpr *xmlXPathCompExprPtr; + +/** + * An XPath parser context. It contains pure parsing information, + * an xmlXPathContext, and the stack of objects. + * + * This struct is used for evaluation as well and misnamed. + */ +struct _xmlXPathParserContext { + /* the current char being parsed */ + const xmlChar *cur; + /* the full expression */ + const xmlChar *base; + + /** error code */ + int error; + + /** the evaluation context */ + xmlXPathContext *context; + /** the current value */ + xmlXPathObject *value; + /* number of values stacked */ + int valueNr; + /* max number of values stacked */ + int valueMax; + /* stack of values */ + xmlXPathObject **valueTab; + + /* the precompiled expression */ + xmlXPathCompExpr *comp; + /* it this an XPointer expression */ + int xptr; + /* used for walking preceding axis */ + xmlNode *ancestor; + + /* always zero for compatibility */ + int valueFrame; +}; + +/************************************************************************ + * * + * Public API * + * * + ************************************************************************/ + +/** + * Objects and Nodesets handling + */ + +/** @cond ignore */ + +XML_DEPRECATED +XMLPUBVAR double xmlXPathNAN; +XML_DEPRECATED +XMLPUBVAR double xmlXPathPINF; +XML_DEPRECATED +XMLPUBVAR double xmlXPathNINF; + +/* These macros may later turn into functions */ +/** + * Implement a functionality similar to the DOM NodeList.length. + * + * @param ns a node-set + * @returns the number of nodes in the node-set. + */ +#define xmlXPathNodeSetGetLength(ns) ((ns) ? (ns)->nodeNr : 0) +/** + * Implements a functionality similar to the DOM NodeList.item(). + * + * @param ns a node-set + * @param index index of a node in the set + * @returns the xmlNode at the given `index` in `ns` or NULL if + * `index` is out of range (0 to length-1) + */ +#define xmlXPathNodeSetItem(ns, index) \ + ((((ns) != NULL) && \ + ((index) >= 0) && ((index) < (ns)->nodeNr)) ? \ + (ns)->nodeTab[(index)] \ + : NULL) +/** + * Checks whether `ns` is empty or not. + * + * @param ns a node-set + * @returns %TRUE if `ns` is an empty node-set. + */ +#define xmlXPathNodeSetIsEmpty(ns) \ + (((ns) == NULL) || ((ns)->nodeNr == 0) || ((ns)->nodeTab == NULL)) + +/** @endcond */ + +XMLPUBFUN void + xmlXPathFreeObject (xmlXPathObject *obj); +XMLPUBFUN xmlNodeSet * + xmlXPathNodeSetCreate (xmlNode *val); +XMLPUBFUN void + xmlXPathFreeNodeSetList (xmlXPathObject *obj); +XMLPUBFUN void + xmlXPathFreeNodeSet (xmlNodeSet *obj); +XMLPUBFUN xmlXPathObject * + xmlXPathObjectCopy (xmlXPathObject *val); +XMLPUBFUN int + xmlXPathCmpNodes (xmlNode *node1, + xmlNode *node2); +/** + * Conversion functions to basic types. + */ +XMLPUBFUN int + xmlXPathCastNumberToBoolean (double val); +XMLPUBFUN int + xmlXPathCastStringToBoolean (const xmlChar * val); +XMLPUBFUN int + xmlXPathCastNodeSetToBoolean(xmlNodeSet *ns); +XMLPUBFUN int + xmlXPathCastToBoolean (xmlXPathObject *val); + +XMLPUBFUN double + xmlXPathCastBooleanToNumber (int val); +XMLPUBFUN double + xmlXPathCastStringToNumber (const xmlChar * val); +XMLPUBFUN double + xmlXPathCastNodeToNumber (xmlNode *node); +XMLPUBFUN double + xmlXPathCastNodeSetToNumber (xmlNodeSet *ns); +XMLPUBFUN double + xmlXPathCastToNumber (xmlXPathObject *val); + +XMLPUBFUN xmlChar * + xmlXPathCastBooleanToString (int val); +XMLPUBFUN xmlChar * + xmlXPathCastNumberToString (double val); +XMLPUBFUN xmlChar * + xmlXPathCastNodeToString (xmlNode *node); +XMLPUBFUN xmlChar * + xmlXPathCastNodeSetToString (xmlNodeSet *ns); +XMLPUBFUN xmlChar * + xmlXPathCastToString (xmlXPathObject *val); + +XMLPUBFUN xmlXPathObject * + xmlXPathConvertBoolean (xmlXPathObject *val); +XMLPUBFUN xmlXPathObject * + xmlXPathConvertNumber (xmlXPathObject *val); +XMLPUBFUN xmlXPathObject * + xmlXPathConvertString (xmlXPathObject *val); + +/** + * Context handling. + */ +XMLPUBFUN xmlXPathContext * + xmlXPathNewContext (xmlDoc *doc); +XMLPUBFUN void + xmlXPathFreeContext (xmlXPathContext *ctxt); +XMLPUBFUN void + xmlXPathSetErrorHandler(xmlXPathContext *ctxt, + xmlStructuredErrorFunc handler, + void *context); +XMLPUBFUN int + xmlXPathContextSetCache(xmlXPathContext *ctxt, + int active, + int value, + int options); +/** + * Evaluation functions. + */ +XMLPUBFUN long + xmlXPathOrderDocElems (xmlDoc *doc); +XMLPUBFUN int + xmlXPathSetContextNode (xmlNode *node, + xmlXPathContext *ctx); +XMLPUBFUN xmlXPathObject * + xmlXPathNodeEval (xmlNode *node, + const xmlChar *str, + xmlXPathContext *ctx); +XMLPUBFUN xmlXPathObject * + xmlXPathEval (const xmlChar *str, + xmlXPathContext *ctx); +XMLPUBFUN xmlXPathObject * + xmlXPathEvalExpression (const xmlChar *str, + xmlXPathContext *ctxt); +XMLPUBFUN int + xmlXPathEvalPredicate (xmlXPathContext *ctxt, + xmlXPathObject *res); +/** + * Separate compilation/evaluation entry points. + */ +XMLPUBFUN xmlXPathCompExpr * + xmlXPathCompile (const xmlChar *str); +XMLPUBFUN xmlXPathCompExpr * + xmlXPathCtxtCompile (xmlXPathContext *ctxt, + const xmlChar *str); +XMLPUBFUN xmlXPathObject * + xmlXPathCompiledEval (xmlXPathCompExpr *comp, + xmlXPathContext *ctx); +XMLPUBFUN int + xmlXPathCompiledEvalToBoolean(xmlXPathCompExpr *comp, + xmlXPathContext *ctxt); +XMLPUBFUN void + xmlXPathFreeCompExpr (xmlXPathCompExpr *comp); + +XML_DEPRECATED +XMLPUBFUN void + xmlXPathInit (void); +XMLPUBFUN int + xmlXPathIsNaN (double val); +XMLPUBFUN int + xmlXPathIsInf (double val); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_XPATH_ENABLED */ +#endif /* ! __XML_XPATH_H__ */ diff --git a/libxml2/include/libxml/xpathInternals.h b/libxml2/include/libxml/xpathInternals.h new file mode 100644 index 0000000..c94f646 --- /dev/null +++ b/libxml2/include/libxml/xpathInternals.h @@ -0,0 +1,609 @@ +/** + * @file + * + * @brief internal interfaces for XML Path Language implementation + * + * internal interfaces for XML Path Language implementation + * used to build new modules on top of XPath like XPointer and + * XSLT + * + * @copyright See Copyright for the status of this software. + * + * @author Daniel Veillard + */ + +#ifndef __XML_XPATH_INTERNALS_H__ +#define __XML_XPATH_INTERNALS_H__ + +#include +#include +#include + +#ifdef LIBXML_XPATH_ENABLED + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Push a value on the stack + * + * @deprecated Use #xmlXPathValuePush + */ +#define valuePush xmlXPathValuePush +/** + * Pop a value from the stack + * + * @deprecated Use #xmlXPathValuePop + */ +#define valuePop xmlXPathValuePop + +/************************************************************************ + * * + * Helpers * + * * + ************************************************************************/ + +/* + * Many of these macros may later turn into functions. They + * shouldn't be used in \#ifdef's preprocessor instructions. + */ +/** + * Raises an error. + * + * @param ctxt an XPath parser context + * @param err an xmlXPathError code + */ +#define xmlXPathSetError(ctxt, err) \ + { xmlXPatherror((ctxt), __FILE__, __LINE__, (err)); \ + if ((ctxt) != NULL) (ctxt)->error = (err); } + +/** + * Raises an XPATH_INVALID_ARITY error. + * + * @param ctxt an XPath parser context + */ +#define xmlXPathSetArityError(ctxt) \ + xmlXPathSetError((ctxt), XPATH_INVALID_ARITY) + +/** + * Raises an XPATH_INVALID_TYPE error. + * + * @param ctxt an XPath parser context + */ +#define xmlXPathSetTypeError(ctxt) \ + xmlXPathSetError((ctxt), XPATH_INVALID_TYPE) + +/** + * Get the error code of an XPath context. + * + * @param ctxt an XPath parser context + * @returns the context error. + */ +#define xmlXPathGetError(ctxt) ((ctxt)->error) + +/** + * Check if an XPath error was raised. + * + * @param ctxt an XPath parser context + * @returns true if an error has been raised, false otherwise. + */ +#define xmlXPathCheckError(ctxt) ((ctxt)->error != XPATH_EXPRESSION_OK) + +/** + * Get the document of an XPath context. + * + * @param ctxt an XPath parser context + * @returns the context document. + */ +#define xmlXPathGetDocument(ctxt) ((ctxt)->context->doc) + +/** + * Get the context node of an XPath context. + * + * @param ctxt an XPath parser context + * @returns the context node. + */ +#define xmlXPathGetContextNode(ctxt) ((ctxt)->context->node) + +XMLPUBFUN int + xmlXPathPopBoolean (xmlXPathParserContext *ctxt); +XMLPUBFUN double + xmlXPathPopNumber (xmlXPathParserContext *ctxt); +XMLPUBFUN xmlChar * + xmlXPathPopString (xmlXPathParserContext *ctxt); +XMLPUBFUN xmlNodeSet * + xmlXPathPopNodeSet (xmlXPathParserContext *ctxt); +XMLPUBFUN void * + xmlXPathPopExternal (xmlXPathParserContext *ctxt); + +/** + * Pushes the boolean `val` on the context stack. + * + * @param ctxt an XPath parser context + * @param val a boolean + */ +#define xmlXPathReturnBoolean(ctxt, val) \ + valuePush((ctxt), xmlXPathNewBoolean(val)) + +/** + * Pushes true on the context stack. + * + * @param ctxt an XPath parser context + */ +#define xmlXPathReturnTrue(ctxt) xmlXPathReturnBoolean((ctxt), 1) + +/** + * Pushes false on the context stack. + * + * @param ctxt an XPath parser context + */ +#define xmlXPathReturnFalse(ctxt) xmlXPathReturnBoolean((ctxt), 0) + +/** + * Pushes the double `val` on the context stack. + * + * @param ctxt an XPath parser context + * @param val a double + */ +#define xmlXPathReturnNumber(ctxt, val) \ + valuePush((ctxt), xmlXPathNewFloat(val)) + +/** + * Pushes the string `str` on the context stack. + * + * @param ctxt an XPath parser context + * @param str a string + */ +#define xmlXPathReturnString(ctxt, str) \ + valuePush((ctxt), xmlXPathWrapString(str)) + +/** + * Pushes an empty string on the stack. + * + * @param ctxt an XPath parser context + */ +#define xmlXPathReturnEmptyString(ctxt) \ + valuePush((ctxt), xmlXPathNewCString("")) + +/** + * Pushes the node-set `ns` on the context stack. + * + * @param ctxt an XPath parser context + * @param ns a node-set + */ +#define xmlXPathReturnNodeSet(ctxt, ns) \ + valuePush((ctxt), xmlXPathWrapNodeSet(ns)) + +/** + * Pushes an empty node-set on the context stack. + * + * @param ctxt an XPath parser context + */ +#define xmlXPathReturnEmptyNodeSet(ctxt) \ + valuePush((ctxt), xmlXPathNewNodeSet(NULL)) + +/** + * Pushes user data on the context stack. + * + * @param ctxt an XPath parser context + * @param val user data + */ +#define xmlXPathReturnExternal(ctxt, val) \ + valuePush((ctxt), xmlXPathWrapExternal(val)) + +/** + * Check if the current value on the XPath stack is a node set or + * an XSLT value tree. + * + * @param ctxt an XPath parser context + * @returns true if the current object on the stack is a node-set. + */ +#define xmlXPathStackIsNodeSet(ctxt) \ + (((ctxt)->value != NULL) \ + && (((ctxt)->value->type == XPATH_NODESET) \ + || ((ctxt)->value->type == XPATH_XSLT_TREE))) + +/** + * Checks if the current value on the XPath stack is an external + * object. + * + * @param ctxt an XPath parser context + * @returns true if the current object on the stack is an external + * object. + */ +#define xmlXPathStackIsExternal(ctxt) \ + ((ctxt->value != NULL) && (ctxt->value->type == XPATH_USERS)) + +/** + * Empties a node-set. + * + * @param ns a node-set + */ +#define xmlXPathEmptyNodeSet(ns) \ + { while ((ns)->nodeNr > 0) (ns)->nodeTab[--(ns)->nodeNr] = NULL; } + +/** + * Macro to return from the function if an XPath error was detected. + */ +#define CHECK_ERROR \ + if (ctxt->error != XPATH_EXPRESSION_OK) return + +/** + * Macro to return 0 from the function if an XPath error was detected. + */ +#define CHECK_ERROR0 \ + if (ctxt->error != XPATH_EXPRESSION_OK) return(0) + +/** + * Macro to raise an XPath error and return. + * + * @param X the error code + */ +#define XP_ERROR(X) \ + { xmlXPathErr(ctxt, X); return; } + +/** + * Macro to raise an XPath error and return 0. + * + * @param X the error code + */ +#define XP_ERROR0(X) \ + { xmlXPathErr(ctxt, X); return(0); } + +/** + * Macro to check that the value on top of the XPath stack is of a given + * type. + * + * @param typeval the XPath type + */ +#define CHECK_TYPE(typeval) \ + if ((ctxt->value == NULL) || (ctxt->value->type != typeval)) \ + XP_ERROR(XPATH_INVALID_TYPE) + +/** + * Macro to check that the value on top of the XPath stack is of a given + * type. Return(0) in case of failure + * + * @param typeval the XPath type + */ +#define CHECK_TYPE0(typeval) \ + if ((ctxt->value == NULL) || (ctxt->value->type != typeval)) \ + XP_ERROR0(XPATH_INVALID_TYPE) + +/** + * Macro to check that the number of args passed to an XPath function matches. + * + * @param x the number of expected args + */ +#define CHECK_ARITY(x) \ + if (ctxt == NULL) return; \ + if (nargs != (x)) \ + XP_ERROR(XPATH_INVALID_ARITY); \ + if (ctxt->valueNr < (x)) \ + XP_ERROR(XPATH_STACK_ERROR); + +/** + * Macro to try to cast the value on the top of the XPath stack to a string. + */ +#define CAST_TO_STRING \ + if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_STRING)) \ + xmlXPathStringFunction(ctxt, 1); + +/** + * Macro to try to cast the value on the top of the XPath stack to a number. + */ +#define CAST_TO_NUMBER \ + if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_NUMBER)) \ + xmlXPathNumberFunction(ctxt, 1); + +/** + * Macro to try to cast the value on the top of the XPath stack to a boolean. + */ +#define CAST_TO_BOOLEAN \ + if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_BOOLEAN)) \ + xmlXPathBooleanFunction(ctxt, 1); + +/* + * Variable Lookup forwarding. + */ + +XMLPUBFUN void + xmlXPathRegisterVariableLookup (xmlXPathContext *ctxt, + xmlXPathVariableLookupFunc f, + void *data); + +/* + * Function Lookup forwarding. + */ + +XMLPUBFUN void + xmlXPathRegisterFuncLookup (xmlXPathContext *ctxt, + xmlXPathFuncLookupFunc f, + void *funcCtxt); + +/* + * Error reporting. + */ +XMLPUBFUN void + xmlXPatherror (xmlXPathParserContext *ctxt, + const char *file, + int line, + int no); + +XMLPUBFUN void + xmlXPathErr (xmlXPathParserContext *ctxt, + int error); + +#ifdef LIBXML_DEBUG_ENABLED +XMLPUBFUN void + xmlXPathDebugDumpObject (FILE *output, + xmlXPathObject *cur, + int depth); +XMLPUBFUN void + xmlXPathDebugDumpCompExpr(FILE *output, + xmlXPathCompExpr *comp, + int depth); +#endif +/** + * NodeSet handling. + */ +XMLPUBFUN int + xmlXPathNodeSetContains (xmlNodeSet *cur, + xmlNode *val); +XMLPUBFUN xmlNodeSet * + xmlXPathDifference (xmlNodeSet *nodes1, + xmlNodeSet *nodes2); +XMLPUBFUN xmlNodeSet * + xmlXPathIntersection (xmlNodeSet *nodes1, + xmlNodeSet *nodes2); + +XMLPUBFUN xmlNodeSet * + xmlXPathDistinctSorted (xmlNodeSet *nodes); +XMLPUBFUN xmlNodeSet * + xmlXPathDistinct (xmlNodeSet *nodes); + +XMLPUBFUN int + xmlXPathHasSameNodes (xmlNodeSet *nodes1, + xmlNodeSet *nodes2); + +XMLPUBFUN xmlNodeSet * + xmlXPathNodeLeadingSorted (xmlNodeSet *nodes, + xmlNode *node); +XMLPUBFUN xmlNodeSet * + xmlXPathLeadingSorted (xmlNodeSet *nodes1, + xmlNodeSet *nodes2); +XMLPUBFUN xmlNodeSet * + xmlXPathNodeLeading (xmlNodeSet *nodes, + xmlNode *node); +XMLPUBFUN xmlNodeSet * + xmlXPathLeading (xmlNodeSet *nodes1, + xmlNodeSet *nodes2); + +XMLPUBFUN xmlNodeSet * + xmlXPathNodeTrailingSorted (xmlNodeSet *nodes, + xmlNode *node); +XMLPUBFUN xmlNodeSet * + xmlXPathTrailingSorted (xmlNodeSet *nodes1, + xmlNodeSet *nodes2); +XMLPUBFUN xmlNodeSet * + xmlXPathNodeTrailing (xmlNodeSet *nodes, + xmlNode *node); +XMLPUBFUN xmlNodeSet * + xmlXPathTrailing (xmlNodeSet *nodes1, + xmlNodeSet *nodes2); + + +/** + * Extending a context. + */ + +XMLPUBFUN int + xmlXPathRegisterNs (xmlXPathContext *ctxt, + const xmlChar *prefix, + const xmlChar *ns_uri); +XMLPUBFUN const xmlChar * + xmlXPathNsLookup (xmlXPathContext *ctxt, + const xmlChar *prefix); +XMLPUBFUN void + xmlXPathRegisteredNsCleanup (xmlXPathContext *ctxt); + +XMLPUBFUN int + xmlXPathRegisterFunc (xmlXPathContext *ctxt, + const xmlChar *name, + xmlXPathFunction f); +XMLPUBFUN int + xmlXPathRegisterFuncNS (xmlXPathContext *ctxt, + const xmlChar *name, + const xmlChar *ns_uri, + xmlXPathFunction f); +XMLPUBFUN int + xmlXPathRegisterVariable (xmlXPathContext *ctxt, + const xmlChar *name, + xmlXPathObject *value); +XMLPUBFUN int + xmlXPathRegisterVariableNS (xmlXPathContext *ctxt, + const xmlChar *name, + const xmlChar *ns_uri, + xmlXPathObject *value); +XMLPUBFUN xmlXPathFunction + xmlXPathFunctionLookup (xmlXPathContext *ctxt, + const xmlChar *name); +XMLPUBFUN xmlXPathFunction + xmlXPathFunctionLookupNS (xmlXPathContext *ctxt, + const xmlChar *name, + const xmlChar *ns_uri); +XMLPUBFUN void + xmlXPathRegisteredFuncsCleanup (xmlXPathContext *ctxt); +XMLPUBFUN xmlXPathObject * + xmlXPathVariableLookup (xmlXPathContext *ctxt, + const xmlChar *name); +XMLPUBFUN xmlXPathObject * + xmlXPathVariableLookupNS (xmlXPathContext *ctxt, + const xmlChar *name, + const xmlChar *ns_uri); +XMLPUBFUN void + xmlXPathRegisteredVariablesCleanup(xmlXPathContext *ctxt); + +/** + * Utilities to extend XPath. + */ +XMLPUBFUN xmlXPathParserContext * + xmlXPathNewParserContext (const xmlChar *str, + xmlXPathContext *ctxt); +XMLPUBFUN void + xmlXPathFreeParserContext (xmlXPathParserContext *ctxt); + +XMLPUBFUN xmlXPathObject * + xmlXPathValuePop (xmlXPathParserContext *ctxt); +XMLPUBFUN int + xmlXPathValuePush (xmlXPathParserContext *ctxt, + xmlXPathObject *value); + +XMLPUBFUN xmlXPathObject * + xmlXPathNewString (const xmlChar *val); +XMLPUBFUN xmlXPathObject * + xmlXPathNewCString (const char *val); +XMLPUBFUN xmlXPathObject * + xmlXPathWrapString (xmlChar *val); +XMLPUBFUN xmlXPathObject * + xmlXPathWrapCString (char * val); +XMLPUBFUN xmlXPathObject * + xmlXPathNewFloat (double val); +XMLPUBFUN xmlXPathObject * + xmlXPathNewBoolean (int val); +XMLPUBFUN xmlXPathObject * + xmlXPathNewNodeSet (xmlNode *val); +XMLPUBFUN xmlXPathObject * + xmlXPathNewValueTree (xmlNode *val); +XMLPUBFUN int + xmlXPathNodeSetAdd (xmlNodeSet *cur, + xmlNode *val); +XMLPUBFUN int + xmlXPathNodeSetAddUnique (xmlNodeSet *cur, + xmlNode *val); +XMLPUBFUN int + xmlXPathNodeSetAddNs (xmlNodeSet *cur, + xmlNode *node, + xmlNs *ns); +XMLPUBFUN void + xmlXPathNodeSetSort (xmlNodeSet *set); + +XMLPUBFUN void + xmlXPathRoot (xmlXPathParserContext *ctxt); +XML_DEPRECATED +XMLPUBFUN void + xmlXPathEvalExpr (xmlXPathParserContext *ctxt); +XMLPUBFUN xmlChar * + xmlXPathParseName (xmlXPathParserContext *ctxt); +XMLPUBFUN xmlChar * + xmlXPathParseNCName (xmlXPathParserContext *ctxt); + +/* + * Existing functions. + */ +XMLPUBFUN double + xmlXPathStringEvalNumber (const xmlChar *str); +XMLPUBFUN int + xmlXPathEvaluatePredicateResult (xmlXPathParserContext *ctxt, + xmlXPathObject *res); +XMLPUBFUN void + xmlXPathRegisterAllFunctions (xmlXPathContext *ctxt); +XMLPUBFUN xmlNodeSet * + xmlXPathNodeSetMerge (xmlNodeSet *val1, + xmlNodeSet *val2); +XMLPUBFUN void + xmlXPathNodeSetDel (xmlNodeSet *cur, + xmlNode *val); +XMLPUBFUN void + xmlXPathNodeSetRemove (xmlNodeSet *cur, + int val); +XMLPUBFUN xmlXPathObject * + xmlXPathNewNodeSetList (xmlNodeSet *val); +XMLPUBFUN xmlXPathObject * + xmlXPathWrapNodeSet (xmlNodeSet *val); +XMLPUBFUN xmlXPathObject * + xmlXPathWrapExternal (void *val); + +XMLPUBFUN int xmlXPathEqualValues(xmlXPathParserContext *ctxt); +XMLPUBFUN int xmlXPathNotEqualValues(xmlXPathParserContext *ctxt); +XMLPUBFUN int xmlXPathCompareValues(xmlXPathParserContext *ctxt, int inf, int strict); +XMLPUBFUN void xmlXPathValueFlipSign(xmlXPathParserContext *ctxt); +XMLPUBFUN void xmlXPathAddValues(xmlXPathParserContext *ctxt); +XMLPUBFUN void xmlXPathSubValues(xmlXPathParserContext *ctxt); +XMLPUBFUN void xmlXPathMultValues(xmlXPathParserContext *ctxt); +XMLPUBFUN void xmlXPathDivValues(xmlXPathParserContext *ctxt); +XMLPUBFUN void xmlXPathModValues(xmlXPathParserContext *ctxt); + +XMLPUBFUN int xmlXPathIsNodeType(const xmlChar *name); + +/* + * Some of the axis navigation routines. + */ +XMLPUBFUN xmlNode *xmlXPathNextSelf(xmlXPathParserContext *ctxt, + xmlNode *cur); +XMLPUBFUN xmlNode *xmlXPathNextChild(xmlXPathParserContext *ctxt, + xmlNode *cur); +XMLPUBFUN xmlNode *xmlXPathNextDescendant(xmlXPathParserContext *ctxt, + xmlNode *cur); +XMLPUBFUN xmlNode *xmlXPathNextDescendantOrSelf(xmlXPathParserContext *ctxt, + xmlNode *cur); +XMLPUBFUN xmlNode *xmlXPathNextParent(xmlXPathParserContext *ctxt, + xmlNode *cur); +XMLPUBFUN xmlNode *xmlXPathNextAncestorOrSelf(xmlXPathParserContext *ctxt, + xmlNode *cur); +XMLPUBFUN xmlNode *xmlXPathNextFollowingSibling(xmlXPathParserContext *ctxt, + xmlNode *cur); +XMLPUBFUN xmlNode *xmlXPathNextFollowing(xmlXPathParserContext *ctxt, + xmlNode *cur); +XMLPUBFUN xmlNode *xmlXPathNextNamespace(xmlXPathParserContext *ctxt, + xmlNode *cur); +XMLPUBFUN xmlNode *xmlXPathNextAttribute(xmlXPathParserContext *ctxt, + xmlNode *cur); +XMLPUBFUN xmlNode *xmlXPathNextPreceding(xmlXPathParserContext *ctxt, + xmlNode *cur); +XMLPUBFUN xmlNode *xmlXPathNextAncestor(xmlXPathParserContext *ctxt, + xmlNode *cur); +XMLPUBFUN xmlNode *xmlXPathNextPrecedingSibling(xmlXPathParserContext *ctxt, + xmlNode *cur); +/* + * The official core of XPath functions. + */ +XMLPUBFUN void xmlXPathLastFunction(xmlXPathParserContext *ctxt, int nargs); +XMLPUBFUN void xmlXPathPositionFunction(xmlXPathParserContext *ctxt, int nargs); +XMLPUBFUN void xmlXPathCountFunction(xmlXPathParserContext *ctxt, int nargs); +XMLPUBFUN void xmlXPathIdFunction(xmlXPathParserContext *ctxt, int nargs); +XMLPUBFUN void xmlXPathLocalNameFunction(xmlXPathParserContext *ctxt, int nargs); +XMLPUBFUN void xmlXPathNamespaceURIFunction(xmlXPathParserContext *ctxt, int nargs); +XMLPUBFUN void xmlXPathStringFunction(xmlXPathParserContext *ctxt, int nargs); +XMLPUBFUN void xmlXPathStringLengthFunction(xmlXPathParserContext *ctxt, int nargs); +XMLPUBFUN void xmlXPathConcatFunction(xmlXPathParserContext *ctxt, int nargs); +XMLPUBFUN void xmlXPathContainsFunction(xmlXPathParserContext *ctxt, int nargs); +XMLPUBFUN void xmlXPathStartsWithFunction(xmlXPathParserContext *ctxt, int nargs); +XMLPUBFUN void xmlXPathSubstringFunction(xmlXPathParserContext *ctxt, int nargs); +XMLPUBFUN void xmlXPathSubstringBeforeFunction(xmlXPathParserContext *ctxt, int nargs); +XMLPUBFUN void xmlXPathSubstringAfterFunction(xmlXPathParserContext *ctxt, int nargs); +XMLPUBFUN void xmlXPathNormalizeFunction(xmlXPathParserContext *ctxt, int nargs); +XMLPUBFUN void xmlXPathTranslateFunction(xmlXPathParserContext *ctxt, int nargs); +XMLPUBFUN void xmlXPathNotFunction(xmlXPathParserContext *ctxt, int nargs); +XMLPUBFUN void xmlXPathTrueFunction(xmlXPathParserContext *ctxt, int nargs); +XMLPUBFUN void xmlXPathFalseFunction(xmlXPathParserContext *ctxt, int nargs); +XMLPUBFUN void xmlXPathLangFunction(xmlXPathParserContext *ctxt, int nargs); +XMLPUBFUN void xmlXPathNumberFunction(xmlXPathParserContext *ctxt, int nargs); +XMLPUBFUN void xmlXPathSumFunction(xmlXPathParserContext *ctxt, int nargs); +XMLPUBFUN void xmlXPathFloorFunction(xmlXPathParserContext *ctxt, int nargs); +XMLPUBFUN void xmlXPathCeilingFunction(xmlXPathParserContext *ctxt, int nargs); +XMLPUBFUN void xmlXPathRoundFunction(xmlXPathParserContext *ctxt, int nargs); +XMLPUBFUN void xmlXPathBooleanFunction(xmlXPathParserContext *ctxt, int nargs); + +/** + * Really internal functions + */ +XMLPUBFUN void xmlXPathNodeSetFreeNs(xmlNs *ns); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_XPATH_ENABLED */ +#endif /* ! __XML_XPATH_INTERNALS_H__ */ diff --git a/libxml2/include/libxml/xpointer.h b/libxml2/include/libxml/xpointer.h new file mode 100644 index 0000000..6386907 --- /dev/null +++ b/libxml2/include/libxml/xpointer.h @@ -0,0 +1,52 @@ +/** + * @file + * + * @brief XPointer framework and schemes + * + * API to evaluate XPointer expressions. The following schemes are + * supported: + * + * - element() + * - xmlns() + * - xpath1() + * + * xpointer() is an alias for the xpath1() scheme. The point and + * range extensions are not supported. + * + * @copyright See Copyright for the status of this software. + * + * @author Daniel Veillard + */ + +#ifndef __XML_XPTR_H__ +#define __XML_XPTR_H__ + +#include + +#ifdef LIBXML_XPTR_ENABLED + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Functions. + */ +XML_DEPRECATED +XMLPUBFUN xmlXPathContext * + xmlXPtrNewContext (xmlDoc *doc, + xmlNode *here, + xmlNode *origin); +XMLPUBFUN xmlXPathObject * + xmlXPtrEval (const xmlChar *str, + xmlXPathContext *ctx); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_XPTR_ENABLED */ +#endif /* __XML_XPTR_H__ */ diff --git a/libxml2/include/meson.build b/libxml2/include/meson.build new file mode 100644 index 0000000..f99f9be --- /dev/null +++ b/libxml2/include/meson.build @@ -0,0 +1,2 @@ + +inc_dir = include_directories('.') diff --git a/libxml2/include/private/Makefile.am b/libxml2/include/private/Makefile.am new file mode 100644 index 0000000..442eb9c --- /dev/null +++ b/libxml2/include/private/Makefile.am @@ -0,0 +1,20 @@ +EXTRA_DIST = \ + buf.h \ + cata.h \ + dict.h \ + enc.h \ + entities.h \ + error.h \ + globals.h \ + html.h \ + io.h \ + lint.h \ + memory.h \ + parser.h \ + regexp.h \ + save.h \ + string.h \ + threads.h \ + tree.h \ + xinclude.h \ + xpath.h diff --git a/libxml2/include/private/buf.h b/libxml2/include/private/buf.h new file mode 100644 index 0000000..dde361e --- /dev/null +++ b/libxml2/include/private/buf.h @@ -0,0 +1,45 @@ +#ifndef XML_BUF_H_PRIVATE__ +#define XML_BUF_H_PRIVATE__ + +#include +#include + +XML_HIDDEN xmlBuf * +xmlBufCreate(size_t size); +XML_HIDDEN xmlBuf * +xmlBufCreateMem(const xmlChar *mem, size_t size, int isStatic); +XML_HIDDEN void +xmlBufFree(xmlBuf *buf); + +XML_HIDDEN void +xmlBufEmpty(xmlBuf *buf); + +XML_HIDDEN int +xmlBufGrow(xmlBuf *buf, size_t len); + +XML_HIDDEN int +xmlBufAdd(xmlBuf *buf, const xmlChar *str, size_t len); +XML_HIDDEN int +xmlBufCat(xmlBuf *buf, const xmlChar *str); + +XML_HIDDEN size_t +xmlBufAvail(xmlBuf *buf); +XML_HIDDEN int +xmlBufIsEmpty(xmlBuf *buf); +XML_HIDDEN int +xmlBufAddLen(xmlBuf *buf, size_t len); + +XML_HIDDEN xmlChar * +xmlBufDetach(xmlBuf *buf); + +XML_HIDDEN xmlBuf * +xmlBufFromBuffer(xmlBuffer *buffer); +XML_HIDDEN int +xmlBufBackToBuffer(xmlBuf *buf, xmlBuffer *ret); + +XML_HIDDEN int +xmlBufResetInput(xmlBuf *buf, xmlParserInput *input); +XML_HIDDEN int +xmlBufUpdateInput(xmlBuf *buf, xmlParserInput *input, size_t pos); + +#endif /* XML_BUF_H_PRIVATE__ */ diff --git a/libxml2/include/private/cata.h b/libxml2/include/private/cata.h new file mode 100644 index 0000000..789808a --- /dev/null +++ b/libxml2/include/private/cata.h @@ -0,0 +1,13 @@ +#ifndef XML_CATA_H_PRIVATE__ +#define XML_CATA_H_PRIVATE__ + +#ifdef LIBXML_CATALOG_ENABLED + +XML_HIDDEN void +xmlInitCatalogInternal(void); +XML_HIDDEN void +xmlCleanupCatalogInternal(void); + +#endif /* LIBXML_CATALOG_ENABLED */ + +#endif /* XML_CATA_H_PRIVATE__ */ diff --git a/libxml2/include/private/dict.h b/libxml2/include/private/dict.h new file mode 100644 index 0000000..4f2edb8 --- /dev/null +++ b/libxml2/include/private/dict.h @@ -0,0 +1,74 @@ +#ifndef XML_DICT_H_PRIVATE__ +#define XML_DICT_H_PRIVATE__ + +#include + +/* + * Values are ANDed with 0xFFFFFFFF to support platforms where + * unsigned is larger than 32 bits. With 32-bit unsigned values, + * modern compilers should optimize the operation away. + */ + +#define HASH_ROL(x,n) ((x) << (n) | ((x) & 0xFFFFFFFF) >> (32 - (n))) +#define HASH_ROR(x,n) (((x) & 0xFFFFFFFF) >> (n) | (x) << (32 - (n))) + +/* + * GoodOAAT: One of a smallest non-multiplicative One-At-a-Time functions + * that passes SMHasher. + * + * Author: Sokolov Yura aka funny-falcon + */ + +#define HASH_INIT(h1, h2, seed) \ + do { \ + h1 = seed ^ 0x3b00; \ + h2 = HASH_ROL(seed, 15); \ + } while (0) + +#define HASH_UPDATE(h1, h2, ch) \ + do { \ + h1 += ch; \ + h1 += h1 << 3; \ + h2 += h1; \ + h2 = HASH_ROL(h2, 7); \ + h2 += h2 << 2; \ + } while (0) + +/* Result is in h2 */ +#define HASH_FINISH(h1, h2) \ + do { \ + h1 ^= h2; \ + h1 += HASH_ROL(h2, 14); \ + h2 ^= h1; h2 += HASH_ROR(h1, 6); \ + h1 ^= h2; h1 += HASH_ROL(h2, 5); \ + h2 ^= h1; h2 += HASH_ROR(h1, 8); \ + h2 &= 0xFFFFFFFF; \ + } while (0) + +typedef struct { + unsigned hashValue; + const xmlChar *name; +} xmlHashedString; + +XML_HIDDEN void +xmlInitDictInternal(void); +XML_HIDDEN void +xmlCleanupDictInternal(void); + +XML_HIDDEN unsigned +xmlDictComputeHash(const xmlDict *dict, const xmlChar *string); +XML_HIDDEN unsigned +xmlDictCombineHash(unsigned v1, unsigned v2); +XML_HIDDEN xmlHashedString +xmlDictLookupHashed(xmlDict *dict, const xmlChar *name, int len); + +XML_HIDDEN void +xmlInitRandom(void); +XML_HIDDEN void +xmlCleanupRandom(void); +XML_HIDDEN unsigned +xmlGlobalRandom(void); +XML_HIDDEN unsigned +xmlRandom(void); + +#endif /* XML_DICT_H_PRIVATE__ */ diff --git a/libxml2/include/private/enc.h b/libxml2/include/private/enc.h new file mode 100644 index 0000000..3ffa41b --- /dev/null +++ b/libxml2/include/private/enc.h @@ -0,0 +1,19 @@ +#ifndef XML_ENC_H_PRIVATE__ +#define XML_ENC_H_PRIVATE__ + +#include +#include + +XML_HIDDEN void +xmlInitEncodingInternal(void); + +XML_HIDDEN xmlCharEncError +xmlEncInputChunk(xmlCharEncodingHandler *handler, unsigned char *out, + int *outlen, const unsigned char *in, int *inlen, + int flush); +XML_HIDDEN xmlCharEncError +xmlCharEncInput(xmlParserInputBuffer *input, size_t *sizeOut, int flush); +XML_HIDDEN int +xmlCharEncOutput(xmlOutputBuffer *output, int init); + +#endif /* XML_ENC_H_PRIVATE__ */ diff --git a/libxml2/include/private/entities.h b/libxml2/include/private/entities.h new file mode 100644 index 0000000..24d9f12 --- /dev/null +++ b/libxml2/include/private/entities.h @@ -0,0 +1,24 @@ +#ifndef XML_ENTITIES_H_PRIVATE__ +#define XML_ENTITIES_H_PRIVATE__ + +#include +#include + +/* + * Entity flags + * + * XML_ENT_PARSED: The entity was parsed and `children` points to the + * content. + * + * XML_ENT_CHECKED: The entity was checked for loops and amplification. + * expandedSize was set. + * + * XML_ENT_VALIDATED: The entity contains a valid attribute value. + * Only used when entities aren't substituted. + */ +#define XML_ENT_PARSED (1u << 0) +#define XML_ENT_CHECKED (1u << 1) +#define XML_ENT_VALIDATED (1u << 2) +#define XML_ENT_EXPANDING (1u << 3) + +#endif /* XML_ENTITIES_H_PRIVATE__ */ diff --git a/libxml2/include/private/error.h b/libxml2/include/private/error.h new file mode 100644 index 0000000..b88fd82 --- /dev/null +++ b/libxml2/include/private/error.h @@ -0,0 +1,46 @@ +#ifndef XML_ERROR_H_PRIVATE__ +#define XML_ERROR_H_PRIVATE__ + +#include + +#include +#include + +#define MAX_ERR_MSG_SIZE 64000 + +struct _xmlNode; + +XML_HIDDEN int +xmlIsCatastrophicError(int level, int code); + +XML_HIDDEN void +xmlRaiseMemoryError(xmlStructuredErrorFunc schannel, xmlGenericErrorFunc channel, + void *data, int domain, xmlError *error); +XML_HIDDEN int +xmlVRaiseError(xmlStructuredErrorFunc schannel, xmlGenericErrorFunc channel, + void *data, void *ctx, struct _xmlNode *node, + int domain, int code, xmlErrorLevel level, + const char *file, int line, const char *str1, + const char *str2, const char *str3, int int1, int col, + const char *msg, va_list ap); +XML_HIDDEN int +xmlRaiseError(xmlStructuredErrorFunc schannel, xmlGenericErrorFunc channel, + void *data, void *ctx, struct _xmlNode *node, + int domain, int code, xmlErrorLevel level, + const char *file, int line, const char *str1, + const char *str2, const char *str3, int int1, int col, + const char *msg, ...) LIBXML_ATTR_FORMAT(16,17); +XML_HIDDEN void +xmlGenericErrorDefaultFunc(void *ctx, const char *msg, + ...) LIBXML_ATTR_FORMAT(2,3); +XML_HIDDEN const char * +xmlErrString(xmlParserErrors code); + +XML_HIDDEN void +xmlVPrintErrorMessage(const char *fmt, va_list ap); +XML_HIDDEN void +xmlPrintErrorMessage(const char *fmt, ...); +XML_HIDDEN void +xmlAbort(const char *fmt, ...); + +#endif /* XML_ERROR_H_PRIVATE__ */ diff --git a/libxml2/include/private/globals.h b/libxml2/include/private/globals.h new file mode 100644 index 0000000..88a3825 --- /dev/null +++ b/libxml2/include/private/globals.h @@ -0,0 +1,15 @@ +#ifndef XML_GLOBALS_H_PRIVATE__ +#define XML_GLOBALS_H_PRIVATE__ + +XML_HIDDEN void +xmlInitGlobalsInternal(void); +XML_HIDDEN void +xmlCleanupGlobalsInternal(void); + +XML_HIDDEN xmlError * +xmlGetLastErrorInternal(void); + +XML_HIDDEN unsigned * +xmlGetLocalRngState(void); + +#endif /* XML_GLOBALS_H_PRIVATE__ */ diff --git a/libxml2/include/private/html.h b/libxml2/include/private/html.h new file mode 100644 index 0000000..a62727d --- /dev/null +++ b/libxml2/include/private/html.h @@ -0,0 +1,38 @@ +#ifndef XML_HTML_H_PRIVATE__ +#define XML_HTML_H_PRIVATE__ + +#include + +#ifdef LIBXML_HTML_ENABLED + +#define IS_WS_HTML(c) \ + (((c) == 0x20) || \ + (((c) >= 0x09) && ((c) <= 0x0D) && ((c) != 0x0B))) + +#define DATA_RCDATA 1 +#define DATA_RAWTEXT 2 +#define DATA_PLAINTEXT 3 +#define DATA_SCRIPT 4 +#define DATA_SCRIPT_ESC1 5 +#define DATA_SCRIPT_ESC2 6 + +typedef struct { + size_t start; + size_t end; + size_t size; +} htmlMetaEncodingOffsets; + +XML_HIDDEN xmlNode * +htmlCtxtParseContentInternal(xmlParserCtxt *ctxt, xmlParserInput *input); + +XML_HIDDEN int +htmlParseContentType(const xmlChar *val, htmlMetaEncodingOffsets *off); + +XML_HIDDEN void +htmlNodeDumpInternal(xmlOutputBuffer *buf, xmlNode *cur, + const char *encoding, int format); + +#endif /* LIBXML_HTML_ENABLED */ + +#endif /* XML_HTML_H_PRIVATE__ */ + diff --git a/libxml2/include/private/io.h b/libxml2/include/private/io.h new file mode 100644 index 0000000..d56d3d3 --- /dev/null +++ b/libxml2/include/private/io.h @@ -0,0 +1,61 @@ +#ifndef XML_IO_H_PRIVATE__ +#define XML_IO_H_PRIVATE__ + +#include +#include +#include + +#ifndef SIZE_MAX + #define SIZE_MAX ((size_t)(-1)) +#endif + +/* + * Initial buffer size should include + * + * - MINLEN = 4000 (I/O chunk size) + * - INPUT_CHUNK = 250 (parser prefetch) + * - LINE_LEN = 80 (shrink limit for error messages) + * - some amount for unshrunken content. + */ +#define XML_IO_BUFFER_SIZE 6000 + +#define XML_ESCAPE_ATTR (1u << 0) +#define XML_ESCAPE_NON_ASCII (1u << 1) +#define XML_ESCAPE_HTML (1u << 2) +#define XML_ESCAPE_QUOT (1u << 3) + +XML_HIDDEN xmlChar * +xmlEscapeText(const xmlChar *text, int flags); +#ifdef LIBXML_OUTPUT_ENABLED +XML_HIDDEN void +xmlSerializeText(xmlOutputBuffer *buf, const xmlChar *string, size_t maxSize, + unsigned flags); +#endif + +XML_HIDDEN void +xmlInitIOCallbacks(void); + +XML_HIDDEN int +xmlNoNetExists(const char *filename); + +XML_HIDDEN xmlParserErrors +xmlParserInputBufferCreateUrl(const char *URI, xmlCharEncoding enc, + xmlParserInputFlags flags, + xmlParserInputBuffer **out); + +XML_HIDDEN xmlParserInputBuffer * +xmlNewInputBufferString(const char *str, xmlParserInputFlags flags); +XML_HIDDEN xmlParserInputBuffer * +xmlNewInputBufferMemory(const void *mem, size_t size, + xmlParserInputFlags flags, xmlCharEncoding enc); + +XML_HIDDEN xmlParserErrors +xmlInputFromFd(xmlParserInputBuffer *buf, int fd, xmlParserInputFlags flags); + +#ifdef LIBXML_OUTPUT_ENABLED +XML_HIDDEN void +xmlOutputBufferWriteQuotedString(xmlOutputBuffer *buf, + const xmlChar *string); +#endif + +#endif /* XML_IO_H_PRIVATE__ */ diff --git a/libxml2/include/private/lint.h b/libxml2/include/private/lint.h new file mode 100644 index 0000000..83d625c --- /dev/null +++ b/libxml2/include/private/lint.h @@ -0,0 +1,15 @@ +#ifndef XML_LINT_H_PRIVATE__ +#define XML_LINT_H_PRIVATE__ + +#include + +#include + +int +xmllintMain(int argc, const char **argv, FILE *errStream, + xmlResourceLoader loader); + +void +xmllintShell(xmlDoc *doc, const char *filename, FILE *output); + +#endif /* XML_LINT_H_PRIVATE__ */ diff --git a/libxml2/include/private/memory.h b/libxml2/include/private/memory.h new file mode 100644 index 0000000..851b53e --- /dev/null +++ b/libxml2/include/private/memory.h @@ -0,0 +1,60 @@ +#ifndef XML_MEMORY_H_PRIVATE__ +#define XML_MEMORY_H_PRIVATE__ + +#include "../../libxml.h" + +#include +#include + +#ifndef SIZE_MAX + #define SIZE_MAX ((size_t) -1) +#endif + +#define XML_MAX_ITEMS 1000000000 /* 1 billion */ + +XML_HIDDEN void +xmlInitMemoryInternal(void); +XML_HIDDEN void +xmlCleanupMemoryInternal(void); + +/** + * @array: pointer to array + * @capacity: pointer to capacity (in/out) + * @elemSize: size of an element in bytes + * @min: elements in initial allocation + * @max: maximum elements in the array + * + * Grow an array by at least one element, checking for overflow. + * + * Returns the new array size on success, -1 on failure. + */ +static XML_INLINE int +xmlGrowCapacity(int capacity, size_t elemSize, int min, int max) { + int extra; + + if (capacity <= 0) { +#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION + (void) min; + return(1); +#else + return(min); +#endif + } + + if ((capacity >= max) || + ((size_t) capacity > SIZE_MAX / 2 / elemSize)) + return(-1); + + /* Grow by 50% */ + extra = (capacity + 1) / 2; + + if (capacity > max - extra) + return(max); + + return(capacity + extra); +} + +XML_HIDDEN void * +xmlGrowArray(void *array, size_t elemSize, int *capacity, int min, int max); + +#endif /* XML_MEMORY_H_PRIVATE__ */ diff --git a/libxml2/include/private/parser.h b/libxml2/include/private/parser.h new file mode 100644 index 0000000..5750659 --- /dev/null +++ b/libxml2/include/private/parser.h @@ -0,0 +1,190 @@ +#ifndef XML_PARSER_H_PRIVATE__ +#define XML_PARSER_H_PRIVATE__ + +#include + +#include +#include + +#define XML_INVALID_CHAR 0x200000 + +#define XML_MAX_URI_LENGTH 2000 + +/** + * Set after xmlValidateDtdFinal was called. + */ +#define XML_VCTXT_DTD_VALIDATED (1u << 0) +/** + * Set if the validation context is part of a parser context. + */ +#define XML_VCTXT_USE_PCTXT (1u << 1) +/** + * Set if the validation is enabled. + */ +#define XML_VCTXT_VALIDATE (1u << 2) +/** + * Set when parsing entities. + */ +#define XML_VCTXT_IN_ENTITY (1u << 3) + +/* + * TODO: Rename to avoid confusion with xmlParserInputFlags + */ +#define XML_INPUT_HAS_ENCODING (1u << 0) +#define XML_INPUT_AUTO_ENCODING (7u << 1) +#define XML_INPUT_AUTO_UTF8 (1u << 1) +#define XML_INPUT_AUTO_UTF16LE (2u << 1) +#define XML_INPUT_AUTO_UTF16BE (3u << 1) +#define XML_INPUT_AUTO_OTHER (4u << 1) +#define XML_INPUT_USES_ENC_DECL (1u << 4) +#define XML_INPUT_ENCODING_ERROR (1u << 5) +#define XML_INPUT_PROGRESSIVE (1u << 6) +#define XML_INPUT_MARKUP_DECL (1u << 7) + +#define PARSER_STOPPED(ctxt) ((ctxt)->disableSAX > 1) + +#define PARSER_PROGRESSIVE(ctxt) \ + ((ctxt)->input->flags & XML_INPUT_PROGRESSIVE) + +#define PARSER_IN_PE(ctxt) \ + (((ctxt)->input->entity != NULL) && \ + (((ctxt)->input->entity->etype == XML_INTERNAL_PARAMETER_ENTITY) || \ + ((ctxt)->input->entity->etype == XML_EXTERNAL_PARAMETER_ENTITY))) + +#define PARSER_EXTERNAL(ctxt) \ + (((ctxt)->inSubset == 2) || \ + (((ctxt)->input->entity != NULL) && \ + ((ctxt)->input->entity->etype == XML_EXTERNAL_PARAMETER_ENTITY))) + +/** + * The parser tries to always have that amount of input ready. + * One of the point is providing context when reporting errors. + */ +#define INPUT_CHUNK 250 + +struct _xmlAttrHashBucket { + int index; +}; + +#define XML_SCAN_NC 1 +#define XML_SCAN_NMTOKEN 2 +#define XML_SCAN_OLD10 4 + +XML_HIDDEN const xmlChar * +xmlScanName(const xmlChar *buf, size_t maxSize, int flags); + +XML_HIDDEN void +xmlCtxtVErr(xmlParserCtxt *ctxt, xmlNode *node, xmlErrorDomain domain, + xmlParserErrors code, xmlErrorLevel level, + const xmlChar *str1, const xmlChar *str2, const xmlChar *str3, + int int1, const char *msg, va_list ap); +XML_HIDDEN void +xmlCtxtErr(xmlParserCtxt *ctxt, xmlNode *node, xmlErrorDomain domain, + xmlParserErrors code, xmlErrorLevel level, + const xmlChar *str1, const xmlChar *str2, const xmlChar *str3, + int int1, const char *msg, ...); +XML_HIDDEN void +xmlFatalErr(xmlParserCtxt *ctxt, xmlParserErrors error, const char *info); +XML_HIDDEN void LIBXML_ATTR_FORMAT(3,0) +xmlWarningMsg(xmlParserCtxtPtr ctxt, xmlParserErrors error, + const char *msg, const xmlChar *str1, const xmlChar *str2); +XML_HIDDEN void +xmlCtxtErrIO(xmlParserCtxt *ctxt, int code, const char *uri); +XML_HIDDEN int +xmlCtxtIsCatastrophicError(xmlParserCtxt *ctxt); + +XML_HIDDEN int +xmlParserGrow(xmlParserCtxt *ctxt); +XML_HIDDEN void +xmlParserShrink(xmlParserCtxt *ctxt); + +XML_HIDDEN void +xmlDetectEncoding(xmlParserCtxt *ctxt); +XML_HIDDEN void +xmlSetDeclaredEncoding(xmlParserCtxt *ctxt, xmlChar *encoding); +XML_HIDDEN const xmlChar * +xmlGetActualEncoding(xmlParserCtxt *ctxt); + +XML_HIDDEN int +nodePush(xmlParserCtxt *ctxt, xmlNode *value); +XML_HIDDEN xmlNode * +nodePop(xmlParserCtxt *ctxt); + +XML_HIDDEN xmlParserNsData * +xmlParserNsCreate(void); +XML_HIDDEN void +xmlParserNsFree(xmlParserNsData *nsdb); +/* + * These functions allow SAX handlers to attach extra data to namespaces + * efficiently and should be made public. + */ +XML_HIDDEN int +xmlParserNsUpdateSax(xmlParserCtxt *ctxt, const xmlChar *prefix, + void *saxData); +XML_HIDDEN void * +xmlParserNsLookupSax(xmlParserCtxt *ctxt, const xmlChar *prefix); + +XML_HIDDEN xmlParserInput * +xmlLoadResource(xmlParserCtxt *ctxt, const char *url, const char *publicId, + xmlResourceType type); +XML_HIDDEN xmlParserInput * +xmlCtxtNewInputFromUrl(xmlParserCtxt *ctxt, const char *url, + const char *publicId, const char *encoding, + xmlParserInputFlags flags); +XML_HIDDEN xmlParserInput * +xmlCtxtNewInputFromMemory(xmlParserCtxt *ctxt, const char *url, + const void *mem, size_t size, + const char *encoding, + xmlParserInputFlags flags); +XML_HIDDEN xmlParserInput * +xmlCtxtNewInputFromString(xmlParserCtxt *ctxt, const char *url, + const char *str, const char *encoding, + xmlParserInputFlags flags); +XML_HIDDEN xmlParserInput * +xmlCtxtNewInputFromFd(xmlParserCtxt *ctxt, const char *filename, int fd, + const char *encoding, xmlParserInputFlags flags); +XML_HIDDEN xmlParserInput * +xmlCtxtNewInputFromIO(xmlParserCtxt *ctxt, const char *url, + xmlInputReadCallback ioRead, + xmlInputCloseCallback ioClose, + void *ioCtxt, + const char *encoding, xmlParserInputFlags flags); +XML_HIDDEN xmlParserInput * +xmlNewPushInput(const char *url, const char *chunk, int size); + +XML_HIDDEN xmlChar * +xmlExpandEntitiesInAttValue(xmlParserCtxt *ctxt, const xmlChar *str, + int normalize); + +XML_HIDDEN void +xmlParserCheckEOF(xmlParserCtxt *ctxt, xmlParserErrors code); + +XML_HIDDEN void +xmlParserInputGetWindow(xmlParserInput *input, const xmlChar **startOut, + int *sizeInOut, int *offsetOut); + +static XML_INLINE void +xmlSaturatedAdd(unsigned long *dst, unsigned long val) { + if (val > ULONG_MAX - *dst) + *dst = ULONG_MAX; + else + *dst += val; +} + +static XML_INLINE void +xmlSaturatedAddSizeT(unsigned long *dst, size_t val) { + if (val > ULONG_MAX - *dst) + *dst = ULONG_MAX; + else + *dst += val; +} + +/** + * xmlAttrNormalize helper functions + * https://www.w3.org/TR/REC-xml/#AVNormalize + */ + +XML_HIDDEN xmlChar * xmlAttrNormalize(xmlChar *src); +XML_HIDDEN xmlChar * xmlAttrNormalizeSpace(const xmlChar *src, xmlChar *dst); + +#endif /* XML_PARSER_H_PRIVATE__ */ diff --git a/libxml2/include/private/regexp.h b/libxml2/include/private/regexp.h new file mode 100644 index 0000000..7378173 --- /dev/null +++ b/libxml2/include/private/regexp.h @@ -0,0 +1,26 @@ +#ifndef XML_REGEXP_H_PRIVATE__ +#define XML_REGEXP_H_PRIVATE__ + +#include + +#ifdef LIBXML_REGEXP_ENABLED + +/* + * -2 and -3 are used by xmlValidateElementType for other things. + */ +#define XML_REGEXP_OK 0 +#define XML_REGEXP_NOT_FOUND (-1) +#define XML_REGEXP_INTERNAL_ERROR (-4) +#define XML_REGEXP_OUT_OF_MEMORY (-5) +#define XML_REGEXP_INTERNAL_LIMIT (-6) +#define XML_REGEXP_INVALID_UTF8 (-7) + +XML_HIDDEN void +xmlAutomataSetFlags(xmlAutomata *am, int flags); + +XML_HIDDEN void +xmlRegExecClearErrors(xmlRegExecCtxt* exec); + +#endif /* LIBXML_REGEXP_ENABLED */ + +#endif /* XML_REGEXP_H_PRIVATE__ */ diff --git a/libxml2/include/private/save.h b/libxml2/include/private/save.h new file mode 100644 index 0000000..ea53933 --- /dev/null +++ b/libxml2/include/private/save.h @@ -0,0 +1,24 @@ +#ifndef XML_SAVE_H_PRIVATE__ +#define XML_SAVE_H_PRIVATE__ + +#include +#include +#include + +#ifdef LIBXML_OUTPUT_ENABLED + +XML_HIDDEN int +xmlSaveNotationDecl(xmlSaveCtxt *ctxt, xmlNotation *cur); +XML_HIDDEN int +xmlSaveNotationTable(xmlSaveCtxt *ctxt, xmlNotationTable *cur); + +XML_HIDDEN void +xmlBufAttrSerializeTxtContent(xmlOutputBuffer *buf, xmlDoc *doc, + const xmlChar *string); +XML_HIDDEN void +xmlNsListDumpOutput(xmlOutputBuffer *buf, xmlNs *cur); + +#endif /* LIBXML_OUTPUT_ENABLED */ + +#endif /* XML_SAVE_H_PRIVATE__ */ + diff --git a/libxml2/include/private/string.h b/libxml2/include/private/string.h new file mode 100644 index 0000000..34f4c96 --- /dev/null +++ b/libxml2/include/private/string.h @@ -0,0 +1,13 @@ +#ifndef XML_STRING_H_PRIVATE__ +#define XML_STRING_H_PRIVATE__ + +#include + +XML_HIDDEN int +xmlStrVASPrintf(xmlChar **out, int maxSize, const char *msg, va_list ap); +XML_HIDDEN int +xmlStrASPrintf(xmlChar **out, int maxSize, const char *msg, ...); +XML_HIDDEN xmlChar * +xmlEscapeFormatString(xmlChar **msg); + +#endif /* XML_STRING_H_PRIVATE__ */ diff --git a/libxml2/include/private/threads.h b/libxml2/include/private/threads.h new file mode 100644 index 0000000..823e325 --- /dev/null +++ b/libxml2/include/private/threads.h @@ -0,0 +1,83 @@ +#ifndef XML_THREADS_H_PRIVATE__ +#define XML_THREADS_H_PRIVATE__ + +#include + +#ifdef LIBXML_THREAD_ENABLED + #ifdef _WIN32 + #define WIN32_LEAN_AND_MEAN + #ifdef _WIN32_WINNT + #if _WIN32_WINNT < 0x0600 + #undef _WIN32_WINNT + #endif + #else + /* get the default version of the SDK */ + #include + #endif + #ifndef _WIN32_WINNT + #define _WIN32_WINNT 0x0600 + #endif + #include + #define HAVE_WIN32_THREADS + #else + #include + #define HAVE_POSIX_THREADS + #endif +#endif + +/* + * xmlMutex are a simple mutual exception locks + */ +struct _xmlMutex { +#ifdef HAVE_POSIX_THREADS + pthread_mutex_t lock; +#elif defined HAVE_WIN32_THREADS + CRITICAL_SECTION cs; +#else + int empty; +#endif +}; + +/* + * xmlRMutex are reentrant mutual exception locks + */ +struct _xmlRMutex { +#ifdef HAVE_POSIX_THREADS + pthread_mutex_t lock; + unsigned int held; + unsigned int waiters; + pthread_t tid; + pthread_cond_t cv; +#elif defined HAVE_WIN32_THREADS + CRITICAL_SECTION cs; +#else + int empty; +#endif +}; + +XML_HIDDEN void +xmlInitMutex(xmlMutex *mutex); +XML_HIDDEN void +xmlCleanupMutex(xmlMutex *mutex); + +XML_HIDDEN void +xmlInitRMutex(xmlRMutex *mutex); +XML_HIDDEN void +xmlCleanupRMutex(xmlRMutex *mutex); + +#ifdef LIBXML_SCHEMAS_ENABLED +XML_HIDDEN void +xmlInitSchemasTypesInternal(void); +XML_HIDDEN void +xmlCleanupSchemasTypesInternal(void); +#endif + +#ifdef LIBXML_RELAXNG_ENABLED +XML_HIDDEN void +xmlInitRelaxNGInternal(void); +XML_HIDDEN void +xmlCleanupRelaxNGInternal(void); +#endif + + +#endif /* XML_THREADS_H_PRIVATE__ */ diff --git a/libxml2/include/private/tree.h b/libxml2/include/private/tree.h new file mode 100644 index 0000000..a94a1d9 --- /dev/null +++ b/libxml2/include/private/tree.h @@ -0,0 +1,26 @@ +#ifndef XML_TREE_H_PRIVATE__ +#define XML_TREE_H_PRIVATE__ + +XML_HIDDEN extern int +xmlRegisterCallbacks; + +XML_HIDDEN int +xmlSearchNsSafe(xmlNode *node, const xmlChar *href, xmlNs **out); +XML_HIDDEN int +xmlSearchNsByHrefSafe(xmlNode *node, const xmlChar *href, xmlNs **out); + +XML_HIDDEN int +xmlNodeParseAttValue(const xmlDoc *doc, xmlAttr *parent, + const xmlChar *value, size_t len, xmlNode **listPtr); +XML_HIDDEN xmlNode * +xmlStaticCopyNode(xmlNode *node, xmlDoc *doc, xmlNode *parent, + int extended); +XML_HIDDEN xmlNode * +xmlStaticCopyNodeList(xmlNode *node, xmlDoc *doc, xmlNode *parent); +XML_HIDDEN const xmlChar * +xmlSplitQName4(const xmlChar *name, xmlChar **prefixPtr); + +XML_HIDDEN xmlChar * +xmlNodeListGetStringInternal(const xmlNode *node, int escape, int flags); + +#endif /* XML_TREE_H_PRIVATE__ */ diff --git a/libxml2/include/private/xinclude.h b/libxml2/include/private/xinclude.h new file mode 100644 index 0000000..a079093 --- /dev/null +++ b/libxml2/include/private/xinclude.h @@ -0,0 +1,9 @@ +#ifndef XML_INCLUDE_H_PRIVATE__ +#define XML_INCLUDE_H_PRIVATE__ + +#include + +XML_HIDDEN int +xmlXIncludeSetStreamingMode(xmlXIncludeCtxt *ctxt, int mode); + +#endif /* XML_INCLUDE_H_PRIVATE__ */ diff --git a/libxml2/include/private/xpath.h b/libxml2/include/private/xpath.h new file mode 100644 index 0000000..c301464 --- /dev/null +++ b/libxml2/include/private/xpath.h @@ -0,0 +1,16 @@ +#ifndef XML_XPATH_H_PRIVATE__ +#define XML_XPATH_H_PRIVATE__ + +#include + +XML_HIDDEN void +xmlInitXPathInternal(void); + +#ifdef LIBXML_XPATH_ENABLED +XML_HIDDEN void +xmlXPathErrMemory(xmlXPathContext *ctxt); +XML_HIDDEN void +xmlXPathPErrMemory(xmlXPathParserContext *ctxt); +#endif + +#endif /* XML_XPATH_H_PRIVATE__ */ diff --git a/libxml2/libxml-2.0.pc.in b/libxml2/libxml-2.0.pc.in new file mode 100644 index 0000000..07a7588 --- /dev/null +++ b/libxml2/libxml-2.0.pc.in @@ -0,0 +1,12 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ +modules=@WITH_MODULES@ + +Name: libXML +Version: @VERSION@ +Description: libXML library version2. +Requires@XML_PC_PRIVATE@: @XML_PC_REQUIRES@ +Libs: @XML_LIBDIR@ @XML_LIBS@ @XML_PC_LIBS_PRIVATE@ @XML_PC_LIBS@ @LIBS@ +Cflags: @XML_INCLUDEDIR@ @XML_PC_CFLAGS_PRIVATE@ @XML_STATIC_CFLAGS@ diff --git a/libxml2/libxml.h b/libxml2/libxml.h new file mode 100644 index 0000000..f2fcb45 --- /dev/null +++ b/libxml2/libxml.h @@ -0,0 +1,107 @@ +/* + * libxml.h: internal header only used during the compilation of libxml + * + * See COPYRIGHT for the status of this software + * + * Author: breese@users.sourceforge.net + */ + +#ifndef __XML_LIBXML_H__ +#define __XML_LIBXML_H__ + +/* + * These macros must be defined before including system headers. + * Do not add any #include directives above this block. + */ +#ifndef NO_LARGEFILE_SOURCE + #ifndef _LARGEFILE_SOURCE + #define _LARGEFILE_SOURCE + #endif + #ifndef _FILE_OFFSET_BITS + #define _FILE_OFFSET_BITS 64 + #endif +#endif + +/* + * These files are generated by the build system and contain private + * and public build configuration. + */ +#include "config.h" +#include + +#if defined(__has_attribute) +#define XML_HAS_ATTRIBUTE(x) __has_attribute(x) +#else +#define XML_HAS_ATTRIBUTE(x) 0 +#endif + +#if __STDC_VERSION__ >= 199901L + #define XML_INLINE inline +#elif defined(_MSC_VER) + #if _MSC_VER >= 1900 + #define XML_INLINE inline + #else + #define XML_INLINE _inline + #endif +#else + #define XML_INLINE +#endif + +#if __STDC_VERSION__ >= 199901L || (defined(_MSC_VER) && _MSC_VER >= 1900) + #include + #define XML_INTPTR_T intptr_t +#else + #include + #define XML_INTPTR_T ptrdiff_t +#endif + +#define XML_PTR_TO_INT(p) ((XML_INTPTR_T) (p)) +#define XML_INT_TO_PTR(i) ((void *) (XML_INTPTR_T) (i)) + +#if !defined(_WIN32) && \ + !defined(__CYGWIN__) && \ + (defined(__clang__) || \ + (defined(__GNUC__) && (__GNUC__ >= 4))) + #define XML_HIDDEN __attribute__((visibility("hidden"))) +#else + #define XML_HIDDEN +#endif + +#if __GNUC__ * 100 + __GNUC_MINOR__ >= 207 || defined(__clang__) + #define ATTRIBUTE_UNUSED __attribute__((unused)) +#else + #define ATTRIBUTE_UNUSED +#endif + +#ifdef HAVE_FUNC_ATTRIBUTE_DESTRUCTOR + #define ATTRIBUTE_DESTRUCTOR __attribute__((destructor)) +#endif + +#if XML_HAS_ATTRIBUTE(__counted_by__) + #define ATTRIBUTE_COUNTED_BY(c) __attribute__((__counted_by__(c))) +#else + #define ATTRIBUTE_COUNTED_BY(c) +#endif + +#if defined(__clang__) || \ + (defined(__GNUC__) && (__GNUC__ >= 8) && !defined(__EDG__)) + #define ATTRIBUTE_NO_SANITIZE(arg) __attribute__((no_sanitize(arg))) +#else + #define ATTRIBUTE_NO_SANITIZE(arg) +#endif + +#ifdef __clang__ + #if (!defined(__apple_build_version__) && __clang_major__ >= 12) || \ + (defined(__apple_build_version__) && __clang_major__ >= 13) + #define ATTRIBUTE_NO_SANITIZE_INTEGER \ + ATTRIBUTE_NO_SANITIZE("unsigned-integer-overflow") \ + ATTRIBUTE_NO_SANITIZE("unsigned-shift-base") + #else + #define ATTRIBUTE_NO_SANITIZE_INTEGER \ + ATTRIBUTE_NO_SANITIZE("unsigned-integer-overflow") + #endif +#else + #define ATTRIBUTE_NO_SANITIZE_INTEGER +#endif + +#endif /* ! __XML_LIBXML_H__ */ diff --git a/libxml2/libxml.m4 b/libxml2/libxml.m4 new file mode 100644 index 0000000..4c031a5 --- /dev/null +++ b/libxml2/libxml.m4 @@ -0,0 +1,16 @@ +dnl AM_PATH_XML2([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) +dnl Test for XML, and define XML_CPPFLAGS and XML_LIBS +dnl +dnl Deprecated and unmaintained. Use pkg-config or xslt-config. +dnl +AC_DEFUN([AM_PATH_XML2],[ + m4_warn([obsolete], [AM_PATH_XML2 is deprecated, use PKG_CHECK_MODULES instead]) + AC_REQUIRE([PKG_PROG_PKG_CONFIG]) + + verdep=ifelse([$1], [], [], [">= $1"]) + PKG_CHECK_MODULES(XML, [libxml-2.0 $verdep], [$2], [$3]) + + XML_CPPFLAGS=$XML_CFLAGS + AC_SUBST(XML_CPPFLAGS) + AC_SUBST(XML_LIBS) +]) diff --git a/libxml2/libxml2-config.cmake.cmake.in b/libxml2/libxml2-config.cmake.cmake.in new file mode 100644 index 0000000..4c049ed --- /dev/null +++ b/libxml2/libxml2-config.cmake.cmake.in @@ -0,0 +1,155 @@ +# libxml2-config.cmake +# -------------------- +# +# Libxml2 cmake module. +# This module sets the following variables: +# +# :: +# +# LIBXML2_INCLUDE_DIR - Directory where LibXml2 headers are located. +# LIBXML2_INCLUDE_DIRS - list of the include directories needed to use LibXml2. +# LIBXML2_LIBRARY - path to the LibXml2 library. +# LIBXML2_LIBRARIES - xml2 libraries to link against. +# LIBXML2_DEFINITIONS - the compiler switches required for using LibXml2. +# LIBXML2_VERSION_MAJOR - The major version of libxml2. +# LIBXML2_VERSION_MINOR - The minor version of libxml2. +# LIBXML2_VERSION_PATCH - The patch version of libxml2. +# LIBXML2_VERSION_STRING - version number as a string (ex: "2.3.4") +# LIBXML2_MODULES - whether libxml2 has dso support +# LIBXML2_XMLLINT_EXECUTABLE - path to the XML checking tool xmllint coming with LibXml2 + +include("${CMAKE_CURRENT_LIST_DIR}/libxml2-export.cmake") + +@PACKAGE_INIT@ + +set(LIBXML2_VERSION_MAJOR @LIBXML_MAJOR_VERSION@) +set(LIBXML2_VERSION_MINOR @LIBXML_MINOR_VERSION@) +set(LIBXML2_VERSION_PATCH @LIBXML_MICRO_VERSION@) +set(LIBXML2_VERSION_STRING "@VERSION@") +set(LIBXML2_INSTALL_PREFIX ${PACKAGE_PREFIX_DIR}) +set(LIBXML2_INCLUDE_DIR ${PACKAGE_PREFIX_DIR}/@CMAKE_INSTALL_INCLUDEDIR@/libxml2) +set(LIBXML2_LIBRARY_DIR ${PACKAGE_PREFIX_DIR}/@CMAKE_INSTALL_LIBDIR@) + +macro(select_library_location target basename) + if(TARGET ${target}) + foreach(property IN ITEMS IMPORTED_LOCATION IMPORTED_IMPLIB) + get_target_property(${basename}_${property}_DEBUG ${target} ${property}_DEBUG) + get_target_property(${basename}_${property}_MINSIZEREL ${target} ${property}_MINSIZEREL) + get_target_property(${basename}_${property}_NOCONFIG ${target} ${property}_NOCONFIG) + get_target_property(${basename}_${property}_RELEASE ${target} ${property}_RELEASE) + get_target_property(${basename}_${property}_RELWITHDEBINFO ${target} ${property}_RELWITHDEBINFO) + + if(${basename}_${property}_DEBUG AND ${basename}_${property}_RELEASE) + set(${basename}_LIBRARY debug ${${basename}_${property}_DEBUG} optimized ${${basename}_${property}_RELEASE}) + elseif(${basename}_${property}_DEBUG AND ${basename}_${property}_RELWITHDEBINFO) + set(${basename}_LIBRARY debug ${${basename}_${property}_DEBUG} optimized ${${basename}_${property}_RELWITHDEBINFO}) + elseif(${basename}_${property}_DEBUG AND ${basename}_${property}_MINSIZEREL) + set(${basename}_LIBRARY debug ${${basename}_${property}_DEBUG} optimized ${${basename}_${property}_MINSIZEREL}) + elseif(${basename}_${property}_RELEASE) + set(${basename}_LIBRARY ${${basename}_${property}_RELEASE}) + elseif(${basename}_${property}_RELWITHDEBINFO) + set(${basename}_LIBRARY ${${basename}_${property}_RELWITHDEBINFO}) + elseif(${basename}_${property}_MINSIZEREL) + set(${basename}_LIBRARY ${${basename}_${property}_MINSIZEREL}) + elseif(${basename}_${property}_DEBUG) + set(${basename}_LIBRARY ${${basename}_${property}_DEBUG}) + elseif(${basename}_${property}_NOCONFIG) + set(${basename}_LIBRARY ${${basename}_${property}_NOCONFIG}) + endif() + endforeach() + endif() +endmacro() + +macro(select_executable_location target basename) + if(TARGET ${target}) + get_target_property(${basename}_IMPORTED_LOCATION_DEBUG ${target} IMPORTED_LOCATION_DEBUG) + get_target_property(${basename}_IMPORTED_LOCATION_MINSIZEREL ${target} IMPORTED_LOCATION_MINSIZEREL) + get_target_property(${basename}_IMPORTED_LOCATION_NOCONFIG ${target} IMPORTED_LOCATION_NOCONFIG) + get_target_property(${basename}_IMPORTED_LOCATION_RELEASE ${target} IMPORTED_LOCATION_RELEASE) + get_target_property(${basename}_IMPORTED_LOCATION_RELWITHDEBINFO ${target} IMPORTED_LOCATION_RELWITHDEBINFO) + + if(${basename}_IMPORTED_LOCATION_RELEASE) + set(${basename}_EXECUTABLE ${${basename}_IMPORTED_LOCATION_RELEASE}) + elseif(${basename}_IMPORTED_LOCATION_RELWITHDEBINFO) + set(${basename}_EXECUTABLE ${${basename}_IMPORTED_LOCATION_RELWITHDEBINFO}) + elseif(${basename}_IMPORTED_LOCATION_MINSIZEREL) + set(${basename}_EXECUTABLE ${${basename}_IMPORTED_LOCATION_MINSIZEREL}) + elseif(${basename}_IMPORTED_LOCATION_DEBUG) + set(${basename}_EXECUTABLE ${${basename}_IMPORTED_LOCATION_DEBUG}) + elseif(${basename}_IMPORTED_LOCATION_NOCONFIG) + set(${basename}_EXECUTABLE ${${basename}_IMPORTED_LOCATION_NOCONFIG}) + endif() + endif() +endmacro() + +select_library_location(LibXml2::LibXml2 LIBXML2) +select_executable_location(LibXml2::xmlcatalog LIBXML2_XMLCATALOG) +select_executable_location(LibXml2::xmllint LIBXML2_XMLLINT) + +set(LIBXML2_LIBRARIES ${LIBXML2_LIBRARY}) +set(LIBXML2_INCLUDE_DIRS ${LIBXML2_INCLUDE_DIR}) + +include(CMakeFindDependencyMacro) + +set(LIBXML2_SHARED @BUILD_SHARED_LIBS@) +set(LIBXML2_WITH_ICONV @LIBXML2_WITH_ICONV@) +set(LIBXML2_WITH_THREADS @LIBXML2_WITH_THREADS@) +set(LIBXML2_WITH_ICU @LIBXML2_WITH_ICU@) +set(LIBXML2_WITH_ZLIB @LIBXML2_WITH_ZLIB@) + +if(NOT LIBXML2_SHARED) + set(LIBXML2_DEFINITIONS -DLIBXML_STATIC) + + if(LIBXML2_WITH_ICONV) + find_dependency(Iconv) + list(APPEND LIBXML2_LIBRARIES ${Iconv_LIBRARIES}) + if(NOT Iconv_FOUND) + set(${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) + set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "Iconv dependency was not found") + return() + endif() + endif() + + if(LIBXML2_WITH_THREADS) + find_dependency(Threads) + list(APPEND LIBXML2_LIBRARIES ${CMAKE_THREAD_LIBS_INIT}) + if(NOT Threads_FOUND) + set(${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) + set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "Threads dependency was not found") + return() + endif() + endif() + + if(LIBXML2_WITH_ICU) + find_dependency(ICU COMPONENTS data i18n uc) + list(APPEND LIBXML2_LIBRARIES ${ICU_LIBRARIES}) + if(NOT ICU_FOUND) + set(${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) + set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "ICU dependency was not found") + return() + endif() + endif() + + if(LIBXML2_WITH_ZLIB) + find_dependency(ZLIB) + list(APPEND LIBXML2_LIBRARIES ${ZLIB_LIBRARIES}) + if(NOT ZLIB_FOUND) + set(${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) + set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "ZLIB dependency was not found") + return() + endif() + endif() + + if(UNIX) + list(APPEND LIBXML2_LIBRARIES m) + endif() + + if(WIN32) + list(APPEND LIBXML2_LIBRARIES Bcrypt) + endif() +endif() + +# whether libxml2 has dso support +set(LIBXML2_MODULES @LIBXML2_WITH_MODULES@) + +mark_as_advanced(LIBXML2_LIBRARY LIBXML2_XMLCATALOG_EXECUTABLE LIBXML2_XMLLINT_EXECUTABLE) diff --git a/libxml2/libxml2-config.cmake.in b/libxml2/libxml2-config.cmake.in new file mode 100644 index 0000000..ff6433f --- /dev/null +++ b/libxml2/libxml2-config.cmake.in @@ -0,0 +1,134 @@ +# libxml2-config.cmake +# -------------------- +# +# Libxml2 cmake module. +# This module sets the following variables: +# +# :: +# +# LIBXML2_FOUND - True if libxml2 headers and libraries were found +# LIBXML2_INCLUDE_DIR - Directory where LibXml2 headers are located. +# LIBXML2_INCLUDE_DIRS - list of the include directories needed to use LibXml2. +# LIBXML2_LIBRARY - path to the LibXml2 library. +# LIBXML2_LIBRARIES - xml2 libraries to link against. +# LIBXML2_DEFINITIONS - the compiler switches required for using LibXml2. +# LIBXML2_VERSION_MAJOR - The major version of libxml2. +# LIBXML2_VERSION_MINOR - The minor version of libxml2. +# LIBXML2_VERSION_PATCH - The patch version of libxml2. +# LIBXML2_VERSION_STRING - version number as a string (ex: "2.3.4") +# LIBXML2_MODULES - whether libxml2 has dso support +# LIBXML2_XMLLINT_EXECUTABLE - path to the XML checking tool xmllint coming with LibXml2 +# +# The following targets are defined: +# +# LibXml2::LibXml2 - the LibXml2 library +# LibXml2::xmllint - the xmllint command-line executable + +set(LIBXML2_VERSION_MAJOR @LIBXML_MAJOR_VERSION@) +set(LIBXML2_VERSION_MINOR @LIBXML_MINOR_VERSION@) +set(LIBXML2_VERSION_MICRO @LIBXML_MICRO_VERSION@) +set(LIBXML2_VERSION_STRING "@VERSION@") +set(LIBXML2_DEFINITIONS "@XML_CFLAGS@") +set(LIBXML2_INCLUDE_DIR @INSTALL_INCLUDEDIR@/libxml2) +set(LIBXML2_LIBRARY_DIR @INSTALL_LIBDIR@) + +find_library(LIBXML2_LIBRARY NAMES xml2 HINTS ${LIBXML2_LIBRARY_DIR} NO_DEFAULT_PATH) +find_program(LIBXML2_XMLCATALOG_EXECUTABLE NAMES xmlcatalog HINTS @INSTALL_BINDIR@ NO_DEFAULT_PATH) +find_program(LIBXML2_XMLLINT_EXECUTABLE NAMES xmllint HINTS @INSTALL_BINDIR@ NO_DEFAULT_PATH) + +set(LIBXML2_LIBRARIES ${LIBXML2_LIBRARY}) +set(LIBXML2_INCLUDE_DIRS ${LIBXML2_INCLUDE_DIR}) +unset(LIBXML2_INTERFACE_LINK_LIBRARIES) + +include(CMakeFindDependencyMacro) + +set(LIBXML2_SHARED @BUILD_SHARED_LIBS@) +set(LIBXML2_WITH_ICONV @WITH_ICONV@) +set(LIBXML2_WITH_THREADS @WITH_THREADS@) +set(LIBXML2_WITH_ICU @WITH_ICU@) +set(LIBXML2_WITH_ZLIB @WITH_ZLIB@) + +if(NOT LIBXML2_SHARED) + set(LIBXML2_DEFINITIONS -DLIBXML_STATIC) + + if(LIBXML2_WITH_ICONV) + find_dependency(Iconv) + list(APPEND LIBXML2_LIBRARIES ${Iconv_LIBRARIES}) + list(APPEND LIBXML2_INTERFACE_LINK_LIBRARIES "\$") + if(NOT Iconv_FOUND) + set(${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) + set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "Iconv dependency was not found") + return() + endif() + endif() + + if(LIBXML2_WITH_THREADS) + find_dependency(Threads) + list(APPEND LIBXML2_LIBRARIES ${CMAKE_THREAD_LIBS_INIT}) + list(APPEND LIBXML2_INTERFACE_LINK_LIBRARIES "\$") + if(NOT Threads_FOUND) + set(${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) + set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "Threads dependency was not found") + return() + endif() + endif() + + if(LIBXML2_WITH_ICU) + find_dependency(ICU COMPONENTS data i18n uc) + list(APPEND LIBXML2_LIBRARIES ${ICU_LIBRARIES}) + list(APPEND LIBXML2_INTERFACE_LINK_LIBRARIES "\$;\$;\$") + if(NOT ICU_FOUND) + set(${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) + set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "ICU dependency was not found") + return() + endif() + endif() + + if(LIBXML2_WITH_ZLIB) + find_dependency(ZLIB) + list(APPEND LIBXML2_LIBRARIES ${ZLIB_LIBRARIES}) + list(APPEND LIBXML2_INTERFACE_LINK_LIBRARIES "\$") + if(NOT ZLIB_FOUND) + set(${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) + set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "ZLIB dependency was not found") + return() + endif() + endif() + + if(UNIX) + list(APPEND LIBXML2_LIBRARIES m) + list(APPEND LIBXML2_INTERFACE_LINK_LIBRARIES "\$") + endif() + + if(WIN32) + list(APPEND LIBXML2_LIBRARIES Bcrypt) + list(APPEND LIBXML2_INTERFACE_LINK_LIBRARIES "\$") + endif() +endif() + +# whether libxml2 has dso support +set(LIBXML2_MODULES @WITH_MODULES@) + +mark_as_advanced(LIBXML2_LIBRARY LIBXML2_XMLCATALOG_EXECUTABLE LIBXML2_XMLLINT_EXECUTABLE) + +if(DEFINED LIBXML2_LIBRARY AND DEFINED LIBXML2_INCLUDE_DIRS) + set(LIBXML2_FOUND TRUE) +endif() + +if(NOT TARGET LibXml2::LibXml2 AND DEFINED LIBXML2_LIBRARY AND DEFINED LIBXML2_INCLUDE_DIRS) + add_library(LibXml2::LibXml2 UNKNOWN IMPORTED) + set_target_properties(LibXml2::LibXml2 PROPERTIES IMPORTED_LOCATION "${LIBXML2_LIBRARY}") + set_target_properties(LibXml2::LibXml2 PROPERTIES INTERFACE_COMPILE_OPTIONS "${LIBXML2_DEFINITIONS}") + set_target_properties(LibXml2::LibXml2 PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${LIBXML2_INCLUDE_DIRS}") + set_target_properties(LibXml2::LibXml2 PROPERTIES INTERFACE_LINK_LIBRARIES "${LIBXML2_INTERFACE_LINK_LIBRARIES}") +endif() + +if(NOT TARGET LibXml2::xmlcatalog AND DEFINED LIBXML2_XMLCATALOG_EXECUTABLE) + add_executable(LibXml2::xmlcatalog IMPORTED) + set_target_properties(LibXml2::xmlcatalog PROPERTIES IMPORTED_LOCATION "${LIBXML2_XMLCATALOG_EXECUTABLE}") +endif() + +if(NOT TARGET LibXml2::xmllint AND DEFINED LIBXML2_XMLLINT_EXECUTABLE) + add_executable(LibXml2::xmllint IMPORTED) + set_target_properties(LibXml2::xmllint PROPERTIES IMPORTED_LOCATION "${LIBXML2_XMLLINT_EXECUTABLE}") +endif() diff --git a/libxml2/libxml2.doap b/libxml2/libxml2.doap new file mode 100644 index 0000000..5d61169 --- /dev/null +++ b/libxml2/libxml2.doap @@ -0,0 +1,40 @@ + + + libxml2 + XML parser and markup toolkit + Libxml2 is the XML C parser and toolkit developed for the Gnome +project (but usable outside of the Gnome platform), it is free software +available under the MIT License. XML itself is a metalanguage to design markup +languages, i.e. text language where semantic and structure are added to the +content using extra "markup" information enclosed between angle brackets. HTML +is the most well-known markup language. Though the library is written in C a +variety of language bindings make it available in other environments. + +Libxml2 is known to be very portable, the library should build and work +without serious troubles on a variety of systems (Linux, Unix, Windows, +CygWin, MacOS X, RISC Os, OS/2, QNX, MVS, +...) + + + + + C + + + + Iván Chavero + ichavero + + + + + Daniel Garcia Moreno + + danigm + + + diff --git a/libxml2/lintmain.c b/libxml2/lintmain.c new file mode 100644 index 0000000..9e49ec6 --- /dev/null +++ b/libxml2/lintmain.c @@ -0,0 +1,14 @@ +/* + * lintmain.c: Main routine for xmllint + * + * See Copyright for the status of this software. + */ + +#include + +#include "private/lint.h" + +int +main(int argc, char **argv) { + return(xmllintMain(argc, (const char **) argv, stderr, NULL)); +} diff --git a/libxml2/list.c b/libxml2/list.c new file mode 100644 index 0000000..c112ab9 --- /dev/null +++ b/libxml2/list.c @@ -0,0 +1,710 @@ +/* + * list.c: lists handling implementation + * + * Copyright (C) 2000 Gary Pennington and Daniel Veillard. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND + * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER. + * + * Author: Gary Pennington + */ + +#define IN_LIBXML +#include "libxml.h" + +#include +#include +#include +#include +#include + +/* + * Type definition are kept internal + */ + +struct _xmlLink +{ + struct _xmlLink *next; + struct _xmlLink *prev; + void *data; +}; + +struct _xmlList +{ + xmlLinkPtr sentinel; + void (*linkDeallocator)(xmlLinkPtr ); + int (*linkCompare)(const void *, const void*); +}; + +/************************************************************************ + * * + * Interfaces * + * * + ************************************************************************/ + +/** + * Unlink and deallocate `lk` from list `l` + * + * @param l a list + * @param lk a link + */ +static void +xmlLinkDeallocator(xmlListPtr l, xmlLinkPtr lk) +{ + (lk->prev)->next = lk->next; + (lk->next)->prev = lk->prev; + if(l->linkDeallocator) + l->linkDeallocator(lk); + xmlFree(lk); +} + +/** + * Compares two arbitrary data + * + * @param data0 first data + * @param data1 second data + * @returns -1, 0 or 1 depending on whether data1 is greater equal or smaller + * than data0 + */ +static int +xmlLinkCompare(const void *data0, const void *data1) +{ + if (data0 < data1) + return (-1); + else if (data0 == data1) + return (0); + return (1); +} + +/** + * Search data in the ordered list walking from the beginning + * + * @param l a list + * @param data a data + * @returns the link containing the data or NULL + */ +static xmlLinkPtr +xmlListLowerSearch(xmlListPtr l, void *data) +{ + xmlLinkPtr lk; + + if (l == NULL) + return(NULL); + for(lk = l->sentinel->next;lk != l->sentinel && l->linkCompare(lk->data, data) <0 ;lk = lk->next); + return lk; +} + +/** + * Search data in the ordered list walking backward from the end + * + * @param l a list + * @param data a data + * @returns the link containing the data or NULL + */ +static xmlLinkPtr +xmlListHigherSearch(xmlListPtr l, void *data) +{ + xmlLinkPtr lk; + + if (l == NULL) + return(NULL); + for(lk = l->sentinel->prev;lk != l->sentinel && l->linkCompare(lk->data, data) >0 ;lk = lk->prev); + return lk; +} + +/** + * Search data in the list + * + * @param l a list + * @param data a data + * @returns the link containing the data or NULL + */ +static xmlLinkPtr +xmlListLinkSearch(xmlListPtr l, void *data) +{ + xmlLinkPtr lk; + if (l == NULL) + return(NULL); + lk = xmlListLowerSearch(l, data); + if (lk == l->sentinel) + return NULL; + else { + if (l->linkCompare(lk->data, data) ==0) + return lk; + return NULL; + } +} + +/** + * Search data in the list processing backward + * + * @param l a list + * @param data a data + * @returns the link containing the data or NULL + */ +static xmlLinkPtr +xmlListLinkReverseSearch(xmlListPtr l, void *data) +{ + xmlLinkPtr lk; + if (l == NULL) + return(NULL); + lk = xmlListHigherSearch(l, data); + if (lk == l->sentinel) + return NULL; + else { + if (l->linkCompare(lk->data, data) ==0) + return lk; + return NULL; + } +} + +/** + * Create a new list + * + * @param deallocator an optional deallocator function + * @param compare an optional comparison function + * @returns the new list or NULL in case of error + */ +xmlList * +xmlListCreate(xmlListDeallocator deallocator, xmlListDataCompare compare) +{ + xmlListPtr l; + l = (xmlListPtr)xmlMalloc(sizeof(xmlList)); + if (l == NULL) + return (NULL); + /* Initialize the list to NULL */ + memset(l, 0, sizeof(xmlList)); + + /* Add the sentinel */ + l->sentinel = (xmlLinkPtr)xmlMalloc(sizeof(xmlLink)); + if (l->sentinel == NULL) { + xmlFree(l); + return (NULL); + } + l->sentinel->next = l->sentinel; + l->sentinel->prev = l->sentinel; + l->sentinel->data = NULL; + + /* If there is a link deallocator, use it */ + if (deallocator != NULL) + l->linkDeallocator = deallocator; + /* If there is a link comparator, use it */ + if (compare != NULL) + l->linkCompare = compare; + else /* Use our own */ + l->linkCompare = xmlLinkCompare; + return l; +} + +/** + * Search the list for an existing value of `data` + * + * @param l a list + * @param data a search value + * @returns the value associated to `data` or NULL in case of error + */ +void * +xmlListSearch(xmlList *l, void *data) +{ + xmlLinkPtr lk; + if (l == NULL) + return(NULL); + lk = xmlListLinkSearch(l, data); + if (lk) + return (lk->data); + return NULL; +} + +/** + * Search the list in reverse order for an existing value of `data` + * + * @param l a list + * @param data a search value + * @returns the value associated to `data` or NULL in case of error + */ +void * +xmlListReverseSearch(xmlList *l, void *data) +{ + xmlLinkPtr lk; + if (l == NULL) + return(NULL); + lk = xmlListLinkReverseSearch(l, data); + if (lk) + return (lk->data); + return NULL; +} + +/** + * Insert data in the ordered list at the beginning for this value + * + * @param l a list + * @param data the data + * @returns 0 in case of success, 1 in case of failure + */ +int +xmlListInsert(xmlList *l, void *data) +{ + xmlLinkPtr lkPlace, lkNew; + + if (l == NULL) + return(1); + lkPlace = xmlListLowerSearch(l, data); + /* Add the new link */ + lkNew = (xmlLinkPtr) xmlMalloc(sizeof(xmlLink)); + if (lkNew == NULL) + return (1); + lkNew->data = data; + lkPlace = lkPlace->prev; + lkNew->next = lkPlace->next; + (lkPlace->next)->prev = lkNew; + lkPlace->next = lkNew; + lkNew->prev = lkPlace; + return 0; +} + +/** + * Insert data in the ordered list at the end for this value + * + * @param l a list + * @param data the data + * @returns 0 in case of success, 1 in case of failure + */ +int xmlListAppend(xmlList *l, void *data) +{ + xmlLinkPtr lkPlace, lkNew; + + if (l == NULL) + return(1); + lkPlace = xmlListHigherSearch(l, data); + /* Add the new link */ + lkNew = (xmlLinkPtr) xmlMalloc(sizeof(xmlLink)); + if (lkNew == NULL) + return (1); + lkNew->data = data; + lkNew->next = lkPlace->next; + (lkPlace->next)->prev = lkNew; + lkPlace->next = lkNew; + lkNew->prev = lkPlace; + return 0; +} + +/** + * Deletes the list and its associated data + * + * @param l a list + */ +void xmlListDelete(xmlList *l) +{ + if (l == NULL) + return; + + xmlListClear(l); + xmlFree(l->sentinel); + xmlFree(l); +} + +/** + * Remove the first instance associated to data in the list + * + * @param l a list + * @param data list data + * @returns 1 if a deallocation occurred, or 0 if not found + */ +int +xmlListRemoveFirst(xmlList *l, void *data) +{ + xmlLinkPtr lk; + + if (l == NULL) + return(0); + /*Find the first instance of this data */ + lk = xmlListLinkSearch(l, data); + if (lk != NULL) { + xmlLinkDeallocator(l, lk); + return 1; + } + return 0; +} + +/** + * Remove the last instance associated to data in the list + * + * @param l a list + * @param data list data + * @returns 1 if a deallocation occurred, or 0 if not found + */ +int +xmlListRemoveLast(xmlList *l, void *data) +{ + xmlLinkPtr lk; + + if (l == NULL) + return(0); + /*Find the last instance of this data */ + lk = xmlListLinkReverseSearch(l, data); + if (lk != NULL) { + xmlLinkDeallocator(l, lk); + return 1; + } + return 0; +} + +/** + * Remove the all instance associated to data in the list + * + * @param l a list + * @param data list data + * @returns the number of deallocation, or 0 if not found + */ +int +xmlListRemoveAll(xmlList *l, void *data) +{ + int count=0; + + if (l == NULL) + return(0); + + while(xmlListRemoveFirst(l, data)) + count++; + return count; +} + +/** + * Remove the all data in the list + * + * @param l a list + */ +void +xmlListClear(xmlList *l) +{ + xmlLinkPtr lk; + + if (l == NULL) + return; + lk = l->sentinel->next; + while(lk != l->sentinel) { + xmlLinkPtr next = lk->next; + + xmlLinkDeallocator(l, lk); + lk = next; + } +} + +/** + * Is the list empty ? + * + * @param l a list + * @returns 1 if the list is empty, 0 if not empty and -1 in case of error + */ +int +xmlListEmpty(xmlList *l) +{ + if (l == NULL) + return(-1); + return (l->sentinel->next == l->sentinel); +} + +/** + * Get the first element in the list + * + * @param l a list + * @returns the first element in the list, or NULL + */ +xmlLink * +xmlListFront(xmlList *l) +{ + if (l == NULL) + return(NULL); + return (l->sentinel->next); +} + +/** + * Get the last element in the list + * + * @param l a list + * @returns the last element in the list, or NULL + */ +xmlLink * +xmlListEnd(xmlList *l) +{ + if (l == NULL) + return(NULL); + return (l->sentinel->prev); +} + +/** + * Get the number of elements in the list + * + * @param l a list + * @returns the number of elements in the list or -1 in case of error + */ +int +xmlListSize(xmlList *l) +{ + xmlLinkPtr lk; + int count=0; + + if (l == NULL) + return(-1); + /* TODO: keep a counter in xmlList instead */ + for(lk = l->sentinel->next; lk != l->sentinel; lk = lk->next, count++); + return count; +} + +/** + * Removes the first element in the list + * + * @param l a list + */ +void +xmlListPopFront(xmlList *l) +{ + if(!xmlListEmpty(l)) + xmlLinkDeallocator(l, l->sentinel->next); +} + +/** + * Removes the last element in the list + * + * @param l a list + */ +void +xmlListPopBack(xmlList *l) +{ + if(!xmlListEmpty(l)) + xmlLinkDeallocator(l, l->sentinel->prev); +} + +/** + * add the new data at the beginning of the list + * + * @param l a list + * @param data new data + * @returns 1 if successful, 0 otherwise + */ +int +xmlListPushFront(xmlList *l, void *data) +{ + xmlLinkPtr lkPlace, lkNew; + + if (l == NULL) + return(0); + lkPlace = l->sentinel; + /* Add the new link */ + lkNew = (xmlLinkPtr) xmlMalloc(sizeof(xmlLink)); + if (lkNew == NULL) + return (0); + lkNew->data = data; + lkNew->next = lkPlace->next; + (lkPlace->next)->prev = lkNew; + lkPlace->next = lkNew; + lkNew->prev = lkPlace; + return 1; +} + +/** + * add the new data at the end of the list + * + * @param l a list + * @param data new data + * @returns 1 if successful, 0 otherwise + */ +int +xmlListPushBack(xmlList *l, void *data) +{ + xmlLinkPtr lkPlace, lkNew; + + if (l == NULL) + return(0); + lkPlace = l->sentinel->prev; + /* Add the new link */ + lkNew = (xmlLinkPtr)xmlMalloc(sizeof(xmlLink)); + if (lkNew == NULL) + return (0); + lkNew->data = data; + lkNew->next = lkPlace->next; + (lkPlace->next)->prev = lkNew; + lkPlace->next = lkNew; + lkNew->prev = lkPlace; + return 1; +} + +/** + * See Returns. + * + * @param lk a link + * @returns a pointer to the data referenced from this link + */ +void * +xmlLinkGetData(xmlLink *lk) +{ + if (lk == NULL) + return(NULL); + return lk->data; +} + +/** + * Reverse the order of the elements in the list + * + * @param l a list + */ +void +xmlListReverse(xmlList *l) +{ + xmlLinkPtr lk; + xmlLinkPtr lkPrev; + + if (l == NULL) + return; + lkPrev = l->sentinel; + for (lk = l->sentinel->next; lk != l->sentinel; lk = lk->next) { + lkPrev->next = lkPrev->prev; + lkPrev->prev = lk; + lkPrev = lk; + } + /* Fix up the last node */ + lkPrev->next = lkPrev->prev; + lkPrev->prev = lk; +} + +/** + * Sort all the elements in the list + * + * @param l a list + */ +void +xmlListSort(xmlList *l) +{ + xmlListPtr lTemp; + + if (l == NULL) + return; + if(xmlListEmpty(l)) + return; + + /* I think that the real answer is to implement quicksort, the + * alternative is to implement some list copying procedure which + * would be based on a list copy followed by a clear followed by + * an insert. This is slow... + */ + + lTemp = xmlListDup(l); + if (lTemp == NULL) + return; + xmlListClear(l); + xmlListMerge(l, lTemp); + xmlListDelete(lTemp); +} + +/** + * Walk all the element of the first from first to last and + * apply the walker function to it + * + * @param l a list + * @param walker a processing function + * @param user a user parameter passed to the walker function + */ +void +xmlListWalk(xmlList *l, xmlListWalker walker, void *user) { + xmlLinkPtr lk; + + if ((l == NULL) || (walker == NULL)) + return; + for(lk = l->sentinel->next; lk != l->sentinel; lk = lk->next) { + if((walker(lk->data, user)) == 0) + break; + } +} + +/** + * Walk all the element of the list in reverse order and + * apply the walker function to it + * + * @param l a list + * @param walker a processing function + * @param user a user parameter passed to the walker function + */ +void +xmlListReverseWalk(xmlList *l, xmlListWalker walker, void *user) { + xmlLinkPtr lk; + + if ((l == NULL) || (walker == NULL)) + return; + for(lk = l->sentinel->prev; lk != l->sentinel; lk = lk->prev) { + if((walker(lk->data, user)) == 0) + break; + } +} + +/** + * include all the elements of the second list in the first one and + * clear the second list + * + * @param l1 the original list + * @param l2 the new list + */ +void +xmlListMerge(xmlList *l1, xmlList *l2) +{ + xmlListCopy(l1, l2); + xmlListClear(l2); +} + +/** + * Duplicate the list + * + * @param old the list + * @returns a new copy of the list or NULL in case of error + */ +xmlList * +xmlListDup(xmlList *old) +{ + xmlListPtr cur; + + if (old == NULL) + return(NULL); + /* Hmmm, how to best deal with allocation issues when copying + * lists. If there is a de-allocator, should responsibility lie with + * the new list or the old list. Surely not both. I'll arbitrarily + * set it to be the old list for the time being whilst I work out + * the answer + */ + cur = xmlListCreate(NULL, old->linkCompare); + if (cur == NULL) + return (NULL); + if (0 != xmlListCopy(cur, old)) + return NULL; + return cur; +} + +/** + * Move all the element from the old list in the new list + * + * @param cur the new list + * @param old the old list + * @returns 0 in case of success 1 in case of error + */ +int +xmlListCopy(xmlList *cur, xmlList *old) +{ + /* Walk the old tree and insert the data into the new one */ + xmlLinkPtr lk; + + if ((old == NULL) || (cur == NULL)) + return(1); + for(lk = old->sentinel->next; lk != old->sentinel; lk = lk->next) { + if (0 !=xmlListInsert(cur, lk->data)) { + xmlListDelete(cur); + return (1); + } + } + return (0); +} +/* xmlListUnique() */ +/* xmlListSwap */ diff --git a/libxml2/m4/ax_gcc_func_attribute.m4 b/libxml2/m4/ax_gcc_func_attribute.m4 new file mode 100644 index 0000000..fa4e089 --- /dev/null +++ b/libxml2/m4/ax_gcc_func_attribute.m4 @@ -0,0 +1,242 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_gcc_func_attribute.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_GCC_FUNC_ATTRIBUTE(ATTRIBUTE) +# +# DESCRIPTION +# +# This macro checks if the compiler supports one of GCC's function +# attributes; many other compilers also provide function attributes with +# the same syntax. Compiler warnings are used to detect supported +# attributes as unsupported ones are ignored by default so quieting +# warnings when using this macro will yield false positives. +# +# The ATTRIBUTE parameter holds the name of the attribute to be checked. +# +# If ATTRIBUTE is supported define HAVE_FUNC_ATTRIBUTE_. +# +# The macro caches its result in the ax_cv_have_func_attribute_ +# variable. +# +# The macro currently supports the following function attributes: +# +# alias +# aligned +# alloc_size +# always_inline +# artificial +# cold +# const +# constructor +# constructor_priority for constructor attribute with priority +# deprecated +# destructor +# dllexport +# dllimport +# error +# externally_visible +# fallthrough +# flatten +# format +# format_arg +# gnu_format +# gnu_inline +# hot +# ifunc +# leaf +# malloc +# noclone +# noinline +# nonnull +# noreturn +# nothrow +# optimize +# pure +# sentinel +# sentinel_position +# unused +# used +# visibility +# warning +# warn_unused_result +# weak +# weakref +# +# Unsupported function attributes will be tested with a prototype +# returning an int and not accepting any arguments and the result of the +# check might be wrong or meaningless so use with care. +# +# LICENSE +# +# Copyright (c) 2013 Gabriele Svelto +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 13 + +AC_DEFUN([AX_GCC_FUNC_ATTRIBUTE], [ + AS_VAR_PUSHDEF([ac_var], [ax_cv_have_func_attribute_$1]) + + AC_CACHE_CHECK([for __attribute__(($1))], [ac_var], [ + AC_LINK_IFELSE([AC_LANG_PROGRAM([ + m4_case([$1], + [alias], [ + int foo( void ) { return 0; } + int bar( void ) __attribute__(($1("foo"))); + ], + [aligned], [ + int foo( void ) __attribute__(($1(32))); + ], + [alloc_size], [ + void *foo(int a) __attribute__(($1(1))); + ], + [always_inline], [ + inline __attribute__(($1)) int foo( void ) { return 0; } + ], + [artificial], [ + inline __attribute__(($1)) int foo( void ) { return 0; } + ], + [cold], [ + int foo( void ) __attribute__(($1)); + ], + [const], [ + int foo( void ) __attribute__(($1)); + ], + [constructor_priority], [ + int foo( void ) __attribute__((__constructor__(65535/2))); + ], + [constructor], [ + int foo( void ) __attribute__(($1)); + ], + [deprecated], [ + int foo( void ) __attribute__(($1(""))); + ], + [destructor], [ + int foo( void ) __attribute__(($1)); + ], + [dllexport], [ + __attribute__(($1)) int foo( void ) { return 0; } + ], + [dllimport], [ + int foo( void ) __attribute__(($1)); + ], + [error], [ + int foo( void ) __attribute__(($1(""))); + ], + [externally_visible], [ + int foo( void ) __attribute__(($1)); + ], + [fallthrough], [ + void foo( int x ) {switch (x) { case 1: __attribute__(($1)); case 2: break ; }}; + ], + [flatten], [ + int foo( void ) __attribute__(($1)); + ], + [format], [ + int foo(const char *p, ...) __attribute__(($1(printf, 1, 2))); + ], + [gnu_format], [ + int foo(const char *p, ...) __attribute__((format(gnu_printf, 1, 2))); + ], + [format_arg], [ + char *foo(const char *p) __attribute__(($1(1))); + ], + [gnu_inline], [ + inline __attribute__(($1)) int foo( void ) { return 0; } + ], + [hot], [ + int foo( void ) __attribute__(($1)); + ], + [ifunc], [ + int my_foo( void ) { return 0; } + static int (*resolve_foo(void))(void) { return my_foo; } + int foo( void ) __attribute__(($1("resolve_foo"))); + ], + [leaf], [ + __attribute__(($1)) int foo( void ) { return 0; } + ], + [malloc], [ + void *foo( void ) __attribute__(($1)); + ], + [noclone], [ + int foo( void ) __attribute__(($1)); + ], + [noinline], [ + __attribute__(($1)) int foo( void ) { return 0; } + ], + [nonnull], [ + int foo(char *p) __attribute__(($1(1))); + ], + [noreturn], [ + void foo( void ) __attribute__(($1)); + ], + [nothrow], [ + int foo( void ) __attribute__(($1)); + ], + [optimize], [ + __attribute__(($1(3))) int foo( void ) { return 0; } + ], + [pure], [ + int foo( void ) __attribute__(($1)); + ], + [sentinel], [ + int foo(void *p, ...) __attribute__(($1)); + ], + [sentinel_position], [ + int foo(void *p, ...) __attribute__(($1(1))); + ], + [returns_nonnull], [ + void *foo( void ) __attribute__(($1)); + ], + [unused], [ + int foo( void ) __attribute__(($1)); + ], + [used], [ + int foo( void ) __attribute__(($1)); + ], + [visibility], [ + int foo_def( void ) __attribute__(($1("default"))); + int foo_hid( void ) __attribute__(($1("hidden"))); + int foo_int( void ) __attribute__(($1("internal"))); + int foo_pro( void ) __attribute__(($1("protected"))); + ], + [warning], [ + int foo( void ) __attribute__(($1(""))); + ], + [warn_unused_result], [ + int foo( void ) __attribute__(($1)); + ], + [weak], [ + int foo( void ) __attribute__(($1)); + ], + [weakref], [ + static int foo( void ) { return 0; } + static int bar( void ) __attribute__(($1("foo"))); + ], + [ + m4_warn([syntax], [Unsupported attribute $1, the test may fail]) + int foo( void ) __attribute__(($1)); + ] + )], []) + ], + dnl GCC doesn't exit with an error if an unknown attribute is + dnl provided but only outputs a warning, so accept the attribute + dnl only if no warning were issued. + [AS_IF([grep -- -Wattributes conftest.err], + [AS_VAR_SET([ac_var], [no])], + [AS_VAR_SET([ac_var], [yes])])], + [AS_VAR_SET([ac_var], [no])]) + ]) + + AS_IF([test yes = AS_VAR_GET([ac_var])], + [AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_FUNC_ATTRIBUTE_$1), 1, + [Define to 1 if the system has the `$1' function attribute])], []) + + AS_VAR_POPDEF([ac_var]) +]) diff --git a/libxml2/m4/ax_recursive_eval.m4 b/libxml2/m4/ax_recursive_eval.m4 new file mode 100644 index 0000000..0625aca --- /dev/null +++ b/libxml2/m4/ax_recursive_eval.m4 @@ -0,0 +1,56 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_recursive_eval.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_RECURSIVE_EVAL(VALUE, RESULT) +# +# DESCRIPTION +# +# Interpolate the VALUE in loop until it doesn't change, and set the +# result to $RESULT. WARNING: It's easy to get an infinite loop with some +# unsane input. +# +# LICENSE +# +# Copyright (c) 2008 Alexandre Duret-Lutz +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 1 + +AC_DEFUN([AX_RECURSIVE_EVAL], +[_lcl_receval="$1" +$2=`(test "x$prefix" = xNONE && prefix="$ac_default_prefix" + test "x$exec_prefix" = xNONE && exec_prefix="${prefix}" + _lcl_receval_old='' + while test "[$]_lcl_receval_old" != "[$]_lcl_receval"; do + _lcl_receval_old="[$]_lcl_receval" + eval _lcl_receval="\"[$]_lcl_receval\"" + done + echo "[$]_lcl_receval")`]) diff --git a/libxml2/meson.build b/libxml2/meson.build new file mode 100644 index 0000000..b372299 --- /dev/null +++ b/libxml2/meson.build @@ -0,0 +1,669 @@ +project( + 'libxml2', + 'c', + version: files('VERSION'), + license: 'MIT', + default_options: [ + meson.version().version_compare('>=1.3.0') ? 'c_std=c11,c99,c89' : 'c_std=c11', + 'warning_level=3', + ], + meson_version: '>= 0.61', +) + +v_array = meson.project_version().split('.') +v_maj = v_array[0].to_int() +v_min = v_array[1].to_int() +v_mic = v_array[2].to_int() +v_nbr = v_maj * 10000 + v_min * 100 + v_mic +v_extra = '' +r = run_command('git', 'describe', check: false) +if (r.returncode() == 0) + v_extra = '-GIT' + r.stdout().strip() +endif + +# install paths +dir_prefix = get_option('prefix') +dir_bin = dir_prefix / get_option('bindir') +dir_include = dir_prefix / get_option('includedir') +dir_pkginclude = dir_include / meson.project_name() +dir_lib = dir_prefix / get_option('libdir') +dir_man = dir_prefix / get_option('mandir') +dir_data = dir_prefix / get_option('datadir') +dir_doc = dir_data / 'doc' / meson.project_name() +dir_locale = dir_prefix / get_option('localedir') + +# host + +host_os = host_machine.system() + +sys_cygwin = host_os == 'cygwin' +sys_windows = host_os == 'windows' + +libxml2_cflags = [] +xml_cflags = '' +dep_args = [] + +if sys_cygwin or sys_windows + if get_option('default_library') == 'static' + xml_cflags = '-DLIBXML_STATIC' + libxml2_cflags += '-DLIBXML_STATIC' + dep_args += '-DLIBXML_STATIC' + endif +endif + +# binaries +cc = meson.get_compiler('c') + +# global compiler flags + +global_args = [ + '-D_XOPEN_SOURCE=600', + + # Enabled by warning_level=3 + # '-pedantic', + # '-Wall', + # '-Wextra', + + '-Wshadow', + '-Wpointer-arith', + '-Wcast-align', + '-Wwrite-strings', + '-Wstrict-prototypes', + '-Wmissing-prototypes', + '-Wmissing-variable-declarations', + '-Wno-long-long', + '-Wno-format-extra-args', + '-Wno-array-bounds', +] +global_args = cc.get_supported_arguments(global_args) +add_project_arguments(global_args, language: 'c') + +# options + +# disabled by default +want_docs = get_option('docs').enabled() +want_http = get_option('http').enabled() +want_icu = get_option('icu').enabled() +want_legacy = get_option('legacy').enabled() +want_python = get_option('python').enabled() +want_thread_alloc = get_option('thread-alloc').enabled() +want_tls = get_option('tls').enabled() + +# default depends on minimum option + +want_minimum = get_option('minimum') + +feature = get_option('catalog') +want_catalog = want_minimum ? feature.enabled() : feature.allowed() + +feature = get_option('debugging') +want_debug = want_minimum ? feature.enabled() : feature.allowed() + +feature = get_option('html') +want_html = want_minimum ? feature.enabled() : feature.allowed() + +feature = get_option('iconv') +want_iconv = want_minimum ? feature.enabled() : feature.allowed() + +feature = get_option('iso8859x') +want_iso8859x = want_minimum ? feature.enabled() : feature.allowed() + +feature = get_option('modules') +want_modules = want_minimum ? feature.enabled() : feature.allowed() + +feature = get_option('sax1') +want_sax1 = want_minimum ? feature.enabled() : feature.allowed() + +feature = get_option('threads') +want_threads = want_minimum ? feature.enabled() : feature.allowed() + +# auto-enabled on Windows +feature = get_option('winpath') +want_winpath = (sys_cygwin or sys_windows) ? feature.allowed() : feature.enabled() + +feature = get_option('valid') +want_valid = want_minimum ? feature.enabled() : feature.allowed() + +feature = get_option('xinclude') +want_xinclude = want_minimum ? feature.enabled() : feature.allowed() + +# default depends on legacy option + +feature = get_option('zlib') +want_zlib = want_legacy ? feature.allowed() : feature.enabled() + +# dependencies + +feature = get_option('output') +want_output = not want_minimum \ + or get_option('c14n').enabled() \ + or get_option('writer').enabled() ? \ + feature.allowed() : feature.enabled() + +feature = get_option('pattern') +want_pattern = not want_minimum \ + or get_option('schemas').enabled() \ + or get_option('schematron').enabled() ? \ + feature.allowed() : feature.enabled() + +feature = get_option('regexps') +want_regexps = not want_minimum \ + or get_option('relaxng').enabled() \ + or get_option('schemas').enabled() ? \ + feature.allowed() : feature.enabled() + +feature = get_option('push') +want_push = not want_minimum \ + or get_option('reader').enabled() \ + or get_option('writer').enabled() ? \ + feature.allowed() : feature.enabled() + +feature = get_option('readline') +want_readline = get_option('history').enabled() ? \ + feature.allowed() : feature.enabled() + +feature = get_option('xpath') +want_xpath = not want_minimum \ + or get_option('c14n').enabled() \ + or get_option('schematron').enabled() \ + or get_option('xptr').enabled() ? \ + feature.allowed() : feature.enabled() + +feature = get_option('c14n') \ + .require(want_output, error_message: 'c14n requires output') \ + .require(want_xpath, error_message: 'c14n requires xpath') +want_c14n = want_minimum ? feature.enabled() : feature.allowed() + +feature = get_option('history') \ + .require(want_readline, error_message: 'history requires readline') +want_history = feature.enabled() + +feature = get_option('reader') \ + .require(want_push, error_message: 'reader requires push') +want_reader = want_minimum ? feature.enabled() : feature.allowed() + +feature = get_option('schemas') \ + .require(want_pattern, error_message: 'schemas requires pattern') \ + .require(want_regexps, error_message: 'schemas requires regexps') +want_schemas = not want_minimum \ + or get_option('relaxng').enabled() ? \ + feature.allowed() : feature.enabled() + +feature = get_option('relaxng') \ + .require(want_regexps, error_message: 'relaxng requires regexps') \ + .require(want_schemas, error_message: 'relaxng requires schemas') +want_relaxng = want_minimum ? feature.enabled() : feature.allowed() + +feature = get_option('schematron') \ + .require(want_pattern, error_message: 'schematron requires pattern') \ + .require(want_xpath, error_message: 'schematron requires xpath') +want_schematron = want_legacy ? feature.allowed() : feature.enabled() + +feature = get_option('writer') \ + .require(want_output, error_message: 'writer requires output') \ + .require(want_push, error_message: 'writer requires push') +want_writer = want_minimum ? feature.enabled() : feature.allowed() + +feature = get_option('xptr') \ + .require(want_xpath, error_message: 'xptr requires xpath') +want_xptr = want_minimum ? feature.enabled() : feature.allowed() + +cflags_try = [] + +### workaround for native compilers, see configure.ac +if cc.get_argument_syntax() == 'gcc' + cflags_try += [ + '-Wshadow', + '-Wpointer-arith', + '-Wcast-align', + '-Wwrite-strings', + '-Wstrict-prototypes', + '-Wmissing-prototypes', + '-Wno-long-long', + '-Wno-format-extra-args', + '-Wno-array-bounds', + ] + + if host_machine.cpu_family() == 'alpha' + cflags_try += '-mieee' + endif +else + if host_machine.cpu_family() == 'alpha' + cflags_try += '-ieee' + elif host_machine.cpu_family() == 'parisc' + cflags_try += '-Wp,-H30000' + endif +endif + +foreach cf : cflags_try + if cc.has_argument(cf) + libxml2_cflags += cf + endif +endforeach + +# configuration +# +# X : done +# N : not done +# +# [X] config.h.in +# [X] include/libxml/xmlversion.h.in +# [X] libxml-2.0.pc.in +# [X] libxml2-config.cmake.in +# [X] python/setup.py.in +# [X] xml2-config.in + +## config.h +config_h = configuration_data() +config_h.set_quoted('XML_SYSCONFDIR', + get_option('prefix') / get_option('sysconfdir')) + +# header files +xml_check_headers = [ + [ 'stdint.h', true ], +] + +foreach header : xml_check_headers + if header[1] and cc.has_header(header[0]) + config_h.set10('HAVE_' + header[0].underscorify().to_upper(), true) + endif +endforeach + +# library functions +xml_check_functions = [ + # fct | header + ['getentropy', 'sys/random.h'], + ['glob', 'glob.h'], + ['mmap', 'sys/mman.h'], +] + +foreach function : xml_check_functions + config_h.set10('HAVE_DECL_' + function[0].underscorify().to_upper(), + cc.has_header_symbol(function[1], function[0])) +endforeach + +# library + +config_dir = [include_directories('.'), include_directories('include')] + +## dependencies + +xml_deps = [] + +### math library +if sys_windows == false + m_dep = cc.find_library('m', required: false) + if m_dep.found() + xml_deps += m_dep + endif +endif + +### thread local storage +if want_tls + foreach t : ['_Thread_local', '__thread', '__declspec(thread)'] + if cc.compiles('@0@ int v;'.format(t)) + config_h.set('XML_THREAD_LOCAL', t) + break + endif + endforeach +endif + +### __attribute__((destructor)) +if cc.has_function_attribute('destructor') + config_h.set10('HAVE_FUNC_ATTRIBUTE_DESTRUCTOR', true) +endif + +### DSO support +if sys_cygwin or sys_windows + module_extension = '.dll' +else + module_extension = '.so' +endif + +if want_modules and not sys_windows + if meson.version().version_compare('>=0.62') + dl_dep = dependency('dl', required: false) + else + dl_dep = dependency('', required: false) + endif + if not dl_dep.found() + cc.has_header_symbol('dlfcn.h', 'dlopen', required: true) + dl_dep = cc.find_library('dl', required: false) + endif + if dl_dep.found() + xml_deps += dl_dep + endif + config_h.set10('HAVE_DLOPEN', true) +endif + +### threads +if want_threads and not sys_windows + threads_dep = dependency('threads') + xml_deps += threads_dep +else + threads_dep = dependency('', required: false) +endif + +### xmllint shell history +xmllint_deps = [] + +if want_readline + readline_dep = dependency('readline') + config_h.set('HAVE_LIBREADLINE', true) + xmllint_deps += readline_dep +endif + +if want_history + history_dep = dependency('history') + config_h.set('HAVE_LIBHISTORY', true) + xmllint_deps += history_dep +endif + +if want_zlib + zlib_dep = dependency('zlib') + xmllint_deps += zlib_dep +else + zlib_dep = dependency('', required: false) +endif + +### crypto +if sys_windows == true + bcrypt_dep = cc.find_library('bcrypt', required: true) + xml_deps += bcrypt_dep +endif + +### zlib +if want_zlib + xml_deps += dependency('zlib') +endif + +# icu +if want_icu + icu_dep = dependency('icu-uc') + defs = icu_dep.get_variable(pkgconfig: 'DEFS', default_value: '') + if cc.has_argument(defs) + libxml2_cflags += defs + endif + xml_deps += icu_dep +endif + +### iconv +if want_iconv + xml_deps += dependency('iconv') +endif + +subdir('include/libxml') + +# Set config_h after all subdirs and dependencies have set values + +configure_file(output: 'config.h', configuration: config_h) + +## libxml2 library + +xml_src = [ + 'buf.c', + 'chvalid.c', + 'dict.c', + 'entities.c', + 'encoding.c', + 'error.c', + 'globals.c', + 'hash.c', + 'list.c', + 'parser.c', + 'parserInternals.c', + 'SAX2.c', + 'threads.c', + 'tree.c', + 'uri.c', + 'valid.c', + 'xmlIO.c', + 'xmlmemory.c', + 'xmlstring.c', +] + +xml_opt_src = [ + [want_c14n, ['c14n.c']], + [want_catalog, ['catalog.c']], + [want_debug, ['debugXML.c']], + [want_html, ['HTMLparser.c', 'HTMLtree.c']], + [want_http, ['nanohttp.c']], + [want_modules, ['xmlmodule.c']], + [want_output, ['xmlsave.c']], + [want_pattern, ['pattern.c']], + [want_reader, ['xmlreader.c']], + [want_regexps, ['xmlregexp.c']], + [want_relaxng, ['relaxng.c']], + [want_schemas, ['xmlschemas.c', 'xmlschemastypes.c']], + [want_schematron, ['schematron.c']], + [want_writer, ['xmlwriter.c']], + [want_xinclude, ['xinclude.c']], + [want_xpath, ['xpath.c']], + [want_xptr, ['xlink.c', 'xpointer.c']], +] + +foreach file : xml_opt_src + want = file[0] + src = file[1] + if want == true + if src.length() > 1 + foreach s : src + xml_src += s + endforeach + else + xml_src += src + endif + endif +endforeach + +xml_src_files = files(xml_src) +v_min_compat = 14 +so_version = v_maj + v_min_compat +age = v_min - v_min_compat +darwin_compat = v_maj + v_min + 1 +xml_lib = library( + 'xml2', + xml_src_files, + c_args: libxml2_cflags, + dependencies: xml_deps, + include_directories: config_dir, + install: true, + version: f'@so_version@.@age@.@v_mic@', + soversion: so_version, + darwin_versions: [ darwin_compat, f'@darwin_compat@.@v_mic@' ], +) + +dep_inc = include_directories('include') +xml_dep = declare_dependency(include_directories: dep_inc, link_with: xml_lib, compile_args: dep_args) + +meson.override_dependency('libxml-2.0', xml_dep) + +## xmllint tool + +xmllint = executable( + 'xmllint', + files('xmllint.c', 'shell.c', 'lintmain.c'), + dependencies: [xml_dep, xmllint_deps], + include_directories: config_dir, + install: true, +) + +## xmlcatalog tool + +if want_catalog and want_output + xmlcatalog = executable( + 'xmlcatalog', + files('xmlcatalog.c'), + dependencies: [xml_dep, xmllint_deps], + include_directories: config_dir, + install: true, + ) +endif + +## testdso module + +testdso_mod = shared_module( + 'testdso', + files('testdso.c'), + build_rpath: get_option('libdir'), + include_directories: config_dir, + name_prefix: '', +) + +## tests + +checks = { + 'runsuite': [], + 'runtest': [threads_dep, zlib_dep], + 'runxmlconf': [], +# Disabled for now, see #694 +# 'testModule': [], + 'testapi': [], + 'testcatalog': [], + 'testchar': [], + 'testdict': [], + 'testlimits': [], + 'testparser': [], + 'testrecurse': [], +} + +foreach check, deps : checks + exe = executable( + check, + files(check + '.c'), + dependencies: [deps, xml_dep], + include_directories: config_dir, + build_by_default: false, + ) + if check != 'testlimits' + test(check, exe, timeout: 0, workdir: meson.current_source_dir()) + endif +endforeach + +add_test_setup( + 'valgrind', + exe_wrapper: [ + 'valgrind', '--quiet', '--leak-check=full', '--error-exitcode=1', + ], + # default timeout in meson is 30s + timeout_multiplier: 4, +) + +if want_output + sh = find_program('sh', required: false) + + if sh.found() + if want_debug + test('xmllint shell', sh, + args: [ 'test/scripts/test.sh', xmllint.full_path() ], + workdir: meson.current_source_dir()) + endif + if want_catalog + test('xmlcatalog shell', sh, + args: [ 'test/catalogs/test.sh', xmlcatalog.full_path() ], + workdir: meson.current_source_dir()) + test('xmlcatalog shell SGML', sh, + args: [ 'test/catalogs/test_sgml.sh', xmlcatalog.full_path() ], + workdir: meson.current_source_dir()) + endif + endif +endif + +subdir('example') + +if want_docs or want_python + subdir('doc') +endif + +if want_python == true + subdir('python') +endif + +## pc files + +pkgmod = import('pkgconfig') + +pkgmod.generate( + xml_lib, + description: 'libXML library version2.', + filebase: 'libxml-2.0', + name: 'libXML', + subdirs: [meson.project_name()], + variables: 'modules=' + want_modules.to_string('1', '0'), +) + +## libxml2-config.cmake file + +config_cmake = configuration_data() +config_cmake.set('LIBXML_MAJOR_VERSION', v_maj) +config_cmake.set('LIBXML_MINOR_VERSION', v_min) +config_cmake.set('LIBXML_MICRO_VERSION', v_mic) +config_cmake.set('INSTALL_BINDIR', dir_bin) +config_cmake.set('INSTALL_INCLUDEDIR', dir_include) +config_cmake.set('INSTALL_LIBDIR', dir_lib) +config_cmake.set('VERSION', meson.project_version()) +config_cmake.set10('BUILD_SHARED_LIBS', + get_option('default_library') != 'static') +config_cmake.set10('WITH_ICONV', want_iconv) +config_cmake.set10('WITH_ICU', want_icu) +config_cmake.set10('WITH_MODULES', want_modules) +config_cmake.set10('WITH_THREADS', want_threads) +config_cmake.set10('WITH_ZLIB', want_zlib) +config_cmake.set('XML_CFLAGS', xml_cflags) +configure_file( + input: 'libxml2-config.cmake.in', + output: 'libxml2-config.cmake', + configuration: config_cmake, + install_dir: dir_lib / 'cmake' / meson.project_name(), +) + +## xml2-config script + +install_data( + 'xml2-config-meson', + install_dir: dir_bin, + install_mode: 'rwxr-xr-x', + rename: 'xml2-config', +) + +# summary + +summary( + { + 'OS': host_os, + 'c14n': want_c14n, + 'catalog': want_catalog, + 'debug': want_debug, + 'docs': want_docs, + 'history': want_history, + 'html': want_html, + 'http': want_http, + 'iconv': want_iconv, + 'icu': want_icu, + 'iso8859x': want_iso8859x, + 'legacy': want_legacy, + 'modules': want_modules, + 'output': want_output, + 'pattern': want_pattern, + 'push': want_push, + 'python': want_python, + 'reader': want_reader, + 'readline': want_readline, + 'regexps': want_regexps, + 'relaxng': want_relaxng, + 'sax1': want_sax1, + 'schemas': want_schemas, + 'schematron': want_schematron, + 'threads': want_threads, + 'thread-alloc': want_thread_alloc, + 'tls': want_tls, + 'valid': want_valid, + 'winpath': want_winpath, + 'writer': want_writer, + 'xinclude': want_xinclude, + 'xpath': want_xpath, + 'xptr': want_xptr, + 'zlib': want_zlib, + }, + section: 'Configuration Options Summary:', +) diff --git a/libxml2/meson_options.txt b/libxml2/meson_options.txt new file mode 100644 index 0000000..445606e --- /dev/null +++ b/libxml2/meson_options.txt @@ -0,0 +1,176 @@ +option('c14n', + type: 'feature', + description: 'Canonical XML 1.0 support' +) + +option('catalog', + type: 'feature', + description: 'XML Catalogs support' +) + +option('debugging', + type: 'feature', + description: 'Debugging module and shell' +) + +option('docs', + type: 'feature', + description: 'Build documentation' +) + +option('history', + type: 'feature', + description: 'History support for shell' +) + +option('html', + type: 'feature', + description: 'HTML parser' +) + +option('http', + type: 'feature', + description: 'ABI compatibility for removed HTTP support' +) + +# TODO meson custom dependency +option('iconv', + type: 'feature', + description: 'iconv support' +) + +option('icu', + type: 'feature', + value: 'disabled', + description: 'ICU support' +) + +option('iso8859x', + type: 'feature', + description: 'ISO-8859-X support if no iconv' +) + +option('legacy', + type: 'feature', + value: 'disabled', + description: 'Maximum ABI compatibility' +) + +option('modules', + type: 'feature', + description: 'Dynamic modules support' +) + +option('output', + type: 'feature', + description: 'Serialization support' +) + +option('pattern', + type: 'feature', + description: 'xmlPattern selection interface' +) + +option('push', + type: 'feature', + description: 'push parser interfaces' +) + +option('python', + type: 'feature', + description: 'Python bindings' +) + +option('reader', + type: 'feature', + description: 'xmlReader parsing interface' +) + +option('readline', + type: 'feature', + description: 'use readline for shell history' +) + +option('regexps', + type: 'feature', + description: 'Regular expressions support' +) + +option('relaxng', + type: 'feature', + description: 'RELAX NG support' +) + +option('sax1', + type: 'feature', + description: 'Older SAX1 interface' +) + +option('schemas', + type: 'feature', + description: 'XML Schemas 1.0 support' +) + +option('schematron', + type: 'feature', + description: 'Schematron support' +) + +option('threads', + type: 'feature', + description: 'Multithreading support' +) + +option('thread-alloc', + type: 'feature', + value: 'disabled', + description: 'per-thread malloc hooks' +) + +option('tls', + type: 'feature', + value: 'disabled', + description: 'thread-local storage' +) + +option('valid', + type: 'feature', + description: 'DTD validation support' +) + +option('winpath', + type: 'feature', + value: 'auto', + description: 'Handling Windows-styled path' +) + +option('writer', + type: 'feature', + description: 'xmlWriter serialization interface' +) + +option('xinclude', + type: 'feature', + description: 'XInclude 1.0 support' +) + +option('xpath', + type: 'feature', + description: 'XPath 1.0 support' +) + +option('xptr', + type: 'feature', + description: 'XPointer support' +) + +option('zlib', + type: 'feature', + description: 'ZLIB support' +) + +option('minimum', + type: 'boolean', + value: false, + description: 'build a minimally sized library' +) diff --git a/libxml2/nanohttp.c b/libxml2/nanohttp.c new file mode 100644 index 0000000..a7c04de --- /dev/null +++ b/libxml2/nanohttp.c @@ -0,0 +1,307 @@ +/* + * nanohttp.c: ABI compatibility stubs for removed HTTP client + * + * See Copyright for the status of this software. + */ + +#define IN_LIBXML +#include "libxml.h" + +#ifdef LIBXML_HTTP_STUBS_ENABLED + +#include + +#include +#include + +/** + * @deprecated HTTP support was removed in 2.15. + */ +void +xmlNanoHTTPInit(void) { +} + +/** + * @deprecated HTTP support was removed in 2.15. + */ +void +xmlNanoHTTPCleanup(void) { +} + +/** + * @deprecated HTTP support was removed in 2.15. + * @param URL The proxy URL used to initialize the proxy context + */ +void +xmlNanoHTTPScanProxy(const char *URL ATTRIBUTE_UNUSED) { +} + +/** + * @deprecated HTTP support was removed in 2.15. + * + * @param URL The URL to load + * @param contentType if available the Content-Type information will be + * returned at that location + * @returns NULL. + */ +void* +xmlNanoHTTPOpen(const char *URL ATTRIBUTE_UNUSED, char **contentType) { + if (contentType != NULL) *contentType = NULL; + return(NULL); +} + +/** + * @deprecated HTTP support was removed in 2.15. + * + * @param URL The URL to load + * @param contentType if available the Content-Type information will be + * returned at that location + * @param redir if available the redirected URL will be returned + * @returns NULL. + */ +void* +xmlNanoHTTPOpenRedir(const char *URL ATTRIBUTE_UNUSED, char **contentType, + char **redir) { + if (contentType != NULL) *contentType = NULL; + if (redir != NULL) *redir = NULL; + return(NULL); +} + +/** + * @deprecated HTTP support was removed in 2.15. + * + * @param ctx the HTTP context + * @param dest a buffer + * @param len the buffer length + * @returns -1. + */ +int +xmlNanoHTTPRead(void *ctx ATTRIBUTE_UNUSED, void *dest ATTRIBUTE_UNUSED, + int len ATTRIBUTE_UNUSED) { + return(-1); +} + +/** + * @deprecated HTTP support was removed in 2.15. + * @param ctx the HTTP context + */ +void +xmlNanoHTTPClose(void *ctx ATTRIBUTE_UNUSED) { +} + +/** + * @deprecated HTTP support was removed in 2.15. + * + * @param URL The URL to load + * @param method the HTTP method to use + * @param input the input string if any + * @param contentType the Content-Type information IN and OUT + * @param redir the redirected URL OUT + * @param headers the extra headers + * @param ilen input length + * @returns NULL. + */ +void* +xmlNanoHTTPMethodRedir(const char *URL ATTRIBUTE_UNUSED, + const char *method ATTRIBUTE_UNUSED, + const char *input ATTRIBUTE_UNUSED, + char **contentType, char **redir, + const char *headers ATTRIBUTE_UNUSED, + int ilen ATTRIBUTE_UNUSED) { + if (contentType != NULL) *contentType = NULL; + if (redir != NULL) *redir = NULL; + return(NULL); +} + +/** + * @deprecated HTTP support was removed in 2.15. + * + * @param URL The URL to load + * @param method the HTTP method to use + * @param input the input string if any + * @param contentType the Content-Type information IN and OUT + * @param headers the extra headers + * @param ilen input length + * @returns NULL. + */ +void* +xmlNanoHTTPMethod(const char *URL ATTRIBUTE_UNUSED, + const char *method ATTRIBUTE_UNUSED, + const char *input ATTRIBUTE_UNUSED, + char **contentType, const char *headers ATTRIBUTE_UNUSED, + int ilen ATTRIBUTE_UNUSED) { + if (contentType != NULL) *contentType = NULL; + return(NULL); +} + +/** + * @deprecated HTTP support was removed in 2.15. + * + * @param URL The URL to load + * @param filename the filename where the content should be saved + * @param contentType if available the Content-Type information will be + * returned at that location + * @returns -1. + */ +int +xmlNanoHTTPFetch(const char *URL ATTRIBUTE_UNUSED, + const char *filename ATTRIBUTE_UNUSED, char **contentType) { + if (contentType != NULL) *contentType = NULL; + return(-1); +} + +#ifdef LIBXML_OUTPUT_ENABLED +/** + * @deprecated HTTP support was removed in 2.15. + * + * @param ctxt the HTTP context + * @param filename the filename where the content should be saved + * @returns -1. + */ +int +xmlNanoHTTPSave(void *ctxt ATTRIBUTE_UNUSED, + const char *filename ATTRIBUTE_UNUSED) { + return(-1); +} +#endif /* LIBXML_OUTPUT_ENABLED */ + +/** + * @deprecated HTTP support was removed in 2.15. + * + * @param ctx the HTTP context + * @returns -1. + */ +int +xmlNanoHTTPReturnCode(void *ctx ATTRIBUTE_UNUSED) { + return(-1); +} + +/** + * @deprecated HTTP support was removed in 2.15. + * + * @param ctx the HTTP context + * @returns NULL. + */ +const char * +xmlNanoHTTPAuthHeader(void *ctx ATTRIBUTE_UNUSED) { + return(NULL); +} + +/** + * @deprecated HTTP support was removed in 2.15. + * + * @param ctx the HTTP context + * @returns -1. + */ +int +xmlNanoHTTPContentLength(void *ctx ATTRIBUTE_UNUSED) { + return(-1); +} + +/** + * @deprecated HTTP support was removed in 2.15. + * + * @param ctx the HTTP context + * @returns NULL. + */ +const char * +xmlNanoHTTPRedir(void *ctx ATTRIBUTE_UNUSED) { + return(NULL); +} + +/** + * @deprecated HTTP support was removed in 2.15. + * + * @param ctx the HTTP context + * @returns NULL. + */ +const char * +xmlNanoHTTPEncoding(void *ctx ATTRIBUTE_UNUSED) { + return(NULL); +} + +/** + * @deprecated HTTP support was removed in 2.15. + * + * @param ctx the HTTP context + * @returns NULL. + */ +const char * +xmlNanoHTTPMimeType(void *ctx ATTRIBUTE_UNUSED) { + return(NULL); +} + +/** + * @deprecated HTTP support was removed in 2.15. + * + * @param filename the URI for matching + * @returns 0. + */ +int +xmlIOHTTPMatch(const char *filename ATTRIBUTE_UNUSED) { + return(0); +} + +/** + * @deprecated HTTP support was removed in 2.15. + * + * @param filename the URI for matching + * @returns NULL. + */ +void * +xmlIOHTTPOpen(const char *filename ATTRIBUTE_UNUSED) { + return(NULL); +} + +#ifdef LIBXML_OUTPUT_ENABLED +/** + * @deprecated HTTP support was removed in 2.15. + * + * @param post_uri The destination URI for the document + * @param compression The compression desired for the document. + * @returns NULL. + */ +void * +xmlIOHTTPOpenW(const char *post_uri ATTRIBUTE_UNUSED, + int compression ATTRIBUTE_UNUSED) +{ + return(NULL); +} +#endif /* LIBXML_OUTPUT_ENABLED */ + +/** + * @deprecated HTTP support was removed in 2.15. + * + * @param context the I/O context + * @param buffer where to drop data + * @param len number of bytes to write + * @returns -1. + */ +int +xmlIOHTTPRead(void *context ATTRIBUTE_UNUSED, char *buffer ATTRIBUTE_UNUSED, + int len ATTRIBUTE_UNUSED) { + return(-1); +} + +/** + * @deprecated Internal function, don't use. + * + * @param context the I/O context + * @returns 0 + */ +int +xmlIOHTTPClose (void *context ATTRIBUTE_UNUSED) { + return 0; +} + +#ifdef LIBXML_OUTPUT_ENABLED +/** + * @deprecated HTTP support was removed in 2.15. + */ +void +xmlRegisterHTTPPostCallbacks(void) { + xmlRegisterDefaultOutputCallbacks(); +} +#endif + +#endif /* LIBXML_HTTP_STUBS_ENABLED */ diff --git a/libxml2/parser.c b/libxml2/parser.c new file mode 100644 index 0000000..ad6c26b --- /dev/null +++ b/libxml2/parser.c @@ -0,0 +1,13757 @@ +/* + * parser.c : an XML 1.0 parser, namespaces and validity support are mostly + * implemented on top of the SAX interfaces + * + * References: + * The XML specification: + * http://www.w3.org/TR/REC-xml + * Original 1.0 version: + * http://www.w3.org/TR/1998/REC-xml-19980210 + * XML second edition working draft + * http://www.w3.org/TR/2000/WD-xml-2e-20000814 + * + * Okay this is a big file, the parser core is around 7000 lines, then it + * is followed by the progressive parser top routines, then the various + * high level APIs to call the parser and a few miscellaneous functions. + * A number of helper functions and deprecated ones have been moved to + * parserInternals.c to reduce this file size. + * As much as possible the functions are associated with their relative + * production in the XML specification. A few productions defining the + * different ranges of character are actually implanted either in + * parserInternals.h or parserInternals.c + * The DOM tree build is realized from the default SAX callbacks in + * the module SAX2.c. + * The routines doing the validation checks are in valid.c and called either + * from the SAX callbacks or as standalone functions using a preparsed + * document. + * + * See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +/* To avoid EBCDIC trouble when parsing on zOS */ +#if defined(__MVS__) +#pragma convert("ISO8859-1") +#endif + +#define IN_LIBXML +#include "libxml.h" + +#if defined(_WIN32) +#define XML_DIR_SEP '\\' +#else +#define XML_DIR_SEP '/' +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#ifdef LIBXML_CATALOG_ENABLED +#include +#endif + +#include "private/buf.h" +#include "private/dict.h" +#include "private/entities.h" +#include "private/error.h" +#include "private/html.h" +#include "private/io.h" +#include "private/memory.h" +#include "private/parser.h" +#include "private/tree.h" + +#define NS_INDEX_EMPTY INT_MAX +#define NS_INDEX_XML (INT_MAX - 1) +#define URI_HASH_EMPTY 0xD943A04E +#define URI_HASH_XML 0xF0451F02 + +#ifndef STDIN_FILENO + #define STDIN_FILENO 0 +#endif + +#ifndef SIZE_MAX + #define SIZE_MAX ((size_t) -1) +#endif + +#define XML_MAX_ATTRS 100000000 /* 100 million */ + +#define XML_SPECIAL_EXTERNAL (1 << 20) +#define XML_SPECIAL_TYPE_MASK (XML_SPECIAL_EXTERNAL - 1) + +#define XML_ATTVAL_ALLOC (1 << 0) +#define XML_ATTVAL_NORM_CHANGE (1 << 1) + +struct _xmlStartTag { + const xmlChar *prefix; + const xmlChar *URI; + int line; + int nsNr; +}; + +typedef struct { + void *saxData; + unsigned prefixHashValue; + unsigned uriHashValue; + unsigned elementId; + int oldIndex; +} xmlParserNsExtra; + +typedef struct { + unsigned hashValue; + int index; +} xmlParserNsBucket; + +struct _xmlParserNsData { + xmlParserNsExtra *extra; + + unsigned hashSize; + unsigned hashElems; + xmlParserNsBucket *hash; + + unsigned elementId; + int defaultNsIndex; + int minNsIndex; +}; + +static int +xmlParseElementStart(xmlParserCtxtPtr ctxt); + +static void +xmlParseElementEnd(xmlParserCtxtPtr ctxt); + +static xmlEntityPtr +xmlLookupGeneralEntity(xmlParserCtxtPtr ctxt, const xmlChar *name, int inAttr); + +static const xmlChar * +xmlParseEntityRefInternal(xmlParserCtxtPtr ctxt); + +/************************************************************************ + * * + * Arbitrary limits set in the parser. See XML_PARSE_HUGE * + * * + ************************************************************************/ + +#define XML_PARSER_BIG_ENTITY 1000 +#define XML_PARSER_LOT_ENTITY 5000 + +/* + * Constants for protection against abusive entity expansion + * ("billion laughs"). + */ + +/* + * A certain amount of entity expansion which is always allowed. + */ +#define XML_PARSER_ALLOWED_EXPANSION 1000000 + +/* + * Fixed cost for each entity reference. This crudely models processing time + * as well to protect, for example, against exponential expansion of empty + * or very short entities. + */ +#define XML_ENT_FIXED_COST 20 + +#define XML_PARSER_BIG_BUFFER_SIZE 300 +#define XML_PARSER_BUFFER_SIZE 100 +#define SAX_COMPAT_MODE BAD_CAST "SAX compatibility mode document" + +/** + * XML_PARSER_CHUNK_SIZE + * + * When calling GROW that's the minimal amount of data + * the parser expected to have received. It is not a hard + * limit but an optimization when reading strings like Names + * It is not strictly needed as long as inputs available characters + * are followed by 0, which should be provided by the I/O level + */ +#define XML_PARSER_CHUNK_SIZE 100 + +/** + * Constant string describing the version of the library used at + * run-time. + */ +const char *const +xmlParserVersion = LIBXML_VERSION_STRING LIBXML_VERSION_EXTRA; + +/* + * List of XML prefixed PI allowed by W3C specs + */ + +static const char* const xmlW3CPIs[] = { + "xml-stylesheet", + "xml-model", + NULL +}; + + +/* DEPR void xmlParserHandleReference(xmlParserCtxtPtr ctxt); */ +static xmlEntityPtr xmlParseStringPEReference(xmlParserCtxtPtr ctxt, + const xmlChar **str); + +static void +xmlCtxtParseEntity(xmlParserCtxtPtr ctxt, xmlEntityPtr ent); + +static int +xmlLoadEntityContent(xmlParserCtxtPtr ctxt, xmlEntityPtr entity); + +static void +xmlParsePERefInternal(xmlParserCtxt *ctxt, int markupDecl); + +/************************************************************************ + * * + * Some factorized error routines * + * * + ************************************************************************/ + +static void +xmlErrMemory(xmlParserCtxtPtr ctxt) { + xmlCtxtErrMemory(ctxt); +} + +/** + * Handle a redefinition of attribute error + * + * @param ctxt an XML parser context + * @param prefix the attribute prefix + * @param localname the attribute localname + */ +static void +xmlErrAttributeDup(xmlParserCtxtPtr ctxt, const xmlChar * prefix, + const xmlChar * localname) +{ + if (prefix == NULL) + xmlCtxtErr(ctxt, NULL, XML_FROM_PARSER, XML_ERR_ATTRIBUTE_REDEFINED, + XML_ERR_FATAL, localname, NULL, NULL, 0, + "Attribute %s redefined\n", localname); + else + xmlCtxtErr(ctxt, NULL, XML_FROM_PARSER, XML_ERR_ATTRIBUTE_REDEFINED, + XML_ERR_FATAL, prefix, localname, NULL, 0, + "Attribute %s:%s redefined\n", prefix, localname); +} + +/** + * Handle a fatal parser error, i.e. violating Well-Formedness constraints + * + * @param ctxt an XML parser context + * @param error the error number + * @param msg the error message + */ +static void LIBXML_ATTR_FORMAT(3,0) +xmlFatalErrMsg(xmlParserCtxtPtr ctxt, xmlParserErrors error, + const char *msg) +{ + xmlCtxtErr(ctxt, NULL, XML_FROM_PARSER, error, XML_ERR_FATAL, + NULL, NULL, NULL, 0, "%s", msg); +} + +/** + * Handle a warning. + * + * @param ctxt an XML parser context + * @param error the error number + * @param msg the error message + * @param str1 extra data + * @param str2 extra data + */ +void LIBXML_ATTR_FORMAT(3,0) +xmlWarningMsg(xmlParserCtxtPtr ctxt, xmlParserErrors error, + const char *msg, const xmlChar *str1, const xmlChar *str2) +{ + xmlCtxtErr(ctxt, NULL, XML_FROM_PARSER, error, XML_ERR_WARNING, + str1, str2, NULL, 0, msg, str1, str2); +} + +#ifdef LIBXML_VALID_ENABLED +/** + * Handle a validity error. + * + * @param ctxt an XML parser context + * @param error the error number + * @param msg the error message + * @param str1 extra data + * @param str2 extra data + */ +static void LIBXML_ATTR_FORMAT(3,0) +xmlValidityError(xmlParserCtxtPtr ctxt, xmlParserErrors error, + const char *msg, const xmlChar *str1, const xmlChar *str2) +{ + ctxt->valid = 0; + + xmlCtxtErr(ctxt, NULL, XML_FROM_DTD, error, XML_ERR_ERROR, + str1, str2, NULL, 0, msg, str1, str2); +} +#endif + +/** + * Handle a fatal parser error, i.e. violating Well-Formedness constraints + * + * @param ctxt an XML parser context + * @param error the error number + * @param msg the error message + * @param val an integer value + */ +static void LIBXML_ATTR_FORMAT(3,0) +xmlFatalErrMsgInt(xmlParserCtxtPtr ctxt, xmlParserErrors error, + const char *msg, int val) +{ + xmlCtxtErr(ctxt, NULL, XML_FROM_PARSER, error, XML_ERR_FATAL, + NULL, NULL, NULL, val, msg, val); +} + +/** + * Handle a fatal parser error, i.e. violating Well-Formedness constraints + * + * @param ctxt an XML parser context + * @param error the error number + * @param msg the error message + * @param str1 an string info + * @param val an integer value + * @param str2 an string info + */ +static void LIBXML_ATTR_FORMAT(3,0) +xmlFatalErrMsgStrIntStr(xmlParserCtxtPtr ctxt, xmlParserErrors error, + const char *msg, const xmlChar *str1, int val, + const xmlChar *str2) +{ + xmlCtxtErr(ctxt, NULL, XML_FROM_PARSER, error, XML_ERR_FATAL, + str1, str2, NULL, val, msg, str1, val, str2); +} + +/** + * Handle a fatal parser error, i.e. violating Well-Formedness constraints + * + * @param ctxt an XML parser context + * @param error the error number + * @param msg the error message + * @param val a string value + */ +static void LIBXML_ATTR_FORMAT(3,0) +xmlFatalErrMsgStr(xmlParserCtxtPtr ctxt, xmlParserErrors error, + const char *msg, const xmlChar * val) +{ + xmlCtxtErr(ctxt, NULL, XML_FROM_PARSER, error, XML_ERR_FATAL, + val, NULL, NULL, 0, msg, val); +} + +/** + * Handle a non fatal parser error + * + * @param ctxt an XML parser context + * @param error the error number + * @param msg the error message + * @param val a string value + */ +static void LIBXML_ATTR_FORMAT(3,0) +xmlErrMsgStr(xmlParserCtxtPtr ctxt, xmlParserErrors error, + const char *msg, const xmlChar * val) +{ + xmlCtxtErr(ctxt, NULL, XML_FROM_PARSER, error, XML_ERR_ERROR, + val, NULL, NULL, 0, msg, val); +} + +/** + * Handle a fatal parser error, i.e. violating Well-Formedness constraints + * + * @param ctxt an XML parser context + * @param error the error number + * @param msg the message + * @param info1 extra information string + * @param info2 extra information string + * @param info3 extra information string + */ +static void LIBXML_ATTR_FORMAT(3,0) +xmlNsErr(xmlParserCtxtPtr ctxt, xmlParserErrors error, + const char *msg, + const xmlChar * info1, const xmlChar * info2, + const xmlChar * info3) +{ + ctxt->nsWellFormed = 0; + + xmlCtxtErr(ctxt, NULL, XML_FROM_NAMESPACE, error, XML_ERR_ERROR, + info1, info2, info3, 0, msg, info1, info2, info3); +} + +/** + * Handle a namespace warning error + * + * @param ctxt an XML parser context + * @param error the error number + * @param msg the message + * @param info1 extra information string + * @param info2 extra information string + * @param info3 extra information string + */ +static void LIBXML_ATTR_FORMAT(3,0) +xmlNsWarn(xmlParserCtxtPtr ctxt, xmlParserErrors error, + const char *msg, + const xmlChar * info1, const xmlChar * info2, + const xmlChar * info3) +{ + xmlCtxtErr(ctxt, NULL, XML_FROM_NAMESPACE, error, XML_ERR_WARNING, + info1, info2, info3, 0, msg, info1, info2, info3); +} + +/** + * Check for non-linear entity expansion behaviour. + * + * In some cases like xmlExpandEntityInAttValue, this function is called + * for each, possibly nested entity and its unexpanded content length. + * + * In other cases like #xmlParseReference, it's only called for each + * top-level entity with its unexpanded content length plus the sum of + * the unexpanded content lengths (plus fixed cost) of all nested + * entities. + * + * Summing the unexpanded lengths also adds the length of the reference. + * This is by design. Taking the length of the entity name into account + * discourages attacks that try to waste CPU time with abusively long + * entity names. See test/recurse/lol6.xml for example. Each call also + * adds some fixed cost XML_ENT_FIXED_COST to discourage attacks with + * short entities. + * + * @param ctxt parser context + * @param extra sum of unexpanded entity sizes + * @returns 1 on error, 0 on success. + */ +static int +xmlParserEntityCheck(xmlParserCtxtPtr ctxt, unsigned long extra) +{ + unsigned long consumed; + unsigned long *expandedSize; + xmlParserInputPtr input = ctxt->input; + xmlEntityPtr entity = input->entity; + + if ((entity) && (entity->flags & XML_ENT_CHECKED)) + return(0); + + /* + * Compute total consumed bytes so far, including input streams of + * external entities. + */ + consumed = input->consumed; + xmlSaturatedAddSizeT(&consumed, input->cur - input->base); + xmlSaturatedAdd(&consumed, ctxt->sizeentities); + + if (entity) + expandedSize = &entity->expandedSize; + else + expandedSize = &ctxt->sizeentcopy; + + /* + * Add extra cost and some fixed cost. + */ + xmlSaturatedAdd(expandedSize, extra); + xmlSaturatedAdd(expandedSize, XML_ENT_FIXED_COST); + + /* + * It's important to always use saturation arithmetic when tracking + * entity sizes to make the size checks reliable. If "sizeentcopy" + * overflows, we have to abort. + */ + if ((ctxt->maxAmpl > 0) && + (*expandedSize > XML_PARSER_ALLOWED_EXPANSION) && + ((*expandedSize >= ULONG_MAX) || + (*expandedSize / ctxt->maxAmpl > consumed))) { + xmlFatalErrMsg(ctxt, XML_ERR_RESOURCE_LIMIT, + "Maximum entity amplification factor exceeded, see " + "xmlCtxtSetMaxAmplification.\n"); + return(1); + } + + return(0); +} + +/************************************************************************ + * * + * Library wide options * + * * + ************************************************************************/ + +/** + * Examines if the library has been compiled with a given feature. + * + * @param feature the feature to be examined + * @returns zero (0) if the feature does not exist or an unknown + * feature is requested, non-zero otherwise. + */ +int +xmlHasFeature(xmlFeature feature) +{ + switch (feature) { + case XML_WITH_THREAD: +#ifdef LIBXML_THREAD_ENABLED + return(1); +#else + return(0); +#endif + case XML_WITH_TREE: + return(1); + case XML_WITH_OUTPUT: +#ifdef LIBXML_OUTPUT_ENABLED + return(1); +#else + return(0); +#endif + case XML_WITH_PUSH: +#ifdef LIBXML_PUSH_ENABLED + return(1); +#else + return(0); +#endif + case XML_WITH_READER: +#ifdef LIBXML_READER_ENABLED + return(1); +#else + return(0); +#endif + case XML_WITH_PATTERN: +#ifdef LIBXML_PATTERN_ENABLED + return(1); +#else + return(0); +#endif + case XML_WITH_WRITER: +#ifdef LIBXML_WRITER_ENABLED + return(1); +#else + return(0); +#endif + case XML_WITH_SAX1: +#ifdef LIBXML_SAX1_ENABLED + return(1); +#else + return(0); +#endif + case XML_WITH_HTTP: + return(0); + case XML_WITH_VALID: +#ifdef LIBXML_VALID_ENABLED + return(1); +#else + return(0); +#endif + case XML_WITH_HTML: +#ifdef LIBXML_HTML_ENABLED + return(1); +#else + return(0); +#endif + case XML_WITH_LEGACY: + return(0); + case XML_WITH_C14N: +#ifdef LIBXML_C14N_ENABLED + return(1); +#else + return(0); +#endif + case XML_WITH_CATALOG: +#ifdef LIBXML_CATALOG_ENABLED + return(1); +#else + return(0); +#endif + case XML_WITH_XPATH: +#ifdef LIBXML_XPATH_ENABLED + return(1); +#else + return(0); +#endif + case XML_WITH_XPTR: +#ifdef LIBXML_XPTR_ENABLED + return(1); +#else + return(0); +#endif + case XML_WITH_XINCLUDE: +#ifdef LIBXML_XINCLUDE_ENABLED + return(1); +#else + return(0); +#endif + case XML_WITH_ICONV: +#ifdef LIBXML_ICONV_ENABLED + return(1); +#else + return(0); +#endif + case XML_WITH_ISO8859X: +#ifdef LIBXML_ISO8859X_ENABLED + return(1); +#else + return(0); +#endif + case XML_WITH_UNICODE: + return(0); + case XML_WITH_REGEXP: +#ifdef LIBXML_REGEXP_ENABLED + return(1); +#else + return(0); +#endif + case XML_WITH_AUTOMATA: +#ifdef LIBXML_REGEXP_ENABLED + return(1); +#else + return(0); +#endif + case XML_WITH_EXPR: + return(0); + case XML_WITH_RELAXNG: +#ifdef LIBXML_RELAXNG_ENABLED + return(1); +#else + return(0); +#endif + case XML_WITH_SCHEMAS: +#ifdef LIBXML_SCHEMAS_ENABLED + return(1); +#else + return(0); +#endif + case XML_WITH_SCHEMATRON: +#ifdef LIBXML_SCHEMATRON_ENABLED + return(1); +#else + return(0); +#endif + case XML_WITH_MODULES: +#ifdef LIBXML_MODULES_ENABLED + return(1); +#else + return(0); +#endif + case XML_WITH_DEBUG: +#ifdef LIBXML_DEBUG_ENABLED + return(1); +#else + return(0); +#endif + case XML_WITH_DEBUG_MEM: + return(0); + case XML_WITH_ZLIB: +#ifdef LIBXML_ZLIB_ENABLED + return(1); +#else + return(0); +#endif + case XML_WITH_LZMA: + return(0); + case XML_WITH_ICU: +#ifdef LIBXML_ICU_ENABLED + return(1); +#else + return(0); +#endif + default: + break; + } + return(0); +} + +/************************************************************************ + * * + * Simple string buffer * + * * + ************************************************************************/ + +typedef struct { + xmlChar *mem; + unsigned size; + unsigned cap; /* size < cap */ + unsigned max; /* size <= max */ + xmlParserErrors code; +} xmlSBuf; + +static void +xmlSBufInit(xmlSBuf *buf, unsigned max) { + buf->mem = NULL; + buf->size = 0; + buf->cap = 0; + buf->max = max; + buf->code = XML_ERR_OK; +} + +static int +xmlSBufGrow(xmlSBuf *buf, unsigned len) { + xmlChar *mem; + unsigned cap; + + if (len >= UINT_MAX / 2 - buf->size) { + if (buf->code == XML_ERR_OK) + buf->code = XML_ERR_RESOURCE_LIMIT; + return(-1); + } + + cap = (buf->size + len) * 2; + if (cap < 240) + cap = 240; + + mem = xmlRealloc(buf->mem, cap); + if (mem == NULL) { + buf->code = XML_ERR_NO_MEMORY; + return(-1); + } + + buf->mem = mem; + buf->cap = cap; + + return(0); +} + +static void +xmlSBufAddString(xmlSBuf *buf, const xmlChar *str, unsigned len) { + if (buf->max - buf->size < len) { + if (buf->code == XML_ERR_OK) + buf->code = XML_ERR_RESOURCE_LIMIT; + return; + } + + if (buf->cap - buf->size <= len) { + if (xmlSBufGrow(buf, len) < 0) + return; + } + + if (len > 0) + memcpy(buf->mem + buf->size, str, len); + buf->size += len; +} + +static void +xmlSBufAddCString(xmlSBuf *buf, const char *str, unsigned len) { + xmlSBufAddString(buf, (const xmlChar *) str, len); +} + +static void +xmlSBufAddChar(xmlSBuf *buf, int c) { + xmlChar *end; + + if (buf->max - buf->size < 4) { + if (buf->code == XML_ERR_OK) + buf->code = XML_ERR_RESOURCE_LIMIT; + return; + } + + if (buf->cap - buf->size <= 4) { + if (xmlSBufGrow(buf, 4) < 0) + return; + } + + end = buf->mem + buf->size; + + if (c < 0x80) { + *end = (xmlChar) c; + buf->size += 1; + } else { + buf->size += xmlCopyCharMultiByte(end, c); + } +} + +static void +xmlSBufAddReplChar(xmlSBuf *buf) { + xmlSBufAddCString(buf, "\xEF\xBF\xBD", 3); +} + +static void +xmlSBufReportError(xmlSBuf *buf, xmlParserCtxtPtr ctxt, const char *errMsg) { + if (buf->code == XML_ERR_NO_MEMORY) + xmlCtxtErrMemory(ctxt); + else + xmlFatalErr(ctxt, buf->code, errMsg); +} + +static xmlChar * +xmlSBufFinish(xmlSBuf *buf, int *sizeOut, xmlParserCtxtPtr ctxt, + const char *errMsg) { + if (buf->mem == NULL) { + buf->mem = xmlMalloc(1); + if (buf->mem == NULL) { + buf->code = XML_ERR_NO_MEMORY; + } else { + buf->mem[0] = 0; + } + } else { + buf->mem[buf->size] = 0; + } + + if (buf->code == XML_ERR_OK) { + if (sizeOut != NULL) + *sizeOut = buf->size; + return(buf->mem); + } + + xmlSBufReportError(buf, ctxt, errMsg); + + xmlFree(buf->mem); + + if (sizeOut != NULL) + *sizeOut = 0; + return(NULL); +} + +static void +xmlSBufCleanup(xmlSBuf *buf, xmlParserCtxtPtr ctxt, const char *errMsg) { + if (buf->code != XML_ERR_OK) + xmlSBufReportError(buf, ctxt, errMsg); + + xmlFree(buf->mem); +} + +static int +xmlUTF8MultibyteLen(xmlParserCtxtPtr ctxt, const xmlChar *str, + const char *errMsg) { + int c = str[0]; + int c1 = str[1]; + + if ((c1 & 0xC0) != 0x80) + goto encoding_error; + + if (c < 0xE0) { + /* 2-byte sequence */ + if (c < 0xC2) + goto encoding_error; + + return(2); + } else { + int c2 = str[2]; + + if ((c2 & 0xC0) != 0x80) + goto encoding_error; + + if (c < 0xF0) { + /* 3-byte sequence */ + if (c == 0xE0) { + /* overlong */ + if (c1 < 0xA0) + goto encoding_error; + } else if (c == 0xED) { + /* surrogate */ + if (c1 >= 0xA0) + goto encoding_error; + } else if (c == 0xEF) { + /* U+FFFE and U+FFFF are invalid Chars */ + if ((c1 == 0xBF) && (c2 >= 0xBE)) + xmlFatalErrMsg(ctxt, XML_ERR_INVALID_CHAR, errMsg); + } + + return(3); + } else { + /* 4-byte sequence */ + if ((str[3] & 0xC0) != 0x80) + goto encoding_error; + if (c == 0xF0) { + /* overlong */ + if (c1 < 0x90) + goto encoding_error; + } else if (c >= 0xF4) { + /* greater than 0x10FFFF */ + if ((c > 0xF4) || (c1 >= 0x90)) + goto encoding_error; + } + + return(4); + } + } + +encoding_error: + /* Only report the first error */ + if ((ctxt->input->flags & XML_INPUT_ENCODING_ERROR) == 0) { + xmlCtxtErrIO(ctxt, XML_ERR_INVALID_ENCODING, NULL); + ctxt->input->flags |= XML_INPUT_ENCODING_ERROR; + } + + return(0); +} + +/************************************************************************ + * * + * SAX2 defaulted attributes handling * + * * + ************************************************************************/ + +/** + * Final initialization of the parser context before starting to parse. + * + * This accounts for users modifying struct members of parser context + * directly. + * + * @param ctxt an XML parser context + */ +static void +xmlCtxtInitializeLate(xmlParserCtxtPtr ctxt) { + xmlSAXHandlerPtr sax; + + /* Avoid unused variable warning if features are disabled. */ + (void) sax; + + /* + * Changing the SAX struct directly is still widespread practice + * in internal and external code. + */ + if (ctxt == NULL) return; + sax = ctxt->sax; +#ifdef LIBXML_SAX1_ENABLED + /* + * Only enable SAX2 if there SAX2 element handlers, except when there + * are no element handlers at all. + */ + if (((ctxt->options & XML_PARSE_SAX1) == 0) && + (sax) && + (sax->initialized == XML_SAX2_MAGIC) && + ((sax->startElementNs != NULL) || + (sax->endElementNs != NULL) || + ((sax->startElement == NULL) && (sax->endElement == NULL)))) + ctxt->sax2 = 1; +#else + ctxt->sax2 = 1; +#endif /* LIBXML_SAX1_ENABLED */ + + /* + * Some users replace the dictionary directly in the context struct. + * We really need an API function to do that cleanly. + */ + ctxt->str_xml = xmlDictLookup(ctxt->dict, BAD_CAST "xml", 3); + ctxt->str_xmlns = xmlDictLookup(ctxt->dict, BAD_CAST "xmlns", 5); + ctxt->str_xml_ns = xmlDictLookup(ctxt->dict, XML_XML_NAMESPACE, 36); + if ((ctxt->str_xml==NULL) || (ctxt->str_xmlns==NULL) || + (ctxt->str_xml_ns == NULL)) { + xmlErrMemory(ctxt); + } + + xmlDictSetLimit(ctxt->dict, + (ctxt->options & XML_PARSE_HUGE) ? + 0 : + XML_MAX_DICTIONARY_LIMIT); + +#ifdef LIBXML_VALID_ENABLED + if (ctxt->validate) + ctxt->vctxt.flags |= XML_VCTXT_VALIDATE; + else + ctxt->vctxt.flags &= ~XML_VCTXT_VALIDATE; +#endif /* LIBXML_VALID_ENABLED */ +} + +typedef struct { + xmlHashedString prefix; + xmlHashedString name; + xmlHashedString value; + const xmlChar *valueEnd; + int external; + int expandedSize; +} xmlDefAttr; + +typedef struct _xmlDefAttrs xmlDefAttrs; +typedef xmlDefAttrs *xmlDefAttrsPtr; +struct _xmlDefAttrs { + int nbAttrs; /* number of defaulted attributes on that element */ + int maxAttrs; /* the size of the array */ +#if __STDC_VERSION__ >= 199901L + /* Using a C99 flexible array member avoids UBSan errors. */ + xmlDefAttr attrs[] ATTRIBUTE_COUNTED_BY(maxAttrs); +#else + xmlDefAttr attrs[1]; +#endif +}; + +/** + * Normalize the space in non CDATA attribute values: + * If the attribute type is not CDATA, then the XML processor MUST further + * process the normalized attribute value by discarding any leading and + * trailing space (\#x20) characters, and by replacing sequences of space + * (\#x20) characters by a single space (\#x20) character. + * Note that the size of dst need to be at least src, and if one doesn't need + * to preserve dst (and it doesn't come from a dictionary or read-only) then + * passing src as dst is just fine. + * + * @param src the source string + * @param dst the target string + * @returns a pointer to the normalized value (dst) or NULL if no conversion + * is needed. + */ +xmlChar * +xmlAttrNormalizeSpace(const xmlChar *src, xmlChar *dst) +{ + if ((src == NULL) || (dst == NULL)) + return(NULL); + + while (*src == 0x20) src++; + while (*src != 0) { + if (*src == 0x20) { + while (*src == 0x20) src++; + if (*src != 0) + *dst++ = 0x20; + } else { + *dst++ = *src++; + } + } + *dst = 0; + if (dst == src) + return(NULL); + return(dst); +} + +/** + * TODO: This function should also remove leading and trailing + * whitespaces, and also group whitespaces together, but right + * now the parse doesn't do that with XML_PARSE_NOENT, so this + * replacement is consistent with the parser normalization + * + * Maybe merge with xmlAttrNormalizeSpace, or do something + * similar + * + * Normalize attritube entity values + * Replaces any space character with 0x20 + * https://www.w3.org/TR/REC-xml/#AVNormalize + */ +xmlChar * +xmlAttrNormalize(xmlChar *src) +{ + xmlChar *out = NULL; + xmlChar *dst = NULL; + + if (src == NULL) + return(NULL); + + out = src; + dst = out; + while (*src != 0) { + if (*src < 0x20) { + src++; + *dst++ = 0x20; + } else { + *dst++ = *src++; + } + } + *dst = 0; + return(out); +} + +/** + * Add a defaulted attribute for an element + * + * @param ctxt an XML parser context + * @param fullname the element fullname + * @param fullattr the attribute fullname + * @param value the attribute value + */ +static void +xmlAddDefAttrs(xmlParserCtxtPtr ctxt, + const xmlChar *fullname, + const xmlChar *fullattr, + const xmlChar *value) { + xmlDefAttrsPtr defaults; + xmlDefAttr *attr; + int len, expandedSize; + xmlHashedString name; + xmlHashedString prefix; + xmlHashedString hvalue; + const xmlChar *localname; + + /* + * Allows to detect attribute redefinitions + */ + if (ctxt->attsSpecial != NULL) { + if (xmlHashLookup2(ctxt->attsSpecial, fullname, fullattr) != NULL) + return; + } + + if (ctxt->attsDefault == NULL) { + ctxt->attsDefault = xmlHashCreateDict(10, ctxt->dict); + if (ctxt->attsDefault == NULL) + goto mem_error; + } + + /* + * split the element name into prefix:localname , the string found + * are within the DTD and then not associated to namespace names. + */ + localname = xmlSplitQName3(fullname, &len); + if (localname == NULL) { + name = xmlDictLookupHashed(ctxt->dict, fullname, -1); + prefix.name = NULL; + } else { + name = xmlDictLookupHashed(ctxt->dict, localname, -1); + prefix = xmlDictLookupHashed(ctxt->dict, fullname, len); + if (prefix.name == NULL) + goto mem_error; + } + if (name.name == NULL) + goto mem_error; + + /* + * make sure there is some storage + */ + defaults = xmlHashLookup2(ctxt->attsDefault, name.name, prefix.name); + if ((defaults == NULL) || + (defaults->nbAttrs >= defaults->maxAttrs)) { + xmlDefAttrsPtr temp; + int newSize; + + if (defaults == NULL) { + newSize = 4; + } else { + if ((defaults->maxAttrs >= XML_MAX_ATTRS) || + ((size_t) defaults->maxAttrs > + SIZE_MAX / 2 / sizeof(temp[0]) - sizeof(*defaults))) + goto mem_error; + + if (defaults->maxAttrs > XML_MAX_ATTRS / 2) + newSize = XML_MAX_ATTRS; + else + newSize = defaults->maxAttrs * 2; + } + temp = xmlRealloc(defaults, + sizeof(*defaults) + newSize * sizeof(xmlDefAttr)); + if (temp == NULL) + goto mem_error; + if (defaults == NULL) + temp->nbAttrs = 0; + temp->maxAttrs = newSize; + defaults = temp; + if (xmlHashUpdateEntry2(ctxt->attsDefault, name.name, prefix.name, + defaults, NULL) < 0) { + xmlFree(defaults); + goto mem_error; + } + } + + /* + * Split the attribute name into prefix:localname , the string found + * are within the DTD and hen not associated to namespace names. + */ + localname = xmlSplitQName3(fullattr, &len); + if (localname == NULL) { + name = xmlDictLookupHashed(ctxt->dict, fullattr, -1); + prefix.name = NULL; + } else { + name = xmlDictLookupHashed(ctxt->dict, localname, -1); + prefix = xmlDictLookupHashed(ctxt->dict, fullattr, len); + if (prefix.name == NULL) + goto mem_error; + } + if (name.name == NULL) + goto mem_error; + + /* intern the string and precompute the end */ + len = strlen((const char *) value); + hvalue = xmlDictLookupHashed(ctxt->dict, value, len); + if (hvalue.name == NULL) + goto mem_error; + + expandedSize = strlen((const char *) name.name); + if (prefix.name != NULL) + expandedSize += strlen((const char *) prefix.name); + expandedSize += len; + + attr = &defaults->attrs[defaults->nbAttrs++]; + attr->name = name; + attr->prefix = prefix; + attr->value = hvalue; + attr->valueEnd = hvalue.name + len; + attr->external = PARSER_EXTERNAL(ctxt); + attr->expandedSize = expandedSize; + + return; + +mem_error: + xmlErrMemory(ctxt); +} + +/** + * Register this attribute type + * + * @param ctxt an XML parser context + * @param fullname the element fullname + * @param fullattr the attribute fullname + * @param type the attribute type + */ +static void +xmlAddSpecialAttr(xmlParserCtxtPtr ctxt, + const xmlChar *fullname, + const xmlChar *fullattr, + int type) +{ + if (ctxt->attsSpecial == NULL) { + ctxt->attsSpecial = xmlHashCreateDict(10, ctxt->dict); + if (ctxt->attsSpecial == NULL) + goto mem_error; + } + + if (PARSER_EXTERNAL(ctxt)) + type |= XML_SPECIAL_EXTERNAL; + + if (xmlHashAdd2(ctxt->attsSpecial, fullname, fullattr, + XML_INT_TO_PTR(type)) < 0) + goto mem_error; + return; + +mem_error: + xmlErrMemory(ctxt); +} + +/** + * Removes CDATA attributes from the special attribute table + */ +static void +xmlCleanSpecialAttrCallback(void *payload, void *data, + const xmlChar *fullname, const xmlChar *fullattr, + const xmlChar *unused ATTRIBUTE_UNUSED) { + xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) data; + + if (XML_PTR_TO_INT(payload) == XML_ATTRIBUTE_CDATA) { + xmlHashRemoveEntry2(ctxt->attsSpecial, fullname, fullattr, NULL); + } +} + +/** + * Trim the list of attributes defined to remove all those of type + * CDATA as they are not special. This call should be done when finishing + * to parse the DTD and before starting to parse the document root. + * + * @param ctxt an XML parser context + */ +static void +xmlCleanSpecialAttr(xmlParserCtxtPtr ctxt) +{ + if (ctxt->attsSpecial == NULL) + return; + + xmlHashScanFull(ctxt->attsSpecial, xmlCleanSpecialAttrCallback, ctxt); + + if (xmlHashSize(ctxt->attsSpecial) == 0) { + xmlHashFree(ctxt->attsSpecial, NULL); + ctxt->attsSpecial = NULL; + } +} + +/** + * Checks that the value conforms to the LanguageID production: + * + * @deprecated Internal function, do not use. + * + * NOTE: this is somewhat deprecated, those productions were removed from + * the XML Second edition. + * + * [33] LanguageID ::= Langcode ('-' Subcode)* + * [34] Langcode ::= ISO639Code | IanaCode | UserCode + * [35] ISO639Code ::= ([a-z] | [A-Z]) ([a-z] | [A-Z]) + * [36] IanaCode ::= ('i' | 'I') '-' ([a-z] | [A-Z])+ + * [37] UserCode ::= ('x' | 'X') '-' ([a-z] | [A-Z])+ + * [38] Subcode ::= ([a-z] | [A-Z])+ + * + * The current REC reference the successors of RFC 1766, currently 5646 + * + * http://www.rfc-editor.org/rfc/rfc5646.txt + * + * langtag = language + * ["-" script] + * ["-" region] + * *("-" variant) + * *("-" extension) + * ["-" privateuse] + * language = 2*3ALPHA ; shortest ISO 639 code + * ["-" extlang] ; sometimes followed by + * ; extended language subtags + * / 4ALPHA ; or reserved for future use + * / 5*8ALPHA ; or registered language subtag + * + * extlang = 3ALPHA ; selected ISO 639 codes + * *2("-" 3ALPHA) ; permanently reserved + * + * script = 4ALPHA ; ISO 15924 code + * + * region = 2ALPHA ; ISO 3166-1 code + * / 3DIGIT ; UN M.49 code + * + * variant = 5*8alphanum ; registered variants + * / (DIGIT 3alphanum) + * + * extension = singleton 1*("-" (2*8alphanum)) + * + * ; Single alphanumerics + * ; "x" reserved for private use + * singleton = DIGIT ; 0 - 9 + * / %x41-57 ; A - W + * / %x59-5A ; Y - Z + * / %x61-77 ; a - w + * / %x79-7A ; y - z + * + * it sounds right to still allow Irregular i-xxx IANA and user codes too + * The parser below doesn't try to cope with extension or privateuse + * that could be added but that's not interoperable anyway + * + * @param lang pointer to the string value + * @returns 1 if correct 0 otherwise + **/ +int +xmlCheckLanguageID(const xmlChar * lang) +{ + const xmlChar *cur = lang, *nxt; + + if (cur == NULL) + return (0); + if (((cur[0] == 'i') && (cur[1] == '-')) || + ((cur[0] == 'I') && (cur[1] == '-')) || + ((cur[0] == 'x') && (cur[1] == '-')) || + ((cur[0] == 'X') && (cur[1] == '-'))) { + /* + * Still allow IANA code and user code which were coming + * from the previous version of the XML-1.0 specification + * it's deprecated but we should not fail + */ + cur += 2; + while (((cur[0] >= 'A') && (cur[0] <= 'Z')) || + ((cur[0] >= 'a') && (cur[0] <= 'z'))) + cur++; + return(cur[0] == 0); + } + nxt = cur; + while (((nxt[0] >= 'A') && (nxt[0] <= 'Z')) || + ((nxt[0] >= 'a') && (nxt[0] <= 'z'))) + nxt++; + if (nxt - cur >= 4) { + /* + * Reserved + */ + if ((nxt - cur > 8) || (nxt[0] != 0)) + return(0); + return(1); + } + if (nxt - cur < 2) + return(0); + /* we got an ISO 639 code */ + if (nxt[0] == 0) + return(1); + if (nxt[0] != '-') + return(0); + + nxt++; + cur = nxt; + /* now we can have extlang or script or region or variant */ + if ((nxt[0] >= '0') && (nxt[0] <= '9')) + goto region_m49; + + while (((nxt[0] >= 'A') && (nxt[0] <= 'Z')) || + ((nxt[0] >= 'a') && (nxt[0] <= 'z'))) + nxt++; + if (nxt - cur == 4) + goto script; + if (nxt - cur == 2) + goto region; + if ((nxt - cur >= 5) && (nxt - cur <= 8)) + goto variant; + if (nxt - cur != 3) + return(0); + /* we parsed an extlang */ + if (nxt[0] == 0) + return(1); + if (nxt[0] != '-') + return(0); + + nxt++; + cur = nxt; + /* now we can have script or region or variant */ + if ((nxt[0] >= '0') && (nxt[0] <= '9')) + goto region_m49; + + while (((nxt[0] >= 'A') && (nxt[0] <= 'Z')) || + ((nxt[0] >= 'a') && (nxt[0] <= 'z'))) + nxt++; + if (nxt - cur == 2) + goto region; + if ((nxt - cur >= 5) && (nxt - cur <= 8)) + goto variant; + if (nxt - cur != 4) + return(0); + /* we parsed a script */ +script: + if (nxt[0] == 0) + return(1); + if (nxt[0] != '-') + return(0); + + nxt++; + cur = nxt; + /* now we can have region or variant */ + if ((nxt[0] >= '0') && (nxt[0] <= '9')) + goto region_m49; + + while (((nxt[0] >= 'A') && (nxt[0] <= 'Z')) || + ((nxt[0] >= 'a') && (nxt[0] <= 'z'))) + nxt++; + + if ((nxt - cur >= 5) && (nxt - cur <= 8)) + goto variant; + if (nxt - cur != 2) + return(0); + /* we parsed a region */ +region: + if (nxt[0] == 0) + return(1); + if (nxt[0] != '-') + return(0); + + nxt++; + cur = nxt; + /* now we can just have a variant */ + while (((nxt[0] >= 'A') && (nxt[0] <= 'Z')) || + ((nxt[0] >= 'a') && (nxt[0] <= 'z'))) + nxt++; + + if ((nxt - cur < 5) || (nxt - cur > 8)) + return(0); + + /* we parsed a variant */ +variant: + if (nxt[0] == 0) + return(1); + if (nxt[0] != '-') + return(0); + /* extensions and private use subtags not checked */ + return (1); + +region_m49: + if (((nxt[1] >= '0') && (nxt[1] <= '9')) && + ((nxt[2] >= '0') && (nxt[2] <= '9'))) { + nxt += 3; + goto region; + } + return(0); +} + +/************************************************************************ + * * + * Parser stacks related functions and macros * + * * + ************************************************************************/ + +static xmlChar * +xmlParseStringEntityRef(xmlParserCtxtPtr ctxt, const xmlChar **str); + +/** + * Create a new namespace database. + * + * @returns the new obejct. + */ +xmlParserNsData * +xmlParserNsCreate(void) { + xmlParserNsData *nsdb = xmlMalloc(sizeof(*nsdb)); + + if (nsdb == NULL) + return(NULL); + memset(nsdb, 0, sizeof(*nsdb)); + nsdb->defaultNsIndex = INT_MAX; + + return(nsdb); +} + +/** + * Free a namespace database. + * + * @param nsdb namespace database + */ +void +xmlParserNsFree(xmlParserNsData *nsdb) { + if (nsdb == NULL) + return; + + xmlFree(nsdb->extra); + xmlFree(nsdb->hash); + xmlFree(nsdb); +} + +/** + * Reset a namespace database. + * + * @param nsdb namespace database + */ +static void +xmlParserNsReset(xmlParserNsData *nsdb) { + if (nsdb == NULL) + return; + + nsdb->hashElems = 0; + nsdb->elementId = 0; + nsdb->defaultNsIndex = INT_MAX; + + if (nsdb->hash) + memset(nsdb->hash, 0, nsdb->hashSize * sizeof(nsdb->hash[0])); +} + +/** + * Signal that a new element has started. + * + * @param nsdb namespace database + * @returns 0 on success, -1 if the element counter overflowed. + */ +static int +xmlParserNsStartElement(xmlParserNsData *nsdb) { + if (nsdb->elementId == UINT_MAX) + return(-1); + nsdb->elementId++; + + return(0); +} + +/** + * Lookup namespace with given prefix. If `bucketPtr` is non-NULL, it will + * be set to the matching bucket, or the first empty bucket if no match + * was found. + * + * @param ctxt parser context + * @param prefix namespace prefix + * @param bucketPtr optional bucket (return value) + * @returns the namespace index on success, INT_MAX if no namespace was + * found. + */ +static int +xmlParserNsLookup(xmlParserCtxtPtr ctxt, const xmlHashedString *prefix, + xmlParserNsBucket **bucketPtr) { + xmlParserNsBucket *bucket, *tombstone; + unsigned index, hashValue; + + if (prefix->name == NULL) + return(ctxt->nsdb->defaultNsIndex); + + if (ctxt->nsdb->hashSize == 0) + return(INT_MAX); + + hashValue = prefix->hashValue; + index = hashValue & (ctxt->nsdb->hashSize - 1); + bucket = &ctxt->nsdb->hash[index]; + tombstone = NULL; + + while (bucket->hashValue) { + if (bucket->index == INT_MAX) { + if (tombstone == NULL) + tombstone = bucket; + } else if (bucket->hashValue == hashValue) { + if (ctxt->nsTab[bucket->index * 2] == prefix->name) { + if (bucketPtr != NULL) + *bucketPtr = bucket; + return(bucket->index); + } + } + + index++; + bucket++; + if (index == ctxt->nsdb->hashSize) { + index = 0; + bucket = ctxt->nsdb->hash; + } + } + + if (bucketPtr != NULL) + *bucketPtr = tombstone ? tombstone : bucket; + return(INT_MAX); +} + +/** + * Lookup namespace URI with given prefix. + * + * @param ctxt parser context + * @param prefix namespace prefix + * @returns the namespace URI on success, NULL if no namespace was found. + */ +static const xmlChar * +xmlParserNsLookupUri(xmlParserCtxtPtr ctxt, const xmlHashedString *prefix) { + const xmlChar *ret; + int nsIndex; + + if (prefix->name == ctxt->str_xml) + return(ctxt->str_xml_ns); + + /* + * minNsIndex is used when building an entity tree. We must + * ignore namespaces declared outside the entity. + */ + nsIndex = xmlParserNsLookup(ctxt, prefix, NULL); + if ((nsIndex == INT_MAX) || (nsIndex < ctxt->nsdb->minNsIndex)) + return(NULL); + + ret = ctxt->nsTab[nsIndex * 2 + 1]; + if (ret[0] == 0) + ret = NULL; + return(ret); +} + +/** + * Lookup extra data for the given prefix. This returns data stored + * with xmlParserNsUdpateSax. + * + * @param ctxt parser context + * @param prefix namespace prefix + * @returns the data on success, NULL if no namespace was found. + */ +void * +xmlParserNsLookupSax(xmlParserCtxt *ctxt, const xmlChar *prefix) { + xmlHashedString hprefix; + int nsIndex; + + if (prefix == ctxt->str_xml) + return(NULL); + + hprefix.name = prefix; + if (prefix != NULL) + hprefix.hashValue = xmlDictComputeHash(ctxt->dict, prefix); + else + hprefix.hashValue = 0; + nsIndex = xmlParserNsLookup(ctxt, &hprefix, NULL); + if ((nsIndex == INT_MAX) || (nsIndex < ctxt->nsdb->minNsIndex)) + return(NULL); + + return(ctxt->nsdb->extra[nsIndex].saxData); +} + +/** + * Sets or updates extra data for the given prefix. This value will be + * returned by xmlParserNsLookupSax as long as the namespace with the + * given prefix is in scope. + * + * @param ctxt parser context + * @param prefix namespace prefix + * @param saxData extra data for SAX handler + * @returns the data on success, NULL if no namespace was found. + */ +int +xmlParserNsUpdateSax(xmlParserCtxt *ctxt, const xmlChar *prefix, + void *saxData) { + xmlHashedString hprefix; + int nsIndex; + + if (prefix == ctxt->str_xml) + return(-1); + + hprefix.name = prefix; + if (prefix != NULL) + hprefix.hashValue = xmlDictComputeHash(ctxt->dict, prefix); + else + hprefix.hashValue = 0; + nsIndex = xmlParserNsLookup(ctxt, &hprefix, NULL); + if ((nsIndex == INT_MAX) || (nsIndex < ctxt->nsdb->minNsIndex)) + return(-1); + + ctxt->nsdb->extra[nsIndex].saxData = saxData; + return(0); +} + +/** + * Grows the namespace tables. + * + * @param ctxt parser context + * @returns 0 on success, -1 if a memory allocation failed. + */ +static int +xmlParserNsGrow(xmlParserCtxtPtr ctxt) { + const xmlChar **table; + xmlParserNsExtra *extra; + int newSize; + + newSize = xmlGrowCapacity(ctxt->nsMax, + sizeof(table[0]) + sizeof(extra[0]), + 16, XML_MAX_ITEMS); + if (newSize < 0) + goto error; + + table = xmlRealloc(ctxt->nsTab, 2 * newSize * sizeof(table[0])); + if (table == NULL) + goto error; + ctxt->nsTab = table; + + extra = xmlRealloc(ctxt->nsdb->extra, newSize * sizeof(extra[0])); + if (extra == NULL) + goto error; + ctxt->nsdb->extra = extra; + + ctxt->nsMax = newSize; + return(0); + +error: + xmlErrMemory(ctxt); + return(-1); +} + +/** + * Push a new namespace on the table. + * + * @param ctxt parser context + * @param prefix prefix with hash value + * @param uri uri with hash value + * @param saxData extra data for SAX handler + * @param defAttr whether the namespace comes from a default attribute + * @returns 1 if the namespace was pushed, 0 if the namespace was ignored, + * -1 if a memory allocation failed. + */ +static int +xmlParserNsPush(xmlParserCtxtPtr ctxt, const xmlHashedString *prefix, + const xmlHashedString *uri, void *saxData, int defAttr) { + xmlParserNsBucket *bucket = NULL; + xmlParserNsExtra *extra; + const xmlChar **ns; + unsigned hashValue, nsIndex, oldIndex; + + if ((prefix != NULL) && (prefix->name == ctxt->str_xml)) + return(0); + + if ((ctxt->nsNr >= ctxt->nsMax) && (xmlParserNsGrow(ctxt) < 0)) { + xmlErrMemory(ctxt); + return(-1); + } + + /* + * Default namespace and 'xml' namespace + */ + if ((prefix == NULL) || (prefix->name == NULL)) { + oldIndex = ctxt->nsdb->defaultNsIndex; + + if (oldIndex != INT_MAX) { + extra = &ctxt->nsdb->extra[oldIndex]; + + if (extra->elementId == ctxt->nsdb->elementId) { + if (defAttr == 0) + xmlErrAttributeDup(ctxt, NULL, BAD_CAST "xmlns"); + return(0); + } + + if ((ctxt->options & XML_PARSE_NSCLEAN) && + (uri->name == ctxt->nsTab[oldIndex * 2 + 1])) + return(0); + } + + ctxt->nsdb->defaultNsIndex = ctxt->nsNr; + goto populate_entry; + } + + /* + * Hash table lookup + */ + oldIndex = xmlParserNsLookup(ctxt, prefix, &bucket); + if (oldIndex != INT_MAX) { + extra = &ctxt->nsdb->extra[oldIndex]; + + /* + * Check for duplicate definitions on the same element. + */ + if (extra->elementId == ctxt->nsdb->elementId) { + if (defAttr == 0) + xmlErrAttributeDup(ctxt, BAD_CAST "xmlns", prefix->name); + return(0); + } + + if ((ctxt->options & XML_PARSE_NSCLEAN) && + (uri->name == ctxt->nsTab[bucket->index * 2 + 1])) + return(0); + + bucket->index = ctxt->nsNr; + goto populate_entry; + } + + /* + * Insert new bucket + */ + + hashValue = prefix->hashValue; + + /* + * Grow hash table, 50% fill factor + */ + if (ctxt->nsdb->hashElems + 1 > ctxt->nsdb->hashSize / 2) { + xmlParserNsBucket *newHash; + unsigned newSize, i, index; + + if (ctxt->nsdb->hashSize > UINT_MAX / 2) { + xmlErrMemory(ctxt); + return(-1); + } + newSize = ctxt->nsdb->hashSize ? ctxt->nsdb->hashSize * 2 : 16; + newHash = xmlMalloc(newSize * sizeof(newHash[0])); + if (newHash == NULL) { + xmlErrMemory(ctxt); + return(-1); + } + memset(newHash, 0, newSize * sizeof(newHash[0])); + + for (i = 0; i < ctxt->nsdb->hashSize; i++) { + unsigned hv = ctxt->nsdb->hash[i].hashValue; + unsigned newIndex; + + if ((hv == 0) || (ctxt->nsdb->hash[i].index == INT_MAX)) + continue; + newIndex = hv & (newSize - 1); + + while (newHash[newIndex].hashValue != 0) { + newIndex++; + if (newIndex == newSize) + newIndex = 0; + } + + newHash[newIndex] = ctxt->nsdb->hash[i]; + } + + xmlFree(ctxt->nsdb->hash); + ctxt->nsdb->hash = newHash; + ctxt->nsdb->hashSize = newSize; + + /* + * Relookup + */ + index = hashValue & (newSize - 1); + + while (newHash[index].hashValue != 0) { + index++; + if (index == newSize) + index = 0; + } + + bucket = &newHash[index]; + } + + bucket->hashValue = hashValue; + bucket->index = ctxt->nsNr; + ctxt->nsdb->hashElems++; + oldIndex = INT_MAX; + +populate_entry: + nsIndex = ctxt->nsNr; + + ns = &ctxt->nsTab[nsIndex * 2]; + ns[0] = prefix ? prefix->name : NULL; + ns[1] = uri->name; + + extra = &ctxt->nsdb->extra[nsIndex]; + extra->saxData = saxData; + extra->prefixHashValue = prefix ? prefix->hashValue : 0; + extra->uriHashValue = uri->hashValue; + extra->elementId = ctxt->nsdb->elementId; + extra->oldIndex = oldIndex; + + ctxt->nsNr++; + + return(1); +} + +/** + * Pops the top `nr` namespaces and restores the hash table. + * + * @param ctxt an XML parser context + * @param nr the number to pop + * @returns the number of namespaces popped. + */ +static int +xmlParserNsPop(xmlParserCtxtPtr ctxt, int nr) +{ + int i; + + /* assert(nr <= ctxt->nsNr); */ + + for (i = ctxt->nsNr - 1; i >= ctxt->nsNr - nr; i--) { + const xmlChar *prefix = ctxt->nsTab[i * 2]; + xmlParserNsExtra *extra = &ctxt->nsdb->extra[i]; + + if (prefix == NULL) { + ctxt->nsdb->defaultNsIndex = extra->oldIndex; + } else { + xmlHashedString hprefix; + xmlParserNsBucket *bucket = NULL; + + hprefix.name = prefix; + hprefix.hashValue = extra->prefixHashValue; + xmlParserNsLookup(ctxt, &hprefix, &bucket); + /* assert(bucket && bucket->hashValue); */ + bucket->index = extra->oldIndex; + } + } + + ctxt->nsNr -= nr; + return(nr); +} + +static int +xmlCtxtGrowAttrs(xmlParserCtxtPtr ctxt) { + const xmlChar **atts; + unsigned *attallocs; + int newSize; + + newSize = xmlGrowCapacity(ctxt->maxatts / 5, + sizeof(atts[0]) * 5 + sizeof(attallocs[0]), + 10, XML_MAX_ATTRS); + if (newSize < 0) { + xmlFatalErr(ctxt, XML_ERR_RESOURCE_LIMIT, + "Maximum number of attributes exceeded"); + return(-1); + } + + atts = xmlRealloc(ctxt->atts, newSize * sizeof(atts[0]) * 5); + if (atts == NULL) + goto mem_error; + ctxt->atts = atts; + + attallocs = xmlRealloc(ctxt->attallocs, + newSize * sizeof(attallocs[0])); + if (attallocs == NULL) + goto mem_error; + ctxt->attallocs = attallocs; + + ctxt->maxatts = newSize * 5; + + return(0); + +mem_error: + xmlErrMemory(ctxt); + return(-1); +} + +/** + * Pushes a new parser input on top of the input stack + * + * @param ctxt an XML parser context + * @param value the parser input + * @returns -1 in case of error, the index in the stack otherwise + */ +int +xmlCtxtPushInput(xmlParserCtxt *ctxt, xmlParserInput *value) +{ + char *directory = NULL; + int maxDepth; + + if ((ctxt == NULL) || (value == NULL)) + return(-1); + + maxDepth = (ctxt->options & XML_PARSE_HUGE) ? 40 : 20; + + if (ctxt->inputNr >= ctxt->inputMax) { + xmlParserInputPtr *tmp; + int newSize; + + newSize = xmlGrowCapacity(ctxt->inputMax, sizeof(tmp[0]), + 5, maxDepth); + if (newSize < 0) { + xmlFatalErrMsg(ctxt, XML_ERR_RESOURCE_LIMIT, + "Maximum entity nesting depth exceeded"); + return(-1); + } + tmp = xmlRealloc(ctxt->inputTab, newSize * sizeof(tmp[0])); + if (tmp == NULL) { + xmlErrMemory(ctxt); + return(-1); + } + ctxt->inputTab = tmp; + ctxt->inputMax = newSize; + } + + if ((ctxt->inputNr == 0) && (value->filename != NULL)) { + directory = xmlParserGetDirectory(value->filename); + if (directory == NULL) { + xmlErrMemory(ctxt); + return(-1); + } + } + + if (ctxt->input_id >= INT_MAX) { + xmlFatalErrMsg(ctxt, XML_ERR_RESOURCE_LIMIT, "Input ID overflow\n"); + return(-1); + } + + ctxt->inputTab[ctxt->inputNr] = value; + ctxt->input = value; + + if (ctxt->inputNr == 0) { + xmlFree(ctxt->directory); + ctxt->directory = directory; + } + + /* + * The input ID is unused internally, but there are entity + * loaders in downstream code that detect the main document + * by checking for "input_id == 1". + */ + value->id = ctxt->input_id++; + + return(ctxt->inputNr++); +} + +/** + * Pops the top parser input from the input stack + * + * @param ctxt an XML parser context + * @returns the input just removed + */ +xmlParserInput * +xmlCtxtPopInput(xmlParserCtxt *ctxt) +{ + xmlParserInputPtr ret; + + if (ctxt == NULL) + return(NULL); + if (ctxt->inputNr <= 0) + return (NULL); + ctxt->inputNr--; + if (ctxt->inputNr > 0) + ctxt->input = ctxt->inputTab[ctxt->inputNr - 1]; + else + ctxt->input = NULL; + ret = ctxt->inputTab[ctxt->inputNr]; + ctxt->inputTab[ctxt->inputNr] = NULL; + return (ret); +} + +/** + * Pushes a new element node on top of the node stack + * + * @deprecated Internal function, do not use. + * + * @param ctxt an XML parser context + * @param value the element node + * @returns -1 in case of error, the index in the stack otherwise + */ +int +nodePush(xmlParserCtxt *ctxt, xmlNode *value) +{ + if (ctxt == NULL) + return(0); + + if (ctxt->nodeNr >= ctxt->nodeMax) { + int maxDepth = (ctxt->options & XML_PARSE_HUGE) ? 2048 : 256; + xmlNodePtr *tmp; + int newSize; + + newSize = xmlGrowCapacity(ctxt->nodeMax, sizeof(tmp[0]), + 10, maxDepth); + if (newSize < 0) { + xmlFatalErrMsgInt(ctxt, XML_ERR_RESOURCE_LIMIT, + "Excessive depth in document: %d," + " use XML_PARSE_HUGE option\n", + ctxt->nodeNr); + return(-1); + } + + tmp = xmlRealloc(ctxt->nodeTab, newSize * sizeof(tmp[0])); + if (tmp == NULL) { + xmlErrMemory(ctxt); + return (-1); + } + ctxt->nodeTab = tmp; + ctxt->nodeMax = newSize; + } + + ctxt->nodeTab[ctxt->nodeNr] = value; + ctxt->node = value; + return (ctxt->nodeNr++); +} + +/** + * Pops the top element node from the node stack + * + * @deprecated Internal function, do not use. + * + * @param ctxt an XML parser context + * @returns the node just removed + */ +xmlNode * +nodePop(xmlParserCtxt *ctxt) +{ + xmlNodePtr ret; + + if (ctxt == NULL) return(NULL); + if (ctxt->nodeNr <= 0) + return (NULL); + ctxt->nodeNr--; + if (ctxt->nodeNr > 0) + ctxt->node = ctxt->nodeTab[ctxt->nodeNr - 1]; + else + ctxt->node = NULL; + ret = ctxt->nodeTab[ctxt->nodeNr]; + ctxt->nodeTab[ctxt->nodeNr] = NULL; + return (ret); +} + +/** + * Pushes a new element name/prefix/URL on top of the name stack + * + * @param ctxt an XML parser context + * @param value the element name + * @param prefix the element prefix + * @param URI the element namespace name + * @param line the current line number for error messages + * @param nsNr the number of namespaces pushed on the namespace table + * @returns -1 in case of error, the index in the stack otherwise + */ +static int +nameNsPush(xmlParserCtxtPtr ctxt, const xmlChar * value, + const xmlChar *prefix, const xmlChar *URI, int line, int nsNr) +{ + xmlStartTag *tag; + + if (ctxt->nameNr >= ctxt->nameMax) { + const xmlChar **tmp; + xmlStartTag *tmp2; + int newSize; + + newSize = xmlGrowCapacity(ctxt->nameMax, + sizeof(tmp[0]) + sizeof(tmp2[0]), + 10, XML_MAX_ITEMS); + if (newSize < 0) + goto mem_error; + + tmp = xmlRealloc(ctxt->nameTab, newSize * sizeof(tmp[0])); + if (tmp == NULL) + goto mem_error; + ctxt->nameTab = tmp; + + tmp2 = xmlRealloc(ctxt->pushTab, newSize * sizeof(tmp2[0])); + if (tmp2 == NULL) + goto mem_error; + ctxt->pushTab = tmp2; + + ctxt->nameMax = newSize; + } else if (ctxt->pushTab == NULL) { + ctxt->pushTab = xmlMalloc(ctxt->nameMax * sizeof(ctxt->pushTab[0])); + if (ctxt->pushTab == NULL) + goto mem_error; + } + ctxt->nameTab[ctxt->nameNr] = value; + ctxt->name = value; + tag = &ctxt->pushTab[ctxt->nameNr]; + tag->prefix = prefix; + tag->URI = URI; + tag->line = line; + tag->nsNr = nsNr; + return (ctxt->nameNr++); +mem_error: + xmlErrMemory(ctxt); + return (-1); +} +#ifdef LIBXML_PUSH_ENABLED +/** + * Pops the top element/prefix/URI name from the name stack + * + * @param ctxt an XML parser context + * @returns the name just removed + */ +static const xmlChar * +nameNsPop(xmlParserCtxtPtr ctxt) +{ + const xmlChar *ret; + + if (ctxt->nameNr <= 0) + return (NULL); + ctxt->nameNr--; + if (ctxt->nameNr > 0) + ctxt->name = ctxt->nameTab[ctxt->nameNr - 1]; + else + ctxt->name = NULL; + ret = ctxt->nameTab[ctxt->nameNr]; + ctxt->nameTab[ctxt->nameNr] = NULL; + return (ret); +} +#endif /* LIBXML_PUSH_ENABLED */ + +/** + * Pops the top element name from the name stack + * + * @deprecated Internal function, do not use. + * + * @param ctxt an XML parser context + * @returns the name just removed + */ +static const xmlChar * +namePop(xmlParserCtxtPtr ctxt) +{ + const xmlChar *ret; + + if ((ctxt == NULL) || (ctxt->nameNr <= 0)) + return (NULL); + ctxt->nameNr--; + if (ctxt->nameNr > 0) + ctxt->name = ctxt->nameTab[ctxt->nameNr - 1]; + else + ctxt->name = NULL; + ret = ctxt->nameTab[ctxt->nameNr]; + ctxt->nameTab[ctxt->nameNr] = NULL; + return (ret); +} + +static int spacePush(xmlParserCtxtPtr ctxt, int val) { + if (ctxt->spaceNr >= ctxt->spaceMax) { + int *tmp; + int newSize; + + newSize = xmlGrowCapacity(ctxt->spaceMax, sizeof(tmp[0]), + 10, XML_MAX_ITEMS); + if (newSize < 0) { + xmlErrMemory(ctxt); + return(-1); + } + + tmp = xmlRealloc(ctxt->spaceTab, newSize * sizeof(tmp[0])); + if (tmp == NULL) { + xmlErrMemory(ctxt); + return(-1); + } + ctxt->spaceTab = tmp; + + ctxt->spaceMax = newSize; + } + ctxt->spaceTab[ctxt->spaceNr] = val; + ctxt->space = &ctxt->spaceTab[ctxt->spaceNr]; + return(ctxt->spaceNr++); +} + +static int spacePop(xmlParserCtxtPtr ctxt) { + int ret; + if (ctxt->spaceNr <= 0) return(0); + ctxt->spaceNr--; + if (ctxt->spaceNr > 0) + ctxt->space = &ctxt->spaceTab[ctxt->spaceNr - 1]; + else + ctxt->space = &ctxt->spaceTab[0]; + ret = ctxt->spaceTab[ctxt->spaceNr]; + ctxt->spaceTab[ctxt->spaceNr] = -1; + return(ret); +} + +/* + * Macros for accessing the content. Those should be used only by the parser, + * and not exported. + * + * Dirty macros, i.e. one often need to make assumption on the context to + * use them + * + * CUR_PTR return the current pointer to the xmlChar to be parsed. + * To be used with extreme caution since operations consuming + * characters may move the input buffer to a different location ! + * CUR returns the current xmlChar value, i.e. a 8 bit value if compiled + * This should be used internally by the parser + * only to compare to ASCII values otherwise it would break when + * running with UTF-8 encoding. + * RAW same as CUR but in the input buffer, bypass any token + * extraction that may have been done + * NXT(n) returns the n'th next xmlChar. Same as CUR is should be used only + * to compare on ASCII based substring. + * SKIP(n) Skip n xmlChar, and must also be used only to skip ASCII defined + * strings without newlines within the parser. + * NEXT1(l) Skip 1 xmlChar, and must also be used only to skip 1 non-newline ASCII + * defined char within the parser. + * Clean macros, not dependent of an ASCII context, expect UTF-8 encoding + * + * NEXT Skip to the next character, this does the proper decoding + * in UTF-8 mode. It also pop-up unfinished entities on the fly. + * NEXTL(l) Skip the current unicode character of l xmlChars long. + * COPY_BUF copy the current unicode char to the target buffer, increment + * the index + * GROW, SHRINK handling of input buffers + */ + +#define RAW (*ctxt->input->cur) +#define CUR (*ctxt->input->cur) +#define NXT(val) ctxt->input->cur[(val)] +#define CUR_PTR ctxt->input->cur +#define BASE_PTR ctxt->input->base + +#define CMP4( s, c1, c2, c3, c4 ) \ + ( ((unsigned char *) s)[ 0 ] == c1 && ((unsigned char *) s)[ 1 ] == c2 && \ + ((unsigned char *) s)[ 2 ] == c3 && ((unsigned char *) s)[ 3 ] == c4 ) +#define CMP5( s, c1, c2, c3, c4, c5 ) \ + ( CMP4( s, c1, c2, c3, c4 ) && ((unsigned char *) s)[ 4 ] == c5 ) +#define CMP6( s, c1, c2, c3, c4, c5, c6 ) \ + ( CMP5( s, c1, c2, c3, c4, c5 ) && ((unsigned char *) s)[ 5 ] == c6 ) +#define CMP7( s, c1, c2, c3, c4, c5, c6, c7 ) \ + ( CMP6( s, c1, c2, c3, c4, c5, c6 ) && ((unsigned char *) s)[ 6 ] == c7 ) +#define CMP8( s, c1, c2, c3, c4, c5, c6, c7, c8 ) \ + ( CMP7( s, c1, c2, c3, c4, c5, c6, c7 ) && ((unsigned char *) s)[ 7 ] == c8 ) +#define CMP9( s, c1, c2, c3, c4, c5, c6, c7, c8, c9 ) \ + ( CMP8( s, c1, c2, c3, c4, c5, c6, c7, c8 ) && \ + ((unsigned char *) s)[ 8 ] == c9 ) +#define CMP10( s, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10 ) \ + ( CMP9( s, c1, c2, c3, c4, c5, c6, c7, c8, c9 ) && \ + ((unsigned char *) s)[ 9 ] == c10 ) + +#define SKIP(val) do { \ + ctxt->input->cur += (val),ctxt->input->col+=(val); \ + if (*ctxt->input->cur == 0) \ + xmlParserGrow(ctxt); \ + } while (0) + +#define SKIPL(val) do { \ + int skipl; \ + for(skipl=0; skiplinput->cur) == '\n') { \ + ctxt->input->line++; ctxt->input->col = 1; \ + } else ctxt->input->col++; \ + ctxt->input->cur++; \ + } \ + if (*ctxt->input->cur == 0) \ + xmlParserGrow(ctxt); \ + } while (0) + +#define SHRINK \ + if (!PARSER_PROGRESSIVE(ctxt)) \ + xmlParserShrink(ctxt); + +#define GROW \ + if ((!PARSER_PROGRESSIVE(ctxt)) && \ + (ctxt->input->end - ctxt->input->cur < INPUT_CHUNK)) \ + xmlParserGrow(ctxt); + +#define SKIP_BLANKS xmlSkipBlankChars(ctxt) + +#define SKIP_BLANKS_PE xmlSkipBlankCharsPE(ctxt) + +#define NEXT xmlNextChar(ctxt) + +#define NEXT1 { \ + ctxt->input->col++; \ + ctxt->input->cur++; \ + if (*ctxt->input->cur == 0) \ + xmlParserGrow(ctxt); \ + } + +#define NEXTL(l) do { \ + if (*(ctxt->input->cur) == '\n') { \ + ctxt->input->line++; ctxt->input->col = 1; \ + } else ctxt->input->col++; \ + ctxt->input->cur += l; \ + } while (0) + +#define COPY_BUF(b, i, v) \ + if (v < 0x80) b[i++] = v; \ + else i += xmlCopyCharMultiByte(&b[i],v) + +static int +xmlCurrentCharRecover(xmlParserCtxtPtr ctxt, int *len) { + int c = xmlCurrentChar(ctxt, len); + + if (c == XML_INVALID_CHAR) + c = 0xFFFD; /* replacement character */ + + return(c); +} + +/** + * Skip whitespace in the input stream. + * + * @deprecated Internal function, do not use. + * + * @param ctxt the XML parser context + * @returns the number of space chars skipped + */ +int +xmlSkipBlankChars(xmlParserCtxt *ctxt) { + const xmlChar *cur; + int res = 0; + + cur = ctxt->input->cur; + while (IS_BLANK_CH(*cur)) { + if (*cur == '\n') { + ctxt->input->line++; ctxt->input->col = 1; + } else { + ctxt->input->col++; + } + cur++; + if (res < INT_MAX) + res++; + if (*cur == 0) { + ctxt->input->cur = cur; + xmlParserGrow(ctxt); + cur = ctxt->input->cur; + } + } + ctxt->input->cur = cur; + + if (res > 4) + GROW; + + return(res); +} + +static void +xmlPopPE(xmlParserCtxtPtr ctxt) { + unsigned long consumed; + xmlEntityPtr ent; + + ent = ctxt->input->entity; + + ent->flags &= ~XML_ENT_EXPANDING; + + if ((ent->flags & XML_ENT_CHECKED) == 0) { + int result; + + /* + * Read the rest of the stream in case of errors. We want + * to account for the whole entity size. + */ + do { + ctxt->input->cur = ctxt->input->end; + xmlParserShrink(ctxt); + result = xmlParserGrow(ctxt); + } while (result > 0); + + consumed = ctxt->input->consumed; + xmlSaturatedAddSizeT(&consumed, + ctxt->input->end - ctxt->input->base); + + xmlSaturatedAdd(&ent->expandedSize, consumed); + + /* + * Add to sizeentities when parsing an external entity + * for the first time. + */ + if (ent->etype == XML_EXTERNAL_PARAMETER_ENTITY) { + xmlSaturatedAdd(&ctxt->sizeentities, consumed); + } + + ent->flags |= XML_ENT_CHECKED; + } + + xmlFreeInputStream(xmlCtxtPopInput(ctxt)); + + xmlParserEntityCheck(ctxt, ent->expandedSize); + + GROW; +} + +/** + * Skip whitespace in the input stream, also handling parameter + * entities. + * + * @param ctxt the XML parser context + * @returns the number of space chars skipped + */ +static int +xmlSkipBlankCharsPE(xmlParserCtxtPtr ctxt) { + int res = 0; + int inParam; + int expandParam; + + inParam = PARSER_IN_PE(ctxt); + expandParam = PARSER_EXTERNAL(ctxt); + + if (!inParam && !expandParam) + return(xmlSkipBlankChars(ctxt)); + + /* + * It's Okay to use CUR/NEXT here since all the blanks are on + * the ASCII range. + */ + while (PARSER_STOPPED(ctxt) == 0) { + if (IS_BLANK_CH(CUR)) { /* CHECKED tstblanks.xml */ + NEXT; + } else if (CUR == '%') { + if ((expandParam == 0) || + (IS_BLANK_CH(NXT(1))) || (NXT(1) == 0)) + break; + + /* + * Expand parameter entity. We continue to consume + * whitespace at the start of the entity and possible + * even consume the whole entity and pop it. We might + * even pop multiple PEs in this loop. + */ + xmlParsePERefInternal(ctxt, 0); + + inParam = PARSER_IN_PE(ctxt); + expandParam = PARSER_EXTERNAL(ctxt); + } else if (CUR == 0) { + if (inParam == 0) + break; + + /* + * Don't pop parameter entities that start a markup + * declaration to detect Well-formedness constraint: + * PE Between Declarations. + */ + if (ctxt->input->flags & XML_INPUT_MARKUP_DECL) + break; + + xmlPopPE(ctxt); + + inParam = PARSER_IN_PE(ctxt); + expandParam = PARSER_EXTERNAL(ctxt); + } else { + break; + } + + /* + * Also increase the counter when entering or exiting a PERef. + * The spec says: "When a parameter-entity reference is recognized + * in the DTD and included, its replacement text MUST be enlarged + * by the attachment of one leading and one following space (#x20) + * character." + */ + if (res < INT_MAX) + res++; + } + + return(res); +} + +/************************************************************************ + * * + * Commodity functions to handle entities * + * * + ************************************************************************/ + +/** + * @deprecated Internal function, don't use. + * + * @param ctxt an XML parser context + * @returns the current xmlChar in the parser context + */ +xmlChar +xmlPopInput(xmlParserCtxt *ctxt) { + xmlParserInputPtr input; + + if ((ctxt == NULL) || (ctxt->inputNr <= 1)) return(0); + input = xmlCtxtPopInput(ctxt); + xmlFreeInputStream(input); + if (*ctxt->input->cur == 0) + xmlParserGrow(ctxt); + return(CUR); +} + +/** + * Push an input stream onto the stack. + * + * @deprecated Internal function, don't use. + * + * @param ctxt an XML parser context + * @param input an XML parser input fragment (entity, XML fragment ...). + * @returns -1 in case of error or the index in the input stack + */ +int +xmlPushInput(xmlParserCtxt *ctxt, xmlParserInput *input) { + int ret; + + if ((ctxt == NULL) || (input == NULL)) + return(-1); + + ret = xmlCtxtPushInput(ctxt, input); + if (ret >= 0) + GROW; + return(ret); +} + +/** + * Parse a numeric character reference. Always consumes '&'. + * + * @deprecated Internal function, don't use. + * + * [66] CharRef ::= '&#' [0-9]+ ';' | + * '&#x' [0-9a-fA-F]+ ';' + * + * [ WFC: Legal Character ] + * Characters referred to using character references must match the + * production for Char. + * + * @param ctxt an XML parser context + * @returns the value parsed (as an int), 0 in case of error + */ +int +xmlParseCharRef(xmlParserCtxt *ctxt) { + int val = 0; + int count = 0; + + /* + * Using RAW/CUR/NEXT is okay since we are working on ASCII range here + */ + if ((RAW == '&') && (NXT(1) == '#') && + (NXT(2) == 'x')) { + SKIP(3); + GROW; + while ((RAW != ';') && (PARSER_STOPPED(ctxt) == 0)) { + if (count++ > 20) { + count = 0; + GROW; + } + if ((RAW >= '0') && (RAW <= '9')) + val = val * 16 + (CUR - '0'); + else if ((RAW >= 'a') && (RAW <= 'f') && (count < 20)) + val = val * 16 + (CUR - 'a') + 10; + else if ((RAW >= 'A') && (RAW <= 'F') && (count < 20)) + val = val * 16 + (CUR - 'A') + 10; + else { + xmlFatalErr(ctxt, XML_ERR_INVALID_HEX_CHARREF, NULL); + val = 0; + break; + } + if (val > 0x110000) + val = 0x110000; + + NEXT; + count++; + } + if (RAW == ';') { + /* on purpose to avoid reentrancy problems with NEXT and SKIP */ + ctxt->input->col++; + ctxt->input->cur++; + } + } else if ((RAW == '&') && (NXT(1) == '#')) { + SKIP(2); + GROW; + while (RAW != ';') { /* loop blocked by count */ + if (count++ > 20) { + count = 0; + GROW; + } + if ((RAW >= '0') && (RAW <= '9')) + val = val * 10 + (CUR - '0'); + else { + xmlFatalErr(ctxt, XML_ERR_INVALID_DEC_CHARREF, NULL); + val = 0; + break; + } + if (val > 0x110000) + val = 0x110000; + + NEXT; + count++; + } + if (RAW == ';') { + /* on purpose to avoid reentrancy problems with NEXT and SKIP */ + ctxt->input->col++; + ctxt->input->cur++; + } + } else { + if (RAW == '&') + SKIP(1); + xmlFatalErr(ctxt, XML_ERR_INVALID_CHARREF, NULL); + } + + /* + * [ WFC: Legal Character ] + * Characters referred to using character references must match the + * production for Char. + */ + if (val >= 0x110000) { + xmlFatalErrMsgInt(ctxt, XML_ERR_INVALID_CHAR, + "xmlParseCharRef: character reference out of bounds\n", + val); + val = 0xFFFD; + } else if (!IS_CHAR(val)) { + xmlFatalErrMsgInt(ctxt, XML_ERR_INVALID_CHAR, + "xmlParseCharRef: invalid xmlChar value %d\n", + val); + } + return(val); +} + +/** + * Parse Reference declarations, variant parsing from a string rather + * than an an input flow. + * + * [66] CharRef ::= '&#' [0-9]+ ';' | + * '&#x' [0-9a-fA-F]+ ';' + * + * [ WFC: Legal Character ] + * Characters referred to using character references must match the + * production for Char. + * + * @param ctxt an XML parser context + * @param str a pointer to an index in the string + * @returns the value parsed (as an int), 0 in case of error, str will be + * updated to the current value of the index + */ +static int +xmlParseStringCharRef(xmlParserCtxtPtr ctxt, const xmlChar **str) { + const xmlChar *ptr; + xmlChar cur; + int val = 0; + + if ((str == NULL) || (*str == NULL)) return(0); + ptr = *str; + cur = *ptr; + if ((cur == '&') && (ptr[1] == '#') && (ptr[2] == 'x')) { + ptr += 3; + cur = *ptr; + while (cur != ';') { /* Non input consuming loop */ + if ((cur >= '0') && (cur <= '9')) + val = val * 16 + (cur - '0'); + else if ((cur >= 'a') && (cur <= 'f')) + val = val * 16 + (cur - 'a') + 10; + else if ((cur >= 'A') && (cur <= 'F')) + val = val * 16 + (cur - 'A') + 10; + else { + xmlFatalErr(ctxt, XML_ERR_INVALID_HEX_CHARREF, NULL); + val = 0; + break; + } + if (val > 0x110000) + val = 0x110000; + + ptr++; + cur = *ptr; + } + if (cur == ';') + ptr++; + } else if ((cur == '&') && (ptr[1] == '#')){ + ptr += 2; + cur = *ptr; + while (cur != ';') { /* Non input consuming loops */ + if ((cur >= '0') && (cur <= '9')) + val = val * 10 + (cur - '0'); + else { + xmlFatalErr(ctxt, XML_ERR_INVALID_DEC_CHARREF, NULL); + val = 0; + break; + } + if (val > 0x110000) + val = 0x110000; + + ptr++; + cur = *ptr; + } + if (cur == ';') + ptr++; + } else { + xmlFatalErr(ctxt, XML_ERR_INVALID_CHARREF, NULL); + return(0); + } + *str = ptr; + + /* + * [ WFC: Legal Character ] + * Characters referred to using character references must match the + * production for Char. + */ + if (val >= 0x110000) { + xmlFatalErrMsgInt(ctxt, XML_ERR_INVALID_CHAR, + "xmlParseStringCharRef: character reference out of bounds\n", + val); + } else if (IS_CHAR(val)) { + return(val); + } else { + xmlFatalErrMsgInt(ctxt, XML_ERR_INVALID_CHAR, + "xmlParseStringCharRef: invalid xmlChar value %d\n", + val); + } + return(0); +} + +/** + * [69] PEReference ::= '%' Name ';' + * + * @deprecated Internal function, do not use. + * + * [ WFC: No Recursion ] + * A parsed entity must not contain a recursive + * reference to itself, either directly or indirectly. + * + * [ WFC: Entity Declared ] + * In a document without any DTD, a document with only an internal DTD + * subset which contains no parameter entity references, or a document + * with "standalone='yes'", ... ... The declaration of a parameter + * entity must precede any reference to it... + * + * [ VC: Entity Declared ] + * In a document with an external subset or external parameter entities + * with "standalone='no'", ... ... The declaration of a parameter entity + * must precede any reference to it... + * + * [ WFC: In DTD ] + * Parameter-entity references may only appear in the DTD. + * NOTE: misleading but this is handled. + * + * A PEReference may have been detected in the current input stream + * the handling is done accordingly to + * http://www.w3.org/TR/REC-xml#entproc + * i.e. + * - Included in literal in entity values + * - Included as Parameter Entity reference within DTDs + * @param ctxt the parser context + */ +void +xmlParserHandlePEReference(xmlParserCtxt *ctxt) { + xmlParsePERefInternal(ctxt, 0); +} + +/** + * @deprecated Internal function, don't use. + * + * @param ctxt the parser context + * @param str the input string + * @param len the string length + * @param what combination of XML_SUBSTITUTE_REF and XML_SUBSTITUTE_PEREF + * @param end an end marker xmlChar, 0 if none + * @param end2 an end marker xmlChar, 0 if none + * @param end3 an end marker xmlChar, 0 if none + * @returns A newly allocated string with the substitution done. The caller + * must deallocate it ! + */ +xmlChar * +xmlStringLenDecodeEntities(xmlParserCtxt *ctxt, const xmlChar *str, int len, + int what ATTRIBUTE_UNUSED, + xmlChar end, xmlChar end2, xmlChar end3) { + if ((ctxt == NULL) || (str == NULL) || (len < 0)) + return(NULL); + + if ((str[len] != 0) || + (end != 0) || (end2 != 0) || (end3 != 0)) + return(NULL); + + return(xmlExpandEntitiesInAttValue(ctxt, str, 0)); +} + +/** + * @deprecated Internal function, don't use. + * + * @param ctxt the parser context + * @param str the input string + * @param what combination of XML_SUBSTITUTE_REF and XML_SUBSTITUTE_PEREF + * @param end an end marker xmlChar, 0 if none + * @param end2 an end marker xmlChar, 0 if none + * @param end3 an end marker xmlChar, 0 if none + * @returns A newly allocated string with the substitution done. The caller + * must deallocate it ! + */ +xmlChar * +xmlStringDecodeEntities(xmlParserCtxt *ctxt, const xmlChar *str, + int what ATTRIBUTE_UNUSED, + xmlChar end, xmlChar end2, xmlChar end3) { + if ((ctxt == NULL) || (str == NULL)) + return(NULL); + + if ((end != 0) || (end2 != 0) || (end3 != 0)) + return(NULL); + + return(xmlExpandEntitiesInAttValue(ctxt, str, 0)); +} + +/************************************************************************ + * * + * Commodity functions, cleanup needed ? * + * * + ************************************************************************/ + +/** + * Is this a sequence of blank chars that one can ignore ? + * + * @param ctxt an XML parser context + * @param str a xmlChar * + * @param len the size of `str` + * @param blank_chars we know the chars are blanks + * @returns 1 if ignorable 0 otherwise. + */ + +static int areBlanks(xmlParserCtxtPtr ctxt, const xmlChar *str, int len, + int blank_chars) { + int i; + xmlNodePtr lastChild; + + /* + * Check for xml:space value. + */ + if ((ctxt->space == NULL) || (*(ctxt->space) == 1) || + (*(ctxt->space) == -2)) + return(0); + + /* + * Check that the string is made of blanks + */ + if (blank_chars == 0) { + for (i = 0;i < len;i++) + if (!(IS_BLANK_CH(str[i]))) return(0); + } + + /* + * Look if the element is mixed content in the DTD if available + */ + if (ctxt->node == NULL) return(0); + if (ctxt->myDoc != NULL) { + xmlElementPtr elemDecl = NULL; + xmlDocPtr doc = ctxt->myDoc; + const xmlChar *prefix = NULL; + + if (ctxt->node->ns) + prefix = ctxt->node->ns->prefix; + if (doc->intSubset != NULL) + elemDecl = xmlHashLookup2(doc->intSubset->elements, ctxt->node->name, + prefix); + if ((elemDecl == NULL) && (doc->extSubset != NULL)) + elemDecl = xmlHashLookup2(doc->extSubset->elements, ctxt->node->name, + prefix); + if (elemDecl != NULL) { + if (elemDecl->etype == XML_ELEMENT_TYPE_ELEMENT) + return(1); + if ((elemDecl->etype == XML_ELEMENT_TYPE_ANY) || + (elemDecl->etype == XML_ELEMENT_TYPE_MIXED)) + return(0); + } + } + + /* + * Otherwise, heuristic :-\ + * + * When push parsing, we could be at the end of a chunk. + * This makes the look-ahead and consequently the NOBLANKS + * option unreliable. + */ + if ((RAW != '<') && (RAW != 0xD)) return(0); + if ((ctxt->node->children == NULL) && + (RAW == '<') && (NXT(1) == '/')) return(0); + + lastChild = xmlGetLastChild(ctxt->node); + if (lastChild == NULL) { + if ((ctxt->node->type != XML_ELEMENT_NODE) && + (ctxt->node->content != NULL)) return(0); + } else if (xmlNodeIsText(lastChild)) + return(0); + else if ((ctxt->node->children != NULL) && + (xmlNodeIsText(ctxt->node->children))) + return(0); + return(1); +} + +/************************************************************************ + * * + * Extra stuff for namespace support * + * Relates to http://www.w3.org/TR/WD-xml-names * + * * + ************************************************************************/ + +/** + * Parse an UTF8 encoded XML qualified name string + * + * @deprecated Don't use. + * + * @param ctxt an XML parser context + * @param name an XML parser context + * @param prefixOut a xmlChar ** + * @returns the local part, and prefix is updated + * to get the Prefix if any. + */ + +xmlChar * +xmlSplitQName(xmlParserCtxt *ctxt, const xmlChar *name, xmlChar **prefixOut) { + xmlChar *ret; + const xmlChar *localname; + + localname = xmlSplitQName4(name, prefixOut); + if (localname == NULL) { + xmlCtxtErrMemory(ctxt); + return(NULL); + } + + ret = xmlStrdup(localname); + if (ret == NULL) { + xmlCtxtErrMemory(ctxt); + xmlFree(*prefixOut); + } + + return(ret); +} + +/************************************************************************ + * * + * The parser itself * + * Relates to http://www.w3.org/TR/REC-xml * + * * + ************************************************************************/ + +/************************************************************************ + * * + * Routines to parse Name, NCName and NmToken * + * * + ************************************************************************/ + +/* + * The two following functions are related to the change of accepted + * characters for Name and NmToken in the Revision 5 of XML-1.0 + * They correspond to the modified production [4] and the new production [4a] + * changes in that revision. Also note that the macros used for the + * productions Letter, Digit, CombiningChar and Extender are not needed + * anymore. + * We still keep compatibility to pre-revision5 parsing semantic if the + * new XML_PARSE_OLD10 option is given to the parser. + */ + +static int +xmlIsNameStartCharNew(int c) { + /* + * Use the new checks of production [4] [4a] amd [5] of the + * Update 5 of XML-1.0 + */ + if ((c != ' ') && (c != '>') && (c != '/') && /* accelerators */ + (((c >= 'a') && (c <= 'z')) || + ((c >= 'A') && (c <= 'Z')) || + (c == '_') || (c == ':') || + ((c >= 0xC0) && (c <= 0xD6)) || + ((c >= 0xD8) && (c <= 0xF6)) || + ((c >= 0xF8) && (c <= 0x2FF)) || + ((c >= 0x370) && (c <= 0x37D)) || + ((c >= 0x37F) && (c <= 0x1FFF)) || + ((c >= 0x200C) && (c <= 0x200D)) || + ((c >= 0x2070) && (c <= 0x218F)) || + ((c >= 0x2C00) && (c <= 0x2FEF)) || + ((c >= 0x3001) && (c <= 0xD7FF)) || + ((c >= 0xF900) && (c <= 0xFDCF)) || + ((c >= 0xFDF0) && (c <= 0xFFFD)) || + ((c >= 0x10000) && (c <= 0xEFFFF)))) + return(1); + return(0); +} + +static int +xmlIsNameCharNew(int c) { + /* + * Use the new checks of production [4] [4a] amd [5] of the + * Update 5 of XML-1.0 + */ + if ((c != ' ') && (c != '>') && (c != '/') && /* accelerators */ + (((c >= 'a') && (c <= 'z')) || + ((c >= 'A') && (c <= 'Z')) || + ((c >= '0') && (c <= '9')) || /* !start */ + (c == '_') || (c == ':') || + (c == '-') || (c == '.') || (c == 0xB7) || /* !start */ + ((c >= 0xC0) && (c <= 0xD6)) || + ((c >= 0xD8) && (c <= 0xF6)) || + ((c >= 0xF8) && (c <= 0x2FF)) || + ((c >= 0x300) && (c <= 0x36F)) || /* !start */ + ((c >= 0x370) && (c <= 0x37D)) || + ((c >= 0x37F) && (c <= 0x1FFF)) || + ((c >= 0x200C) && (c <= 0x200D)) || + ((c >= 0x203F) && (c <= 0x2040)) || /* !start */ + ((c >= 0x2070) && (c <= 0x218F)) || + ((c >= 0x2C00) && (c <= 0x2FEF)) || + ((c >= 0x3001) && (c <= 0xD7FF)) || + ((c >= 0xF900) && (c <= 0xFDCF)) || + ((c >= 0xFDF0) && (c <= 0xFFFD)) || + ((c >= 0x10000) && (c <= 0xEFFFF)))) + return(1); + return(0); +} + +static int +xmlIsNameStartCharOld(int c) { + if ((c != ' ') && (c != '>') && (c != '/') && /* accelerators */ + ((IS_LETTER(c) || (c == '_') || (c == ':')))) + return(1); + return(0); +} + +static int +xmlIsNameCharOld(int c) { + if ((c != ' ') && (c != '>') && (c != '/') && /* accelerators */ + ((IS_LETTER(c)) || (IS_DIGIT(c)) || + (c == '.') || (c == '-') || + (c == '_') || (c == ':') || + (IS_COMBINING(c)) || + (IS_EXTENDER(c)))) + return(1); + return(0); +} + +static int +xmlIsNameStartChar(int c, int old10) { + if (!old10) + return(xmlIsNameStartCharNew(c)); + else + return(xmlIsNameStartCharOld(c)); +} + +static int +xmlIsNameChar(int c, int old10) { + if (!old10) + return(xmlIsNameCharNew(c)); + else + return(xmlIsNameCharOld(c)); +} + +/* + * Scan an XML Name, NCName or Nmtoken. + * + * Returns a pointer to the end of the name on success. If the + * name is invalid, returns `ptr`. If the name is longer than + * `maxSize` bytes, returns NULL. + * + * @param ptr pointer to the start of the name + * @param maxSize maximum size in bytes + * @param flags XML_SCAN_* flags + * @returns a pointer to the end of the name or NULL + */ +const xmlChar * +xmlScanName(const xmlChar *ptr, size_t maxSize, int flags) { + int stop = flags & XML_SCAN_NC ? ':' : 0; + int old10 = flags & XML_SCAN_OLD10 ? 1 : 0; + + while (1) { + int c, len; + + c = *ptr; + if (c < 0x80) { + if (c == stop) + break; + len = 1; + } else { + len = 4; + c = xmlGetUTF8Char(ptr, &len); + if (c < 0) + break; + } + + if (flags & XML_SCAN_NMTOKEN ? + !xmlIsNameChar(c, old10) : + !xmlIsNameStartChar(c, old10)) + break; + + if ((size_t) len > maxSize) + return(NULL); + ptr += len; + maxSize -= len; + flags |= XML_SCAN_NMTOKEN; + } + + return(ptr); +} + +static const xmlChar * +xmlParseNameComplex(xmlParserCtxtPtr ctxt) { + const xmlChar *ret; + int len = 0, l; + int c; + int maxLength = (ctxt->options & XML_PARSE_HUGE) ? + XML_MAX_TEXT_LENGTH : + XML_MAX_NAME_LENGTH; + int old10 = (ctxt->options & XML_PARSE_OLD10) ? 1 : 0; + + /* + * Handler for more complex cases + */ + c = xmlCurrentChar(ctxt, &l); + if (!xmlIsNameStartChar(c, old10)) + return(NULL); + len += l; + NEXTL(l); + c = xmlCurrentChar(ctxt, &l); + while (xmlIsNameChar(c, old10)) { + if (len <= INT_MAX - l) + len += l; + NEXTL(l); + c = xmlCurrentChar(ctxt, &l); + } + if (len > maxLength) { + xmlFatalErr(ctxt, XML_ERR_NAME_TOO_LONG, "Name"); + return(NULL); + } + if (ctxt->input->cur - ctxt->input->base < len) { + /* + * There were a couple of bugs where PERefs lead to to a change + * of the buffer. Check the buffer size to avoid passing an invalid + * pointer to xmlDictLookup. + */ + xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR, + "unexpected change of input buffer"); + return (NULL); + } + if ((*ctxt->input->cur == '\n') && (ctxt->input->cur[-1] == '\r')) + ret = xmlDictLookup(ctxt->dict, ctxt->input->cur - (len + 1), len); + else + ret = xmlDictLookup(ctxt->dict, ctxt->input->cur - len, len); + if (ret == NULL) + xmlErrMemory(ctxt); + return(ret); +} + +/** + * Parse an XML name. + * + * @deprecated Internal function, don't use. + * + * [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | + * CombiningChar | Extender + * + * [5] Name ::= (Letter | '_' | ':') (NameChar)* + * + * [6] Names ::= Name (#x20 Name)* + * + * @param ctxt an XML parser context + * @returns the Name parsed or NULL + */ + +const xmlChar * +xmlParseName(xmlParserCtxt *ctxt) { + const xmlChar *in; + const xmlChar *ret; + size_t count = 0; + size_t maxLength = (ctxt->options & XML_PARSE_HUGE) ? + XML_MAX_TEXT_LENGTH : + XML_MAX_NAME_LENGTH; + + GROW; + + /* + * Accelerator for simple ASCII names + */ + in = ctxt->input->cur; + if (((*in >= 0x61) && (*in <= 0x7A)) || + ((*in >= 0x41) && (*in <= 0x5A)) || + (*in == '_') || (*in == ':')) { + in++; + while (((*in >= 0x61) && (*in <= 0x7A)) || + ((*in >= 0x41) && (*in <= 0x5A)) || + ((*in >= 0x30) && (*in <= 0x39)) || + (*in == '_') || (*in == '-') || + (*in == ':') || (*in == '.')) + in++; + if ((*in > 0) && (*in < 0x80)) { + count = in - ctxt->input->cur; + if (count > maxLength) { + xmlFatalErr(ctxt, XML_ERR_NAME_TOO_LONG, "Name"); + return(NULL); + } + ret = xmlDictLookup(ctxt->dict, ctxt->input->cur, count); + ctxt->input->cur = in; + ctxt->input->col += count; + if (ret == NULL) + xmlErrMemory(ctxt); + return(ret); + } + } + /* accelerator for special cases */ + return(xmlParseNameComplex(ctxt)); +} + +static xmlHashedString +xmlParseNCNameComplex(xmlParserCtxtPtr ctxt) { + xmlHashedString ret; + int len = 0, l; + int c; + int maxLength = (ctxt->options & XML_PARSE_HUGE) ? + XML_MAX_TEXT_LENGTH : + XML_MAX_NAME_LENGTH; + int old10 = (ctxt->options & XML_PARSE_OLD10) ? 1 : 0; + size_t startPosition = 0; + + ret.name = NULL; + ret.hashValue = 0; + + /* + * Handler for more complex cases + */ + startPosition = CUR_PTR - BASE_PTR; + c = xmlCurrentChar(ctxt, &l); + if ((c == ' ') || (c == '>') || (c == '/') || /* accelerators */ + (!xmlIsNameStartChar(c, old10) || (c == ':'))) { + return(ret); + } + + while ((c != ' ') && (c != '>') && (c != '/') && /* test bigname.xml */ + (xmlIsNameChar(c, old10) && (c != ':'))) { + if (len <= INT_MAX - l) + len += l; + NEXTL(l); + c = xmlCurrentChar(ctxt, &l); + } + if (len > maxLength) { + xmlFatalErr(ctxt, XML_ERR_NAME_TOO_LONG, "NCName"); + return(ret); + } + ret = xmlDictLookupHashed(ctxt->dict, (BASE_PTR + startPosition), len); + if (ret.name == NULL) + xmlErrMemory(ctxt); + return(ret); +} + +/** + * Parse an XML name. + * + * [4NS] NCNameChar ::= Letter | Digit | '.' | '-' | '_' | + * CombiningChar | Extender + * + * [5NS] NCName ::= (Letter | '_') (NCNameChar)* + * + * @param ctxt an XML parser context + * @returns the Name parsed or NULL + */ + +static xmlHashedString +xmlParseNCName(xmlParserCtxtPtr ctxt) { + const xmlChar *in, *e; + xmlHashedString ret; + size_t count = 0; + size_t maxLength = (ctxt->options & XML_PARSE_HUGE) ? + XML_MAX_TEXT_LENGTH : + XML_MAX_NAME_LENGTH; + + ret.name = NULL; + + /* + * Accelerator for simple ASCII names + */ + in = ctxt->input->cur; + e = ctxt->input->end; + if ((((*in >= 0x61) && (*in <= 0x7A)) || + ((*in >= 0x41) && (*in <= 0x5A)) || + (*in == '_')) && (in < e)) { + in++; + while ((((*in >= 0x61) && (*in <= 0x7A)) || + ((*in >= 0x41) && (*in <= 0x5A)) || + ((*in >= 0x30) && (*in <= 0x39)) || + (*in == '_') || (*in == '-') || + (*in == '.')) && (in < e)) + in++; + if (in >= e) + goto complex; + if ((*in > 0) && (*in < 0x80)) { + count = in - ctxt->input->cur; + if (count > maxLength) { + xmlFatalErr(ctxt, XML_ERR_NAME_TOO_LONG, "NCName"); + return(ret); + } + ret = xmlDictLookupHashed(ctxt->dict, ctxt->input->cur, count); + ctxt->input->cur = in; + ctxt->input->col += count; + if (ret.name == NULL) { + xmlErrMemory(ctxt); + } + return(ret); + } + } +complex: + return(xmlParseNCNameComplex(ctxt)); +} + +/** + * Parse an XML name and compares for match + * (specialized for endtag parsing) + * + * @param ctxt an XML parser context + * @param other the name to compare with + * @returns NULL for an illegal name, (xmlChar*) 1 for success + * and the name for mismatch + */ + +static const xmlChar * +xmlParseNameAndCompare(xmlParserCtxtPtr ctxt, xmlChar const *other) { + register const xmlChar *cmp = other; + register const xmlChar *in; + const xmlChar *ret; + + GROW; + + in = ctxt->input->cur; + while (*in != 0 && *in == *cmp) { + ++in; + ++cmp; + } + if (*cmp == 0 && (*in == '>' || IS_BLANK_CH (*in))) { + /* success */ + ctxt->input->col += in - ctxt->input->cur; + ctxt->input->cur = in; + return (const xmlChar*) 1; + } + /* failure (or end of input buffer), check with full function */ + ret = xmlParseName (ctxt); + /* strings coming from the dictionary direct compare possible */ + if (ret == other) { + return (const xmlChar*) 1; + } + return ret; +} + +/** + * Parse an XML name. + * + * @param ctxt an XML parser context + * @param str a pointer to the string pointer (IN/OUT) + * @returns the Name parsed or NULL. The `str` pointer + * is updated to the current location in the string. + */ + +static xmlChar * +xmlParseStringName(xmlParserCtxtPtr ctxt, const xmlChar** str) { + xmlChar *ret; + const xmlChar *cur = *str; + int flags = 0; + int maxLength = (ctxt->options & XML_PARSE_HUGE) ? + XML_MAX_TEXT_LENGTH : + XML_MAX_NAME_LENGTH; + + if (ctxt->options & XML_PARSE_OLD10) + flags |= XML_SCAN_OLD10; + + cur = xmlScanName(*str, maxLength, flags); + if (cur == NULL) { + xmlFatalErr(ctxt, XML_ERR_NAME_TOO_LONG, "NCName"); + return(NULL); + } + if (cur == *str) + return(NULL); + + ret = xmlStrndup(*str, cur - *str); + if (ret == NULL) + xmlErrMemory(ctxt); + *str = cur; + return(ret); +} + +/** + * Parse an XML Nmtoken. + * + * @deprecated Internal function, don't use. + * + * [7] Nmtoken ::= (NameChar)+ + * + * [8] Nmtokens ::= Nmtoken (#x20 Nmtoken)* + * + * @param ctxt an XML parser context + * @returns the Nmtoken parsed or NULL + */ + +xmlChar * +xmlParseNmtoken(xmlParserCtxt *ctxt) { + xmlChar buf[XML_MAX_NAMELEN + 5]; + xmlChar *ret; + int len = 0, l; + int c; + int maxLength = (ctxt->options & XML_PARSE_HUGE) ? + XML_MAX_TEXT_LENGTH : + XML_MAX_NAME_LENGTH; + int old10 = (ctxt->options & XML_PARSE_OLD10) ? 1 : 0; + + c = xmlCurrentChar(ctxt, &l); + + while (xmlIsNameChar(c, old10)) { + COPY_BUF(buf, len, c); + NEXTL(l); + c = xmlCurrentChar(ctxt, &l); + if (len >= XML_MAX_NAMELEN) { + /* + * Okay someone managed to make a huge token, so he's ready to pay + * for the processing speed. + */ + xmlChar *buffer; + int max = len * 2; + + buffer = xmlMalloc(max); + if (buffer == NULL) { + xmlErrMemory(ctxt); + return(NULL); + } + memcpy(buffer, buf, len); + while (xmlIsNameChar(c, old10)) { + if (len + 10 > max) { + xmlChar *tmp; + int newSize; + + newSize = xmlGrowCapacity(max, 1, 1, maxLength); + if (newSize < 0) { + xmlFatalErr(ctxt, XML_ERR_NAME_TOO_LONG, "NmToken"); + xmlFree(buffer); + return(NULL); + } + tmp = xmlRealloc(buffer, newSize); + if (tmp == NULL) { + xmlErrMemory(ctxt); + xmlFree(buffer); + return(NULL); + } + buffer = tmp; + max = newSize; + } + COPY_BUF(buffer, len, c); + NEXTL(l); + c = xmlCurrentChar(ctxt, &l); + } + buffer[len] = 0; + return(buffer); + } + } + if (len == 0) + return(NULL); + if (len > maxLength) { + xmlFatalErr(ctxt, XML_ERR_NAME_TOO_LONG, "NmToken"); + return(NULL); + } + ret = xmlStrndup(buf, len); + if (ret == NULL) + xmlErrMemory(ctxt); + return(ret); +} + +/** + * Validate an entity value and expand parameter entities. + * + * @param ctxt parser context + * @param buf string buffer + * @param str entity value + * @param length size of entity value + * @param depth nesting depth + */ +static void +xmlExpandPEsInEntityValue(xmlParserCtxtPtr ctxt, xmlSBuf *buf, + const xmlChar *str, int length, int depth) { + int maxDepth = (ctxt->options & XML_PARSE_HUGE) ? 40 : 20; + const xmlChar *end, *chunk; + int c, l; + + if (str == NULL) + return; + + depth += 1; + if (depth > maxDepth) { + xmlFatalErrMsg(ctxt, XML_ERR_RESOURCE_LIMIT, + "Maximum entity nesting depth exceeded"); + return; + } + + end = str + length; + chunk = str; + + while ((str < end) && (!PARSER_STOPPED(ctxt))) { + c = *str; + + if (c >= 0x80) { + l = xmlUTF8MultibyteLen(ctxt, str, + "invalid character in entity value\n"); + if (l == 0) { + if (chunk < str) + xmlSBufAddString(buf, chunk, str - chunk); + xmlSBufAddReplChar(buf); + str += 1; + chunk = str; + } else { + str += l; + } + } else if (c == '&') { + if (str[1] == '#') { + if (chunk < str) + xmlSBufAddString(buf, chunk, str - chunk); + + c = xmlParseStringCharRef(ctxt, &str); + if (c == 0) + return; + + xmlSBufAddChar(buf, c); + + chunk = str; + } else { + xmlChar *name; + + /* + * General entity references are checked for + * syntactic validity. + */ + str++; + name = xmlParseStringName(ctxt, &str); + + if ((name == NULL) || (*str++ != ';')) { + xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_CHAR_ERROR, + "EntityValue: '&' forbidden except for entities " + "references\n"); + xmlFree(name); + return; + } + + xmlFree(name); + } + } else if (c == '%') { + xmlEntityPtr ent; + + if (chunk < str) + xmlSBufAddString(buf, chunk, str - chunk); + + ent = xmlParseStringPEReference(ctxt, &str); + if (ent == NULL) + return; + + if (!PARSER_EXTERNAL(ctxt)) { + xmlFatalErr(ctxt, XML_ERR_ENTITY_PE_INTERNAL, NULL); + return; + } + + if (ent->content == NULL) { + /* + * Note: external parsed entities will not be loaded, + * it is not required for a non-validating parser to + * complete external PEReferences coming from the + * internal subset + */ + if (((ctxt->options & XML_PARSE_NO_XXE) == 0) && + ((ctxt->replaceEntities) || + (ctxt->validate))) { + xmlLoadEntityContent(ctxt, ent); + } else { + xmlWarningMsg(ctxt, XML_ERR_ENTITY_PROCESSING, + "not validating will not read content for " + "PE entity %s\n", ent->name, NULL); + } + } + + /* + * TODO: Skip if ent->content is still NULL. + */ + + if (xmlParserEntityCheck(ctxt, ent->length)) + return; + + if (ent->flags & XML_ENT_EXPANDING) { + xmlFatalErr(ctxt, XML_ERR_ENTITY_LOOP, NULL); + return; + } + + ent->flags |= XML_ENT_EXPANDING; + xmlExpandPEsInEntityValue(ctxt, buf, ent->content, ent->length, + depth); + ent->flags &= ~XML_ENT_EXPANDING; + + chunk = str; + } else { + /* Normal ASCII char */ + if (!IS_BYTE_CHAR(c)) { + xmlFatalErrMsg(ctxt, XML_ERR_INVALID_CHAR, + "invalid character in entity value\n"); + if (chunk < str) + xmlSBufAddString(buf, chunk, str - chunk); + xmlSBufAddReplChar(buf); + str += 1; + chunk = str; + } else { + str += 1; + } + } + } + + if (chunk < str) + xmlSBufAddString(buf, chunk, str - chunk); +} + +/** + * Parse a value for ENTITY declarations + * + * @deprecated Internal function, don't use. + * + * [9] EntityValue ::= '"' ([^%&"] | PEReference | Reference)* '"' | + * "'" ([^%&'] | PEReference | Reference)* "'" + * + * @param ctxt an XML parser context + * @param orig if non-NULL store a copy of the original entity value + * @returns the EntityValue parsed with reference substituted or NULL + */ +xmlChar * +xmlParseEntityValue(xmlParserCtxt *ctxt, xmlChar **orig) { + unsigned maxLength = (ctxt->options & XML_PARSE_HUGE) ? + XML_MAX_HUGE_LENGTH : + XML_MAX_TEXT_LENGTH; + xmlSBuf buf; + const xmlChar *start; + int quote, length; + + xmlSBufInit(&buf, maxLength); + + GROW; + + quote = CUR; + if ((quote != '"') && (quote != '\'')) { + xmlFatalErr(ctxt, XML_ERR_ATTRIBUTE_NOT_STARTED, NULL); + return(NULL); + } + CUR_PTR++; + + length = 0; + + /* + * Copy raw content of the entity into a buffer + */ + while (1) { + int c; + + if (PARSER_STOPPED(ctxt)) + goto error; + + if (CUR_PTR >= ctxt->input->end) { + xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_NOT_FINISHED, NULL); + goto error; + } + + c = CUR; + + if (c == 0) { + xmlFatalErrMsg(ctxt, XML_ERR_INVALID_CHAR, + "invalid character in entity value\n"); + goto error; + } + if (c == quote) + break; + NEXTL(1); + length += 1; + + /* + * TODO: Check growth threshold + */ + if (ctxt->input->end - CUR_PTR < 10) + GROW; + } + + start = CUR_PTR - length; + + if (orig != NULL) { + *orig = xmlStrndup(start, length); + if (*orig == NULL) + xmlErrMemory(ctxt); + } + + xmlExpandPEsInEntityValue(ctxt, &buf, start, length, ctxt->inputNr); + + NEXTL(1); + + return(xmlSBufFinish(&buf, NULL, ctxt, "entity length too long")); + +error: + xmlSBufCleanup(&buf, ctxt, "entity length too long"); + return(NULL); +} + +/** + * Check an entity reference in an attribute value for validity + * without expanding it. + * + * @param ctxt parser context + * @param pent entity + * @param depth nesting depth + */ +static void +xmlCheckEntityInAttValue(xmlParserCtxtPtr ctxt, xmlEntityPtr pent, int depth) { + int maxDepth = (ctxt->options & XML_PARSE_HUGE) ? 40 : 20; + const xmlChar *str; + unsigned long expandedSize = pent->length; + int c, flags; + + depth += 1; + if (depth > maxDepth) { + xmlFatalErrMsg(ctxt, XML_ERR_RESOURCE_LIMIT, + "Maximum entity nesting depth exceeded"); + return; + } + + if (pent->flags & XML_ENT_EXPANDING) { + xmlFatalErr(ctxt, XML_ERR_ENTITY_LOOP, NULL); + return; + } + + /* + * If we're parsing a default attribute value in DTD content, + * the entity might reference other entities which weren't + * defined yet, so the check isn't reliable. + */ + if (ctxt->inSubset == 0) + flags = XML_ENT_CHECKED | XML_ENT_VALIDATED; + else + flags = XML_ENT_VALIDATED; + + str = pent->content; + if (str == NULL) + goto done; + + /* + * Note that entity values are already validated. We only check + * for illegal less-than signs and compute the expanded size + * of the entity. No special handling for multi-byte characters + * is needed. + */ + while (!PARSER_STOPPED(ctxt)) { + c = *str; + + if (c != '&') { + if (c == 0) + break; + + if (c == '<') + xmlFatalErrMsgStr(ctxt, XML_ERR_LT_IN_ATTRIBUTE, + "'<' in entity '%s' is not allowed in attributes " + "values\n", pent->name); + + str += 1; + } else if (str[1] == '#') { + int val; + + val = xmlParseStringCharRef(ctxt, &str); + if (val == 0) { + pent->content[0] = 0; + break; + } + } else { + xmlChar *name; + xmlEntityPtr ent; + + name = xmlParseStringEntityRef(ctxt, &str); + if (name == NULL) { + pent->content[0] = 0; + break; + } + + ent = xmlLookupGeneralEntity(ctxt, name, /* inAttr */ 1); + xmlFree(name); + + if ((ent != NULL) && + (ent->etype != XML_INTERNAL_PREDEFINED_ENTITY)) { + if ((ent->flags & flags) != flags) { + pent->flags |= XML_ENT_EXPANDING; + xmlCheckEntityInAttValue(ctxt, ent, depth); + pent->flags &= ~XML_ENT_EXPANDING; + } + + xmlSaturatedAdd(&expandedSize, ent->expandedSize); + xmlSaturatedAdd(&expandedSize, XML_ENT_FIXED_COST); + } + } + } + +done: + if (ctxt->inSubset == 0) + pent->expandedSize = expandedSize; + + pent->flags |= flags; +} + +/** + * Expand general entity references in an entity or attribute value. + * Perform attribute value normalization. + * + * @param ctxt parser context + * @param buf string buffer + * @param str entity or attribute value + * @param pent entity for entity value, NULL for attribute values + * @param normalize whether to collapse whitespace + * @param inSpace whitespace state + * @param depth nesting depth + * @param check whether to check for amplification + * @returns whether there was a normalization change + */ +static int +xmlExpandEntityInAttValue(xmlParserCtxtPtr ctxt, xmlSBuf *buf, + const xmlChar *str, xmlEntityPtr pent, int normalize, + int *inSpace, int depth, int check) { + int maxDepth = (ctxt->options & XML_PARSE_HUGE) ? 40 : 20; + int c, chunkSize; + int normChange = 0; + + if (str == NULL) + return(0); + + depth += 1; + if (depth > maxDepth) { + xmlFatalErrMsg(ctxt, XML_ERR_RESOURCE_LIMIT, + "Maximum entity nesting depth exceeded"); + return(0); + } + + if (pent != NULL) { + if (pent->flags & XML_ENT_EXPANDING) { + xmlFatalErr(ctxt, XML_ERR_ENTITY_LOOP, NULL); + return(0); + } + + if (check) { + if (xmlParserEntityCheck(ctxt, pent->length)) + return(0); + } + } + + chunkSize = 0; + + /* + * Note that entity values are already validated. No special + * handling for multi-byte characters is needed. + */ + while (!PARSER_STOPPED(ctxt)) { + c = *str; + + if (c != '&') { + if (c == 0) + break; + + /* + * If this function is called without an entity, it is used to + * expand entities in an attribute content where less-than was + * already unscaped and is allowed. + */ + if ((pent != NULL) && (c == '<')) { + xmlFatalErrMsgStr(ctxt, XML_ERR_LT_IN_ATTRIBUTE, + "'<' in entity '%s' is not allowed in attributes " + "values\n", pent->name); + break; + } + + if (c <= 0x20) { + if ((normalize) && (*inSpace)) { + /* Skip char */ + if (chunkSize > 0) { + xmlSBufAddString(buf, str - chunkSize, chunkSize); + chunkSize = 0; + } + normChange = 1; + } else if (c < 0x20) { + if (chunkSize > 0) { + xmlSBufAddString(buf, str - chunkSize, chunkSize); + chunkSize = 0; + } + + xmlSBufAddCString(buf, " ", 1); + } else { + chunkSize += 1; + } + + *inSpace = 1; + } else { + chunkSize += 1; + *inSpace = 0; + } + + str += 1; + } else if (str[1] == '#') { + int val; + + if (chunkSize > 0) { + xmlSBufAddString(buf, str - chunkSize, chunkSize); + chunkSize = 0; + } + + val = xmlParseStringCharRef(ctxt, &str); + if (val == 0) { + if (pent != NULL) + pent->content[0] = 0; + break; + } + + if (val == ' ') { + if ((normalize) && (*inSpace)) + normChange = 1; + else + xmlSBufAddCString(buf, " ", 1); + *inSpace = 1; + } else { + xmlSBufAddChar(buf, val); + *inSpace = 0; + } + } else { + xmlChar *name; + xmlEntityPtr ent; + + if (chunkSize > 0) { + xmlSBufAddString(buf, str - chunkSize, chunkSize); + chunkSize = 0; + } + + name = xmlParseStringEntityRef(ctxt, &str); + if (name == NULL) { + if (pent != NULL) + pent->content[0] = 0; + break; + } + + ent = xmlLookupGeneralEntity(ctxt, name, /* inAttr */ 1); + xmlFree(name); + + if ((ent != NULL) && + (ent->etype == XML_INTERNAL_PREDEFINED_ENTITY)) { + if (ent->content == NULL) { + xmlFatalErrMsg(ctxt, XML_ERR_INTERNAL_ERROR, + "predefined entity has no content\n"); + break; + } + + xmlSBufAddString(buf, ent->content, ent->length); + + *inSpace = 0; + } else if ((ent != NULL) && (ent->content != NULL)) { + if (pent != NULL) + pent->flags |= XML_ENT_EXPANDING; + normChange |= xmlExpandEntityInAttValue(ctxt, buf, + ent->content, ent, normalize, inSpace, depth, check); + if (pent != NULL) + pent->flags &= ~XML_ENT_EXPANDING; + } + } + } + + if (chunkSize > 0) + xmlSBufAddString(buf, str - chunkSize, chunkSize); + + return(normChange); +} + +/** + * Expand general entity references in an entity or attribute value. + * Perform attribute value normalization. + * + * @param ctxt parser context + * @param str entity or attribute value + * @param normalize whether to collapse whitespace + * @returns the expanded attribtue value. + */ +xmlChar * +xmlExpandEntitiesInAttValue(xmlParserCtxt *ctxt, const xmlChar *str, + int normalize) { + unsigned maxLength = (ctxt->options & XML_PARSE_HUGE) ? + XML_MAX_HUGE_LENGTH : + XML_MAX_TEXT_LENGTH; + xmlSBuf buf; + int inSpace = 1; + + xmlSBufInit(&buf, maxLength); + + xmlExpandEntityInAttValue(ctxt, &buf, str, NULL, normalize, &inSpace, + ctxt->inputNr, /* check */ 0); + + if ((normalize) && (inSpace) && (buf.size > 0)) + buf.size--; + + return(xmlSBufFinish(&buf, NULL, ctxt, "AttValue length too long")); +} + +/** + * Parse a value for an attribute. + * + * NOTE: if no normalization is needed, the routine will return pointers + * directly from the data buffer. + * + * 3.3.3 Attribute-Value Normalization: + * + * Before the value of an attribute is passed to the application or + * checked for validity, the XML processor must normalize it as follows: + * + * - a character reference is processed by appending the referenced + * character to the attribute value + * - an entity reference is processed by recursively processing the + * replacement text of the entity + * - a whitespace character (\#x20, \#xD, \#xA, \#x9) is processed by + * appending \#x20 to the normalized value, except that only a single + * \#x20 is appended for a "#xD#xA" sequence that is part of an external + * parsed entity or the literal entity value of an internal parsed entity + * - other characters are processed by appending them to the normalized value + * + * If the declared value is not CDATA, then the XML processor must further + * process the normalized attribute value by discarding any leading and + * trailing space (\#x20) characters, and by replacing sequences of space + * (\#x20) characters by a single space (\#x20) character. + * All attributes for which no declaration has been read should be treated + * by a non-validating parser as if declared CDATA. + * + * @param ctxt an XML parser context + * @param attlen attribute len result + * @param outFlags resulting XML_ATTVAL_* flags + * @param special value from attsSpecial + * @param isNamespace whether this is a namespace declaration + * @returns the AttValue parsed or NULL. The value has to be freed by the + * caller if it was copied, this can be detected by val[*len] == 0. + */ +static xmlChar * +xmlParseAttValueInternal(xmlParserCtxtPtr ctxt, int *attlen, int *outFlags, + int special, int isNamespace) { + unsigned maxLength = (ctxt->options & XML_PARSE_HUGE) ? + XML_MAX_HUGE_LENGTH : + XML_MAX_TEXT_LENGTH; + xmlSBuf buf; + xmlChar *ret; + int c, l, quote, entFlags, chunkSize; + int inSpace = 1; + int replaceEntities; + int normalize = (special & XML_SPECIAL_TYPE_MASK) > XML_ATTRIBUTE_CDATA; + int attvalFlags = 0; + + /* Always expand namespace URIs */ + replaceEntities = (ctxt->replaceEntities) || (isNamespace); + + xmlSBufInit(&buf, maxLength); + + GROW; + + quote = CUR; + if ((quote != '"') && (quote != '\'')) { + xmlFatalErr(ctxt, XML_ERR_ATTRIBUTE_NOT_STARTED, NULL); + return(NULL); + } + NEXTL(1); + + if (ctxt->inSubset == 0) + entFlags = XML_ENT_CHECKED | XML_ENT_VALIDATED; + else + entFlags = XML_ENT_VALIDATED; + + inSpace = 1; + chunkSize = 0; + + while (1) { + if (PARSER_STOPPED(ctxt)) + goto error; + + if (CUR_PTR >= ctxt->input->end) { + xmlFatalErrMsg(ctxt, XML_ERR_ATTRIBUTE_NOT_FINISHED, + "AttValue: ' expected\n"); + goto error; + } + + /* + * TODO: Check growth threshold + */ + if (ctxt->input->end - CUR_PTR < 10) + GROW; + + c = CUR; + + if (c >= 0x80) { + l = xmlUTF8MultibyteLen(ctxt, CUR_PTR, + "invalid character in attribute value\n"); + if (l == 0) { + if (chunkSize > 0) { + xmlSBufAddString(&buf, CUR_PTR - chunkSize, chunkSize); + chunkSize = 0; + } + xmlSBufAddReplChar(&buf); + NEXTL(1); + } else { + chunkSize += l; + NEXTL(l); + } + + inSpace = 0; + } else if (c != '&') { + if (c > 0x20) { + if (c == quote) + break; + + if (c == '<') + xmlFatalErr(ctxt, XML_ERR_LT_IN_ATTRIBUTE, NULL); + + chunkSize += 1; + inSpace = 0; + } else if (!IS_BYTE_CHAR(c)) { + xmlFatalErrMsg(ctxt, XML_ERR_INVALID_CHAR, + "invalid character in attribute value\n"); + if (chunkSize > 0) { + xmlSBufAddString(&buf, CUR_PTR - chunkSize, chunkSize); + chunkSize = 0; + } + xmlSBufAddReplChar(&buf); + inSpace = 0; + } else { + /* Whitespace */ + if ((normalize) && (inSpace)) { + /* Skip char */ + if (chunkSize > 0) { + xmlSBufAddString(&buf, CUR_PTR - chunkSize, chunkSize); + chunkSize = 0; + } + attvalFlags |= XML_ATTVAL_NORM_CHANGE; + } else if (c < 0x20) { + /* Convert to space */ + if (chunkSize > 0) { + xmlSBufAddString(&buf, CUR_PTR - chunkSize, chunkSize); + chunkSize = 0; + } + + xmlSBufAddCString(&buf, " ", 1); + } else { + chunkSize += 1; + } + + inSpace = 1; + + if ((c == 0xD) && (NXT(1) == 0xA)) + CUR_PTR++; + } + + NEXTL(1); + } else if (NXT(1) == '#') { + int val; + + if (chunkSize > 0) { + xmlSBufAddString(&buf, CUR_PTR - chunkSize, chunkSize); + chunkSize = 0; + } + + val = xmlParseCharRef(ctxt); + if (val == 0) + goto error; + + if ((val == '&') && (!replaceEntities)) { + /* + * The reparsing will be done in xmlNodeParseContent() + * called from SAX2.c + */ + xmlSBufAddCString(&buf, "&", 5); + inSpace = 0; + } else if (val == ' ') { + if ((normalize) && (inSpace)) + attvalFlags |= XML_ATTVAL_NORM_CHANGE; + else + xmlSBufAddCString(&buf, " ", 1); + inSpace = 1; + } else { + xmlSBufAddChar(&buf, val); + inSpace = 0; + } + } else { + const xmlChar *name; + xmlEntityPtr ent; + + if (chunkSize > 0) { + xmlSBufAddString(&buf, CUR_PTR - chunkSize, chunkSize); + chunkSize = 0; + } + + name = xmlParseEntityRefInternal(ctxt); + if (name == NULL) { + /* + * Probably a literal '&' which wasn't escaped. + * TODO: Handle gracefully in recovery mode. + */ + continue; + } + + ent = xmlLookupGeneralEntity(ctxt, name, /* isAttr */ 1); + if (ent == NULL) + continue; + + if (ent->etype == XML_INTERNAL_PREDEFINED_ENTITY) { + if ((ent->content[0] == '&') && (!replaceEntities)) + xmlSBufAddCString(&buf, "&", 5); + else + xmlSBufAddString(&buf, ent->content, ent->length); + inSpace = 0; + } else if (replaceEntities) { + if (xmlExpandEntityInAttValue(ctxt, &buf, + ent->content, ent, normalize, &inSpace, ctxt->inputNr, + /* check */ 1) > 0) + attvalFlags |= XML_ATTVAL_NORM_CHANGE; + } else { + if ((ent->flags & entFlags) != entFlags) + xmlCheckEntityInAttValue(ctxt, ent, ctxt->inputNr); + + if (xmlParserEntityCheck(ctxt, ent->expandedSize)) { + ent->content[0] = 0; + goto error; + } + + /* + * Just output the reference + */ + xmlSBufAddCString(&buf, "&", 1); + xmlSBufAddString(&buf, ent->name, xmlStrlen(ent->name)); + xmlSBufAddCString(&buf, ";", 1); + + inSpace = 0; + } + } + } + + if ((buf.mem == NULL) && (outFlags != NULL)) { + ret = (xmlChar *) CUR_PTR - chunkSize; + + if (attlen != NULL) + *attlen = chunkSize; + if ((normalize) && (inSpace) && (chunkSize > 0)) { + attvalFlags |= XML_ATTVAL_NORM_CHANGE; + *attlen -= 1; + } + + /* Report potential error */ + xmlSBufCleanup(&buf, ctxt, "AttValue length too long"); + } else { + if (chunkSize > 0) + xmlSBufAddString(&buf, CUR_PTR - chunkSize, chunkSize); + + if ((normalize) && (inSpace) && (buf.size > 0)) { + attvalFlags |= XML_ATTVAL_NORM_CHANGE; + buf.size--; + } + + ret = xmlSBufFinish(&buf, attlen, ctxt, "AttValue length too long"); + attvalFlags |= XML_ATTVAL_ALLOC; + + if (ret != NULL) { + if (attlen != NULL) + *attlen = buf.size; + } + } + + if (outFlags != NULL) + *outFlags = attvalFlags; + + NEXTL(1); + + return(ret); + +error: + xmlSBufCleanup(&buf, ctxt, "AttValue length too long"); + return(NULL); +} + +/** + * Parse a value for an attribute + * Note: the parser won't do substitution of entities here, this + * will be handled later in #xmlStringGetNodeList + * + * @deprecated Internal function, don't use. + * + * [10] AttValue ::= '"' ([^<&"] | Reference)* '"' | + * "'" ([^<&'] | Reference)* "'" + * + * 3.3.3 Attribute-Value Normalization: + * + * Before the value of an attribute is passed to the application or + * checked for validity, the XML processor must normalize it as follows: + * + * - a character reference is processed by appending the referenced + * character to the attribute value + * - an entity reference is processed by recursively processing the + * replacement text of the entity + * - a whitespace character (\#x20, \#xD, \#xA, \#x9) is processed by + * appending \#x20 to the normalized value, except that only a single + * \#x20 is appended for a "#xD#xA" sequence that is part of an external + * parsed entity or the literal entity value of an internal parsed entity + * - other characters are processed by appending them to the normalized value + * + * If the declared value is not CDATA, then the XML processor must further + * process the normalized attribute value by discarding any leading and + * trailing space (\#x20) characters, and by replacing sequences of space + * (\#x20) characters by a single space (\#x20) character. + * All attributes for which no declaration has been read should be treated + * by a non-validating parser as if declared CDATA. + * + * @param ctxt an XML parser context + * @returns the AttValue parsed or NULL. The value has to be freed by the + * caller. + */ +xmlChar * +xmlParseAttValue(xmlParserCtxt *ctxt) { + if ((ctxt == NULL) || (ctxt->input == NULL)) return(NULL); + return(xmlParseAttValueInternal(ctxt, NULL, NULL, 0, 0)); +} + +/** + * Parse an XML Literal + * + * @deprecated Internal function, don't use. + * + * [11] SystemLiteral ::= ('"' [^"]* '"') | ("'" [^']* "'") + * + * @param ctxt an XML parser context + * @returns the SystemLiteral parsed or NULL + */ + +xmlChar * +xmlParseSystemLiteral(xmlParserCtxt *ctxt) { + xmlChar *buf = NULL; + int len = 0; + int size = XML_PARSER_BUFFER_SIZE; + int cur, l; + int maxLength = (ctxt->options & XML_PARSE_HUGE) ? + XML_MAX_TEXT_LENGTH : + XML_MAX_NAME_LENGTH; + xmlChar stop; + + if (RAW == '"') { + NEXT; + stop = '"'; + } else if (RAW == '\'') { + NEXT; + stop = '\''; + } else { + xmlFatalErr(ctxt, XML_ERR_LITERAL_NOT_STARTED, NULL); + return(NULL); + } + + buf = xmlMalloc(size); + if (buf == NULL) { + xmlErrMemory(ctxt); + return(NULL); + } + cur = xmlCurrentCharRecover(ctxt, &l); + while ((IS_CHAR(cur)) && (cur != stop)) { /* checked */ + if (len + 5 >= size) { + xmlChar *tmp; + int newSize; + + newSize = xmlGrowCapacity(size, 1, 1, maxLength); + if (newSize < 0) { + xmlFatalErr(ctxt, XML_ERR_NAME_TOO_LONG, "SystemLiteral"); + xmlFree(buf); + return(NULL); + } + tmp = xmlRealloc(buf, newSize); + if (tmp == NULL) { + xmlFree(buf); + xmlErrMemory(ctxt); + return(NULL); + } + buf = tmp; + size = newSize; + } + COPY_BUF(buf, len, cur); + NEXTL(l); + cur = xmlCurrentCharRecover(ctxt, &l); + } + buf[len] = 0; + if (!IS_CHAR(cur)) { + xmlFatalErr(ctxt, XML_ERR_LITERAL_NOT_FINISHED, NULL); + } else { + NEXT; + } + return(buf); +} + +/** + * Parse an XML public literal + * + * @deprecated Internal function, don't use. + * + * [12] PubidLiteral ::= '"' PubidChar* '"' | "'" (PubidChar - "'")* "'" + * + * @param ctxt an XML parser context + * @returns the PubidLiteral parsed or NULL. + */ + +xmlChar * +xmlParsePubidLiteral(xmlParserCtxt *ctxt) { + xmlChar *buf = NULL; + int len = 0; + int size = XML_PARSER_BUFFER_SIZE; + int maxLength = (ctxt->options & XML_PARSE_HUGE) ? + XML_MAX_TEXT_LENGTH : + XML_MAX_NAME_LENGTH; + xmlChar cur; + xmlChar stop; + + if (RAW == '"') { + NEXT; + stop = '"'; + } else if (RAW == '\'') { + NEXT; + stop = '\''; + } else { + xmlFatalErr(ctxt, XML_ERR_LITERAL_NOT_STARTED, NULL); + return(NULL); + } + buf = xmlMalloc(size); + if (buf == NULL) { + xmlErrMemory(ctxt); + return(NULL); + } + cur = CUR; + while ((IS_PUBIDCHAR_CH(cur)) && (cur != stop) && + (PARSER_STOPPED(ctxt) == 0)) { /* checked */ + if (len + 1 >= size) { + xmlChar *tmp; + int newSize; + + newSize = xmlGrowCapacity(size, 1, 1, maxLength); + if (newSize < 0) { + xmlFatalErr(ctxt, XML_ERR_NAME_TOO_LONG, "Public ID"); + xmlFree(buf); + return(NULL); + } + tmp = xmlRealloc(buf, newSize); + if (tmp == NULL) { + xmlErrMemory(ctxt); + xmlFree(buf); + return(NULL); + } + buf = tmp; + size = newSize; + } + buf[len++] = cur; + NEXT; + cur = CUR; + } + buf[len] = 0; + if (cur != stop) { + xmlFatalErr(ctxt, XML_ERR_LITERAL_NOT_FINISHED, NULL); + } else { + NEXTL(1); + } + return(buf); +} + +static void xmlParseCharDataComplex(xmlParserCtxtPtr ctxt, int partial); + +/* + * used for the test in the inner loop of the char data testing + */ +static const unsigned char test_char_data[256] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x9, CR/LF separated */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x00, 0x27, /* & */ + 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, + 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, + 0x38, 0x39, 0x3A, 0x3B, 0x00, 0x3D, 0x3E, 0x3F, /* < */ + 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, + 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, + 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, + 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x00, 0x5E, 0x5F, /* ] */ + 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, + 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, + 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, + 0x78, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* non-ascii */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static void +xmlCharacters(xmlParserCtxtPtr ctxt, const xmlChar *buf, int size, + int isBlank) { + int checkBlanks; + + if ((ctxt->sax == NULL) || (ctxt->disableSAX)) + return; + + checkBlanks = (!ctxt->keepBlanks) || + (ctxt->sax->ignorableWhitespace != ctxt->sax->characters); + + /* + * Calling areBlanks with only parts of a text node + * is fundamentally broken, making the NOBLANKS option + * essentially unusable. + */ + if ((checkBlanks) && + (areBlanks(ctxt, buf, size, isBlank))) { + if ((ctxt->sax->ignorableWhitespace != NULL) && + (ctxt->keepBlanks)) + ctxt->sax->ignorableWhitespace(ctxt->userData, buf, size); + } else { + if (ctxt->sax->characters != NULL) + ctxt->sax->characters(ctxt->userData, buf, size); + + /* + * The old code used to update this value for "complex" data + * even if checkBlanks was false. This was probably a bug. + */ + if ((checkBlanks) && (*ctxt->space == -1)) + *ctxt->space = -2; + } +} + +/** + * Parse character data. Always makes progress if the first char isn't + * '<' or '&'. + * + * The right angle bracket (>) may be represented using the string ">", + * and must, for compatibility, be escaped using ">" or a character + * reference when it appears in the string "]]>" in content, when that + * string is not marking the end of a CDATA section. + * + * [14] CharData ::= [^<&]* - ([^<&]* ']]>' [^<&]*) + * @param ctxt an XML parser context + * @param partial buffer may contain partial UTF-8 sequences + */ +static void +xmlParseCharDataInternal(xmlParserCtxtPtr ctxt, int partial) { + const xmlChar *in; + int line = ctxt->input->line; + int col = ctxt->input->col; + int ccol; + int terminate = 0; + + GROW; + /* + * Accelerated common case where input don't need to be + * modified before passing it to the handler. + */ + in = ctxt->input->cur; + do { +get_more_space: + while (*in == 0x20) { in++; ctxt->input->col++; } + if (*in == 0xA) { + do { + ctxt->input->line++; ctxt->input->col = 1; + in++; + } while (*in == 0xA); + goto get_more_space; + } + if (*in == '<') { + while (in > ctxt->input->cur) { + const xmlChar *tmp = ctxt->input->cur; + size_t nbchar = in - tmp; + + if (nbchar > XML_MAX_ITEMS) + nbchar = XML_MAX_ITEMS; + ctxt->input->cur += nbchar; + + xmlCharacters(ctxt, tmp, nbchar, 1); + } + return; + } + +get_more: + ccol = ctxt->input->col; + while (test_char_data[*in]) { + in++; + ccol++; + } + ctxt->input->col = ccol; + if (*in == 0xA) { + do { + ctxt->input->line++; ctxt->input->col = 1; + in++; + } while (*in == 0xA); + goto get_more; + } + if (*in == ']') { + size_t avail = ctxt->input->end - in; + + if (partial && avail < 2) { + terminate = 1; + goto invoke_callback; + } + if (in[1] == ']') { + if (partial && avail < 3) { + terminate = 1; + goto invoke_callback; + } + if (in[2] == '>') + xmlFatalErr(ctxt, XML_ERR_MISPLACED_CDATA_END, NULL); + } + + in++; + ctxt->input->col++; + goto get_more; + } + +invoke_callback: + while (in > ctxt->input->cur) { + const xmlChar *tmp = ctxt->input->cur; + size_t nbchar = in - tmp; + + if (nbchar > XML_MAX_ITEMS) + nbchar = XML_MAX_ITEMS; + ctxt->input->cur += nbchar; + + xmlCharacters(ctxt, tmp, nbchar, 0); + + line = ctxt->input->line; + col = ctxt->input->col; + } + ctxt->input->cur = in; + if (*in == 0xD) { + in++; + if (*in == 0xA) { + ctxt->input->cur = in; + in++; + ctxt->input->line++; ctxt->input->col = 1; + continue; /* while */ + } + in--; + } + if (*in == '<') { + return; + } + if (*in == '&') { + return; + } + if (terminate) { + return; + } + SHRINK; + GROW; + in = ctxt->input->cur; + } while (((*in >= 0x20) && (*in <= 0x7F)) || + (*in == 0x09) || (*in == 0x0a)); + ctxt->input->line = line; + ctxt->input->col = col; + xmlParseCharDataComplex(ctxt, partial); +} + +/** + * Always makes progress if the first char isn't '<' or '&'. + * + * parse a CharData section.this is the fallback function + * of #xmlParseCharData when the parsing requires handling + * of non-ASCII characters. + * + * @param ctxt an XML parser context + * @param partial whether the input can end with truncated UTF-8 + */ +static void +xmlParseCharDataComplex(xmlParserCtxtPtr ctxt, int partial) { + xmlChar buf[XML_PARSER_BIG_BUFFER_SIZE + 5]; + int nbchar = 0; + int cur, l; + + cur = xmlCurrentCharRecover(ctxt, &l); + while ((cur != '<') && /* checked */ + (cur != '&') && + (IS_CHAR(cur))) { + if (cur == ']') { + size_t avail = ctxt->input->end - ctxt->input->cur; + + if (partial && avail < 2) + break; + if (NXT(1) == ']') { + if (partial && avail < 3) + break; + if (NXT(2) == '>') + xmlFatalErr(ctxt, XML_ERR_MISPLACED_CDATA_END, NULL); + } + } + + COPY_BUF(buf, nbchar, cur); + /* move current position before possible calling of ctxt->sax->characters */ + NEXTL(l); + if (nbchar >= XML_PARSER_BIG_BUFFER_SIZE) { + buf[nbchar] = 0; + + xmlCharacters(ctxt, buf, nbchar, 0); + nbchar = 0; + SHRINK; + } + cur = xmlCurrentCharRecover(ctxt, &l); + } + if (nbchar != 0) { + buf[nbchar] = 0; + + xmlCharacters(ctxt, buf, nbchar, 0); + } + /* + * cur == 0 can mean + * + * - End of buffer. + * - An actual 0 character. + * - An incomplete UTF-8 sequence. This is allowed if partial is set. + */ + if (ctxt->input->cur < ctxt->input->end) { + if ((cur == 0) && (CUR != 0)) { + if (partial == 0) { + xmlFatalErrMsgInt(ctxt, XML_ERR_INVALID_CHAR, + "Incomplete UTF-8 sequence starting with %02X\n", CUR); + NEXTL(1); + } + } else if ((cur != '<') && (cur != '&') && (cur != ']')) { + /* Generate the error and skip the offending character */ + xmlFatalErrMsgInt(ctxt, XML_ERR_INVALID_CHAR, + "PCDATA invalid Char value %d\n", cur); + NEXTL(l); + } + } +} + +/** + * @deprecated Internal function, don't use. + * @param ctxt an XML parser context + * @param cdata unused + */ +void +xmlParseCharData(xmlParserCtxt *ctxt, ATTRIBUTE_UNUSED int cdata) { + xmlParseCharDataInternal(ctxt, 0); +} + +/** + * Parse an External ID or a Public ID + * + * @deprecated Internal function, don't use. + * + * NOTE: Productions [75] and [83] interact badly since [75] can generate + * `'PUBLIC' S PubidLiteral S SystemLiteral` + * + * [75] ExternalID ::= 'SYSTEM' S SystemLiteral + * | 'PUBLIC' S PubidLiteral S SystemLiteral + * + * [83] PublicID ::= 'PUBLIC' S PubidLiteral + * + * @param ctxt an XML parser context + * @param publicId a xmlChar** receiving PubidLiteral + * @param strict indicate whether we should restrict parsing to only + * production [75], see NOTE below + * @returns the function returns SystemLiteral and in the second + * case publicID receives PubidLiteral, is strict is off + * it is possible to return NULL and have publicID set. + */ + +xmlChar * +xmlParseExternalID(xmlParserCtxt *ctxt, xmlChar **publicId, int strict) { + xmlChar *URI = NULL; + + *publicId = NULL; + if (CMP6(CUR_PTR, 'S', 'Y', 'S', 'T', 'E', 'M')) { + SKIP(6); + if (SKIP_BLANKS == 0) { + xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED, + "Space required after 'SYSTEM'\n"); + } + URI = xmlParseSystemLiteral(ctxt); + if (URI == NULL) { + xmlFatalErr(ctxt, XML_ERR_URI_REQUIRED, NULL); + } + } else if (CMP6(CUR_PTR, 'P', 'U', 'B', 'L', 'I', 'C')) { + SKIP(6); + if (SKIP_BLANKS == 0) { + xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED, + "Space required after 'PUBLIC'\n"); + } + *publicId = xmlParsePubidLiteral(ctxt); + if (*publicId == NULL) { + xmlFatalErr(ctxt, XML_ERR_PUBID_REQUIRED, NULL); + } + if (strict) { + /* + * We don't handle [83] so "S SystemLiteral" is required. + */ + if (SKIP_BLANKS == 0) { + xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED, + "Space required after the Public Identifier\n"); + } + } else { + /* + * We handle [83] so we return immediately, if + * "S SystemLiteral" is not detected. We skip blanks if no + * system literal was found, but this is harmless since we must + * be at the end of a NotationDecl. + */ + if (SKIP_BLANKS == 0) return(NULL); + if ((CUR != '\'') && (CUR != '"')) return(NULL); + } + URI = xmlParseSystemLiteral(ctxt); + if (URI == NULL) { + xmlFatalErr(ctxt, XML_ERR_URI_REQUIRED, NULL); + } + } + return(URI); +} + +/** + * Skip an XML (SGML) comment + * The spec says that "For compatibility, the string "--" (double-hyphen) + * must not occur within comments. " + * This is the slow routine in case the accelerator for ascii didn't work + * + * [15] Comment ::= '' + * @param ctxt an XML parser context + * @param buf the already parsed part of the buffer + * @param len number of bytes in the buffer + * @param size allocated size of the buffer + */ +static void +xmlParseCommentComplex(xmlParserCtxtPtr ctxt, xmlChar *buf, + size_t len, size_t size) { + int q, ql; + int r, rl; + int cur, l; + int maxLength = (ctxt->options & XML_PARSE_HUGE) ? + XML_MAX_HUGE_LENGTH : + XML_MAX_TEXT_LENGTH; + + if (buf == NULL) { + len = 0; + size = XML_PARSER_BUFFER_SIZE; + buf = xmlMalloc(size); + if (buf == NULL) { + xmlErrMemory(ctxt); + return; + } + } + q = xmlCurrentCharRecover(ctxt, &ql); + if (q == 0) + goto not_terminated; + if (!IS_CHAR(q)) { + xmlFatalErrMsgInt(ctxt, XML_ERR_INVALID_CHAR, + "xmlParseComment: invalid xmlChar value %d\n", + q); + xmlFree (buf); + return; + } + NEXTL(ql); + r = xmlCurrentCharRecover(ctxt, &rl); + if (r == 0) + goto not_terminated; + if (!IS_CHAR(r)) { + xmlFatalErrMsgInt(ctxt, XML_ERR_INVALID_CHAR, + "xmlParseComment: invalid xmlChar value %d\n", + r); + xmlFree (buf); + return; + } + NEXTL(rl); + cur = xmlCurrentCharRecover(ctxt, &l); + if (cur == 0) + goto not_terminated; + while (IS_CHAR(cur) && /* checked */ + ((cur != '>') || + (r != '-') || (q != '-'))) { + if ((r == '-') && (q == '-')) { + xmlFatalErr(ctxt, XML_ERR_HYPHEN_IN_COMMENT, NULL); + } + if (len + 5 >= size) { + xmlChar *tmp; + int newSize; + + newSize = xmlGrowCapacity(size, 1, 1, maxLength); + if (newSize < 0) { + xmlFatalErrMsgStr(ctxt, XML_ERR_COMMENT_NOT_FINISHED, + "Comment too big found", NULL); + xmlFree (buf); + return; + } + tmp = xmlRealloc(buf, newSize); + if (tmp == NULL) { + xmlErrMemory(ctxt); + xmlFree(buf); + return; + } + buf = tmp; + size = newSize; + } + COPY_BUF(buf, len, q); + + q = r; + ql = rl; + r = cur; + rl = l; + + NEXTL(l); + cur = xmlCurrentCharRecover(ctxt, &l); + + } + buf[len] = 0; + if (cur == 0) { + xmlFatalErrMsgStr(ctxt, XML_ERR_COMMENT_NOT_FINISHED, + "Comment not terminated \n' + * @param ctxt an XML parser context + */ +void +xmlParseComment(xmlParserCtxt *ctxt) { + xmlChar *buf = NULL; + size_t size = XML_PARSER_BUFFER_SIZE; + size_t len = 0; + size_t maxLength = (ctxt->options & XML_PARSE_HUGE) ? + XML_MAX_HUGE_LENGTH : + XML_MAX_TEXT_LENGTH; + const xmlChar *in; + size_t nbchar = 0; + int ccol; + + /* + * Check that there is a comment right here. + */ + if ((RAW != '<') || (NXT(1) != '!')) + return; + SKIP(2); + if ((RAW != '-') || (NXT(1) != '-')) + return; + SKIP(2); + GROW; + + /* + * Accelerated common case where input don't need to be + * modified before passing it to the handler. + */ + in = ctxt->input->cur; + do { + if (*in == 0xA) { + do { + ctxt->input->line++; ctxt->input->col = 1; + in++; + } while (*in == 0xA); + } +get_more: + ccol = ctxt->input->col; + while (((*in > '-') && (*in <= 0x7F)) || + ((*in >= 0x20) && (*in < '-')) || + (*in == 0x09)) { + in++; + ccol++; + } + ctxt->input->col = ccol; + if (*in == 0xA) { + do { + ctxt->input->line++; ctxt->input->col = 1; + in++; + } while (*in == 0xA); + goto get_more; + } + nbchar = in - ctxt->input->cur; + /* + * save current set of data + */ + if (nbchar > 0) { + if (nbchar > maxLength - len) { + xmlFatalErrMsgStr(ctxt, XML_ERR_COMMENT_NOT_FINISHED, + "Comment too big found", NULL); + xmlFree(buf); + return; + } + if (buf == NULL) { + if ((*in == '-') && (in[1] == '-')) + size = nbchar + 1; + else + size = XML_PARSER_BUFFER_SIZE + nbchar; + buf = xmlMalloc(size); + if (buf == NULL) { + xmlErrMemory(ctxt); + return; + } + len = 0; + } else if (len + nbchar + 1 >= size) { + xmlChar *new_buf; + size += len + nbchar + XML_PARSER_BUFFER_SIZE; + new_buf = xmlRealloc(buf, size); + if (new_buf == NULL) { + xmlErrMemory(ctxt); + xmlFree(buf); + return; + } + buf = new_buf; + } + memcpy(&buf[len], ctxt->input->cur, nbchar); + len += nbchar; + buf[len] = 0; + } + ctxt->input->cur = in; + if (*in == 0xA) { + in++; + ctxt->input->line++; ctxt->input->col = 1; + } + if (*in == 0xD) { + in++; + if (*in == 0xA) { + ctxt->input->cur = in; + in++; + ctxt->input->line++; ctxt->input->col = 1; + goto get_more; + } + in--; + } + SHRINK; + GROW; + in = ctxt->input->cur; + if (*in == '-') { + if (in[1] == '-') { + if (in[2] == '>') { + SKIP(3); + if ((ctxt->sax != NULL) && (ctxt->sax->comment != NULL) && + (!ctxt->disableSAX)) { + if (buf != NULL) + ctxt->sax->comment(ctxt->userData, buf); + else + ctxt->sax->comment(ctxt->userData, BAD_CAST ""); + } + if (buf != NULL) + xmlFree(buf); + return; + } + if (buf != NULL) { + xmlFatalErrMsgStr(ctxt, XML_ERR_HYPHEN_IN_COMMENT, + "Double hyphen within comment: " + " as comment */ + start = cur; + continue; + } + } + else if ((*cur == '"') || (*cur == '\'') || (*cur == ']')) { + state = *cur; + } + + cur++; + } + + /* + * Rescan the three last characters to detect "" + * split across chunks. + */ + if ((state == 0) || (state == '-')) { + if (cur - start < 3) + cur = start; + else + cur -= 3; + } + index = cur - ctxt->input->cur; + if (index > LONG_MAX) { + ctxt->checkIndex = 0; + ctxt->endCheckState = 0; + return(1); + } + ctxt->checkIndex = index; + ctxt->endCheckState = state; + return(0); +} + +/** + * Try to progress on parsing + * + * @param ctxt an XML parser context + * @param terminate last chunk indicator + * @returns zero if no parsing was possible + */ +static int +xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) { + int ret = 0; + size_t avail; + xmlChar cur, next; + + if (ctxt->input == NULL) + return(0); + + if ((ctxt->input != NULL) && + (ctxt->input->cur - ctxt->input->base > 4096)) { + xmlParserShrink(ctxt); + } + + while (ctxt->disableSAX == 0) { + avail = ctxt->input->end - ctxt->input->cur; + if (avail < 1) + goto done; + switch (ctxt->instate) { + case XML_PARSER_EOF: + /* + * Document parsing is done ! + */ + goto done; + case XML_PARSER_START: + /* + * Very first chars read from the document flow. + */ + if ((!terminate) && (avail < 4)) + goto done; + + /* + * We need more bytes to detect EBCDIC code pages. + * See xmlDetectEBCDIC. + */ + if ((CMP4(CUR_PTR, 0x4C, 0x6F, 0xA7, 0x94)) && + (!terminate) && (avail < 200)) + goto done; + + xmlDetectEncoding(ctxt); + ctxt->instate = XML_PARSER_XML_DECL; + break; + + case XML_PARSER_XML_DECL: + if ((!terminate) && (avail < 2)) + goto done; + cur = ctxt->input->cur[0]; + next = ctxt->input->cur[1]; + if ((cur == '<') && (next == '?')) { + /* PI or XML decl */ + if ((!terminate) && + (!xmlParseLookupString(ctxt, 2, "?>", 2))) + goto done; + if ((ctxt->input->cur[2] == 'x') && + (ctxt->input->cur[3] == 'm') && + (ctxt->input->cur[4] == 'l') && + (IS_BLANK_CH(ctxt->input->cur[5]))) { + ret += 5; + xmlParseXMLDecl(ctxt); + } else { + ctxt->version = xmlCharStrdup(XML_DEFAULT_VERSION); + if (ctxt->version == NULL) { + xmlErrMemory(ctxt); + break; + } + } + } else { + ctxt->version = xmlCharStrdup(XML_DEFAULT_VERSION); + if (ctxt->version == NULL) { + xmlErrMemory(ctxt); + break; + } + } + if ((ctxt->sax) && (ctxt->sax->setDocumentLocator)) { + ctxt->sax->setDocumentLocator(ctxt->userData, + (xmlSAXLocator *) &xmlDefaultSAXLocator); + } + if ((ctxt->sax) && (ctxt->sax->startDocument) && + (!ctxt->disableSAX)) + ctxt->sax->startDocument(ctxt->userData); + ctxt->instate = XML_PARSER_MISC; + break; + case XML_PARSER_START_TAG: { + const xmlChar *name; + const xmlChar *prefix = NULL; + const xmlChar *URI = NULL; + int line = ctxt->input->line; + int nbNs = 0; + + if ((!terminate) && (avail < 2)) + goto done; + cur = ctxt->input->cur[0]; + if (cur != '<') { + xmlFatalErrMsg(ctxt, XML_ERR_DOCUMENT_EMPTY, + "Start tag expected, '<' not found"); + ctxt->instate = XML_PARSER_EOF; + xmlFinishDocument(ctxt); + goto done; + } + if ((!terminate) && (!xmlParseLookupGt(ctxt))) + goto done; + if (ctxt->spaceNr == 0) + spacePush(ctxt, -1); + else if (*ctxt->space == -2) + spacePush(ctxt, -1); + else + spacePush(ctxt, *ctxt->space); +#ifdef LIBXML_SAX1_ENABLED + if (ctxt->sax2) +#endif /* LIBXML_SAX1_ENABLED */ + name = xmlParseStartTag2(ctxt, &prefix, &URI, &nbNs); +#ifdef LIBXML_SAX1_ENABLED + else + name = xmlParseStartTag(ctxt); +#endif /* LIBXML_SAX1_ENABLED */ + if (name == NULL) { + spacePop(ctxt); + ctxt->instate = XML_PARSER_EOF; + xmlFinishDocument(ctxt); + goto done; + } +#ifdef LIBXML_VALID_ENABLED + /* + * [ VC: Root Element Type ] + * The Name in the document type declaration must match + * the element type of the root element. + */ + if (ctxt->validate && ctxt->wellFormed && ctxt->myDoc && + ctxt->node && (ctxt->node == ctxt->myDoc->children)) + ctxt->valid &= xmlValidateRoot(&ctxt->vctxt, ctxt->myDoc); +#endif /* LIBXML_VALID_ENABLED */ + + /* + * Check for an Empty Element. + */ + if ((RAW == '/') && (NXT(1) == '>')) { + SKIP(2); + + if (ctxt->sax2) { + if ((ctxt->sax != NULL) && + (ctxt->sax->endElementNs != NULL) && + (!ctxt->disableSAX)) + ctxt->sax->endElementNs(ctxt->userData, name, + prefix, URI); + if (nbNs > 0) + xmlParserNsPop(ctxt, nbNs); +#ifdef LIBXML_SAX1_ENABLED + } else { + if ((ctxt->sax != NULL) && + (ctxt->sax->endElement != NULL) && + (!ctxt->disableSAX)) + ctxt->sax->endElement(ctxt->userData, name); +#endif /* LIBXML_SAX1_ENABLED */ + } + spacePop(ctxt); + } else if (RAW == '>') { + NEXT; + nameNsPush(ctxt, name, prefix, URI, line, nbNs); + } else { + xmlFatalErrMsgStr(ctxt, XML_ERR_GT_REQUIRED, + "Couldn't find end of Start Tag %s\n", + name); + nodePop(ctxt); + spacePop(ctxt); + if (nbNs > 0) + xmlParserNsPop(ctxt, nbNs); + } + + if (ctxt->nameNr == 0) + ctxt->instate = XML_PARSER_EPILOG; + else + ctxt->instate = XML_PARSER_CONTENT; + break; + } + case XML_PARSER_CONTENT: { + cur = ctxt->input->cur[0]; + + if (cur == '<') { + if ((!terminate) && (avail < 2)) + goto done; + next = ctxt->input->cur[1]; + + if (next == '/') { + ctxt->instate = XML_PARSER_END_TAG; + break; + } else if (next == '?') { + if ((!terminate) && + (!xmlParseLookupString(ctxt, 2, "?>", 2))) + goto done; + xmlParsePI(ctxt); + ctxt->instate = XML_PARSER_CONTENT; + break; + } else if (next == '!') { + if ((!terminate) && (avail < 3)) + goto done; + next = ctxt->input->cur[2]; + + if (next == '-') { + if ((!terminate) && (avail < 4)) + goto done; + if (ctxt->input->cur[3] == '-') { + if ((!terminate) && + (!xmlParseLookupString(ctxt, 4, "-->", 3))) + goto done; + xmlParseComment(ctxt); + ctxt->instate = XML_PARSER_CONTENT; + break; + } + } else if (next == '[') { + if ((!terminate) && (avail < 9)) + goto done; + if ((ctxt->input->cur[2] == '[') && + (ctxt->input->cur[3] == 'C') && + (ctxt->input->cur[4] == 'D') && + (ctxt->input->cur[5] == 'A') && + (ctxt->input->cur[6] == 'T') && + (ctxt->input->cur[7] == 'A') && + (ctxt->input->cur[8] == '[')) { + if ((!terminate) && + (!xmlParseLookupString(ctxt, 9, "]]>", 3))) + goto done; + ctxt->instate = XML_PARSER_CDATA_SECTION; + xmlParseCDSect(ctxt); + ctxt->instate = XML_PARSER_CONTENT; + break; + } + } + } + } else if (cur == '&') { + if ((!terminate) && (!xmlParseLookupChar(ctxt, ';'))) + goto done; + xmlParseReference(ctxt); + break; + } else { + /* TODO Avoid the extra copy, handle directly !!! */ + /* + * Goal of the following test is: + * - minimize calls to the SAX 'character' callback + * when they are mergeable + * - handle an problem for isBlank when we only parse + * a sequence of blank chars and the next one is + * not available to check against '<' presence. + * - tries to homogenize the differences in SAX + * callbacks between the push and pull versions + * of the parser. + */ + if (avail < XML_PARSER_BIG_BUFFER_SIZE) { + if ((!terminate) && (!xmlParseLookupCharData(ctxt))) + goto done; + } + ctxt->checkIndex = 0; + xmlParseCharDataInternal(ctxt, !terminate); + break; + } + + ctxt->instate = XML_PARSER_START_TAG; + break; + } + case XML_PARSER_END_TAG: + if ((!terminate) && (!xmlParseLookupChar(ctxt, '>'))) + goto done; + if (ctxt->sax2) { + xmlParseEndTag2(ctxt, &ctxt->pushTab[ctxt->nameNr - 1]); + nameNsPop(ctxt); + } +#ifdef LIBXML_SAX1_ENABLED + else + xmlParseEndTag1(ctxt, 0); +#endif /* LIBXML_SAX1_ENABLED */ + if (ctxt->nameNr == 0) { + ctxt->instate = XML_PARSER_EPILOG; + } else { + ctxt->instate = XML_PARSER_CONTENT; + } + break; + case XML_PARSER_MISC: + case XML_PARSER_PROLOG: + case XML_PARSER_EPILOG: + SKIP_BLANKS; + avail = ctxt->input->end - ctxt->input->cur; + if (avail < 1) + goto done; + if (ctxt->input->cur[0] == '<') { + if ((!terminate) && (avail < 2)) + goto done; + next = ctxt->input->cur[1]; + if (next == '?') { + if ((!terminate) && + (!xmlParseLookupString(ctxt, 2, "?>", 2))) + goto done; + xmlParsePI(ctxt); + break; + } else if (next == '!') { + if ((!terminate) && (avail < 3)) + goto done; + + if (ctxt->input->cur[2] == '-') { + if ((!terminate) && (avail < 4)) + goto done; + if (ctxt->input->cur[3] == '-') { + if ((!terminate) && + (!xmlParseLookupString(ctxt, 4, "-->", 3))) + goto done; + xmlParseComment(ctxt); + break; + } + } else if (ctxt->instate == XML_PARSER_MISC) { + if ((!terminate) && (avail < 9)) + goto done; + if ((ctxt->input->cur[2] == 'D') && + (ctxt->input->cur[3] == 'O') && + (ctxt->input->cur[4] == 'C') && + (ctxt->input->cur[5] == 'T') && + (ctxt->input->cur[6] == 'Y') && + (ctxt->input->cur[7] == 'P') && + (ctxt->input->cur[8] == 'E')) { + if ((!terminate) && (!xmlParseLookupGt(ctxt))) + goto done; + ctxt->inSubset = 1; + xmlParseDocTypeDecl(ctxt); + if (RAW == '[') { + ctxt->instate = XML_PARSER_DTD; + } else { + if (RAW == '>') + NEXT; + /* + * Create and update the external subset. + */ + ctxt->inSubset = 2; + if ((ctxt->sax != NULL) && + (!ctxt->disableSAX) && + (ctxt->sax->externalSubset != NULL)) + ctxt->sax->externalSubset( + ctxt->userData, + ctxt->intSubName, + ctxt->extSubSystem, + ctxt->extSubURI); + ctxt->inSubset = 0; + xmlCleanSpecialAttr(ctxt); + ctxt->instate = XML_PARSER_PROLOG; + } + break; + } + } + } + } + + if (ctxt->instate == XML_PARSER_EPILOG) { + if (ctxt->errNo == XML_ERR_OK) + xmlFatalErr(ctxt, XML_ERR_DOCUMENT_END, NULL); + ctxt->instate = XML_PARSER_EOF; + xmlFinishDocument(ctxt); + } else { + ctxt->instate = XML_PARSER_START_TAG; + } + break; + case XML_PARSER_DTD: { + if ((!terminate) && (!xmlParseLookupInternalSubset(ctxt))) + goto done; + xmlParseInternalSubset(ctxt); + ctxt->inSubset = 2; + if ((ctxt->sax != NULL) && (!ctxt->disableSAX) && + (ctxt->sax->externalSubset != NULL)) + ctxt->sax->externalSubset(ctxt->userData, ctxt->intSubName, + ctxt->extSubSystem, ctxt->extSubURI); + ctxt->inSubset = 0; + xmlCleanSpecialAttr(ctxt); + ctxt->instate = XML_PARSER_PROLOG; + break; + } + default: + xmlFatalErrMsg(ctxt, XML_ERR_INTERNAL_ERROR, + "PP: internal error\n"); + ctxt->instate = XML_PARSER_EOF; + break; + } + } +done: + return(ret); +} + +/** + * Parse a chunk of memory in push parser mode. + * + * Assumes that the parser context was initialized with + * #xmlCreatePushParserCtxt. + * + * The last chunk, which will often be empty, must be marked with + * the `terminate` flag. With the default SAX callbacks, the resulting + * document will be available in ctxt->myDoc. This pointer will not + * be freed when calling #xmlFreeParserCtxt and must be freed by the + * caller. If the document isn't well-formed, it will still be returned + * in ctxt->myDoc. + * + * As an exception, #xmlCtxtResetPush will free the document in + * ctxt->myDoc. So ctxt->myDoc should be set to NULL after extracting + * the document. + * + * Since 2.14.0, #xmlCtxtGetDocument can be used to retrieve the + * result document. + * + * @param ctxt an XML parser context + * @param chunk chunk of memory + * @param size size of chunk in bytes + * @param terminate last chunk indicator + * @returns an xmlParserErrors code (0 on success). + */ +int +xmlParseChunk(xmlParserCtxt *ctxt, const char *chunk, int size, + int terminate) { + size_t curBase; + size_t maxLength; + size_t pos; + int end_in_lf = 0; + int res; + + if ((ctxt == NULL) || (size < 0)) + return(XML_ERR_ARGUMENT); + if ((chunk == NULL) && (size > 0)) + return(XML_ERR_ARGUMENT); + if ((ctxt->input == NULL) || (ctxt->input->buf == NULL)) + return(XML_ERR_ARGUMENT); + if (ctxt->disableSAX != 0) + return(ctxt->errNo); + + ctxt->input->flags |= XML_INPUT_PROGRESSIVE; + if (ctxt->instate == XML_PARSER_START) + xmlCtxtInitializeLate(ctxt); + if ((size > 0) && (chunk != NULL) && (!terminate) && + (chunk[size - 1] == '\r')) { + end_in_lf = 1; + size--; + } + + /* + * Also push an empty chunk to make sure that the raw buffer + * will be flushed if there is an encoder. + */ + pos = ctxt->input->cur - ctxt->input->base; + res = xmlParserInputBufferPush(ctxt->input->buf, size, chunk); + xmlBufUpdateInput(ctxt->input->buf->buffer, ctxt->input, pos); + if (res < 0) { + xmlCtxtErrIO(ctxt, ctxt->input->buf->error, NULL); + return(ctxt->errNo); + } + + xmlParseTryOrFinish(ctxt, terminate); + + curBase = ctxt->input->cur - ctxt->input->base; + maxLength = (ctxt->options & XML_PARSE_HUGE) ? + XML_MAX_HUGE_LENGTH : + XML_MAX_LOOKUP_LIMIT; + if (curBase > maxLength) { + xmlFatalErr(ctxt, XML_ERR_RESOURCE_LIMIT, + "Buffer size limit exceeded, try XML_PARSE_HUGE\n"); + } + + if ((ctxt->errNo != XML_ERR_OK) && (ctxt->disableSAX != 0)) + return(ctxt->errNo); + + if (end_in_lf == 1) { + pos = ctxt->input->cur - ctxt->input->base; + res = xmlParserInputBufferPush(ctxt->input->buf, 1, "\r"); + xmlBufUpdateInput(ctxt->input->buf->buffer, ctxt->input, pos); + if (res < 0) { + xmlCtxtErrIO(ctxt, ctxt->input->buf->error, NULL); + return(ctxt->errNo); + } + } + if (terminate) { + /* + * Check for termination + */ + if ((ctxt->instate != XML_PARSER_EOF) && + (ctxt->instate != XML_PARSER_EPILOG)) { + if (ctxt->nameNr > 0) { + const xmlChar *name = ctxt->nameTab[ctxt->nameNr - 1]; + int line = ctxt->pushTab[ctxt->nameNr - 1].line; + xmlFatalErrMsgStrIntStr(ctxt, XML_ERR_TAG_NOT_FINISHED, + "Premature end of data in tag %s line %d\n", + name, line, NULL); + } else if (ctxt->instate == XML_PARSER_START) { + xmlFatalErr(ctxt, XML_ERR_DOCUMENT_EMPTY, NULL); + } else { + xmlFatalErrMsg(ctxt, XML_ERR_DOCUMENT_EMPTY, + "Start tag expected, '<' not found\n"); + } + } else { + xmlParserCheckEOF(ctxt, XML_ERR_DOCUMENT_END); + } + if (ctxt->instate != XML_PARSER_EOF) { + ctxt->instate = XML_PARSER_EOF; + xmlFinishDocument(ctxt); + } + } + if (ctxt->wellFormed == 0) + return((xmlParserErrors) ctxt->errNo); + else + return(0); +} + +/************************************************************************ + * * + * I/O front end functions to the parser * + * * + ************************************************************************/ + +/** + * Create a parser context for using the XML parser in push mode. + * See #xmlParseChunk. + * + * Passing an initial chunk is useless and deprecated. + * + * The push parser doesn't support recovery mode or the + * XML_PARSE_NOBLANKS option. + * + * `filename` is used as base URI to fetch external entities and for + * error reports. + * + * @param sax a SAX handler (optional) + * @param user_data user data for SAX callbacks (optional) + * @param chunk initial chunk (optional, deprecated) + * @param size size of initial chunk in bytes + * @param filename file name or URI (optional) + * @returns the new parser context or NULL if a memory allocation + * failed. + */ + +xmlParserCtxt * +xmlCreatePushParserCtxt(xmlSAXHandler *sax, void *user_data, + const char *chunk, int size, const char *filename) { + xmlParserCtxtPtr ctxt; + xmlParserInputPtr input; + + ctxt = xmlNewSAXParserCtxt(sax, user_data); + if (ctxt == NULL) + return(NULL); + + ctxt->options &= ~XML_PARSE_NODICT; + ctxt->dictNames = 1; + + input = xmlNewPushInput(filename, chunk, size); + if (input == NULL) { + xmlFreeParserCtxt(ctxt); + return(NULL); + } + if (xmlCtxtPushInput(ctxt, input) < 0) { + xmlFreeInputStream(input); + xmlFreeParserCtxt(ctxt); + return(NULL); + } + + return(ctxt); +} +#endif /* LIBXML_PUSH_ENABLED */ + +/** + * Blocks further parser processing + * + * @param ctxt an XML parser context + */ +void +xmlStopParser(xmlParserCtxt *ctxt) { + if (ctxt == NULL) + return; + + /* This stops the parser */ + ctxt->disableSAX = 2; + + /* + * xmlStopParser is often called from error handlers, + * so we can't raise an error here to avoid infinite + * loops. Just make sure that an error condition is + * reported. + */ + if (ctxt->errNo == XML_ERR_OK) { + ctxt->errNo = XML_ERR_USER_STOP; + ctxt->lastError.code = XML_ERR_USER_STOP; + ctxt->wellFormed = 0; + } +} + +/** + * Create a parser context for using the XML parser with an existing + * I/O stream + * + * @param sax a SAX handler (optional) + * @param user_data user data for SAX callbacks (optional) + * @param ioread an I/O read function + * @param ioclose an I/O close function (optional) + * @param ioctx an I/O handler + * @param enc the charset encoding if known (deprecated) + * @returns the new parser context or NULL + */ +xmlParserCtxt * +xmlCreateIOParserCtxt(xmlSAXHandler *sax, void *user_data, + xmlInputReadCallback ioread, + xmlInputCloseCallback ioclose, + void *ioctx, xmlCharEncoding enc) { + xmlParserCtxtPtr ctxt; + xmlParserInputPtr input; + const char *encoding; + + ctxt = xmlNewSAXParserCtxt(sax, user_data); + if (ctxt == NULL) + return(NULL); + + encoding = xmlGetCharEncodingName(enc); + input = xmlCtxtNewInputFromIO(ctxt, NULL, ioread, ioclose, ioctx, + encoding, 0); + if (input == NULL) { + xmlFreeParserCtxt(ctxt); + return (NULL); + } + if (xmlCtxtPushInput(ctxt, input) < 0) { + xmlFreeInputStream(input); + xmlFreeParserCtxt(ctxt); + return(NULL); + } + + return(ctxt); +} + +#ifdef LIBXML_VALID_ENABLED +/************************************************************************ + * * + * Front ends when parsing a DTD * + * * + ************************************************************************/ + +/** + * Parse a DTD. + * + * Option XML_PARSE_DTDLOAD should be enabled in the parser context + * to make external entities work. + * + * @since 2.14.0 + * + * @param ctxt a parser context + * @param input a parser input + * @param publicId public ID of the DTD (optional) + * @param systemId system ID of the DTD (optional) + * @returns the resulting xmlDtd or NULL in case of error. + * `input` will be freed by the function in any case. + */ +xmlDtd * +xmlCtxtParseDtd(xmlParserCtxt *ctxt, xmlParserInput *input, + const xmlChar *publicId, const xmlChar *systemId) { + xmlDtdPtr ret = NULL; + + if ((ctxt == NULL) || (input == NULL)) { + xmlFatalErr(ctxt, XML_ERR_ARGUMENT, NULL); + xmlFreeInputStream(input); + return(NULL); + } + + if (xmlCtxtPushInput(ctxt, input) < 0) { + xmlFreeInputStream(input); + return(NULL); + } + + if (publicId == NULL) + publicId = BAD_CAST "none"; + if (systemId == NULL) + systemId = BAD_CAST "none"; + + ctxt->myDoc = xmlNewDoc(BAD_CAST "1.0"); + if (ctxt->myDoc == NULL) { + xmlErrMemory(ctxt); + goto error; + } + ctxt->myDoc->properties = XML_DOC_INTERNAL; + ctxt->myDoc->extSubset = xmlNewDtd(ctxt->myDoc, BAD_CAST "none", + publicId, systemId); + if (ctxt->myDoc->extSubset == NULL) { + xmlErrMemory(ctxt); + xmlFreeDoc(ctxt->myDoc); + goto error; + } + + xmlParseExternalSubset(ctxt, publicId, systemId); + + if (ctxt->wellFormed) { + ret = ctxt->myDoc->extSubset; + ctxt->myDoc->extSubset = NULL; + if (ret != NULL) { + xmlNodePtr tmp; + + ret->doc = NULL; + tmp = ret->children; + while (tmp != NULL) { + tmp->doc = NULL; + tmp = tmp->next; + } + } + } else { + ret = NULL; + } + xmlFreeDoc(ctxt->myDoc); + ctxt->myDoc = NULL; + +error: + xmlFreeInputStream(xmlCtxtPopInput(ctxt)); + + return(ret); +} + +/** + * Load and parse a DTD + * + * @deprecated Use #xmlCtxtParseDtd. + * + * @param sax the SAX handler block or NULL + * @param input an Input Buffer + * @param enc the charset encoding if known + * @returns the resulting xmlDtd or NULL in case of error. + * `input` will be freed by the function in any case. + */ + +xmlDtd * +xmlIOParseDTD(xmlSAXHandler *sax, xmlParserInputBuffer *input, + xmlCharEncoding enc) { + xmlDtdPtr ret = NULL; + xmlParserCtxtPtr ctxt; + xmlParserInputPtr pinput = NULL; + + if (input == NULL) + return(NULL); + + ctxt = xmlNewSAXParserCtxt(sax, NULL); + if (ctxt == NULL) { + xmlFreeParserInputBuffer(input); + return(NULL); + } + xmlCtxtSetOptions(ctxt, XML_PARSE_DTDLOAD); + + /* + * generate a parser input from the I/O handler + */ + + pinput = xmlNewIOInputStream(ctxt, input, XML_CHAR_ENCODING_NONE); + if (pinput == NULL) { + xmlFreeParserCtxt(ctxt); + return(NULL); + } + + if (enc != XML_CHAR_ENCODING_NONE) { + xmlSwitchEncoding(ctxt, enc); + } + + ret = xmlCtxtParseDtd(ctxt, pinput, NULL, NULL); + + xmlFreeParserCtxt(ctxt); + return(ret); +} + +/** + * Load and parse an external subset. + * + * @deprecated Use #xmlCtxtParseDtd. + * + * @param sax the SAX handler block + * @param publicId public identifier of the DTD (optional) + * @param systemId system identifier (URL) of the DTD + * @returns the resulting xmlDtd or NULL in case of error. + */ + +xmlDtd * +xmlSAXParseDTD(xmlSAXHandler *sax, const xmlChar *publicId, + const xmlChar *systemId) { + xmlDtdPtr ret = NULL; + xmlParserCtxtPtr ctxt; + xmlParserInputPtr input = NULL; + xmlChar* systemIdCanonic; + + if ((publicId == NULL) && (systemId == NULL)) return(NULL); + + ctxt = xmlNewSAXParserCtxt(sax, NULL); + if (ctxt == NULL) { + return(NULL); + } + xmlCtxtSetOptions(ctxt, XML_PARSE_DTDLOAD); + + /* + * Canonicalise the system ID + */ + systemIdCanonic = xmlCanonicPath(systemId); + if ((systemId != NULL) && (systemIdCanonic == NULL)) { + xmlFreeParserCtxt(ctxt); + return(NULL); + } + + /* + * Ask the Entity resolver to load the damn thing + */ + + if ((ctxt->sax != NULL) && (ctxt->sax->resolveEntity != NULL)) + input = ctxt->sax->resolveEntity(ctxt->userData, publicId, + systemIdCanonic); + if (input == NULL) { + xmlFreeParserCtxt(ctxt); + if (systemIdCanonic != NULL) + xmlFree(systemIdCanonic); + return(NULL); + } + + if (input->filename == NULL) + input->filename = (char *) systemIdCanonic; + else + xmlFree(systemIdCanonic); + + ret = xmlCtxtParseDtd(ctxt, input, publicId, systemId); + + xmlFreeParserCtxt(ctxt); + return(ret); +} + + +/** + * Load and parse an external subset. + * + * @param publicId public identifier of the DTD (optional) + * @param systemId system identifier (URL) of the DTD + * @returns the resulting xmlDtd or NULL in case of error. + */ + +xmlDtd * +xmlParseDTD(const xmlChar *publicId, const xmlChar *systemId) { + return(xmlSAXParseDTD(NULL, publicId, systemId)); +} +#endif /* LIBXML_VALID_ENABLED */ + +/************************************************************************ + * * + * Front ends when parsing an Entity * + * * + ************************************************************************/ + +static xmlNodePtr +xmlCtxtParseContentInternal(xmlParserCtxtPtr ctxt, xmlParserInputPtr input, + int hasTextDecl, int buildTree) { + xmlNodePtr root = NULL; + xmlNodePtr list = NULL; + xmlChar *rootName = BAD_CAST "#root"; + int result; + + if (buildTree) { + root = xmlNewDocNode(ctxt->myDoc, NULL, rootName, NULL); + if (root == NULL) { + xmlErrMemory(ctxt); + goto error; + } + } + + if (xmlCtxtPushInput(ctxt, input) < 0) + goto error; + + nameNsPush(ctxt, rootName, NULL, NULL, 0, 0); + spacePush(ctxt, -1); + + if (buildTree) + nodePush(ctxt, root); + + if (hasTextDecl) { + xmlDetectEncoding(ctxt); + + /* + * Parse a possible text declaration first + */ + if ((CMP5(CUR_PTR, '<', '?', 'x', 'm', 'l')) && + (IS_BLANK_CH(NXT(5)))) { + xmlParseTextDecl(ctxt); + /* + * An XML-1.0 document can't reference an entity not XML-1.0 + */ + if ((xmlStrEqual(ctxt->version, BAD_CAST "1.0")) && + (!xmlStrEqual(ctxt->input->version, BAD_CAST "1.0"))) { + xmlFatalErrMsg(ctxt, XML_ERR_VERSION_MISMATCH, + "Version mismatch between document and " + "entity\n"); + } + } + } + + xmlParseContentInternal(ctxt); + + if (ctxt->input->cur < ctxt->input->end) + xmlFatalErr(ctxt, XML_ERR_NOT_WELL_BALANCED, NULL); + + if ((ctxt->wellFormed) || + ((ctxt->recovery) && (!xmlCtxtIsCatastrophicError(ctxt)))) { + if (root != NULL) { + xmlNodePtr cur; + + /* + * Unlink newly created node list. + */ + list = root->children; + root->children = NULL; + root->last = NULL; + for (cur = list; cur != NULL; cur = cur->next) + cur->parent = NULL; + } + } + + /* + * Read the rest of the stream in case of errors. We want + * to account for the whole entity size. + */ + do { + ctxt->input->cur = ctxt->input->end; + xmlParserShrink(ctxt); + result = xmlParserGrow(ctxt); + } while (result > 0); + + if (buildTree) + nodePop(ctxt); + + namePop(ctxt); + spacePop(ctxt); + + xmlCtxtPopInput(ctxt); + +error: + xmlFreeNode(root); + + return(list); +} + +static void +xmlCtxtParseEntity(xmlParserCtxtPtr ctxt, xmlEntityPtr ent) { + xmlParserInputPtr input; + xmlNodePtr list; + unsigned long consumed; + int isExternal; + int buildTree; + int oldMinNsIndex; + int oldNodelen, oldNodemem; + + isExternal = (ent->etype == XML_EXTERNAL_GENERAL_PARSED_ENTITY); + buildTree = (ctxt->node != NULL); + + /* + * Recursion check + */ + if (ent->flags & XML_ENT_EXPANDING) { + xmlFatalErr(ctxt, XML_ERR_ENTITY_LOOP, NULL); + goto error; + } + + /* + * Load entity + */ + input = xmlNewEntityInputStream(ctxt, ent); + if (input == NULL) + goto error; + + /* + * When building a tree, we need to limit the scope of namespace + * declarations, so that entities don't reference xmlNs structs + * from the parent of a reference. + */ + oldMinNsIndex = ctxt->nsdb->minNsIndex; + if (buildTree) + ctxt->nsdb->minNsIndex = ctxt->nsNr; + + oldNodelen = ctxt->nodelen; + oldNodemem = ctxt->nodemem; + ctxt->nodelen = 0; + ctxt->nodemem = 0; + + /* + * Parse content + * + * This initiates a recursive call chain: + * + * - xmlCtxtParseContentInternal + * - xmlParseContentInternal + * - xmlParseReference + * - xmlCtxtParseEntity + * + * The nesting depth is limited by the maximum number of inputs, + * see xmlCtxtPushInput. + * + * It's possible to make this non-recursive (minNsIndex must be + * stored in the input struct) at the expense of code readability. + */ + + ent->flags |= XML_ENT_EXPANDING; + + list = xmlCtxtParseContentInternal(ctxt, input, isExternal, buildTree); + + ent->flags &= ~XML_ENT_EXPANDING; + + ctxt->nsdb->minNsIndex = oldMinNsIndex; + ctxt->nodelen = oldNodelen; + ctxt->nodemem = oldNodemem; + + /* + * Entity size accounting + */ + consumed = input->consumed; + xmlSaturatedAddSizeT(&consumed, input->end - input->base); + + if ((ent->flags & XML_ENT_CHECKED) == 0) + xmlSaturatedAdd(&ent->expandedSize, consumed); + + if ((ent->flags & XML_ENT_PARSED) == 0) { + if (isExternal) + xmlSaturatedAdd(&ctxt->sizeentities, consumed); + + ent->children = list; + + while (list != NULL) { + list->parent = (xmlNodePtr) ent; + + /* + * Downstream code like the nginx xslt module can set + * ctxt->myDoc->extSubset to a separate DTD, so the entity + * might have a different or a NULL document. + */ + if (list->doc != ent->doc) + xmlSetTreeDoc(list, ent->doc); + + if (list->next == NULL) + ent->last = list; + list = list->next; + } + } else { + xmlFreeNodeList(list); + } + + xmlFreeInputStream(input); + +error: + ent->flags |= XML_ENT_PARSED | XML_ENT_CHECKED; +} + +/** + * Parse an external general entity within an existing parsing context + * An external general parsed entity is well-formed if it matches the + * production labeled extParsedEnt. + * + * [78] extParsedEnt ::= TextDecl? content + * + * @param ctxt the existing parsing context + * @param URL the URL for the entity to load + * @param ID the System ID for the entity to load + * @param listOut the return value for the set of parsed nodes + * @returns 0 if the entity is well formed, -1 in case of args problem and + * the parser error code otherwise + */ + +int +xmlParseCtxtExternalEntity(xmlParserCtxt *ctxt, const xmlChar *URL, + const xmlChar *ID, xmlNode **listOut) { + xmlParserInputPtr input; + xmlNodePtr list; + + if (listOut != NULL) + *listOut = NULL; + + if (ctxt == NULL) + return(XML_ERR_ARGUMENT); + + input = xmlLoadResource(ctxt, (char *) URL, (char *) ID, + XML_RESOURCE_GENERAL_ENTITY); + if (input == NULL) + return(ctxt->errNo); + + xmlCtxtInitializeLate(ctxt); + + list = xmlCtxtParseContentInternal(ctxt, input, /* hasTextDecl */ 1, 1); + if (listOut != NULL) + *listOut = list; + else + xmlFreeNodeList(list); + + xmlFreeInputStream(input); + return(ctxt->errNo); +} + +#ifdef LIBXML_SAX1_ENABLED +/** + * Parse an external general entity + * An external general parsed entity is well-formed if it matches the + * production labeled extParsedEnt. + * + * This function uses deprecated global variables to set parser options + * which default to XML_PARSE_NODICT. + * + * @deprecated Use #xmlParseCtxtExternalEntity. + * + * [78] extParsedEnt ::= TextDecl? content + * + * @param doc the document the chunk pertains to + * @param sax the SAX handler block (possibly NULL) + * @param user_data The user data returned on SAX callbacks (possibly NULL) + * @param depth Used for loop detection, use 0 + * @param URL the URL for the entity to load + * @param ID the System ID for the entity to load + * @param list the return value for the set of parsed nodes + * @returns 0 if the entity is well formed, -1 in case of args problem and + * the parser error code otherwise + */ + +int +xmlParseExternalEntity(xmlDoc *doc, xmlSAXHandler *sax, void *user_data, + int depth, const xmlChar *URL, const xmlChar *ID, xmlNode **list) { + xmlParserCtxtPtr ctxt; + int ret; + + if (list != NULL) + *list = NULL; + + if (doc == NULL) + return(XML_ERR_ARGUMENT); + + ctxt = xmlNewSAXParserCtxt(sax, user_data); + if (ctxt == NULL) + return(XML_ERR_NO_MEMORY); + + ctxt->depth = depth; + ctxt->myDoc = doc; + ret = xmlParseCtxtExternalEntity(ctxt, URL, ID, list); + + xmlFreeParserCtxt(ctxt); + return(ret); +} + +/** + * Parse a well-balanced chunk of an XML document + * called by the parser + * The allowed sequence for the Well Balanced Chunk is the one defined by + * the content production in the XML grammar: + * + * [43] content ::= (element | CharData | Reference | CDSect | PI | + * Comment)* + * + * This function uses deprecated global variables to set parser options + * which default to XML_PARSE_NODICT. + * + * @param doc the document the chunk pertains to (must not be NULL) + * @param sax the SAX handler block (possibly NULL) + * @param user_data The user data returned on SAX callbacks (possibly NULL) + * @param depth Used for loop detection, use 0 + * @param string the input string in UTF8 or ISO-Latin (zero terminated) + * @param lst the return value for the set of parsed nodes + * @returns 0 if the chunk is well balanced, -1 in case of args problem and + * the parser error code otherwise + */ + +int +xmlParseBalancedChunkMemory(xmlDoc *doc, xmlSAXHandler *sax, + void *user_data, int depth, const xmlChar *string, xmlNode **lst) { + return xmlParseBalancedChunkMemoryRecover( doc, sax, user_data, + depth, string, lst, 0 ); +} +#endif /* LIBXML_SAX1_ENABLED */ + +/** + * Parse a well-balanced chunk of XML matching the 'content' production. + * + * Namespaces in scope of `node` and entities of `node`'s document are + * recognized. When validating, the DTD of `node`'s document is used. + * + * Always consumes `input` even in error case. + * + * @since 2.14.0 + * + * @param ctxt parser context + * @param input parser input + * @param node target node or document + * @param hasTextDecl whether to parse text declaration + * @returns a node list or NULL in case of error. + */ +xmlNode * +xmlCtxtParseContent(xmlParserCtxt *ctxt, xmlParserInput *input, + xmlNode *node, int hasTextDecl) { + xmlDocPtr doc; + xmlNodePtr cur, list = NULL; + int nsnr = 0; + xmlDictPtr oldDict; + int oldOptions, oldDictNames, oldLoadSubset; + + if ((ctxt == NULL) || (input == NULL) || (node == NULL)) { + xmlFatalErr(ctxt, XML_ERR_ARGUMENT, NULL); + goto exit; + } + + doc = node->doc; + if (doc == NULL) { + xmlFatalErr(ctxt, XML_ERR_ARGUMENT, NULL); + goto exit; + } + + switch (node->type) { + case XML_ELEMENT_NODE: + case XML_DOCUMENT_NODE: + case XML_HTML_DOCUMENT_NODE: + break; + + case XML_ATTRIBUTE_NODE: + case XML_TEXT_NODE: + case XML_CDATA_SECTION_NODE: + case XML_ENTITY_REF_NODE: + case XML_PI_NODE: + case XML_COMMENT_NODE: + for (cur = node->parent; cur != NULL; cur = cur->parent) { + if ((cur->type == XML_ELEMENT_NODE) || + (cur->type == XML_DOCUMENT_NODE) || + (cur->type == XML_HTML_DOCUMENT_NODE)) { + node = cur; + break; + } + } + break; + + default: + xmlFatalErr(ctxt, XML_ERR_ARGUMENT, NULL); + goto exit; + } + + xmlCtxtReset(ctxt); + + oldDict = ctxt->dict; + oldOptions = ctxt->options; + oldDictNames = ctxt->dictNames; + oldLoadSubset = ctxt->loadsubset; + + /* + * Use input doc's dict if present, else assure XML_PARSE_NODICT is set. + */ + if (doc->dict != NULL) { + ctxt->dict = doc->dict; + } else { + ctxt->options |= XML_PARSE_NODICT; + ctxt->dictNames = 0; + } + + /* + * Disable IDs + */ + ctxt->loadsubset |= XML_SKIP_IDS; + ctxt->options |= XML_PARSE_SKIP_IDS; + + ctxt->myDoc = doc; + +#ifdef LIBXML_HTML_ENABLED + if (ctxt->html) { + /* + * When parsing in context, it makes no sense to add implied + * elements like html/body/etc... + */ + ctxt->options |= HTML_PARSE_NOIMPLIED; + + list = htmlCtxtParseContentInternal(ctxt, input); + } else +#endif + { + xmlCtxtInitializeLate(ctxt); + + /* + * initialize the SAX2 namespaces stack + */ + cur = node; + while ((cur != NULL) && (cur->type == XML_ELEMENT_NODE)) { + xmlNsPtr ns = cur->nsDef; + xmlHashedString hprefix, huri; + + while (ns != NULL) { + hprefix = xmlDictLookupHashed(ctxt->dict, ns->prefix, -1); + huri = xmlDictLookupHashed(ctxt->dict, ns->href, -1); + if (xmlParserNsPush(ctxt, &hprefix, &huri, ns, 1) > 0) + nsnr++; + ns = ns->next; + } + cur = cur->parent; + } + + list = xmlCtxtParseContentInternal(ctxt, input, hasTextDecl, 1); + + if (nsnr > 0) + xmlParserNsPop(ctxt, nsnr); + } + + ctxt->dict = oldDict; + ctxt->options = oldOptions; + ctxt->dictNames = oldDictNames; + ctxt->loadsubset = oldLoadSubset; + ctxt->myDoc = NULL; + ctxt->node = NULL; + +exit: + xmlFreeInputStream(input); + return(list); +} + +/** + * Parse a well-balanced chunk of an XML document + * within the context (DTD, namespaces, etc ...) of the given node. + * + * The allowed sequence for the data is a Well Balanced Chunk defined by + * the content production in the XML grammar: + * + * [43] content ::= (element | CharData | Reference | CDSect | PI | + * Comment)* + * + * This function assumes the encoding of `node`'s document which is + * typically not what you want. A better alternative is + * #xmlCtxtParseContent. + * + * @param node the context node + * @param data the input string + * @param datalen the input string length in bytes + * @param options a combination of xmlParserOption + * @param listOut the return value for the set of parsed nodes + * @returns XML_ERR_OK if the chunk is well balanced, and the parser + * error code otherwise + */ +xmlParserErrors +xmlParseInNodeContext(xmlNode *node, const char *data, int datalen, + int options, xmlNode **listOut) { + xmlParserCtxtPtr ctxt; + xmlParserInputPtr input; + xmlDocPtr doc; + xmlNodePtr list; + xmlParserErrors ret; + + if (listOut == NULL) + return(XML_ERR_INTERNAL_ERROR); + *listOut = NULL; + + if ((node == NULL) || (data == NULL) || (datalen < 0)) + return(XML_ERR_INTERNAL_ERROR); + + doc = node->doc; + if (doc == NULL) + return(XML_ERR_INTERNAL_ERROR); + +#ifdef LIBXML_HTML_ENABLED + if (doc->type == XML_HTML_DOCUMENT_NODE) { + ctxt = htmlNewParserCtxt(); + } + else +#endif + ctxt = xmlNewParserCtxt(); + + if (ctxt == NULL) + return(XML_ERR_NO_MEMORY); + + input = xmlCtxtNewInputFromMemory(ctxt, NULL, data, datalen, + (const char *) doc->encoding, + XML_INPUT_BUF_STATIC); + if (input == NULL) { + xmlFreeParserCtxt(ctxt); + return(XML_ERR_NO_MEMORY); + } + + xmlCtxtUseOptions(ctxt, options); + + list = xmlCtxtParseContent(ctxt, input, node, /* hasTextDecl */ 0); + + if (list == NULL) { + ret = ctxt->errNo; + if (ret == XML_ERR_ARGUMENT) + ret = XML_ERR_INTERNAL_ERROR; + } else { + ret = XML_ERR_OK; + *listOut = list; + } + + xmlFreeParserCtxt(ctxt); + + return(ret); +} + +#ifdef LIBXML_SAX1_ENABLED +/** + * Parse a well-balanced chunk of an XML document + * + * The allowed sequence for the Well Balanced Chunk is the one defined by + * the content production in the XML grammar: + * + * [43] content ::= (element | CharData | Reference | CDSect | PI | + * Comment)* + * + * In case recover is set to 1, the nodelist will not be empty even if + * the parsed chunk is not well balanced, assuming the parsing succeeded to + * some extent. + * + * This function uses deprecated global variables to set parser options + * which default to XML_PARSE_NODICT. + * + * @param doc the document the chunk pertains to (must not be NULL) + * @param sax the SAX handler block (possibly NULL) + * @param user_data The user data returned on SAX callbacks (possibly NULL) + * @param depth Used for loop detection, use 0 + * @param string the input string in UTF8 or ISO-Latin (zero terminated) + * @param listOut the return value for the set of parsed nodes + * @param recover return nodes even if the data is broken (use 0) + * @returns 0 if the chunk is well balanced, or thehe parser error code + * otherwise. + */ +int +xmlParseBalancedChunkMemoryRecover(xmlDoc *doc, xmlSAXHandler *sax, + void *user_data, int depth, const xmlChar *string, xmlNode **listOut, + int recover) { + xmlParserCtxtPtr ctxt; + xmlParserInputPtr input; + xmlNodePtr list; + int ret; + + if (listOut != NULL) + *listOut = NULL; + + if (string == NULL) + return(XML_ERR_ARGUMENT); + + ctxt = xmlNewSAXParserCtxt(sax, user_data); + if (ctxt == NULL) + return(XML_ERR_NO_MEMORY); + + xmlCtxtInitializeLate(ctxt); + + ctxt->depth = depth; + ctxt->myDoc = doc; + if (recover) { + ctxt->options |= XML_PARSE_RECOVER; + ctxt->recovery = 1; + } + + input = xmlNewStringInputStream(ctxt, string); + if (input == NULL) { + ret = ctxt->errNo; + goto error; + } + + list = xmlCtxtParseContentInternal(ctxt, input, /* hasTextDecl */ 0, 1); + if (listOut != NULL) + *listOut = list; + else + xmlFreeNodeList(list); + + if (!ctxt->wellFormed) + ret = ctxt->errNo; + else + ret = XML_ERR_OK; + +error: + xmlFreeInputStream(input); + xmlFreeParserCtxt(ctxt); + return(ret); +} + +/** + * Parse an XML external entity out of context and build a tree. + * It use the given SAX function block to handle the parsing callback. + * If sax is NULL, fallback to the default DOM tree building routines. + * + * @deprecated Don't use. + * + * [78] extParsedEnt ::= TextDecl? content + * + * This correspond to a "Well Balanced" chunk + * + * This function uses deprecated global variables to set parser options + * which default to XML_PARSE_NODICT. + * + * @param sax the SAX handler block + * @param filename the filename + * @returns the resulting document tree + */ + +xmlDoc * +xmlSAXParseEntity(xmlSAXHandler *sax, const char *filename) { + xmlDocPtr ret; + xmlParserCtxtPtr ctxt; + + ctxt = xmlCreateFileParserCtxt(filename); + if (ctxt == NULL) { + return(NULL); + } + if (sax != NULL) { + if (sax->initialized == XML_SAX2_MAGIC) { + *ctxt->sax = *sax; + } else { + memset(ctxt->sax, 0, sizeof(*ctxt->sax)); + memcpy(ctxt->sax, sax, sizeof(xmlSAXHandlerV1)); + } + ctxt->userData = NULL; + } + + xmlParseExtParsedEnt(ctxt); + + if (ctxt->wellFormed) { + ret = ctxt->myDoc; + } else { + ret = NULL; + xmlFreeDoc(ctxt->myDoc); + } + + xmlFreeParserCtxt(ctxt); + + return(ret); +} + +/** + * Parse an XML external entity out of context and build a tree. + * + * [78] extParsedEnt ::= TextDecl? content + * + * This correspond to a "Well Balanced" chunk + * + * This function uses deprecated global variables to set parser options + * which default to XML_PARSE_NODICT. + * + * @deprecated Don't use. + * + * @param filename the filename + * @returns the resulting document tree + */ + +xmlDoc * +xmlParseEntity(const char *filename) { + return(xmlSAXParseEntity(NULL, filename)); +} +#endif /* LIBXML_SAX1_ENABLED */ + +/** + * Create a parser context for an external entity + * Automatic support for ZLIB/Compress compressed document is provided + * by default if found at compile-time. + * + * @deprecated Don't use. + * + * @param URL the entity URL + * @param ID the entity PUBLIC ID + * @param base a possible base for the target URI + * @returns the new parser context or NULL + */ +xmlParserCtxt * +xmlCreateEntityParserCtxt(const xmlChar *URL, const xmlChar *ID, + const xmlChar *base) { + xmlParserCtxtPtr ctxt; + xmlParserInputPtr input; + xmlChar *uri = NULL; + + ctxt = xmlNewParserCtxt(); + if (ctxt == NULL) + return(NULL); + + if (base != NULL) { + if (xmlBuildURISafe(URL, base, &uri) < 0) + goto error; + if (uri != NULL) + URL = uri; + } + + input = xmlLoadResource(ctxt, (char *) URL, (char *) ID, + XML_RESOURCE_UNKNOWN); + if (input == NULL) + goto error; + + if (xmlCtxtPushInput(ctxt, input) < 0) { + xmlFreeInputStream(input); + goto error; + } + + xmlFree(uri); + return(ctxt); + +error: + xmlFree(uri); + xmlFreeParserCtxt(ctxt); + return(NULL); +} + +/************************************************************************ + * * + * Front ends when parsing from a file * + * * + ************************************************************************/ + +/** + * Create a parser context for a file or URL content. + * Automatic support for ZLIB/Compress compressed document is provided + * by default if found at compile-time and for file accesses + * + * @deprecated Use #xmlNewParserCtxt and #xmlCtxtReadFile. + * + * @param filename the filename or URL + * @param options a combination of xmlParserOption + * @returns the new parser context or NULL + */ +xmlParserCtxt * +xmlCreateURLParserCtxt(const char *filename, int options) +{ + xmlParserCtxtPtr ctxt; + xmlParserInputPtr input; + + ctxt = xmlNewParserCtxt(); + if (ctxt == NULL) + return(NULL); + + xmlCtxtUseOptions(ctxt, options); + + input = xmlLoadResource(ctxt, filename, NULL, XML_RESOURCE_MAIN_DOCUMENT); + if (input == NULL) { + xmlFreeParserCtxt(ctxt); + return(NULL); + } + if (xmlCtxtPushInput(ctxt, input) < 0) { + xmlFreeInputStream(input); + xmlFreeParserCtxt(ctxt); + return(NULL); + } + + return(ctxt); +} + +/** + * Create a parser context for a file content. + * Automatic support for ZLIB/Compress compressed document is provided + * by default if found at compile-time. + * + * @deprecated Use #xmlNewParserCtxt and #xmlCtxtReadFile. + * + * @param filename the filename + * @returns the new parser context or NULL + */ +xmlParserCtxt * +xmlCreateFileParserCtxt(const char *filename) +{ + return(xmlCreateURLParserCtxt(filename, 0)); +} + +#ifdef LIBXML_SAX1_ENABLED +/** + * Parse an XML file and build a tree. Automatic support for ZLIB/Compress + * compressed document is provided by default if found at compile-time. + * It use the given SAX function block to handle the parsing callback. + * If sax is NULL, fallback to the default DOM tree building routines. + * + * This function uses deprecated global variables to set parser options + * which default to XML_PARSE_NODICT. + * + * @deprecated Use #xmlNewSAXParserCtxt and #xmlCtxtReadFile. + * + * User data (void *) is stored within the parser context in the + * context's _private member, so it is available nearly everywhere in libxml + * + * @param sax the SAX handler block + * @param filename the filename + * @param recovery work in recovery mode, i.e. tries to read no Well Formed + * documents + * @param data the userdata + * @returns the resulting document tree + */ + +xmlDoc * +xmlSAXParseFileWithData(xmlSAXHandler *sax, const char *filename, + int recovery, void *data) { + xmlDocPtr ret = NULL; + xmlParserCtxtPtr ctxt; + xmlParserInputPtr input; + + ctxt = xmlNewSAXParserCtxt(sax, NULL); + if (ctxt == NULL) + return(NULL); + + if (data != NULL) + ctxt->_private = data; + + if (recovery) { + ctxt->options |= XML_PARSE_RECOVER; + ctxt->recovery = 1; + } + + if ((filename != NULL) && (filename[0] == '-') && (filename[1] == 0)) + input = xmlCtxtNewInputFromFd(ctxt, filename, STDIN_FILENO, NULL, 0); + else + input = xmlCtxtNewInputFromUrl(ctxt, filename, NULL, NULL, 0); + + if (input != NULL) + ret = xmlCtxtParseDocument(ctxt, input); + + xmlFreeParserCtxt(ctxt); + return(ret); +} + +/** + * Parse an XML file and build a tree. Automatic support for ZLIB/Compress + * compressed document is provided by default if found at compile-time. + * It use the given SAX function block to handle the parsing callback. + * If sax is NULL, fallback to the default DOM tree building routines. + * + * This function uses deprecated global variables to set parser options + * which default to XML_PARSE_NODICT. + * + * @deprecated Use #xmlNewSAXParserCtxt and #xmlCtxtReadFile. + * + * @param sax the SAX handler block + * @param filename the filename + * @param recovery work in recovery mode, i.e. tries to read no Well Formed + * documents + * @returns the resulting document tree + */ + +xmlDoc * +xmlSAXParseFile(xmlSAXHandler *sax, const char *filename, + int recovery) { + return(xmlSAXParseFileWithData(sax,filename,recovery,NULL)); +} + +/** + * Parse an XML in-memory document and build a tree. + * In the case the document is not Well Formed, a attempt to build a + * tree is tried anyway + * + * This function uses deprecated global variables to set parser options + * which default to XML_PARSE_NODICT | XML_PARSE_RECOVER. + * + * @deprecated Use #xmlReadDoc with XML_PARSE_RECOVER. + * + * @param cur a pointer to an array of xmlChar + * @returns the resulting document tree or NULL in case of failure + */ + +xmlDoc * +xmlRecoverDoc(const xmlChar *cur) { + return(xmlSAXParseDoc(NULL, cur, 1)); +} + +/** + * Parse an XML file and build a tree. Automatic support for ZLIB/Compress + * compressed document is provided by default if found at compile-time. + * + * This function uses deprecated global variables to set parser options + * which default to XML_PARSE_NODICT. + * + * @deprecated Use #xmlReadFile. + * + * @param filename the filename + * @returns the resulting document tree if the file was wellformed, + * NULL otherwise. + */ + +xmlDoc * +xmlParseFile(const char *filename) { + return(xmlSAXParseFile(NULL, filename, 0)); +} + +/** + * Parse an XML file and build a tree. Automatic support for ZLIB/Compress + * compressed document is provided by default if found at compile-time. + * In the case the document is not Well Formed, it attempts to build + * a tree anyway + * + * This function uses deprecated global variables to set parser options + * which default to XML_PARSE_NODICT | XML_PARSE_RECOVER. + * + * @deprecated Use #xmlReadFile with XML_PARSE_RECOVER. + * + * @param filename the filename + * @returns the resulting document tree or NULL in case of failure + */ + +xmlDoc * +xmlRecoverFile(const char *filename) { + return(xmlSAXParseFile(NULL, filename, 1)); +} + + +/** + * Setup the parser context to parse a new buffer; Clears any prior + * contents from the parser context. The buffer parameter must not be + * NULL, but the filename parameter can be + * + * @deprecated Don't use. + * + * @param ctxt an XML parser context + * @param buffer a xmlChar * buffer + * @param filename a file name + */ +void +xmlSetupParserForBuffer(xmlParserCtxt *ctxt, const xmlChar* buffer, + const char* filename) +{ + xmlParserInputPtr input; + + if ((ctxt == NULL) || (buffer == NULL)) + return; + + xmlCtxtReset(ctxt); + + input = xmlCtxtNewInputFromString(ctxt, filename, (const char *) buffer, + NULL, 0); + if (input == NULL) + return; + if (xmlCtxtPushInput(ctxt, input) < 0) + xmlFreeInputStream(input); +} + +/** + * Parse an XML file and call the given SAX handler routines. + * Automatic support for ZLIB/Compress compressed document is provided + * + * This function uses deprecated global variables to set parser options + * which default to XML_PARSE_NODICT. + * + * @deprecated Use #xmlNewSAXParserCtxt and #xmlCtxtReadFile. + * + * @param sax a SAX handler + * @param user_data The user data returned on SAX callbacks + * @param filename a file name + * @returns 0 in case of success or a error number otherwise + */ +int +xmlSAXUserParseFile(xmlSAXHandler *sax, void *user_data, + const char *filename) { + int ret = 0; + xmlParserCtxtPtr ctxt; + + ctxt = xmlCreateFileParserCtxt(filename); + if (ctxt == NULL) return -1; + if (sax != NULL) { + if (sax->initialized == XML_SAX2_MAGIC) { + *ctxt->sax = *sax; + } else { + memset(ctxt->sax, 0, sizeof(*ctxt->sax)); + memcpy(ctxt->sax, sax, sizeof(xmlSAXHandlerV1)); + } + ctxt->userData = user_data; + } + + xmlParseDocument(ctxt); + + if (ctxt->wellFormed) + ret = 0; + else { + if (ctxt->errNo != 0) + ret = ctxt->errNo; + else + ret = -1; + } + if (ctxt->myDoc != NULL) { + xmlFreeDoc(ctxt->myDoc); + ctxt->myDoc = NULL; + } + xmlFreeParserCtxt(ctxt); + + return ret; +} +#endif /* LIBXML_SAX1_ENABLED */ + +/************************************************************************ + * * + * Front ends when parsing from memory * + * * + ************************************************************************/ + +/** + * Create a parser context for an XML in-memory document. The input buffer + * must not contain a terminating null byte. + * + * @param buffer a pointer to a char array + * @param size the size of the array + * @returns the new parser context or NULL + */ +xmlParserCtxt * +xmlCreateMemoryParserCtxt(const char *buffer, int size) { + xmlParserCtxtPtr ctxt; + xmlParserInputPtr input; + + if (size < 0) + return(NULL); + + ctxt = xmlNewParserCtxt(); + if (ctxt == NULL) + return(NULL); + + input = xmlCtxtNewInputFromMemory(ctxt, NULL, buffer, size, NULL, 0); + if (input == NULL) { + xmlFreeParserCtxt(ctxt); + return(NULL); + } + if (xmlCtxtPushInput(ctxt, input) < 0) { + xmlFreeInputStream(input); + xmlFreeParserCtxt(ctxt); + return(NULL); + } + + return(ctxt); +} + +#ifdef LIBXML_SAX1_ENABLED +/** + * Parse an XML in-memory block and use the given SAX function block + * to handle the parsing callback. If sax is NULL, fallback to the default + * DOM tree building routines. + * + * This function uses deprecated global variables to set parser options + * which default to XML_PARSE_NODICT. + * + * @deprecated Use #xmlNewSAXParserCtxt and #xmlCtxtReadMemory. + * + * User data (void *) is stored within the parser context in the + * context's _private member, so it is available nearly everywhere in libxml + * + * @param sax the SAX handler block + * @param buffer an pointer to a char array + * @param size the size of the array + * @param recovery work in recovery mode, i.e. tries to read no Well Formed + * documents + * @param data the userdata + * @returns the resulting document tree + */ + +xmlDoc * +xmlSAXParseMemoryWithData(xmlSAXHandler *sax, const char *buffer, + int size, int recovery, void *data) { + xmlDocPtr ret = NULL; + xmlParserCtxtPtr ctxt; + xmlParserInputPtr input; + + if (size < 0) + return(NULL); + + ctxt = xmlNewSAXParserCtxt(sax, NULL); + if (ctxt == NULL) + return(NULL); + + if (data != NULL) + ctxt->_private=data; + + if (recovery) { + ctxt->options |= XML_PARSE_RECOVER; + ctxt->recovery = 1; + } + + input = xmlCtxtNewInputFromMemory(ctxt, NULL, buffer, size, NULL, + XML_INPUT_BUF_STATIC); + + if (input != NULL) + ret = xmlCtxtParseDocument(ctxt, input); + + xmlFreeParserCtxt(ctxt); + return(ret); +} + +/** + * Parse an XML in-memory block and use the given SAX function block + * to handle the parsing callback. If sax is NULL, fallback to the default + * DOM tree building routines. + * + * This function uses deprecated global variables to set parser options + * which default to XML_PARSE_NODICT. + * + * @deprecated Use #xmlNewSAXParserCtxt and #xmlCtxtReadMemory. + * + * @param sax the SAX handler block + * @param buffer an pointer to a char array + * @param size the size of the array + * @param recovery work in recovery mode, i.e. tries to read not Well Formed + * documents + * @returns the resulting document tree + */ +xmlDoc * +xmlSAXParseMemory(xmlSAXHandler *sax, const char *buffer, + int size, int recovery) { + return xmlSAXParseMemoryWithData(sax, buffer, size, recovery, NULL); +} + +/** + * Parse an XML in-memory block and build a tree. + * + * This function uses deprecated global variables to set parser options + * which default to XML_PARSE_NODICT. + * + * @deprecated Use #xmlReadMemory. + * + * @param buffer an pointer to a char array + * @param size the size of the array + * @returns the resulting document tree + */ + +xmlDoc *xmlParseMemory(const char *buffer, int size) { + return(xmlSAXParseMemory(NULL, buffer, size, 0)); +} + +/** + * Parse an XML in-memory block and build a tree. + * In the case the document is not Well Formed, an attempt to + * build a tree is tried anyway + * + * This function uses deprecated global variables to set parser options + * which default to XML_PARSE_NODICT | XML_PARSE_RECOVER. + * + * @deprecated Use #xmlReadMemory with XML_PARSE_RECOVER. + * + * @param buffer an pointer to a char array + * @param size the size of the array + * @returns the resulting document tree or NULL in case of error + */ + +xmlDoc *xmlRecoverMemory(const char *buffer, int size) { + return(xmlSAXParseMemory(NULL, buffer, size, 1)); +} + +/** + * Parse an XML in-memory buffer and call the given SAX handler routines. + * + * This function uses deprecated global variables to set parser options + * which default to XML_PARSE_NODICT. + * + * @deprecated Use #xmlNewSAXParserCtxt and #xmlCtxtReadMemory. + * + * @param sax a SAX handler + * @param user_data The user data returned on SAX callbacks + * @param buffer an in-memory XML document input + * @param size the length of the XML document in bytes + * @returns 0 in case of success or a error number otherwise + */ +int xmlSAXUserParseMemory(xmlSAXHandler *sax, void *user_data, + const char *buffer, int size) { + int ret = 0; + xmlParserCtxtPtr ctxt; + + ctxt = xmlCreateMemoryParserCtxt(buffer, size); + if (ctxt == NULL) return -1; + if (sax != NULL) { + if (sax->initialized == XML_SAX2_MAGIC) { + *ctxt->sax = *sax; + } else { + memset(ctxt->sax, 0, sizeof(*ctxt->sax)); + memcpy(ctxt->sax, sax, sizeof(xmlSAXHandlerV1)); + } + ctxt->userData = user_data; + } + + xmlParseDocument(ctxt); + + if (ctxt->wellFormed) + ret = 0; + else { + if (ctxt->errNo != 0) + ret = ctxt->errNo; + else + ret = -1; + } + if (ctxt->myDoc != NULL) { + xmlFreeDoc(ctxt->myDoc); + ctxt->myDoc = NULL; + } + xmlFreeParserCtxt(ctxt); + + return ret; +} +#endif /* LIBXML_SAX1_ENABLED */ + +/** + * Creates a parser context for an XML in-memory document. + * + * @param str a pointer to an array of xmlChar + * @returns the new parser context or NULL + */ +xmlParserCtxt * +xmlCreateDocParserCtxt(const xmlChar *str) { + xmlParserCtxtPtr ctxt; + xmlParserInputPtr input; + + ctxt = xmlNewParserCtxt(); + if (ctxt == NULL) + return(NULL); + + input = xmlCtxtNewInputFromString(ctxt, NULL, (const char *) str, NULL, 0); + if (input == NULL) { + xmlFreeParserCtxt(ctxt); + return(NULL); + } + if (xmlCtxtPushInput(ctxt, input) < 0) { + xmlFreeInputStream(input); + xmlFreeParserCtxt(ctxt); + return(NULL); + } + + return(ctxt); +} + +#ifdef LIBXML_SAX1_ENABLED +/** + * Parse an XML in-memory document and build a tree. + * It use the given SAX function block to handle the parsing callback. + * If sax is NULL, fallback to the default DOM tree building routines. + * + * This function uses deprecated global variables to set parser options + * which default to XML_PARSE_NODICT. + * + * @deprecated Use #xmlNewSAXParserCtxt and #xmlCtxtReadDoc. + * + * @param sax the SAX handler block + * @param cur a pointer to an array of xmlChar + * @param recovery work in recovery mode, i.e. tries to read no Well Formed + * documents + * @returns the resulting document tree + */ + +xmlDoc * +xmlSAXParseDoc(xmlSAXHandler *sax, const xmlChar *cur, int recovery) { + xmlDocPtr ret; + xmlParserCtxtPtr ctxt; + xmlSAXHandlerPtr oldsax = NULL; + + if (cur == NULL) return(NULL); + + + ctxt = xmlCreateDocParserCtxt(cur); + if (ctxt == NULL) return(NULL); + if (sax != NULL) { + oldsax = ctxt->sax; + ctxt->sax = sax; + ctxt->userData = NULL; + } + + xmlParseDocument(ctxt); + if ((ctxt->wellFormed) || recovery) ret = ctxt->myDoc; + else { + ret = NULL; + xmlFreeDoc(ctxt->myDoc); + ctxt->myDoc = NULL; + } + if (sax != NULL) + ctxt->sax = oldsax; + xmlFreeParserCtxt(ctxt); + + return(ret); +} + +/** + * Parse an XML in-memory document and build a tree. + * + * This function uses deprecated global variables to set parser options + * which default to XML_PARSE_NODICT. + * + * @deprecated Use #xmlReadDoc. + * + * @param cur a pointer to an array of xmlChar + * @returns the resulting document tree + */ + +xmlDoc * +xmlParseDoc(const xmlChar *cur) { + return(xmlSAXParseDoc(NULL, cur, 0)); +} +#endif /* LIBXML_SAX1_ENABLED */ + +/************************************************************************ + * * + * New set (2.6.0) of simpler and more flexible APIs * + * * + ************************************************************************/ + +/** + * Reset a parser context + * + * @param ctxt an XML parser context + */ +void +xmlCtxtReset(xmlParserCtxt *ctxt) +{ + xmlParserInputPtr input; + + if (ctxt == NULL) + return; + + while ((input = xmlCtxtPopInput(ctxt)) != NULL) { /* Non consuming */ + xmlFreeInputStream(input); + } + ctxt->inputNr = 0; + ctxt->input = NULL; + + ctxt->spaceNr = 0; + if (ctxt->spaceTab != NULL) { + ctxt->spaceTab[0] = -1; + ctxt->space = &ctxt->spaceTab[0]; + } else { + ctxt->space = NULL; + } + + + ctxt->nodeNr = 0; + ctxt->node = NULL; + + ctxt->nameNr = 0; + ctxt->name = NULL; + + ctxt->nsNr = 0; + xmlParserNsReset(ctxt->nsdb); + + if (ctxt->version != NULL) { + xmlFree(ctxt->version); + ctxt->version = NULL; + } + if (ctxt->encoding != NULL) { + xmlFree(ctxt->encoding); + ctxt->encoding = NULL; + } + if (ctxt->extSubURI != NULL) { + xmlFree(ctxt->extSubURI); + ctxt->extSubURI = NULL; + } + if (ctxt->extSubSystem != NULL) { + xmlFree(ctxt->extSubSystem); + ctxt->extSubSystem = NULL; + } + if (ctxt->directory != NULL) { + xmlFree(ctxt->directory); + ctxt->directory = NULL; + } + + if (ctxt->myDoc != NULL) + xmlFreeDoc(ctxt->myDoc); + ctxt->myDoc = NULL; + + ctxt->standalone = -1; + ctxt->hasExternalSubset = 0; + ctxt->hasPErefs = 0; + ctxt->html = ctxt->html ? 1 : 0; + ctxt->instate = XML_PARSER_START; + + ctxt->wellFormed = 1; + ctxt->nsWellFormed = 1; + ctxt->disableSAX = 0; + ctxt->valid = 1; + ctxt->record_info = 0; + ctxt->checkIndex = 0; + ctxt->endCheckState = 0; + ctxt->inSubset = 0; + ctxt->errNo = XML_ERR_OK; + ctxt->depth = 0; + ctxt->catalogs = NULL; + ctxt->sizeentities = 0; + ctxt->sizeentcopy = 0; + xmlInitNodeInfoSeq(&ctxt->node_seq); + + if (ctxt->attsDefault != NULL) { + xmlHashFree(ctxt->attsDefault, xmlHashDefaultDeallocator); + ctxt->attsDefault = NULL; + } + if (ctxt->attsSpecial != NULL) { + xmlHashFree(ctxt->attsSpecial, NULL); + ctxt->attsSpecial = NULL; + } + +#ifdef LIBXML_CATALOG_ENABLED + if (ctxt->catalogs != NULL) + xmlCatalogFreeLocal(ctxt->catalogs); +#endif + ctxt->nbErrors = 0; + ctxt->nbWarnings = 0; + if (ctxt->lastError.code != XML_ERR_OK) + xmlResetError(&ctxt->lastError); +} + +/** + * Reset a push parser context + * + * @param ctxt an XML parser context + * @param chunk a pointer to an array of chars + * @param size number of chars in the array + * @param filename an optional file name or URI + * @param encoding the document encoding, or NULL + * @returns 0 in case of success and 1 in case of error + */ +int +xmlCtxtResetPush(xmlParserCtxt *ctxt, const char *chunk, + int size, const char *filename, const char *encoding) +{ + xmlParserInputPtr input; + + if (ctxt == NULL) + return(1); + + xmlCtxtReset(ctxt); + + input = xmlNewPushInput(filename, chunk, size); + if (input == NULL) + return(1); + + if (xmlCtxtPushInput(ctxt, input) < 0) { + xmlFreeInputStream(input); + return(1); + } + + if (encoding != NULL) + xmlSwitchEncodingName(ctxt, encoding); + + return(0); +} + +static int +xmlCtxtSetOptionsInternal(xmlParserCtxtPtr ctxt, int options, int keepMask) +{ + int allMask; + + if (ctxt == NULL) + return(-1); + + /* + * XInclude options aren't handled by the parser. + * + * XML_PARSE_XINCLUDE + * XML_PARSE_NOXINCNODE + * XML_PARSE_NOBASEFIX + */ + allMask = XML_PARSE_RECOVER | + XML_PARSE_NOENT | + XML_PARSE_DTDLOAD | + XML_PARSE_DTDATTR | + XML_PARSE_DTDVALID | + XML_PARSE_NOERROR | + XML_PARSE_NOWARNING | + XML_PARSE_PEDANTIC | + XML_PARSE_NOBLANKS | +#ifdef LIBXML_SAX1_ENABLED + XML_PARSE_SAX1 | +#endif + XML_PARSE_NONET | + XML_PARSE_NODICT | + XML_PARSE_NSCLEAN | + XML_PARSE_NOCDATA | + XML_PARSE_COMPACT | + XML_PARSE_OLD10 | + XML_PARSE_HUGE | + XML_PARSE_OLDSAX | + XML_PARSE_IGNORE_ENC | + XML_PARSE_BIG_LINES | + XML_PARSE_NO_XXE | + XML_PARSE_UNZIP | + XML_PARSE_NO_SYS_CATALOG | + XML_PARSE_CATALOG_PI; + + ctxt->options = (ctxt->options & keepMask) | (options & allMask); + + /* + * For some options, struct members are historically the source + * of truth. The values are initalized from global variables and + * old code could also modify them directly. Several older API + * functions that don't take an options argument rely on these + * deprecated mechanisms. + * + * Once public access to struct members and the globals are + * disabled, we can use the options bitmask as source of + * truth, making all these struct members obsolete. + * + * The XML_DETECT_IDS flags is misnamed. It simply enables + * loading of the external subset. + */ + ctxt->recovery = (options & XML_PARSE_RECOVER) ? 1 : 0; + ctxt->replaceEntities = (options & XML_PARSE_NOENT) ? 1 : 0; + ctxt->loadsubset = (options & XML_PARSE_DTDLOAD) ? XML_DETECT_IDS : 0; + ctxt->loadsubset |= (options & XML_PARSE_DTDATTR) ? XML_COMPLETE_ATTRS : 0; + ctxt->loadsubset |= (options & XML_PARSE_SKIP_IDS) ? XML_SKIP_IDS : 0; + ctxt->validate = (options & XML_PARSE_DTDVALID) ? 1 : 0; + ctxt->pedantic = (options & XML_PARSE_PEDANTIC) ? 1 : 0; + ctxt->keepBlanks = (options & XML_PARSE_NOBLANKS) ? 0 : 1; + ctxt->dictNames = (options & XML_PARSE_NODICT) ? 0 : 1; + + return(options & ~allMask); +} + +/** + * Applies the options to the parser context. Unset options are + * cleared. + * + * @since 2.13.0 + * + * With older versions, you can use #xmlCtxtUseOptions. + * + * @param ctxt an XML parser context + * @param options a bitmask of xmlParserOption values + * @returns 0 in case of success, the set of unknown or unimplemented options + * in case of error. + */ +int +xmlCtxtSetOptions(xmlParserCtxt *ctxt, int options) +{ +#ifdef LIBXML_HTML_ENABLED + if ((ctxt != NULL) && (ctxt->html)) + return(htmlCtxtSetOptions(ctxt, options)); +#endif + + return(xmlCtxtSetOptionsInternal(ctxt, options, 0)); +} + +/** + * Get the current options of the parser context. + * + * @since 2.14.0 + * + * @param ctxt an XML parser context + * @returns the current options set in the parser context, or -1 if ctxt is NULL. + */ +int +xmlCtxtGetOptions(xmlParserCtxt *ctxt) +{ + if (ctxt == NULL) + return(-1); + + return(ctxt->options); +} + +/** + * Applies the options to the parser context. The following options + * are never cleared and can only be enabled: + * + * - XML_PARSE_NOERROR + * - XML_PARSE_NOWARNING + * - XML_PARSE_NONET + * - XML_PARSE_NSCLEAN + * - XML_PARSE_NOCDATA + * - XML_PARSE_COMPACT + * - XML_PARSE_OLD10 + * - XML_PARSE_HUGE + * - XML_PARSE_OLDSAX + * - XML_PARSE_IGNORE_ENC + * - XML_PARSE_BIG_LINES + * + * @deprecated Use #xmlCtxtSetOptions. + * + * @param ctxt an XML parser context + * @param options a combination of xmlParserOption + * @returns 0 in case of success, the set of unknown or unimplemented options + * in case of error. + */ +int +xmlCtxtUseOptions(xmlParserCtxt *ctxt, int options) +{ + int keepMask; + +#ifdef LIBXML_HTML_ENABLED + if ((ctxt != NULL) && (ctxt->html)) + return(htmlCtxtUseOptions(ctxt, options)); +#endif + + /* + * For historic reasons, some options can only be enabled. + */ + keepMask = XML_PARSE_NOERROR | + XML_PARSE_NOWARNING | + XML_PARSE_NONET | + XML_PARSE_NSCLEAN | + XML_PARSE_NOCDATA | + XML_PARSE_COMPACT | + XML_PARSE_OLD10 | + XML_PARSE_HUGE | + XML_PARSE_OLDSAX | + XML_PARSE_IGNORE_ENC | + XML_PARSE_BIG_LINES; + + return(xmlCtxtSetOptionsInternal(ctxt, options, keepMask)); +} + +/** + * To protect against exponential entity expansion ("billion laughs"), the + * size of serialized output is (roughly) limited to the input size + * multiplied by this factor. The default value is 5. + * + * When working with documents making heavy use of entity expansion, it can + * be necessary to increase the value. For security reasons, this should only + * be considered when processing trusted input. + * + * @param ctxt an XML parser context + * @param maxAmpl maximum amplification factor + */ +void +xmlCtxtSetMaxAmplification(xmlParserCtxt *ctxt, unsigned maxAmpl) +{ + if (ctxt == NULL) + return; + if (maxAmpl == 0) + return; + ctxt->maxAmpl = maxAmpl; +} + +/** + * Parse an XML document and return the resulting document tree. + * Takes ownership of the input object. + * + * @since 2.13.0 + * + * @param ctxt an XML parser context + * @param input parser input + * @returns the resulting document tree or NULL + */ +xmlDoc * +xmlCtxtParseDocument(xmlParserCtxt *ctxt, xmlParserInput *input) +{ + xmlDocPtr ret = NULL; + + if ((ctxt == NULL) || (input == NULL)) { + xmlFatalErr(ctxt, XML_ERR_ARGUMENT, NULL); + xmlFreeInputStream(input); + return(NULL); + } + + /* assert(ctxt->inputNr == 0); */ + while (ctxt->inputNr > 0) + xmlFreeInputStream(xmlCtxtPopInput(ctxt)); + + if (xmlCtxtPushInput(ctxt, input) < 0) { + xmlFreeInputStream(input); + return(NULL); + } + + xmlParseDocument(ctxt); + + ret = xmlCtxtGetDocument(ctxt); + + /* assert(ctxt->inputNr == 1); */ + while (ctxt->inputNr > 0) + xmlFreeInputStream(xmlCtxtPopInput(ctxt)); + + return(ret); +} + +/** + * Convenience function to parse an XML document from a + * zero-terminated string. + * + * See #xmlCtxtReadDoc for details. + * + * @param cur a pointer to a zero terminated string + * @param URL base URL (optional) + * @param encoding the document encoding (optional) + * @param options a combination of xmlParserOption + * @returns the resulting document tree + */ +xmlDoc * +xmlReadDoc(const xmlChar *cur, const char *URL, const char *encoding, + int options) +{ + xmlParserCtxtPtr ctxt; + xmlParserInputPtr input; + xmlDocPtr doc = NULL; + + ctxt = xmlNewParserCtxt(); + if (ctxt == NULL) + return(NULL); + + xmlCtxtUseOptions(ctxt, options); + + input = xmlCtxtNewInputFromString(ctxt, URL, (const char *) cur, encoding, + XML_INPUT_BUF_STATIC); + + if (input != NULL) + doc = xmlCtxtParseDocument(ctxt, input); + + xmlFreeParserCtxt(ctxt); + return(doc); +} + +/** + * Convenience function to parse an XML file from the filesystem + * or a global, user-defined resource loader. + * + * If a "-" filename is passed, the function will read from stdin. + * This feature is potentially insecure and might be removed from + * later versions. + * + * See #xmlCtxtReadFile for details. + * + * @param filename a file or URL + * @param encoding the document encoding (optional) + * @param options a combination of xmlParserOption + * @returns the resulting document tree + */ +xmlDoc * +xmlReadFile(const char *filename, const char *encoding, int options) +{ + xmlParserCtxtPtr ctxt; + xmlParserInputPtr input; + xmlDocPtr doc = NULL; + + ctxt = xmlNewParserCtxt(); + if (ctxt == NULL) + return(NULL); + + xmlCtxtUseOptions(ctxt, options); + + /* + * Backward compatibility for users of command line utilities like + * xmlstarlet expecting "-" to mean stdin. This is dangerous and + * should be removed at some point. + */ + if ((filename != NULL) && (filename[0] == '-') && (filename[1] == 0)) + input = xmlCtxtNewInputFromFd(ctxt, filename, STDIN_FILENO, + encoding, 0); + else + input = xmlCtxtNewInputFromUrl(ctxt, filename, NULL, encoding, 0); + + if (input != NULL) + doc = xmlCtxtParseDocument(ctxt, input); + + xmlFreeParserCtxt(ctxt); + return(doc); +} + +/** + * Parse an XML in-memory document and build a tree. The input buffer must + * not contain a terminating null byte. + * + * See #xmlCtxtReadMemory for details. + * + * @param buffer a pointer to a char array + * @param size the size of the array + * @param url base URL (optional) + * @param encoding the document encoding (optional) + * @param options a combination of xmlParserOption + * @returns the resulting document tree + */ +xmlDoc * +xmlReadMemory(const char *buffer, int size, const char *url, + const char *encoding, int options) +{ + xmlParserCtxtPtr ctxt; + xmlParserInputPtr input; + xmlDocPtr doc = NULL; + + if (size < 0) + return(NULL); + + ctxt = xmlNewParserCtxt(); + if (ctxt == NULL) + return(NULL); + + xmlCtxtUseOptions(ctxt, options); + + input = xmlCtxtNewInputFromMemory(ctxt, url, buffer, size, encoding, + XML_INPUT_BUF_STATIC); + + if (input != NULL) + doc = xmlCtxtParseDocument(ctxt, input); + + xmlFreeParserCtxt(ctxt); + return(doc); +} + +/** + * Parse an XML from a file descriptor and build a tree. + * + * See #xmlCtxtReadFd for details. + * + * NOTE that the file descriptor will not be closed when the + * context is freed or reset. + * + * @param fd an open file descriptor + * @param URL base URL (optional) + * @param encoding the document encoding (optional) + * @param options a combination of xmlParserOption + * @returns the resulting document tree + */ +xmlDoc * +xmlReadFd(int fd, const char *URL, const char *encoding, int options) +{ + xmlParserCtxtPtr ctxt; + xmlParserInputPtr input; + xmlDocPtr doc = NULL; + + ctxt = xmlNewParserCtxt(); + if (ctxt == NULL) + return(NULL); + + xmlCtxtUseOptions(ctxt, options); + + input = xmlCtxtNewInputFromFd(ctxt, URL, fd, encoding, 0); + + if (input != NULL) + doc = xmlCtxtParseDocument(ctxt, input); + + xmlFreeParserCtxt(ctxt); + return(doc); +} + +/** + * Parse an XML document from I/O functions and context and build a tree. + * + * See #xmlCtxtReadIO for details. + * + * @param ioread an I/O read function + * @param ioclose an I/O close function (optional) + * @param ioctx an I/O handler + * @param URL base URL (optional) + * @param encoding the document encoding (optional) + * @param options a combination of xmlParserOption + * @returns the resulting document tree + */ +xmlDoc * +xmlReadIO(xmlInputReadCallback ioread, xmlInputCloseCallback ioclose, + void *ioctx, const char *URL, const char *encoding, int options) +{ + xmlParserCtxtPtr ctxt; + xmlParserInputPtr input; + xmlDocPtr doc = NULL; + + ctxt = xmlNewParserCtxt(); + if (ctxt == NULL) + return(NULL); + + xmlCtxtUseOptions(ctxt, options); + + input = xmlCtxtNewInputFromIO(ctxt, URL, ioread, ioclose, ioctx, + encoding, 0); + + if (input != NULL) + doc = xmlCtxtParseDocument(ctxt, input); + + xmlFreeParserCtxt(ctxt); + return(doc); +} + +/** + * Parse an XML in-memory document and build a tree. + * + * `URL` is used as base to resolve external entities and for error + * reporting. + * + * @param ctxt an XML parser context + * @param str a pointer to a zero terminated string + * @param URL base URL (optional) + * @param encoding the document encoding (optional) + * @param options a combination of xmlParserOption + * @returns the resulting document tree + */ +xmlDoc * +xmlCtxtReadDoc(xmlParserCtxt *ctxt, const xmlChar *str, + const char *URL, const char *encoding, int options) +{ + xmlParserInputPtr input; + + if (ctxt == NULL) + return(NULL); + + xmlCtxtReset(ctxt); + xmlCtxtUseOptions(ctxt, options); + + input = xmlCtxtNewInputFromString(ctxt, URL, (const char *) str, encoding, + XML_INPUT_BUF_STATIC); + if (input == NULL) + return(NULL); + + return(xmlCtxtParseDocument(ctxt, input)); +} + +/** + * Parse an XML file from the filesystem or a global, user-defined + * resource loader. + * + * @param ctxt an XML parser context + * @param filename a file or URL + * @param encoding the document encoding (optional) + * @param options a combination of xmlParserOption + * @returns the resulting document tree + */ +xmlDoc * +xmlCtxtReadFile(xmlParserCtxt *ctxt, const char *filename, + const char *encoding, int options) +{ + xmlParserInputPtr input; + + if (ctxt == NULL) + return(NULL); + + xmlCtxtReset(ctxt); + xmlCtxtUseOptions(ctxt, options); + + input = xmlCtxtNewInputFromUrl(ctxt, filename, NULL, encoding, 0); + if (input == NULL) + return(NULL); + + return(xmlCtxtParseDocument(ctxt, input)); +} + +/** + * Parse an XML in-memory document and build a tree. The input buffer must + * not contain a terminating null byte. + * + * `URL` is used as base to resolve external entities and for error + * reporting. + * + * @param ctxt an XML parser context + * @param buffer a pointer to a char array + * @param size the size of the array + * @param URL base URL (optional) + * @param encoding the document encoding (optional) + * @param options a combination of xmlParserOption + * @returns the resulting document tree + */ +xmlDoc * +xmlCtxtReadMemory(xmlParserCtxt *ctxt, const char *buffer, int size, + const char *URL, const char *encoding, int options) +{ + xmlParserInputPtr input; + + if ((ctxt == NULL) || (size < 0)) + return(NULL); + + xmlCtxtReset(ctxt); + xmlCtxtUseOptions(ctxt, options); + + input = xmlCtxtNewInputFromMemory(ctxt, URL, buffer, size, encoding, + XML_INPUT_BUF_STATIC); + if (input == NULL) + return(NULL); + + return(xmlCtxtParseDocument(ctxt, input)); +} + +/** + * Parse an XML document from a file descriptor and build a tree. + * + * NOTE that the file descriptor will not be closed when the + * context is freed or reset. + * + * `URL` is used as base to resolve external entities and for error + * reporting. + * + * @param ctxt an XML parser context + * @param fd an open file descriptor + * @param URL base URL (optional) + * @param encoding the document encoding (optional) + * @param options a combination of xmlParserOption + * @returns the resulting document tree + */ +xmlDoc * +xmlCtxtReadFd(xmlParserCtxt *ctxt, int fd, + const char *URL, const char *encoding, int options) +{ + xmlParserInputPtr input; + + if (ctxt == NULL) + return(NULL); + + xmlCtxtReset(ctxt); + xmlCtxtUseOptions(ctxt, options); + + input = xmlCtxtNewInputFromFd(ctxt, URL, fd, encoding, 0); + if (input == NULL) + return(NULL); + + return(xmlCtxtParseDocument(ctxt, input)); +} + +/** + * Parse an XML document from I/O functions and source and build a tree. + * This reuses the existing `ctxt` parser context + * + * `URL` is used as base to resolve external entities and for error + * reporting. + * + * @param ctxt an XML parser context + * @param ioread an I/O read function + * @param ioclose an I/O close function + * @param ioctx an I/O handler + * @param URL the base URL to use for the document + * @param encoding the document encoding, or NULL + * @param options a combination of xmlParserOption + * @returns the resulting document tree + */ +xmlDoc * +xmlCtxtReadIO(xmlParserCtxt *ctxt, xmlInputReadCallback ioread, + xmlInputCloseCallback ioclose, void *ioctx, + const char *URL, + const char *encoding, int options) +{ + xmlParserInputPtr input; + + if (ctxt == NULL) + return(NULL); + + xmlCtxtReset(ctxt); + xmlCtxtUseOptions(ctxt, options); + + input = xmlCtxtNewInputFromIO(ctxt, URL, ioread, ioclose, ioctx, + encoding, 0); + if (input == NULL) + return(NULL); + + return(xmlCtxtParseDocument(ctxt, input)); +} + diff --git a/libxml2/parserInternals.c b/libxml2/parserInternals.c new file mode 100644 index 0000000..24e7c5b --- /dev/null +++ b/libxml2/parserInternals.c @@ -0,0 +1,3741 @@ +/* + * parserInternals.c : Internal routines (and obsolete ones) needed for the + * XML and HTML parsers. + * + * See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#define IN_LIBXML +#include "libxml.h" + +#if defined(_WIN32) +#define XML_DIR_SEP '\\' +#else +#define XML_DIR_SEP '/' +#endif + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#ifdef LIBXML_CATALOG_ENABLED +#include +#endif +#include + +#define CUR(ctxt) ctxt->input->cur +#define END(ctxt) ctxt->input->end + +#include "private/buf.h" +#include "private/enc.h" +#include "private/error.h" +#include "private/globals.h" +#include "private/io.h" +#include "private/memory.h" +#include "private/parser.h" + +#ifndef SIZE_MAX + #define SIZE_MAX ((size_t) -1) +#endif + +#define XML_MAX_ERRORS 100 + +/* + * XML_MAX_AMPLIFICATION_DEFAULT is the default maximum allowed amplification + * factor of serialized output after entity expansion. + */ +#define XML_MAX_AMPLIFICATION_DEFAULT 5 + +/* + * Various global defaults for parsing + */ + +/** + * check the compiled lib version against the include one. + * + * @param version the include version number + */ +void +xmlCheckVersion(int version) { + int myversion = LIBXML_VERSION; + + xmlInitParser(); + + if ((myversion / 10000) != (version / 10000)) { + xmlPrintErrorMessage( + "Fatal: program compiled against libxml %d using libxml %d\n", + (version / 10000), (myversion / 10000)); + } else if ((myversion / 100) < (version / 100)) { + xmlPrintErrorMessage( + "Warning: program compiled against libxml %d using older %d\n", + (version / 100), (myversion / 100)); + } +} + + +/************************************************************************ + * * + * Some factorized error routines * + * * + ************************************************************************/ + + +/** + * Register a callback function that will be called on errors and + * warnings. If handler is NULL, the error handler will be deactivated. + * + * If you only want to disable parser errors being printed to + * stderr, use xmlParserOption XML_PARSE_NOERROR. + * + * This is the recommended way to collect errors from the parser and + * takes precedence over all other error reporting mechanisms. + * These are (in order of precedence): + * + * - per-context structured handler (#xmlCtxtSetErrorHandler) + * - per-context structured "serror" SAX handler + * - global structured handler (#xmlSetStructuredErrorFunc) + * - per-context generic "error" and "warning" SAX handlers + * - global generic handler (#xmlSetGenericErrorFunc) + * - print to stderr + * + * @since 2.13.0 + * @param ctxt an XML parser context + * @param handler error handler + * @param data data for error handler + */ +void +xmlCtxtSetErrorHandler(xmlParserCtxt *ctxt, xmlStructuredErrorFunc handler, + void *data) +{ + if (ctxt == NULL) + return; + ctxt->errorHandler = handler; + ctxt->errorCtxt = data; +} + +/** + * Get the last error raised. + * + * Note that the XML parser typically doesn't stop after + * encountering an error and will often report multiple errors. + * Most of the time, the last error isn't useful. Future + * versions might return the first parser error instead. + * + * @param ctx an XML parser context + * @returns NULL if no error occurred or a pointer to the error + */ +const xmlError * +xmlCtxtGetLastError(void *ctx) +{ + xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx; + + if (ctxt == NULL) + return (NULL); + if (ctxt->lastError.code == XML_ERR_OK) + return (NULL); + return (&ctxt->lastError); +} + +/** + * Reset the last parser error to success. This does not change + * the well-formedness status. + * + * @param ctx an XML parser context + */ +void +xmlCtxtResetLastError(void *ctx) +{ + xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx; + + if (ctxt == NULL) + return; + ctxt->errNo = XML_ERR_OK; + if (ctxt->lastError.code == XML_ERR_OK) + return; + xmlResetError(&ctxt->lastError); +} + +/** + * Handle an out-of-memory error. + * + * @since 2.13.0 + * @param ctxt an XML parser context + */ +void +xmlCtxtErrMemory(xmlParserCtxt *ctxt) +{ + xmlStructuredErrorFunc schannel = NULL; + xmlGenericErrorFunc channel = NULL; + void *data; + + if (ctxt == NULL) { + xmlRaiseMemoryError(NULL, NULL, NULL, XML_FROM_PARSER, NULL); + return; + } + + ctxt->errNo = XML_ERR_NO_MEMORY; + ctxt->instate = XML_PARSER_EOF; /* TODO: Remove after refactoring */ + ctxt->wellFormed = 0; + ctxt->disableSAX = 2; + + if (ctxt->errorHandler) { + schannel = ctxt->errorHandler; + data = ctxt->errorCtxt; + } else if ((ctxt->sax->initialized == XML_SAX2_MAGIC) && + (ctxt->sax->serror != NULL)) { + schannel = ctxt->sax->serror; + data = ctxt->userData; + } else { + channel = ctxt->sax->error; + data = ctxt->userData; + } + + xmlRaiseMemoryError(schannel, channel, data, XML_FROM_PARSER, + &ctxt->lastError); +} + +/** + * If filename is empty, use the one from context input if available. + * + * Report an IO error to the parser context. + * + * @param ctxt parser context + * @param code xmlParserErrors code + * @param uri filename or URI (optional) + */ +void +xmlCtxtErrIO(xmlParserCtxt *ctxt, int code, const char *uri) +{ + const char *errstr, *msg, *str1, *str2; + xmlErrorLevel level; + + if (ctxt == NULL) + return; + + if (((code == XML_IO_ENOENT) || + (code == XML_IO_UNKNOWN))) { + /* + * Only report a warning if a file could not be found. This should + * only be done for external entities, but the external entity loader + * of xsltproc can try multiple paths and assumes that ENOENT doesn't + * raise an error and aborts parsing. + */ + if (ctxt->validate == 0) + level = XML_ERR_WARNING; + else + level = XML_ERR_ERROR; + } else if (code == XML_IO_NETWORK_ATTEMPT) { + level = XML_ERR_ERROR; + } else { + level = XML_ERR_FATAL; + } + + errstr = xmlErrString(code); + + if (uri == NULL) { + msg = "%s\n"; + str1 = errstr; + str2 = NULL; + } else { + msg = "failed to load \"%s\": %s\n"; + str1 = uri; + str2 = errstr; + } + + xmlCtxtErr(ctxt, NULL, XML_FROM_IO, code, level, + (const xmlChar *) uri, NULL, NULL, 0, + msg, str1, str2); +} + +/** + * @param ctxt parser context + * @returns true if the last error is catastrophic. + */ +int +xmlCtxtIsCatastrophicError(xmlParserCtxt *ctxt) { + if (ctxt == NULL) + return(1); + + return(xmlIsCatastrophicError(ctxt->lastError.level, + ctxt->lastError.code)); +} + +/** + * Raise a parser error. + * + * @param ctxt a parser context + * @param node the current node or NULL + * @param domain the domain for the error + * @param code the code for the error + * @param level the xmlErrorLevel for the error + * @param str1 extra string info + * @param str2 extra string info + * @param str3 extra string info + * @param int1 extra int info + * @param msg the message to display/transmit + * @param ap extra parameters for the message display + */ +void +xmlCtxtVErr(xmlParserCtxt *ctxt, xmlNode *node, xmlErrorDomain domain, + xmlParserErrors code, xmlErrorLevel level, + const xmlChar *str1, const xmlChar *str2, const xmlChar *str3, + int int1, const char *msg, va_list ap) +{ + xmlStructuredErrorFunc schannel = NULL; + xmlGenericErrorFunc channel = NULL; + void *data = NULL; + const char *file = NULL; + int line = 0; + int col = 0; + int res; + + if (code == XML_ERR_NO_MEMORY) { + xmlCtxtErrMemory(ctxt); + return; + } + + if (ctxt == NULL) { + res = xmlVRaiseError(NULL, NULL, NULL, NULL, node, domain, code, + level, NULL, 0, (const char *) str1, + (const char *) str2, (const char *) str3, + int1, 0, msg, ap); + if (res < 0) + xmlRaiseMemoryError(NULL, NULL, NULL, XML_FROM_PARSER, NULL); + + return; + } + + if (PARSER_STOPPED(ctxt)) + return; + + /* Don't overwrite catastrophic errors */ + if (xmlCtxtIsCatastrophicError(ctxt)) + return; + + if (level == XML_ERR_WARNING) { + if (ctxt->nbWarnings >= XML_MAX_ERRORS) + return; + ctxt->nbWarnings += 1; + } else { + /* + * By long-standing design, the parser isn't completely + * stopped on well-formedness errors. Only SAX callbacks + * are disabled. + * + * In some situations, we really want to abort as fast + * as possible. + */ + if (xmlIsCatastrophicError(level, code) || + code == XML_ERR_RESOURCE_LIMIT || + code == XML_ERR_ENTITY_LOOP) { + ctxt->disableSAX = 2; /* really stop parser */ + } else { + /* Report at least one fatal error. */ + if (ctxt->nbErrors >= XML_MAX_ERRORS && + (level < XML_ERR_FATAL || ctxt->wellFormed == 0)) + return; + + if (level == XML_ERR_FATAL && ctxt->recovery == 0) + ctxt->disableSAX = 1; + } + + if (level == XML_ERR_FATAL) + ctxt->wellFormed = 0; + ctxt->errNo = code; + ctxt->nbErrors += 1; + } + + if (((ctxt->options & XML_PARSE_NOERROR) == 0) && + ((level != XML_ERR_WARNING) || + ((ctxt->options & XML_PARSE_NOWARNING) == 0))) { + if (ctxt->errorHandler) { + schannel = ctxt->errorHandler; + data = ctxt->errorCtxt; + } else if ((ctxt->sax->initialized == XML_SAX2_MAGIC) && + (ctxt->sax->serror != NULL)) { + schannel = ctxt->sax->serror; + data = ctxt->userData; + } else if ((domain == XML_FROM_VALID) || (domain == XML_FROM_DTD)) { + if (level == XML_ERR_WARNING) + channel = ctxt->vctxt.warning; + else + channel = ctxt->vctxt.error; + data = ctxt->vctxt.userData; + } else { + if (level == XML_ERR_WARNING) + channel = ctxt->sax->warning; + else + channel = ctxt->sax->error; + data = ctxt->userData; + } + } + + if (ctxt->input != NULL) { + xmlParserInputPtr input = ctxt->input; + + if ((input->filename == NULL) && + (ctxt->inputNr > 1)) { + input = ctxt->inputTab[ctxt->inputNr - 2]; + } + file = input->filename; + line = input->line; + col = input->col; + } + + res = xmlVRaiseError(schannel, channel, data, ctxt, node, domain, code, + level, file, line, (const char *) str1, + (const char *) str2, (const char *) str3, int1, col, + msg, ap); + + if (res < 0) { + xmlCtxtErrMemory(ctxt); + return; + } +} + +/** + * Raise a parser error. + * + * @param ctxt a parser context + * @param node the current node or NULL + * @param domain the domain for the error + * @param code the code for the error + * @param level the xmlErrorLevel for the error + * @param str1 extra string info + * @param str2 extra string info + * @param str3 extra string info + * @param int1 extra int info + * @param msg the message to display/transmit + * @param ... extra parameters for the message display + */ +void +xmlCtxtErr(xmlParserCtxt *ctxt, xmlNode *node, xmlErrorDomain domain, + xmlParserErrors code, xmlErrorLevel level, + const xmlChar *str1, const xmlChar *str2, const xmlChar *str3, + int int1, const char *msg, ...) +{ + va_list ap; + + va_start(ap, msg); + xmlCtxtVErr(ctxt, node, domain, code, level, + str1, str2, str3, int1, msg, ap); + va_end(ap); +} + +/** + * Get well-formedness and validation status after parsing. Also + * reports catastrophic errors which are not related to parsing + * like out-of-memory, I/O or other errors. + * + * @since 2.14.0 + * + * @param ctxt an XML parser context + * @returns a bitmask of XML_STATUS_* flags ORed together. + */ +xmlParserStatus +xmlCtxtGetStatus(xmlParserCtxt *ctxt) { + xmlParserStatus bits = 0; + + if (xmlCtxtIsCatastrophicError(ctxt)) { + bits |= XML_STATUS_CATASTROPHIC_ERROR | + XML_STATUS_NOT_WELL_FORMED | + XML_STATUS_NOT_NS_WELL_FORMED; + if ((ctxt != NULL) && (ctxt->validate)) + bits |= XML_STATUS_DTD_VALIDATION_FAILED; + + return(bits); + } + + if (!ctxt->wellFormed) + bits |= XML_STATUS_NOT_WELL_FORMED; + if (!ctxt->nsWellFormed) + bits |= XML_STATUS_NOT_NS_WELL_FORMED; + if ((ctxt->validate) && (!ctxt->valid)) + bits |= XML_STATUS_DTD_VALIDATION_FAILED; + + return(bits); +} + +/** + * Handle a fatal parser error, i.e. violating Well-Formedness constraints + * + * @param ctxt an XML parser context + * @param code the error number + * @param info extra information string + */ +void +xmlFatalErr(xmlParserCtxt *ctxt, xmlParserErrors code, const char *info) +{ + const char *errmsg; + xmlErrorDomain domain = XML_FROM_PARSER; + xmlErrorLevel level = XML_ERR_FATAL; + + errmsg = xmlErrString(code); + + if ((ctxt != NULL) && (ctxt->html)) { + domain = XML_FROM_HTML; + + /* Continue if encoding is unsupported */ + if (code == XML_ERR_UNSUPPORTED_ENCODING) + level = XML_ERR_ERROR; + } + + if (info == NULL) { + xmlCtxtErr(ctxt, NULL, domain, code, level, + NULL, NULL, NULL, 0, "%s\n", errmsg); + } else { + xmlCtxtErr(ctxt, NULL, domain, code, level, + (const xmlChar *) info, NULL, NULL, 0, + "%s: %s\n", errmsg, info); + } +} + +/** + * Return window into current parser data. + * + * @param input parser input + * @param startOut start of window (output) + * @param sizeInOut maximum size of window (in) + * actual size of window (out) + * @param offsetOut offset of current position inside + * window (out) + */ +void +xmlParserInputGetWindow(xmlParserInput *input, const xmlChar **startOut, + int *sizeInOut, int *offsetOut) { + const xmlChar *cur, *base, *start; + int n, col; + int size = *sizeInOut; + + cur = input->cur; + base = input->base; + /* skip backwards over any end-of-lines */ + while ((cur > base) && ((*(cur) == '\n') || (*(cur) == '\r'))) { + cur--; + } + n = 0; + /* search backwards for beginning-of-line (to max buff size) */ + while ((n < size) && (cur > base) && + (*cur != '\n') && (*cur != '\r')) { + cur--; + n++; + } + if ((n > 0) && ((*cur == '\n') || (*cur == '\r'))) { + cur++; + } else { + /* skip over continuation bytes */ + while ((cur < input->cur) && ((*cur & 0xC0) == 0x80)) + cur++; + } + /* calculate the error position in terms of the current position */ + col = input->cur - cur; + /* search forward for end-of-line (to max buff size) */ + n = 0; + start = cur; + /* copy selected text to our buffer */ + while ((*cur != 0) && (*(cur) != '\n') && (*(cur) != '\r')) { + int len = input->end - cur; + int c = xmlGetUTF8Char(cur, &len); + + if ((c < 0) || (n + len > size)) + break; + cur += len; + n += len; + } + + /* + * col can only point to the end of the buffer if + * there's space for a marker. + */ + if (col >= n) + col = n < size ? n : size - 1; + + *startOut = start; + *sizeInOut = n; + *offsetOut = col; +} + +/** + * Check whether the character is allowed by the production + * + * @deprecated Internal function, don't use. + * + * ``` + * [84] Letter ::= BaseChar | Ideographic + * ``` + * + * @param c an unicode character (int) + * @returns 0 if not, non-zero otherwise + */ +int +xmlIsLetter(int c) { + return(IS_BASECHAR(c) || IS_IDEOGRAPHIC(c)); +} + +/************************************************************************ + * * + * Input handling functions for progressive parsing * + * * + ************************************************************************/ + +/* we need to keep enough input to show errors in context */ +#define LINE_LEN 80 + +/** + * @deprecated This function was internal and is deprecated. + * + * @param in an XML parser input + * @param len an indicative size for the lookahead + * @returns -1 as this is an error to use it. + */ +int +xmlParserInputRead(xmlParserInput *in ATTRIBUTE_UNUSED, int len ATTRIBUTE_UNUSED) { + return(-1); +} + +/** + * Grow the input buffer. + * + * @param ctxt an XML parser context + * @returns the number of bytes read or -1 in case of error. + */ +int +xmlParserGrow(xmlParserCtxt *ctxt) { + xmlParserInputPtr in = ctxt->input; + xmlParserInputBufferPtr buf = in->buf; + size_t curEnd = in->end - in->cur; + size_t curBase = in->cur - in->base; + size_t maxLength = (ctxt->options & XML_PARSE_HUGE) ? + XML_MAX_HUGE_LENGTH : + XML_MAX_LOOKUP_LIMIT; + int ret; + + if (buf == NULL) + return(0); + /* Don't grow push parser buffer. */ + if (PARSER_PROGRESSIVE(ctxt)) + return(0); + /* Don't grow memory buffers. */ + if ((buf->encoder == NULL) && (buf->readcallback == NULL)) + return(0); + if (buf->error != 0) + return(-1); + + if (curBase > maxLength) { + xmlFatalErr(ctxt, XML_ERR_RESOURCE_LIMIT, + "Buffer size limit exceeded, try XML_PARSE_HUGE\n"); + return(-1); + } + + if (curEnd >= INPUT_CHUNK) + return(0); + + ret = xmlParserInputBufferGrow(buf, INPUT_CHUNK); + xmlBufUpdateInput(buf->buffer, in, curBase); + + if (ret < 0) { + xmlCtxtErrIO(ctxt, buf->error, NULL); + } + + return(ret); +} + +/** + * Raises an error with `code` if the input wasn't consumed + * completely. + * + * @param ctxt parser ctxt + * @param code error code + */ +void +xmlParserCheckEOF(xmlParserCtxt *ctxt, xmlParserErrors code) { + xmlParserInputPtr in = ctxt->input; + xmlParserInputBufferPtr buf; + + if (ctxt->errNo != XML_ERR_OK) + return; + + if (in->cur < in->end) { + xmlFatalErr(ctxt, code, NULL); + return; + } + + buf = in->buf; + if ((buf != NULL) && (buf->encoder != NULL)) { + size_t curBase = in->cur - in->base; + size_t sizeOut = 64; + xmlCharEncError ret; + + /* + * Check for truncated multi-byte sequence + */ + ret = xmlCharEncInput(buf, &sizeOut, /* flush */ 1); + xmlBufUpdateInput(buf->buffer, in, curBase); + if (ret != XML_ENC_ERR_SUCCESS) { + xmlCtxtErrIO(ctxt, buf->error, NULL); + return; + } + + /* Shouldn't happen */ + if (in->cur < in->end) + xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR, "expected EOF"); + } +} + +/** + * This function increase the input for the parser. It tries to + * preserve pointers to the input buffer, and keep already read data + * + * @deprecated Don't use. + * + * @param in an XML parser input + * @param len an indicative size for the lookahead + * @returns the amount of char read, or -1 in case of error, 0 indicate the + * end of this entity + */ +int +xmlParserInputGrow(xmlParserInput *in, int len) { + int ret; + size_t indx; + + if ((in == NULL) || (len < 0)) return(-1); + if (in->buf == NULL) return(-1); + if (in->base == NULL) return(-1); + if (in->cur == NULL) return(-1); + if (in->buf->buffer == NULL) return(-1); + + /* Don't grow memory buffers. */ + if ((in->buf->encoder == NULL) && (in->buf->readcallback == NULL)) + return(0); + + indx = in->cur - in->base; + if (xmlBufUse(in->buf->buffer) > (unsigned int) indx + INPUT_CHUNK) { + return(0); + } + ret = xmlParserInputBufferGrow(in->buf, len); + + in->base = xmlBufContent(in->buf->buffer); + if (in->base == NULL) { + in->base = BAD_CAST ""; + in->cur = in->base; + in->end = in->base; + return(-1); + } + in->cur = in->base + indx; + in->end = xmlBufEnd(in->buf->buffer); + + return(ret); +} + +/** + * Shrink the input buffer. + * + * @param ctxt an XML parser context + */ +void +xmlParserShrink(xmlParserCtxt *ctxt) { + xmlParserInputPtr in = ctxt->input; + xmlParserInputBufferPtr buf = in->buf; + size_t used, res; + + if (buf == NULL) + return; + + used = in->cur - in->base; + + if (used > LINE_LEN) { + res = xmlBufShrink(buf->buffer, used - LINE_LEN); + + if (res > 0) { + used -= res; + xmlSaturatedAddSizeT(&in->consumed, res); + } + + xmlBufUpdateInput(buf->buffer, in, used); + } +} + +/** + * This function removes used input for the parser. + * + * @deprecated Don't use. + * + * @param in an XML parser input + */ +void +xmlParserInputShrink(xmlParserInput *in) { + size_t used; + size_t ret; + + if (in == NULL) return; + if (in->buf == NULL) return; + if (in->base == NULL) return; + if (in->cur == NULL) return; + if (in->buf->buffer == NULL) return; + + used = in->cur - in->base; + + if (used > LINE_LEN) { + ret = xmlBufShrink(in->buf->buffer, used - LINE_LEN); + if (ret > 0) { + used -= ret; + xmlSaturatedAddSizeT(&in->consumed, ret); + } + + xmlBufUpdateInput(in->buf->buffer, in, used); + } +} + +/************************************************************************ + * * + * UTF8 character input and related functions * + * * + ************************************************************************/ + +/** + * Skip to the next char input char. + * + * @deprecated Internal function, do not use. + * + * @param ctxt the XML parser context + */ + +void +xmlNextChar(xmlParserCtxt *ctxt) +{ + const unsigned char *cur; + size_t avail; + int c; + + if ((ctxt == NULL) || (ctxt->input == NULL)) + return; + + avail = ctxt->input->end - ctxt->input->cur; + + if (avail < INPUT_CHUNK) { + xmlParserGrow(ctxt); + if (ctxt->input->cur >= ctxt->input->end) + return; + avail = ctxt->input->end - ctxt->input->cur; + } + + cur = ctxt->input->cur; + c = *cur; + + if (c < 0x80) { + if (c == '\n') { + ctxt->input->cur++; + ctxt->input->line++; + ctxt->input->col = 1; + } else if (c == '\r') { + /* + * 2.11 End-of-Line Handling + * the literal two-character sequence "#xD#xA" or a standalone + * literal #xD, an XML processor must pass to the application + * the single character #xA. + */ + ctxt->input->cur += ((cur[1] == '\n') ? 2 : 1); + ctxt->input->line++; + ctxt->input->col = 1; + return; + } else { + ctxt->input->cur++; + ctxt->input->col++; + } + } else { + ctxt->input->col++; + + if ((avail < 2) || (cur[1] & 0xc0) != 0x80) + goto encoding_error; + + if (c < 0xe0) { + /* 2-byte code */ + if (c < 0xc2) + goto encoding_error; + ctxt->input->cur += 2; + } else { + unsigned int val = (c << 8) | cur[1]; + + if ((avail < 3) || (cur[2] & 0xc0) != 0x80) + goto encoding_error; + + if (c < 0xf0) { + /* 3-byte code */ + if ((val < 0xe0a0) || ((val >= 0xeda0) && (val < 0xee00))) + goto encoding_error; + ctxt->input->cur += 3; + } else { + if ((avail < 4) || ((cur[3] & 0xc0) != 0x80)) + goto encoding_error; + + /* 4-byte code */ + if ((val < 0xf090) || (val >= 0xf490)) + goto encoding_error; + ctxt->input->cur += 4; + } + } + } + + return; + +encoding_error: + /* Only report the first error */ + if ((ctxt->input->flags & XML_INPUT_ENCODING_ERROR) == 0) { + xmlCtxtErrIO(ctxt, XML_ERR_INVALID_ENCODING, NULL); + ctxt->input->flags |= XML_INPUT_ENCODING_ERROR; + } + ctxt->input->cur++; +} + +/** + * The current char value, if using UTF-8 this may actually span multiple + * bytes in the input buffer. Implement the end of line normalization: + * + * @deprecated Internal function, do not use. + * + * 2.11 End-of-Line Handling + * + * Wherever an external parsed entity or the literal entity value + * of an internal parsed entity contains either the literal two-character + * sequence "#xD#xA" or a standalone literal \#xD, an XML processor + * must pass to the application the single character \#xA. + * This behavior can conveniently be produced by normalizing all + * line breaks to \#xA on input, before parsing.) + * + * @param ctxt the XML parser context + * @param len pointer to the length of the char read + * @returns the current char value and its length + */ + +int +xmlCurrentChar(xmlParserCtxt *ctxt, int *len) { + const unsigned char *cur; + size_t avail; + int c; + + if ((ctxt == NULL) || (len == NULL) || (ctxt->input == NULL)) return(0); + + avail = ctxt->input->end - ctxt->input->cur; + + if (avail < INPUT_CHUNK) { + xmlParserGrow(ctxt); + avail = ctxt->input->end - ctxt->input->cur; + } + + cur = ctxt->input->cur; + c = *cur; + + if (c < 0x80) { + /* 1-byte code */ + if (c < 0x20) { + /* + * 2.11 End-of-Line Handling + * the literal two-character sequence "#xD#xA" or a standalone + * literal #xD, an XML processor must pass to the application + * the single character #xA. + */ + if (c == '\r') { + /* + * TODO: This function shouldn't change the 'cur' pointer + * as side effect, but the NEXTL macro in parser.c relies + * on this behavior when incrementing line numbers. + */ + if (cur[1] == '\n') + ctxt->input->cur++; + *len = 1; + c = '\n'; + } else if (c == 0) { + if (ctxt->input->cur >= ctxt->input->end) { + *len = 0; + } else { + *len = 1; + /* + * TODO: Null bytes should be handled by callers, + * but this can be tricky. + */ + xmlFatalErr(ctxt, XML_ERR_INVALID_CHAR, + "Char 0x0 out of allowed range\n"); + } + } else { + *len = 1; + } + } else { + *len = 1; + } + + return(c); + } else { + int val; + + if (avail < 2) + goto incomplete_sequence; + if ((cur[1] & 0xc0) != 0x80) + goto encoding_error; + + if (c < 0xe0) { + /* 2-byte code */ + if (c < 0xc2) + goto encoding_error; + val = (c & 0x1f) << 6; + val |= cur[1] & 0x3f; + *len = 2; + } else { + if (avail < 3) + goto incomplete_sequence; + if ((cur[2] & 0xc0) != 0x80) + goto encoding_error; + + if (c < 0xf0) { + /* 3-byte code */ + val = (c & 0xf) << 12; + val |= (cur[1] & 0x3f) << 6; + val |= cur[2] & 0x3f; + if ((val < 0x800) || ((val >= 0xd800) && (val < 0xe000))) + goto encoding_error; + *len = 3; + } else { + if (avail < 4) + goto incomplete_sequence; + if ((cur[3] & 0xc0) != 0x80) + goto encoding_error; + + /* 4-byte code */ + val = (c & 0x0f) << 18; + val |= (cur[1] & 0x3f) << 12; + val |= (cur[2] & 0x3f) << 6; + val |= cur[3] & 0x3f; + if ((val < 0x10000) || (val >= 0x110000)) + goto encoding_error; + *len = 4; + } + } + + return(val); + } + +encoding_error: + /* Only report the first error */ + if ((ctxt->input->flags & XML_INPUT_ENCODING_ERROR) == 0) { + xmlCtxtErrIO(ctxt, XML_ERR_INVALID_ENCODING, NULL); + ctxt->input->flags |= XML_INPUT_ENCODING_ERROR; + } + *len = 1; + return(XML_INVALID_CHAR); + +incomplete_sequence: + /* + * An encoding problem may arise from a truncated input buffer + * splitting a character in the middle. In that case do not raise + * an error but return 0. This should only happen when push parsing + * char data. + */ + *len = 0; + return(0); +} + +/** + * The current char value, if using UTF-8 this may actually span multiple + * bytes in the input buffer. + * + * @deprecated Internal function, do not use. + * + * @param ctxt the XML parser context + * @param cur pointer to the beginning of the char + * @param len pointer to the length of the char read + * @returns the current char value and its length + */ + +int +xmlStringCurrentChar(xmlParserCtxt *ctxt ATTRIBUTE_UNUSED, + const xmlChar *cur, int *len) { + int c; + + if ((cur == NULL) || (len == NULL)) + return(0); + + /* cur is zero-terminated, so we can lie about its length. */ + *len = 4; + c = xmlGetUTF8Char(cur, len); + + return((c < 0) ? 0 : c); +} + +/** + * append the char value in the array + * + * @deprecated Internal function, don't use. + * + * @param out pointer to an array of xmlChar + * @param val the char value + * @returns the number of xmlChar written + */ +int +xmlCopyCharMultiByte(xmlChar *out, int val) { + if ((out == NULL) || (val < 0)) return(0); + /* + * We are supposed to handle UTF8, check it's valid + * From rfc2044: encoding of the Unicode values on UTF-8: + * + * UCS-4 range (hex.) UTF-8 octet sequence (binary) + * 0000 0000-0000 007F 0xxxxxxx + * 0000 0080-0000 07FF 110xxxxx 10xxxxxx + * 0000 0800-0000 FFFF 1110xxxx 10xxxxxx 10xxxxxx + */ + if (val >= 0x80) { + xmlChar *savedout = out; + int bits; + if (val < 0x800) { *out++= (val >> 6) | 0xC0; bits= 0; } + else if (val < 0x10000) { *out++= (val >> 12) | 0xE0; bits= 6;} + else if (val < 0x110000) { *out++= (val >> 18) | 0xF0; bits= 12; } + else { +#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION + xmlAbort("xmlCopyCharMultiByte: codepoint out of range\n"); +#endif + return(0); + } + for ( ; bits >= 0; bits-= 6) + *out++= ((val >> bits) & 0x3F) | 0x80 ; + return (out - savedout); + } + *out = val; + return 1; +} + +/** + * append the char value in the array + * + * @deprecated Don't use. + * + * @param len Ignored, compatibility + * @param out pointer to an array of xmlChar + * @param val the char value + * @returns the number of xmlChar written + */ + +int +xmlCopyChar(int len ATTRIBUTE_UNUSED, xmlChar *out, int val) { + if ((out == NULL) || (val < 0)) return(0); + /* the len parameter is ignored */ + if (val >= 0x80) { + return(xmlCopyCharMultiByte (out, val)); + } + *out = val; + return 1; +} + +/************************************************************************ + * * + * Commodity functions to switch encodings * + * * + ************************************************************************/ + +/** + * Installs a custom implementation to convert between character + * encodings. + * + * This bypasses legacy feature like global encoding handlers or + * encoding aliases. + * + * @since 2.14.0 + * @param ctxt parser context + * @param impl callback + * @param vctxt user data + */ +void +xmlCtxtSetCharEncConvImpl(xmlParserCtxt *ctxt, xmlCharEncConvImpl impl, + void *vctxt) { + if (ctxt == NULL) + return; + + ctxt->convImpl = impl; + ctxt->convCtxt = vctxt; +} + +static xmlParserErrors +xmlDetectEBCDIC(xmlParserCtxtPtr ctxt, xmlCharEncodingHandlerPtr *hout) { + xmlChar out[200]; + xmlParserInputPtr input = ctxt->input; + xmlCharEncodingHandlerPtr handler; + int inlen, outlen, i; + xmlParserErrors code; + xmlCharEncError res; + + *hout = NULL; + + /* + * To detect the EBCDIC code page, we convert the first 200 bytes + * to IBM037 (EBCDIC-US) and try to find the encoding declaration. + */ + code = xmlCreateCharEncodingHandler("IBM037", XML_ENC_INPUT, + ctxt->convImpl, ctxt->convCtxt, &handler); + if (code != XML_ERR_OK) + return(code); + outlen = sizeof(out) - 1; + inlen = input->end - input->cur; + res = xmlEncInputChunk(handler, out, &outlen, input->cur, &inlen, + /* flush */ 0); + /* + * Return the EBCDIC handler if decoding failed. The error will + * be reported later. + */ + if (res < 0) + goto done; + out[outlen] = 0; + + for (i = 0; i < outlen; i++) { + if (out[i] == '>') + break; + if ((out[i] == 'e') && + (xmlStrncmp(out + i, BAD_CAST "encoding", 8) == 0)) { + int start, cur, quote; + + i += 8; + while (IS_BLANK_CH(out[i])) + i += 1; + if (out[i++] != '=') + break; + while (IS_BLANK_CH(out[i])) + i += 1; + quote = out[i++]; + if ((quote != '\'') && (quote != '"')) + break; + start = i; + cur = out[i]; + while (((cur >= 'a') && (cur <= 'z')) || + ((cur >= 'A') && (cur <= 'Z')) || + ((cur >= '0') && (cur <= '9')) || + (cur == '.') || (cur == '_') || + (cur == '-')) + cur = out[++i]; + if (cur != quote) + break; + out[i] = 0; + xmlCharEncCloseFunc(handler); + code = xmlCreateCharEncodingHandler((char *) out + start, + XML_ENC_INPUT, ctxt->convImpl, ctxt->convCtxt, + &handler); + if (code != XML_ERR_OK) + return(code); + *hout = handler; + return(XML_ERR_OK); + } + } + +done: + /* + * Encoding handlers are stateful, so we have to recreate them. + */ + xmlCharEncCloseFunc(handler); + code = xmlCreateCharEncodingHandler("IBM037", XML_ENC_INPUT, + ctxt->convImpl, ctxt->convCtxt, &handler); + if (code != XML_ERR_OK) + return(code); + *hout = handler; + return(XML_ERR_OK); +} + +/** + * Use encoding specified by enum to decode input data. This overrides + * the encoding found in the XML declaration. + * + * This function can also be used to override the encoding of chunks + * passed to #xmlParseChunk. + * + * @param ctxt the parser context + * @param enc the encoding value (number) + * @returns 0 in case of success, -1 otherwise + */ +int +xmlSwitchEncoding(xmlParserCtxt *ctxt, xmlCharEncoding enc) +{ + xmlCharEncodingHandlerPtr handler = NULL; + int ret; + xmlParserErrors code; + + if ((ctxt == NULL) || (ctxt->input == NULL)) + return(-1); + + code = xmlLookupCharEncodingHandler(enc, &handler); + if (code != 0) { + xmlFatalErr(ctxt, code, NULL); + return(-1); + } + + ret = xmlSwitchToEncoding(ctxt, handler); + + if ((ret >= 0) && (enc == XML_CHAR_ENCODING_NONE)) { + ctxt->input->flags &= ~XML_INPUT_HAS_ENCODING; + } + + return(ret); +} + +/** + * @param ctxt the parser context + * @param input the input strea, + * @param encoding the encoding name + * @returns 0 in case of success, -1 otherwise + */ +static int +xmlSwitchInputEncodingName(xmlParserCtxtPtr ctxt, xmlParserInputPtr input, + const char *encoding) { + xmlCharEncodingHandlerPtr handler; + xmlParserErrors res; + + if (encoding == NULL) + return(-1); + + res = xmlCreateCharEncodingHandler(encoding, XML_ENC_INPUT, + ctxt->convImpl, ctxt->convCtxt, &handler); + if (res == XML_ERR_UNSUPPORTED_ENCODING) { + xmlWarningMsg(ctxt, XML_ERR_UNSUPPORTED_ENCODING, + "Unsupported encoding: %s\n", BAD_CAST encoding, NULL); + return(-1); + } else if (res != XML_ERR_OK) { + xmlFatalErr(ctxt, res, encoding); + return(-1); + } + + res = xmlInputSetEncodingHandler(input, handler); + if (res != XML_ERR_OK) { + xmlCtxtErrIO(ctxt, res, NULL); + return(-1); + } + + return(0); +} + +/** + * Use specified encoding to decode input data. This overrides the + * encoding found in the XML declaration. + * + * This function can also be used to override the encoding of chunks + * passed to #xmlParseChunk. + * + * @since 2.13.0 + * + * @param ctxt the parser context + * @param encoding the encoding name + * @returns 0 in case of success, -1 otherwise + */ +int +xmlSwitchEncodingName(xmlParserCtxt *ctxt, const char *encoding) { + if (ctxt == NULL) + return(-1); + + return(xmlSwitchInputEncodingName(ctxt, ctxt->input, encoding)); +} + +/** + * Use encoding handler to decode input data. + * + * Closes the handler on error. + * + * @param input the input stream + * @param handler the encoding handler + * @returns an xmlParserErrors code. + */ +xmlParserErrors +xmlInputSetEncodingHandler(xmlParserInput *input, + xmlCharEncodingHandler *handler) { + xmlParserInputBufferPtr in; + xmlBufPtr buf; + xmlParserErrors code = XML_ERR_OK; + + if ((input == NULL) || (input->buf == NULL)) { + xmlCharEncCloseFunc(handler); + return(XML_ERR_ARGUMENT); + } + in = input->buf; + + input->flags |= XML_INPUT_HAS_ENCODING; + + /* + * UTF-8 requires no encoding handler. + */ + if ((handler != NULL) && + (xmlStrcasecmp(BAD_CAST handler->name, BAD_CAST "UTF-8") == 0)) { + xmlCharEncCloseFunc(handler); + handler = NULL; + } + + if (in->encoder == handler) + return(XML_ERR_OK); + + if (in->encoder != NULL) { + /* + * Switching encodings during parsing is a really bad idea, + * but Chromium can switch between ISO-8859-1 and UTF-16 before + * separate calls to xmlParseChunk. + * + * TODO: We should check whether the "raw" input buffer is empty and + * convert the old content using the old encoder. + */ + + xmlCharEncCloseFunc(in->encoder); + in->encoder = handler; + return(XML_ERR_OK); + } + + buf = xmlBufCreate(XML_IO_BUFFER_SIZE); + if (buf == NULL) { + xmlCharEncCloseFunc(handler); + return(XML_ERR_NO_MEMORY); + } + + in->encoder = handler; + in->raw = in->buffer; + in->buffer = buf; + + /* + * Is there already some content down the pipe to convert ? + */ + if (input->end > input->base) { + size_t processed; + size_t nbchars; + xmlCharEncError res; + + /* + * Shrink the current input buffer. + * Move it as the raw buffer and create a new input buffer + */ + processed = input->cur - input->base; + xmlBufShrink(in->raw, processed); + input->consumed += processed; + in->rawconsumed = processed; + + /* + * If we're push-parsing, we must convert the whole buffer. + * + * If we're pull-parsing, we could be parsing from a huge + * memory buffer which we don't want to convert completely. + */ + if (input->flags & XML_INPUT_PROGRESSIVE) + nbchars = SIZE_MAX; + else + nbchars = 4000 /* MINLEN */; + res = xmlCharEncInput(in, &nbchars, /* flush */ 0); + if (res != XML_ENC_ERR_SUCCESS) + code = in->error; + } + + xmlBufResetInput(in->buffer, input); + + return(code); +} + +/** + * Use encoding handler to decode input data. + * + * @deprecated Internal function, don't use. + * + * @param ctxt the parser context, only for error reporting + * @param input the input stream + * @param handler the encoding handler + * @returns 0 in case of success, -1 otherwise + */ +int +xmlSwitchInputEncoding(xmlParserCtxt *ctxt, xmlParserInput *input, + xmlCharEncodingHandler *handler) { + xmlParserErrors code = xmlInputSetEncodingHandler(input, handler); + + if (code != XML_ERR_OK) { + xmlCtxtErrIO(ctxt, code, NULL); + return(-1); + } + + return(0); +} + +/** + * Use encoding handler to decode input data. + * + * This function can be used to enforce the encoding of chunks passed + * to #xmlParseChunk. + * + * @param ctxt the parser context + * @param handler the encoding handler + * @returns 0 in case of success, -1 otherwise + */ +int +xmlSwitchToEncoding(xmlParserCtxt *ctxt, xmlCharEncodingHandler *handler) +{ + xmlParserErrors code; + + if (ctxt == NULL) + return(-1); + + code = xmlInputSetEncodingHandler(ctxt->input, handler); + if (code != XML_ERR_OK) { + xmlCtxtErrIO(ctxt, code, NULL); + return(-1); + } + + return(0); +} + +/** + * Handle optional BOM, detect and switch to encoding. + * + * Assumes that there are at least four bytes in the input buffer. + * + * @param ctxt the parser context + */ +void +xmlDetectEncoding(xmlParserCtxt *ctxt) { + const xmlChar *in; + xmlCharEncoding enc; + int bomSize; + int autoFlag = 0; + + if (xmlParserGrow(ctxt) < 0) + return; + in = ctxt->input->cur; + if (ctxt->input->end - in < 4) + return; + + if (ctxt->input->flags & XML_INPUT_HAS_ENCODING) { + /* + * If the encoding was already set, only skip the BOM which was + * possibly decoded to UTF-8. + */ + if ((in[0] == 0xEF) && (in[1] == 0xBB) && (in[2] == 0xBF)) { + ctxt->input->cur += 3; + } + + return; + } + + enc = XML_CHAR_ENCODING_NONE; + bomSize = 0; + + /* + * BOM sniffing and detection of initial bytes of an XML + * declaration. + * + * The HTML5 spec doesn't cover UTF-32 (UCS-4) or EBCDIC. + */ + switch (in[0]) { + case 0x00: + if ((!ctxt->html) && + (in[1] == 0x00) && (in[2] == 0x00) && (in[3] == 0x3C)) { + enc = XML_CHAR_ENCODING_UCS4BE; + autoFlag = XML_INPUT_AUTO_OTHER; + } else if ((in[1] == 0x3C) && (in[2] == 0x00) && (in[3] == 0x3F)) { + /* + * TODO: The HTML5 spec requires to check that the + * next codepoint is an 'x'. + */ + enc = XML_CHAR_ENCODING_UTF16BE; + autoFlag = XML_INPUT_AUTO_UTF16BE; + } + break; + + case 0x3C: + if (in[1] == 0x00) { + if ((!ctxt->html) && + (in[2] == 0x00) && (in[3] == 0x00)) { + enc = XML_CHAR_ENCODING_UCS4LE; + autoFlag = XML_INPUT_AUTO_OTHER; + } else if ((in[2] == 0x3F) && (in[3] == 0x00)) { + /* + * TODO: The HTML5 spec requires to check that the + * next codepoint is an 'x'. + */ + enc = XML_CHAR_ENCODING_UTF16LE; + autoFlag = XML_INPUT_AUTO_UTF16LE; + } + } + break; + + case 0x4C: + if ((!ctxt->html) && + (in[1] == 0x6F) && (in[2] == 0xA7) && (in[3] == 0x94)) { + enc = XML_CHAR_ENCODING_EBCDIC; + autoFlag = XML_INPUT_AUTO_OTHER; + } + break; + + case 0xEF: + if ((in[1] == 0xBB) && (in[2] == 0xBF)) { + enc = XML_CHAR_ENCODING_UTF8; + autoFlag = XML_INPUT_AUTO_UTF8; + bomSize = 3; + } + break; + + case 0xFE: + if (in[1] == 0xFF) { + enc = XML_CHAR_ENCODING_UTF16BE; + autoFlag = XML_INPUT_AUTO_UTF16BE; + bomSize = 2; + } + break; + + case 0xFF: + if (in[1] == 0xFE) { + enc = XML_CHAR_ENCODING_UTF16LE; + autoFlag = XML_INPUT_AUTO_UTF16LE; + bomSize = 2; + } + break; + } + + if (bomSize > 0) { + ctxt->input->cur += bomSize; + } + + if (enc != XML_CHAR_ENCODING_NONE) { + ctxt->input->flags |= autoFlag; + + if (enc == XML_CHAR_ENCODING_EBCDIC) { + xmlCharEncodingHandlerPtr handler; + xmlParserErrors res; + + res = xmlDetectEBCDIC(ctxt, &handler); + if (res != XML_ERR_OK) { + xmlFatalErr(ctxt, res, "detecting EBCDIC\n"); + } else { + xmlSwitchToEncoding(ctxt, handler); + } + } else { + xmlSwitchEncoding(ctxt, enc); + } + } +} + +/** + * Set the encoding from a declaration in the document. + * + * If no encoding was set yet, switch the encoding. Otherwise, only warn + * about encoding mismatches. + * + * Takes ownership of 'encoding'. + * + * @param ctxt the parser context + * @param encoding declared encoding + */ +void +xmlSetDeclaredEncoding(xmlParserCtxt *ctxt, xmlChar *encoding) { + if (((ctxt->input->flags & XML_INPUT_HAS_ENCODING) == 0) && + ((ctxt->options & XML_PARSE_IGNORE_ENC) == 0)) { + xmlCharEncodingHandlerPtr handler; + xmlParserErrors res; + xmlCharEncFlags flags = XML_ENC_INPUT; + + /* + * xmlSwitchEncodingName treats unsupported encodings as + * warnings, but we want it to be an error in an encoding + * declaration. + */ + if (ctxt->html) + flags |= XML_ENC_HTML; + res = xmlCreateCharEncodingHandler((const char *) encoding, + flags, ctxt->convImpl, ctxt->convCtxt, &handler); + if (res != XML_ERR_OK) { + xmlFatalErr(ctxt, res, (const char *) encoding); + xmlFree(encoding); + return; + } + + res = xmlInputSetEncodingHandler(ctxt->input, handler); + if (res != XML_ERR_OK) { + xmlCtxtErrIO(ctxt, res, NULL); + xmlFree(encoding); + return; + } + + ctxt->input->flags |= XML_INPUT_USES_ENC_DECL; + } else if (ctxt->input->flags & XML_INPUT_AUTO_ENCODING) { + static const char *allowedUTF8[] = { + "UTF-8", "UTF8", NULL + }; + static const char *allowedUTF16LE[] = { + "UTF-16", "UTF-16LE", "UTF16", NULL + }; + static const char *allowedUTF16BE[] = { + "UTF-16", "UTF-16BE", "UTF16", NULL + }; + const char **allowed = NULL; + const char *autoEnc = NULL; + + switch (ctxt->input->flags & XML_INPUT_AUTO_ENCODING) { + case XML_INPUT_AUTO_UTF8: + allowed = allowedUTF8; + autoEnc = "UTF-8"; + break; + case XML_INPUT_AUTO_UTF16LE: + allowed = allowedUTF16LE; + autoEnc = "UTF-16LE"; + break; + case XML_INPUT_AUTO_UTF16BE: + allowed = allowedUTF16BE; + autoEnc = "UTF-16BE"; + break; + } + + if (allowed != NULL) { + const char **p; + int match = 0; + + for (p = allowed; *p != NULL; p++) { + if (xmlStrcasecmp(encoding, BAD_CAST *p) == 0) { + match = 1; + break; + } + } + + if (match == 0) { + xmlWarningMsg(ctxt, XML_WAR_ENCODING_MISMATCH, + "Encoding '%s' doesn't match " + "auto-detected '%s'\n", + encoding, BAD_CAST autoEnc); + xmlFree(encoding); + encoding = xmlStrdup(BAD_CAST autoEnc); + if (encoding == NULL) + xmlCtxtErrMemory(ctxt); + } + } + } + + if (ctxt->encoding != NULL) + xmlFree(ctxt->encoding); + ctxt->encoding = encoding; +} + +/** + * @since 2.14.0 + * + * @param ctxt parser context + * @returns the encoding from the encoding declaration. This can differ + * from the actual encoding. + */ +const xmlChar * +xmlCtxtGetDeclaredEncoding(xmlParserCtxt *ctxt) { + if (ctxt == NULL) + return(NULL); + + return(ctxt->encoding); +} + +/** + * @param ctxt the parser context + * @returns the actual used to parse the document. This can differ from + * the declared encoding. + */ +const xmlChar * +xmlGetActualEncoding(xmlParserCtxt *ctxt) { + const xmlChar *encoding = NULL; + + if ((ctxt->input->flags & XML_INPUT_USES_ENC_DECL) || + (ctxt->input->flags & XML_INPUT_AUTO_ENCODING)) { + /* Preserve encoding exactly */ + encoding = ctxt->encoding; + } else if ((ctxt->input->buf) && (ctxt->input->buf->encoder)) { + encoding = BAD_CAST ctxt->input->buf->encoder->name; + } else if (ctxt->input->flags & XML_INPUT_HAS_ENCODING) { + encoding = BAD_CAST "UTF-8"; + } + + return(encoding); +} + +/************************************************************************ + * * + * Commodity functions to handle entities processing * + * * + ************************************************************************/ + +/** + * Free up an input stream. + * + * @param input an xmlParserInput + */ +void +xmlFreeInputStream(xmlParserInput *input) { + if (input == NULL) return; + + if (input->filename != NULL) xmlFree((char *) input->filename); + if (input->version != NULL) xmlFree((char *) input->version); + if ((input->free != NULL) && (input->base != NULL)) + input->free((xmlChar *) input->base); + if (input->buf != NULL) + xmlFreeParserInputBuffer(input->buf); + xmlFree(input); +} + +/** + * Create a new input stream structure. + * + * @deprecated Use #xmlNewInputFromUrl or similar functions. + * + * @param ctxt an XML parser context + * @returns the new input stream or NULL + */ +xmlParserInput * +xmlNewInputStream(xmlParserCtxt *ctxt) { + xmlParserInputPtr input; + + input = (xmlParserInputPtr) xmlMalloc(sizeof(xmlParserInput)); + if (input == NULL) { + xmlCtxtErrMemory(ctxt); + return(NULL); + } + memset(input, 0, sizeof(xmlParserInput)); + input->line = 1; + input->col = 1; + + return(input); +} + +/** + * Creates a new parser input from the filesystem, the network or + * a user-defined resource loader. + * + * @param ctxt parser context + * @param url filename or URL + * @param publicId publid ID from doctype (optional) + * @param encoding character encoding (optional) + * @param flags unused, pass 0 + * @returns a new parser input. + */ +xmlParserInput * +xmlCtxtNewInputFromUrl(xmlParserCtxt *ctxt, const char *url, + const char *publicId, const char *encoding, + xmlParserInputFlags flags ATTRIBUTE_UNUSED) { + xmlParserInputPtr input; + + if ((ctxt == NULL) || (url == NULL)) + return(NULL); + + input = xmlLoadResource(ctxt, url, publicId, XML_RESOURCE_MAIN_DOCUMENT); + if (input == NULL) + return(NULL); + + if (encoding != NULL) + xmlSwitchInputEncodingName(ctxt, input, encoding); + + return(input); +} + +/** + * Internal helper function. + * + * @param buf parser input buffer + * @param filename filename or URL + * @returns a new parser input. + */ +static xmlParserInputPtr +xmlNewInputInternal(xmlParserInputBufferPtr buf, const char *filename) { + xmlParserInputPtr input; + + input = (xmlParserInputPtr) xmlMalloc(sizeof(xmlParserInput)); + if (input == NULL) { + xmlFreeParserInputBuffer(buf); + return(NULL); + } + memset(input, 0, sizeof(xmlParserInput)); + input->line = 1; + input->col = 1; + + input->buf = buf; + xmlBufResetInput(input->buf->buffer, input); + + if (filename != NULL) { + input->filename = xmlMemStrdup(filename); + if (input->filename == NULL) { + xmlFreeInputStream(input); + return(NULL); + } + } + + return(input); +} + +/** + * Creates a new parser input to read from a memory area. + * + * `url` is used as base to resolve external entities and for + * error reporting. + * + * If the XML_INPUT_BUF_STATIC flag is set, the memory area must + * stay unchanged until parsing has finished. This can avoid + * temporary copies. + * + * If the XML_INPUT_BUF_ZERO_TERMINATED flag is set, the memory + * area must contain a zero byte after the buffer at position `size`. + * This can avoid temporary copies. + * + * @since 2.14.0 + * + * @param url base URL (optional) + * @param mem pointer to char array + * @param size size of array + * @param flags optimization hints + * @returns a new parser input or NULL if a memory allocation failed. + */ +xmlParserInput * +xmlNewInputFromMemory(const char *url, const void *mem, size_t size, + xmlParserInputFlags flags) { + xmlParserInputBufferPtr buf; + + if (mem == NULL) + return(NULL); + + buf = xmlNewInputBufferMemory(mem, size, flags, XML_CHAR_ENCODING_NONE); + if (buf == NULL) + return(NULL); + + return(xmlNewInputInternal(buf, url)); +} + +/** + * @param ctxt parser context + * @param url base URL (optional) + * @param mem pointer to char array + * @param size size of array + * @param encoding character encoding (optional) + * @param flags optimization hints + * @returns a new parser input or NULL in case of error. + */ +xmlParserInput * +xmlCtxtNewInputFromMemory(xmlParserCtxt *ctxt, const char *url, + const void *mem, size_t size, + const char *encoding, xmlParserInputFlags flags) { + xmlParserInputPtr input; + + if ((ctxt == NULL) || (mem == NULL)) + return(NULL); + + input = xmlNewInputFromMemory(url, mem, size, flags); + if (input == NULL) { + xmlCtxtErrMemory(ctxt); + return(NULL); + } + + if (encoding != NULL) + xmlSwitchInputEncodingName(ctxt, input, encoding); + + return(input); +} + +/** + * Creates a new parser input to read from a zero-terminated string. + * + * `url` is used as base to resolve external entities and for + * error reporting. + * + * If the XML_INPUT_BUF_STATIC flag is set, the string must + * stay unchanged until parsing has finished. This can avoid + * temporary copies. + * + * @since 2.14.0 + * + * @param url base URL (optional) + * @param str zero-terminated string + * @param flags optimization hints + * @returns a new parser input or NULL if a memory allocation failed. + */ +xmlParserInput * +xmlNewInputFromString(const char *url, const char *str, + xmlParserInputFlags flags) { + xmlParserInputBufferPtr buf; + + if (str == NULL) + return(NULL); + + buf = xmlNewInputBufferString(str, flags); + if (buf == NULL) + return(NULL); + + return(xmlNewInputInternal(buf, url)); +} + +/** + * @param ctxt parser context + * @param url base URL (optional) + * @param str zero-terminated string + * @param encoding character encoding (optional) + * @param flags optimization hints + * @returns a new parser input. + */ +xmlParserInput * +xmlCtxtNewInputFromString(xmlParserCtxt *ctxt, const char *url, + const char *str, const char *encoding, + xmlParserInputFlags flags) { + xmlParserInputPtr input; + + if ((ctxt == NULL) || (str == NULL)) + return(NULL); + + input = xmlNewInputFromString(url, str, flags); + if (input == NULL) { + xmlCtxtErrMemory(ctxt); + return(NULL); + } + + if (encoding != NULL) + xmlSwitchInputEncodingName(ctxt, input, encoding); + + return(input); +} + +/** + * Creates a new parser input to read from a file descriptor. + * + * `url` is used as base to resolve external entities and for + * error reporting. + * + * `fd` is closed after parsing has finished. + * + * Supported `flags` are XML_INPUT_UNZIP to decompress data + * automatically. This feature is deprecated and will be removed + * in a future release. + * + * @since 2.14.0 + * + * @param url base URL (optional) + * @param fd file descriptor + * @param flags input flags + * @returns a new parser input or NULL if a memory allocation failed. + */ +xmlParserInput * +xmlNewInputFromFd(const char *url, int fd, xmlParserInputFlags flags) { + xmlParserInputBufferPtr buf; + + if (fd < 0) + return(NULL); + + buf = xmlAllocParserInputBuffer(XML_CHAR_ENCODING_NONE); + if (buf == NULL) + return(NULL); + + if (xmlInputFromFd(buf, fd, flags) != XML_ERR_OK) { + xmlFreeParserInputBuffer(buf); + return(NULL); + } + + return(xmlNewInputInternal(buf, url)); +} + +/** + * @param ctxt parser context + * @param url base URL (optional) + * @param fd file descriptor + * @param encoding character encoding (optional) + * @param flags unused, pass 0 + * @returns a new parser input. + */ +xmlParserInput * +xmlCtxtNewInputFromFd(xmlParserCtxt *ctxt, const char *url, + int fd, const char *encoding, + xmlParserInputFlags flags) { + xmlParserInputPtr input; + + if ((ctxt == NULL) || (fd < 0)) + return(NULL); + + if (ctxt->options & XML_PARSE_UNZIP) + flags |= XML_INPUT_UNZIP; + + input = xmlNewInputFromFd(url, fd, flags); + if (input == NULL) { + xmlCtxtErrMemory(ctxt); + return(NULL); + } + + if (encoding != NULL) + xmlSwitchInputEncodingName(ctxt, input, encoding); + + return(input); +} + +/** + * Creates a new parser input to read from input callbacks and + * context. + * + * `url` is used as base to resolve external entities and for + * error reporting. + * + * `ioRead` is called to read new data into a provided buffer. + * It must return the number of bytes written into the buffer + * ot a negative xmlParserErrors code on failure. + * + * `ioClose` is called after parsing has finished. + * + * `ioCtxt` is an opaque pointer passed to the callbacks. + * + * @since 2.14.0 + * + * @param url base URL (optional) + * @param ioRead read callback + * @param ioClose close callback (optional) + * @param ioCtxt IO context + * @param flags unused, pass 0 + * @returns a new parser input or NULL if a memory allocation failed. + */ +xmlParserInput * +xmlNewInputFromIO(const char *url, xmlInputReadCallback ioRead, + xmlInputCloseCallback ioClose, void *ioCtxt, + xmlParserInputFlags flags ATTRIBUTE_UNUSED) { + xmlParserInputBufferPtr buf; + + if (ioRead == NULL) + return(NULL); + + buf = xmlAllocParserInputBuffer(XML_CHAR_ENCODING_NONE); + if (buf == NULL) { + if (ioClose != NULL) + ioClose(ioCtxt); + return(NULL); + } + + buf->context = ioCtxt; + buf->readcallback = ioRead; + buf->closecallback = ioClose; + + return(xmlNewInputInternal(buf, url)); +} + +/** + * @param ctxt parser context + * @param url base URL (optional) + * @param ioRead read callback + * @param ioClose close callback (optional) + * @param ioCtxt IO context + * @param encoding character encoding (optional) + * @param flags unused, pass 0 + * @returns a new parser input. + */ +xmlParserInput * +xmlCtxtNewInputFromIO(xmlParserCtxt *ctxt, const char *url, + xmlInputReadCallback ioRead, + xmlInputCloseCallback ioClose, + void *ioCtxt, const char *encoding, + xmlParserInputFlags flags) { + xmlParserInputPtr input; + + if ((ctxt == NULL) || (ioRead == NULL)) + return(NULL); + + input = xmlNewInputFromIO(url, ioRead, ioClose, ioCtxt, flags); + if (input == NULL) { + xmlCtxtErrMemory(ctxt); + return(NULL); + } + + if (encoding != NULL) + xmlSwitchInputEncodingName(ctxt, input, encoding); + + return(input); +} + +/** + * Creates a new parser input for a push parser. + * + * @param url base URL (optional) + * @param chunk pointer to char array + * @param size size of array + * @returns a new parser input or NULL if a memory allocation failed. + */ +xmlParserInput * +xmlNewPushInput(const char *url, const char *chunk, int size) { + xmlParserInputBufferPtr buf; + xmlParserInputPtr input; + + buf = xmlAllocParserInputBuffer(XML_CHAR_ENCODING_NONE); + if (buf == NULL) + return(NULL); + + input = xmlNewInputInternal(buf, url); + if (input == NULL) + return(NULL); + + input->flags |= XML_INPUT_PROGRESSIVE; + + if ((size > 0) && (chunk != NULL)) { + int res; + + res = xmlParserInputBufferPush(input->buf, size, chunk); + xmlBufResetInput(input->buf->buffer, input); + if (res < 0) { + xmlFreeInputStream(input); + return(NULL); + } + } + + return(input); +} + +/** + * Create a new input stream structure encapsulating the `input` into + * a stream suitable for the parser. + * + * @param ctxt an XML parser context + * @param buf an input buffer + * @param enc the charset encoding if known + * @returns the new input stream or NULL + */ +xmlParserInput * +xmlNewIOInputStream(xmlParserCtxt *ctxt, xmlParserInputBuffer *buf, + xmlCharEncoding enc) { + xmlParserInputPtr input; + const char *encoding; + + if ((ctxt == NULL) || (buf == NULL)) + return(NULL); + + input = xmlNewInputInternal(buf, NULL); + if (input == NULL) { + xmlCtxtErrMemory(ctxt); + return(NULL); + } + + encoding = xmlGetCharEncodingName(enc); + if (encoding != NULL) + xmlSwitchInputEncodingName(ctxt, input, encoding); + + return(input); +} + +/** + * Create a new input stream based on an xmlEntity + * + * @deprecated Internal function, do not use. + * + * @param ctxt an XML parser context + * @param ent an Entity pointer + * @returns the new input stream or NULL + */ +xmlParserInput * +xmlNewEntityInputStream(xmlParserCtxt *ctxt, xmlEntity *ent) { + xmlParserInputPtr input; + + if ((ctxt == NULL) || (ent == NULL)) + return(NULL); + + if (ent->content != NULL) { + input = xmlCtxtNewInputFromString(ctxt, NULL, + (const char *) ent->content, NULL, XML_INPUT_BUF_STATIC); + } else if (ent->URI != NULL) { + xmlResourceType rtype; + + if (ent->etype == XML_EXTERNAL_PARAMETER_ENTITY) + rtype = XML_RESOURCE_PARAMETER_ENTITY; + else + rtype = XML_RESOURCE_GENERAL_ENTITY; + + input = xmlLoadResource(ctxt, (char *) ent->URI, + (char *) ent->ExternalID, rtype); + } else { + return(NULL); + } + + if (input == NULL) + return(NULL); + + input->entity = ent; + + return(input); +} + +/** + * Create a new input stream based on a memory buffer. + * + * @deprecated Use #xmlNewInputFromString. + * + * @param ctxt an XML parser context + * @param buffer an memory buffer + * @returns the new input stream + */ +xmlParserInput * +xmlNewStringInputStream(xmlParserCtxt *ctxt, const xmlChar *buffer) { + return(xmlCtxtNewInputFromString(ctxt, NULL, (const char *) buffer, + NULL, 0)); +} + + +/**************************************************************** + * * + * External entities loading * + * * + ****************************************************************/ + +#ifdef LIBXML_CATALOG_ENABLED + +/** + * Resolves an external ID or URL against the appropriate catalog. + * + * @param url the URL or system ID for the entity to load + * @param publicId the public ID for the entity to load (optional) + * @param localCatalogs local catalogs (optional) + * @param allowGlobal allow global system catalog + * @param out resulting resource or NULL + * @returns an xmlParserErrors code + */ +static xmlParserErrors +xmlResolveFromCatalog(const char *url, const char *publicId, + void *localCatalogs, int allowGlobal, char **out) { + xmlError oldError; + xmlError *lastError; + char *resource = NULL; + xmlParserErrors code; + + if (out == NULL) + return(XML_ERR_ARGUMENT); + *out = NULL; + if ((localCatalogs == NULL) && (!allowGlobal)) + return(XML_ERR_OK); + + /* + * Don't try to resolve if local file exists. + * + * TODO: This is somewhat non-deterministic. + */ + if (xmlNoNetExists(url)) + return(XML_ERR_OK); + + /* Backup and reset last error */ + lastError = xmlGetLastErrorInternal(); + oldError = *lastError; + lastError->code = XML_ERR_OK; + + /* + * Do a local lookup + */ + if (localCatalogs != NULL) { + resource = (char *) xmlCatalogLocalResolve(localCatalogs, + BAD_CAST publicId, + BAD_CAST url); + } + /* + * Try a global lookup + */ + if ((resource == NULL) && (allowGlobal)) { + resource = (char *) xmlCatalogResolve(BAD_CAST publicId, + BAD_CAST url); + } + + /* + * Try to resolve url using URI rules. + * + * TODO: We should consider using only a single resolution + * mechanism depending on resource type. Either by external ID + * or by URI. + */ + if ((resource == NULL) && (url != NULL)) { + if (localCatalogs != NULL) { + resource = (char *) xmlCatalogLocalResolveURI(localCatalogs, + BAD_CAST url); + } + if ((resource == NULL) && (allowGlobal)) { + resource = (char *) xmlCatalogResolveURI(BAD_CAST url); + } + } + + code = lastError->code; + if (code == XML_ERR_OK) { + *out = resource; + } else { + xmlFree(resource); + } + + *lastError = oldError; + + return(code); +} + +static char * +xmlCtxtResolveFromCatalog(xmlParserCtxtPtr ctxt, const char *url, + const char *publicId) { + char *resource; + void *localCatalogs = NULL; + int allowGlobal = 1; + xmlParserErrors code; + + if (ctxt != NULL) { + /* + * Loading of HTML documents shouldn't use XML catalogs. + */ + if (ctxt->html) + return(NULL); + + localCatalogs = ctxt->catalogs; + + if (ctxt->options & XML_PARSE_NO_SYS_CATALOG) + allowGlobal = 0; + } + + switch (xmlCatalogGetDefaults()) { + case XML_CATA_ALLOW_NONE: + return(NULL); + case XML_CATA_ALLOW_DOCUMENT: + allowGlobal = 0; + break; + case XML_CATA_ALLOW_GLOBAL: + localCatalogs = NULL; + break; + case XML_CATA_ALLOW_ALL: + break; + } + + code = xmlResolveFromCatalog(url, publicId, localCatalogs, + allowGlobal, &resource); + if (code != XML_ERR_OK) + xmlCtxtErr(ctxt, NULL, XML_FROM_CATALOG, code, XML_ERR_ERROR, + BAD_CAST url, BAD_CAST publicId, NULL, 0, + "%s\n", xmlErrString(code), NULL); + + return(resource); +} + +#endif + +/** + * @deprecated Internal function, don't use. + * + * @param ctxt an XML parser context + * @param ret an XML parser input + * @returns NULL. + */ +xmlParserInput * +xmlCheckHTTPInput(xmlParserCtxt *ctxt ATTRIBUTE_UNUSED, + xmlParserInput *ret ATTRIBUTE_UNUSED) { + return(NULL); +} + +/** + * Create a new input stream based on a file or a URL. + * + * The flag XML_INPUT_UNZIP allows decompression. + * + * The flag XML_INPUT_NETWORK allows network access. + * + * The following resource loaders will be called if they were + * registered (in order of precedence): + * + * - the per-thread #xmlParserInputBufferCreateFilenameFunc set with + * #xmlParserInputBufferCreateFilenameDefault (deprecated) + * - the default loader which will return + * - the result from a matching global input callback set with + * #xmlRegisterInputCallbacks (deprecated) + * - a file opened from the filesystem, with automatic detection + * of compressed files if support is compiled in. + * + * @since 2.14.0 + * + * @param url the filename to use as entity + * @param flags XML_INPUT flags + * @param out pointer to new parser input + * @returns an xmlParserErrors code. + */ +xmlParserErrors +xmlNewInputFromUrl(const char *url, xmlParserInputFlags flags, + xmlParserInput **out) { + char *resource = NULL; + xmlParserInputBufferPtr buf; + xmlParserInputPtr input; + xmlParserErrors code = XML_ERR_OK; + + if (out == NULL) + return(XML_ERR_ARGUMENT); + *out = NULL; + if (url == NULL) + return(XML_ERR_ARGUMENT); + +#ifdef LIBXML_CATALOG_ENABLED + if (flags & XML_INPUT_USE_SYS_CATALOG) { + code = xmlResolveFromCatalog(url, NULL, NULL, 1, &resource); + if (code != XML_ERR_OK) + return(code); + if (resource != NULL) + url = resource; + } +#endif + + if (xmlParserInputBufferCreateFilenameValue != NULL) { + buf = xmlParserInputBufferCreateFilenameValue(url, + XML_CHAR_ENCODING_NONE); + if (buf == NULL) + code = XML_IO_ENOENT; + } else { + code = xmlParserInputBufferCreateUrl(url, XML_CHAR_ENCODING_NONE, + flags, &buf); + } + + if (code == XML_ERR_OK) { + input = xmlNewInputInternal(buf, url); + if (input == NULL) + code = XML_ERR_NO_MEMORY; + + *out = input; + } + + if (resource != NULL) + xmlFree(resource); + return(code); +} + +/** + * Create a new input stream based on a file or an URL. + * + * Unlike the default external entity loader, this function + * doesn't use XML catalogs. + * + * @deprecated Use #xmlNewInputFromUrl. + * + * @param ctxt an XML parser context + * @param filename the filename to use as entity + * @returns the new input stream or NULL in case of error + */ +xmlParserInput * +xmlNewInputFromFile(xmlParserCtxt *ctxt, const char *filename) { + xmlParserInputPtr input; + xmlParserInputFlags flags = 0; + xmlParserErrors code; + + if ((ctxt == NULL) || (filename == NULL)) + return(NULL); + + if (ctxt->options & XML_PARSE_UNZIP) + flags |= XML_INPUT_UNZIP; + if ((ctxt->options & XML_PARSE_NONET) == 0) + flags |= XML_INPUT_NETWORK; + + code = xmlNewInputFromUrl(filename, flags, &input); + if (code != XML_ERR_OK) { + xmlCtxtErrIO(ctxt, code, filename); + return(NULL); + } + + return(input); +} + +/** + * By default we don't load external entities, yet. + * + * @param url the URL or system ID for the entity to load + * @param publicId the public ID for the entity to load (optional) + * @param ctxt the context in which the entity is called or NULL + * @returns a new allocated xmlParserInput, or NULL. + */ +static xmlParserInputPtr +xmlDefaultExternalEntityLoader(const char *url, const char *publicId, + xmlParserCtxtPtr ctxt) +{ + xmlParserInputPtr input = NULL; + char *resource = NULL; + + (void) publicId; + + if (url == NULL) + return(NULL); + +#ifdef LIBXML_CATALOG_ENABLED + resource = xmlCtxtResolveFromCatalog(ctxt, url, publicId); + if (resource != NULL) + url = resource; +#endif + + /* + * Several downstream test suites expect this error whenever + * an http URI is passed and NONET is set. + */ + if ((ctxt != NULL) && + (ctxt->options & XML_PARSE_NONET) && + (xmlStrncasecmp(BAD_CAST url, BAD_CAST "http://", 7) == 0)) { + xmlCtxtErrIO(ctxt, XML_IO_NETWORK_ATTEMPT, url); + } else { + input = xmlNewInputFromFile(ctxt, url); + } + + if (resource != NULL) + xmlFree(resource); + return(input); +} + +/** + * A specific entity loader disabling network accesses, though still + * allowing local catalog accesses for resolution. + * + * @deprecated Use XML_PARSE_NONET. + * + * @param URL the URL or system ID for the entity to load + * @param publicId the public ID for the entity to load + * @param ctxt the context in which the entity is called or NULL + * @returns a new allocated xmlParserInput, or NULL. + */ +xmlParserInput * +xmlNoNetExternalEntityLoader(const char *URL, const char *publicId, + xmlParserCtxt *ctxt) { + int oldOptions = 0; + xmlParserInputPtr input; + + if (ctxt != NULL) { + oldOptions = ctxt->options; + ctxt->options |= XML_PARSE_NONET; + } + + input = xmlDefaultExternalEntityLoader(URL, publicId, ctxt); + + if (ctxt != NULL) + ctxt->options = oldOptions; + + return(input); +} + +/* + * This global has to die eventually + */ +static xmlExternalEntityLoader +xmlCurrentExternalEntityLoader = xmlDefaultExternalEntityLoader; + +/** + * Changes the default external entity resolver function for the + * application. + * + * @deprecated This is a global setting and not thread-safe. Use + * #xmlCtxtSetResourceLoader or similar functions. + * + * @param f the new entity resolver function + */ +void +xmlSetExternalEntityLoader(xmlExternalEntityLoader f) { + xmlCurrentExternalEntityLoader = f; +} + +/** + * Get the default external entity resolver function for the application + * + * @deprecated See #xmlSetExternalEntityLoader. + * + * @returns the #xmlExternalEntityLoader function pointer + */ +xmlExternalEntityLoader +xmlGetExternalEntityLoader(void) { + return(xmlCurrentExternalEntityLoader); +} + +/** + * Installs a custom callback to load documents, DTDs or external + * entities. + * + * If `vctxt` is NULL, the parser context will be passed. + * + * @since 2.14.0 + * @param ctxt parser context + * @param loader callback + * @param vctxt user data (optional) + */ +void +xmlCtxtSetResourceLoader(xmlParserCtxt *ctxt, xmlResourceLoader loader, + void *vctxt) { + if (ctxt == NULL) + return; + + ctxt->resourceLoader = loader; + ctxt->resourceCtxt = vctxt; +} + +/** + * @param ctxt parser context + * @param url the URL or system ID for the entity to load + * @param publicId the public ID for the entity to load (optional) + * @param type resource type + * @returns the xmlParserInput or NULL in case of error. + */ +xmlParserInput * +xmlLoadResource(xmlParserCtxt *ctxt, const char *url, const char *publicId, + xmlResourceType type) { + char *canonicFilename; + xmlParserInputPtr ret; + + if (url == NULL) + return(NULL); + + if ((ctxt != NULL) && (ctxt->resourceLoader != NULL)) { + char *resource = NULL; + void *userData; + xmlParserInputFlags flags = 0; + int code; + +#ifdef LIBXML_CATALOG_ENABLED + resource = xmlCtxtResolveFromCatalog(ctxt, url, publicId); + if (resource != NULL) + url = resource; +#endif + + if (ctxt->options & XML_PARSE_UNZIP) + flags |= XML_INPUT_UNZIP; + if ((ctxt->options & XML_PARSE_NONET) == 0) + flags |= XML_INPUT_NETWORK; + + userData = ctxt->resourceCtxt; + if (userData == NULL) + userData = ctxt; + + code = ctxt->resourceLoader(userData, url, publicId, type, + flags, &ret); + if (code != XML_ERR_OK) { + xmlCtxtErrIO(ctxt, code, url); + ret = NULL; + } + if (resource != NULL) + xmlFree(resource); + return(ret); + } + + canonicFilename = (char *) xmlCanonicPath((const xmlChar *) url); + if (canonicFilename == NULL) { + xmlCtxtErrMemory(ctxt); + return(NULL); + } + + ret = xmlCurrentExternalEntityLoader(canonicFilename, publicId, ctxt); + xmlFree(canonicFilename); + return(ret); +} + +/** + * `URL` is a filename or URL. If if contains the substring "://", + * it is assumed to be a Legacy Extended IRI. Otherwise, it is + * treated as a filesystem path. + * + * `publicId` is an optional XML public ID, typically from a doctype + * declaration. It is used for catalog lookups. + * + * If catalog lookup is enabled (default is yes) and URL or ID are + * found in system or local XML catalogs, URL is replaced with the + * result. Then the following resource loaders will be called if + * they were registered (in order of precedence): + * + * - the resource loader set with #xmlCtxtSetResourceLoader + * - the global external entity loader set with + * #xmlSetExternalEntityLoader (without catalog resolution, + * deprecated) + * - the per-thread #xmlParserInputBufferCreateFilenameFunc set with + * #xmlParserInputBufferCreateFilenameDefault (deprecated) + * - the default loader which will return + * - the result from a matching global input callback set with + * #xmlRegisterInputCallbacks (deprecated) + * - a file opened from the filesystem, with automatic detection + * of compressed files if support is compiled in. + * + * @param URL the URL or system ID for the entity to load + * @param publicId the public ID for the entity to load (optional) + * @param ctxt the context in which the entity is called or NULL + * @returns the xmlParserInput or NULL + */ +xmlParserInput * +xmlLoadExternalEntity(const char *URL, const char *publicId, + xmlParserCtxt *ctxt) { + return(xmlLoadResource(ctxt, URL, publicId, XML_RESOURCE_UNKNOWN)); +} + +/************************************************************************ + * * + * Commodity functions to handle parser contexts * + * * + ************************************************************************/ + +/** + * Initialize a SAX parser context + * + * @param ctxt XML parser context + * @param sax SAX handlert + * @param userData user data + * @returns 0 in case of success and -1 in case of error + */ + +static int +xmlInitSAXParserCtxt(xmlParserCtxtPtr ctxt, const xmlSAXHandler *sax, + void *userData) +{ + xmlParserInputPtr input; +#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION + size_t initialNodeTabSize = 1; +#else + size_t initialNodeTabSize = 10; +#endif + + if (ctxt == NULL) + return(-1); + + if (ctxt->dict == NULL) + ctxt->dict = xmlDictCreate(); + if (ctxt->dict == NULL) + return(-1); + + if (ctxt->sax == NULL) + ctxt->sax = (xmlSAXHandler *) xmlMalloc(sizeof(xmlSAXHandler)); + if (ctxt->sax == NULL) + return(-1); + if (sax == NULL) { + memset(ctxt->sax, 0, sizeof(xmlSAXHandler)); + xmlSAXVersion(ctxt->sax, 2); + ctxt->userData = ctxt; + } else { + if (sax->initialized == XML_SAX2_MAGIC) { + memcpy(ctxt->sax, sax, sizeof(xmlSAXHandler)); + } else { + memset(ctxt->sax, 0, sizeof(xmlSAXHandler)); + memcpy(ctxt->sax, sax, sizeof(xmlSAXHandlerV1)); + } + ctxt->userData = userData ? userData : ctxt; + } + + ctxt->maxatts = 0; + ctxt->atts = NULL; + /* Allocate the Input stack */ + if (ctxt->inputTab == NULL) { +#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION + size_t initialSize = 1; +#else + size_t initialSize = 5; +#endif + + ctxt->inputTab = xmlMalloc(initialSize * sizeof(xmlParserInputPtr)); + ctxt->inputMax = initialSize; + } + if (ctxt->inputTab == NULL) + return(-1); + while ((input = xmlCtxtPopInput(ctxt)) != NULL) { /* Non consuming */ + xmlFreeInputStream(input); + } + ctxt->inputNr = 0; + ctxt->input = NULL; + + ctxt->version = NULL; + ctxt->encoding = NULL; + ctxt->standalone = -1; + ctxt->hasExternalSubset = 0; + ctxt->hasPErefs = 0; + ctxt->html = 0; + ctxt->instate = XML_PARSER_START; + + /* Allocate the Node stack */ + if (ctxt->nodeTab == NULL) { + ctxt->nodeTab = xmlMalloc(initialNodeTabSize * sizeof(xmlNodePtr)); + ctxt->nodeMax = initialNodeTabSize; + } + if (ctxt->nodeTab == NULL) + return(-1); + ctxt->nodeNr = 0; + ctxt->node = NULL; + + /* Allocate the Name stack */ + if (ctxt->nameTab == NULL) { + ctxt->nameTab = xmlMalloc(initialNodeTabSize * sizeof(xmlChar *)); + ctxt->nameMax = initialNodeTabSize; + } + if (ctxt->nameTab == NULL) + return(-1); + ctxt->nameNr = 0; + ctxt->name = NULL; + + /* Allocate the space stack */ + if (ctxt->spaceTab == NULL) { + ctxt->spaceTab = xmlMalloc(initialNodeTabSize * sizeof(int)); + ctxt->spaceMax = initialNodeTabSize; + } + if (ctxt->spaceTab == NULL) + return(-1); + ctxt->spaceNr = 1; + ctxt->spaceTab[0] = -1; + ctxt->space = &ctxt->spaceTab[0]; + ctxt->myDoc = NULL; + ctxt->wellFormed = 1; + ctxt->nsWellFormed = 1; + ctxt->valid = 1; + + ctxt->options = XML_PARSE_NODICT; + + /* + * Initialize some parser options from deprecated global variables. + * Note that the "modern" API taking options arguments or + * xmlCtxtSetOptions will ignore these defaults. They're only + * relevant if old API functions like xmlParseFile are used. + */ + ctxt->loadsubset = xmlLoadExtDtdDefaultValue; + if (ctxt->loadsubset) { + ctxt->options |= XML_PARSE_DTDLOAD; + } + ctxt->validate = xmlDoValidityCheckingDefaultValue; + if (ctxt->validate) { + ctxt->options |= XML_PARSE_DTDVALID; + } + ctxt->pedantic = xmlPedanticParserDefaultValue; + if (ctxt->pedantic) { + ctxt->options |= XML_PARSE_PEDANTIC; + } + ctxt->keepBlanks = xmlKeepBlanksDefaultValue; + if (ctxt->keepBlanks == 0) { + ctxt->sax->ignorableWhitespace = xmlSAX2IgnorableWhitespace; + ctxt->options |= XML_PARSE_NOBLANKS; + } + ctxt->replaceEntities = xmlSubstituteEntitiesDefaultValue; + if (ctxt->replaceEntities) { + ctxt->options |= XML_PARSE_NOENT; + } + if (xmlGetWarningsDefaultValue == 0) + ctxt->options |= XML_PARSE_NOWARNING; + + ctxt->vctxt.flags = XML_VCTXT_USE_PCTXT; + ctxt->vctxt.userData = ctxt; + ctxt->vctxt.error = xmlParserValidityError; + ctxt->vctxt.warning = xmlParserValidityWarning; + + ctxt->record_info = 0; + ctxt->checkIndex = 0; + ctxt->inSubset = 0; + ctxt->errNo = XML_ERR_OK; + ctxt->depth = 0; + ctxt->catalogs = NULL; + ctxt->sizeentities = 0; + ctxt->sizeentcopy = 0; + ctxt->input_id = 1; + ctxt->maxAmpl = XML_MAX_AMPLIFICATION_DEFAULT; + xmlInitNodeInfoSeq(&ctxt->node_seq); + + if (ctxt->nsdb == NULL) { + ctxt->nsdb = xmlParserNsCreate(); + if (ctxt->nsdb == NULL) + return(-1); + } + + return(0); +} + +/** + * Initialize a parser context + * + * @deprecated Internal function which will be made private in a future + * version. + * + * @param ctxt an XML parser context + * @returns 0 in case of success and -1 in case of error + */ + +int +xmlInitParserCtxt(xmlParserCtxt *ctxt) +{ + return(xmlInitSAXParserCtxt(ctxt, NULL, NULL)); +} + +/** + * Free all the memory used by a parser context. However the parsed + * document in ctxt->myDoc is not freed. + * + * @param ctxt an XML parser context + */ + +void +xmlFreeParserCtxt(xmlParserCtxt *ctxt) +{ + xmlParserInputPtr input; + + if (ctxt == NULL) return; + + while ((input = xmlCtxtPopInput(ctxt)) != NULL) { /* Non consuming */ + xmlFreeInputStream(input); + } + if (ctxt->spaceTab != NULL) xmlFree(ctxt->spaceTab); + if (ctxt->nameTab != NULL) xmlFree((xmlChar * *)ctxt->nameTab); + if (ctxt->nodeTab != NULL) xmlFree(ctxt->nodeTab); + if (ctxt->nodeInfoTab != NULL) xmlFree(ctxt->nodeInfoTab); + if (ctxt->inputTab != NULL) xmlFree(ctxt->inputTab); + if (ctxt->version != NULL) xmlFree(ctxt->version); + if (ctxt->encoding != NULL) xmlFree(ctxt->encoding); + if (ctxt->extSubURI != NULL) xmlFree(ctxt->extSubURI); + if (ctxt->extSubSystem != NULL) xmlFree(ctxt->extSubSystem); +#ifdef LIBXML_SAX1_ENABLED + if ((ctxt->sax != NULL) && + (ctxt->sax != (xmlSAXHandlerPtr) &xmlDefaultSAXHandler)) +#else + if (ctxt->sax != NULL) +#endif /* LIBXML_SAX1_ENABLED */ + xmlFree(ctxt->sax); + if (ctxt->directory != NULL) xmlFree(ctxt->directory); + if (ctxt->vctxt.nodeTab != NULL) xmlFree(ctxt->vctxt.nodeTab); + if (ctxt->atts != NULL) xmlFree((xmlChar * *)ctxt->atts); + if (ctxt->dict != NULL) xmlDictFree(ctxt->dict); + if (ctxt->nsTab != NULL) xmlFree(ctxt->nsTab); + if (ctxt->nsdb != NULL) xmlParserNsFree(ctxt->nsdb); + if (ctxt->attrHash != NULL) xmlFree(ctxt->attrHash); + if (ctxt->pushTab != NULL) xmlFree(ctxt->pushTab); + if (ctxt->attallocs != NULL) xmlFree(ctxt->attallocs); + if (ctxt->attsDefault != NULL) + xmlHashFree(ctxt->attsDefault, xmlHashDefaultDeallocator); + if (ctxt->attsSpecial != NULL) + xmlHashFree(ctxt->attsSpecial, NULL); + if (ctxt->freeElems != NULL) { + xmlNodePtr cur, next; + + cur = ctxt->freeElems; + while (cur != NULL) { + next = cur->next; + xmlFree(cur); + cur = next; + } + } + if (ctxt->freeAttrs != NULL) { + xmlAttrPtr cur, next; + + cur = ctxt->freeAttrs; + while (cur != NULL) { + next = cur->next; + xmlFree(cur); + cur = next; + } + } + /* + * cleanup the error strings + */ + if (ctxt->lastError.message != NULL) + xmlFree(ctxt->lastError.message); + if (ctxt->lastError.file != NULL) + xmlFree(ctxt->lastError.file); + if (ctxt->lastError.str1 != NULL) + xmlFree(ctxt->lastError.str1); + if (ctxt->lastError.str2 != NULL) + xmlFree(ctxt->lastError.str2); + if (ctxt->lastError.str3 != NULL) + xmlFree(ctxt->lastError.str3); + +#ifdef LIBXML_CATALOG_ENABLED + if (ctxt->catalogs != NULL) + xmlCatalogFreeLocal(ctxt->catalogs); +#endif + xmlFree(ctxt); +} + +/** + * Allocate and initialize a new parser context. + * + * @returns the xmlParserCtxt or NULL + */ + +xmlParserCtxt * +xmlNewParserCtxt(void) +{ + return(xmlNewSAXParserCtxt(NULL, NULL)); +} + +/** + * Allocate and initialize a new SAX parser context. If userData is NULL, + * the parser context will be passed as user data. + * + * @since 2.11.0 + * + * If you want support older versions, + * it's best to invoke #xmlNewParserCtxt and set ctxt->sax with + * struct assignment. + * + * @param sax SAX handler + * @param userData user data + * @returns the xmlParserCtxt or NULL if memory allocation failed. + */ + +xmlParserCtxt * +xmlNewSAXParserCtxt(const xmlSAXHandler *sax, void *userData) +{ + xmlParserCtxtPtr ctxt; + + xmlInitParser(); + + ctxt = (xmlParserCtxtPtr) xmlMalloc(sizeof(xmlParserCtxt)); + if (ctxt == NULL) + return(NULL); + memset(ctxt, 0, sizeof(xmlParserCtxt)); + if (xmlInitSAXParserCtxt(ctxt, sax, userData) < 0) { + xmlFreeParserCtxt(ctxt); + return(NULL); + } + return(ctxt); +} + +/** + * @since 2.14.0 + * + * @param ctxt parser context + * @returns the private application data. + */ +void * +xmlCtxtGetPrivate(xmlParserCtxt *ctxt) { + if (ctxt == NULL) + return(NULL); + + return(ctxt->_private); +} + +/** + * Set the private application data. + * + * @since 2.14.0 + * + * @param ctxt parser context + * @param priv private application data + */ +void +xmlCtxtSetPrivate(xmlParserCtxt *ctxt, void *priv) { + if (ctxt == NULL) + return; + + ctxt->_private = priv; +} + +/** + * @since 2.14.0 + * + * @param ctxt parser context + * @returns the local catalogs. + */ +void * +xmlCtxtGetCatalogs(xmlParserCtxt *ctxt) { + if (ctxt == NULL) + return(NULL); + + return(ctxt->catalogs); +} + +/** + * Set the local catalogs. + * + * @since 2.14.0 + * + * @param ctxt parser context + * @param catalogs catalogs pointer + */ +void +xmlCtxtSetCatalogs(xmlParserCtxt *ctxt, void *catalogs) { + if (ctxt == NULL) + return; + + ctxt->catalogs = catalogs; +} + +/** + * @since 2.14.0 + * + * @param ctxt parser context + * @returns the dictionary. + */ +xmlDict * +xmlCtxtGetDict(xmlParserCtxt *ctxt) { + if (ctxt == NULL) + return(NULL); + + return(ctxt->dict); +} + +/** + * Set the dictionary. This should only be done immediately after + * creating a parser context. + * + * @since 2.14.0 + * + * @param ctxt parser context + * @param dict dictionary + */ +void +xmlCtxtSetDict(xmlParserCtxt *ctxt, xmlDict *dict) { + if (ctxt == NULL) + return; + + if (ctxt->dict != NULL) + xmlDictFree(ctxt->dict); + + xmlDictReference(dict); + ctxt->dict = dict; +} + +/** + * @since 2.14.0 + * + * @param ctxt parser context + * @returns the SAX handler struct. This is not a copy and must not + * be freed. Handlers can be updated. + */ +xmlSAXHandler * +xmlCtxtGetSaxHandler(xmlParserCtxt *ctxt) { + if (ctxt == NULL) + return(NULL); + + return(ctxt->sax); +} + +/** + * Set the SAX handler struct to a copy of `sax`. + * + * @since 2.14.0 + * + * @param ctxt parser context + * @param sax SAX handler + * @returns 0 on success or -1 if arguments are invalid or a memory + * allocation failed. + */ +int +xmlCtxtSetSaxHandler(xmlParserCtxt *ctxt, const xmlSAXHandler *sax) { + if ((ctxt == NULL) || (ctxt->sax == NULL) || (sax == NULL)) + return(-1); + + *ctxt->sax = *sax; + + return(0); +} + +/** + * @since 2.14.0 + * + * @param ctxt parser context + * @returns the parsed document or NULL if a fatal error occurred when + * parsing. The document must be freed by the caller. Resets the + * context's document to NULL. + */ +xmlDoc * +xmlCtxtGetDocument(xmlParserCtxt *ctxt) { + xmlDocPtr doc; + + if (ctxt == NULL) + return(NULL); + + if ((ctxt->wellFormed) || + (((ctxt->recovery) || (ctxt->html)) && + (!xmlCtxtIsCatastrophicError(ctxt)))) { + doc = ctxt->myDoc; + } else { + if (ctxt->errNo == XML_ERR_OK) + xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR, "unknown error"); + doc = NULL; + xmlFreeDoc(ctxt->myDoc); + } + ctxt->myDoc = NULL; + + return(doc); +} + +/** + * @since 2.14.0 + * + * @param ctxt parser context + * @returns 1 if this is a HTML parser context, 0 otherwise. + */ +int +xmlCtxtIsHtml(xmlParserCtxt *ctxt) { + if (ctxt == NULL) + return(0); + + return(ctxt->html ? 1 : 0); +} + +/** + * Check whether the parser is stopped. + * + * The parser is stopped on fatal (non-wellformedness) errors or + * on user request with #xmlStopParser. + * + * @since 2.14.0 + * + * @param ctxt parser context + * @returns 1 if the parser is stopped, 0 otherwise. + */ +int +xmlCtxtIsStopped(xmlParserCtxt *ctxt) { + if (ctxt == NULL) + return(0); + + return(ctxt->disableSAX != 0); +} + +/** + * Check whether a DTD subset is being parsed. + * + * Should only be used by SAX callbacks. + * + * Return values are + * + * - 0: not in DTD + * - 1: in internal DTD subset + * - 2: in external DTD subset + * + * @since 2.15.0 + * + * @param ctxt parser context + * @returns the subset status + */ +int +xmlCtxtIsInSubset(xmlParserCtxt *ctxt) { + if (ctxt == NULL) + return(0); + + return(ctxt->inSubset); +} + +#ifdef LIBXML_VALID_ENABLED +/** + * @since 2.14.0 + * + * @param ctxt parser context + * @returns the validation context. + */ +xmlValidCtxt * +xmlCtxtGetValidCtxt(xmlParserCtxt *ctxt) { + if (ctxt == NULL) + return(NULL); + + return(&ctxt->vctxt); +} +#endif + +/** + * Return user data. + * + * Return user data of a custom SAX parser or the parser context + * itself if unset. + * + * @since 2.15.0 + * + * @param ctxt parser context + * @returns the user data. + */ +void * +xmlCtxtGetUserData(xmlParserCtxt *ctxt) { + if (ctxt == NULL) + return NULL; + + return ctxt->userData; +} + +/** + * Return the current node being parsed. + * + * This is only useful if the default SAX callbacks which build + * a document tree are intercepted. This mode of operation is + * fragile and discouraged. + * + * Returns the current element node, or the document node if no + * element was parsed yet. + * + * @since 2.15.0 + * + * @param ctxt parser context + * @returns the current node. + */ +xmlNode * +xmlCtxtGetNode(xmlParserCtxt *ctxt) { + if (ctxt == NULL) + return NULL; + + if (ctxt->node != NULL) + return ctxt->node; + return (xmlNode *) ctxt->myDoc; +} + +/** + * Return data from the doctype declaration. + * + * Should only be used by SAX callbacks. + * + * @since 2.15.0 + * + * @param ctxt parser context + * @param name name of the root element (output) + * @param systemId system ID (URI) of the external subset (output) + * @param publicId public ID of the external subset (output) + * @returns 0 on success, -1 if argument is invalid + */ +int +xmlCtxtGetDocTypeDecl(xmlParserCtxt *ctxt, + const xmlChar **name, + const xmlChar **systemId, + const xmlChar **publicId) { + if (ctxt == NULL) + return -1; + + if (name != NULL) + *name = ctxt->intSubName; + if (systemId != NULL) + *systemId = ctxt->extSubURI; + if (publicId != NULL) + *publicId = ctxt->extSubSystem; /* The member is misnamed */ + + return 0; +} + +/** + * Return input position. + * + * Should only be used by error handlers or SAX callbacks. + * + * Because of entities, there can be multiple inputs. Non-negative + * values of `inputIndex` (0, 1, 2, ...) select inputs starting + * from the outermost input. Negative values (-1, -2, ...) select + * inputs starting from the innermost input. + * + * The byte position is counted in possibly decoded UTF-8 bytes, + * so it won't match the position in the raw input data. + * + * @since 2.15.0 + * + * @param ctxt parser context + * @param inputIndex input index + * @param filename filename (output) + * @param line line number (output) + * @param col column number (output) + * @param utf8BytePos byte position (output) + * @returns 0 on success, -1 if arguments are invalid + */ +int +xmlCtxtGetInputPosition(xmlParserCtxt *ctxt, int inputIndex, + const char **filename, int *line, int *col, + unsigned long *utf8BytePos) { + xmlParserInput *input; + + if (ctxt == NULL) + return -1; + + if (inputIndex < 0) { + inputIndex += ctxt->inputNr; + if (inputIndex < 0) + return -1; + } + if (inputIndex >= ctxt->inputNr) + return -1; + + input = ctxt->inputTab[inputIndex]; + + if (filename != NULL) + *filename = input->filename; + if (line != NULL) + *line = input->line; + if (col != NULL) + *col = input->col; + + if (utf8BytePos != NULL) { + unsigned long consumed; + + consumed = input->consumed; + xmlSaturatedAddSizeT(&consumed, input->cur - input->base); + *utf8BytePos = consumed; + } + + return 0; +} + +/** + * Return window into input data. + * + * Should only be used by error handlers or SAX callbacks. + * The returned pointer is only valid until the callback returns. + * + * Because of entities, there can be multiple inputs. Non-negative + * values of `inputIndex` (0, 1, 2, ...) select inputs starting + * from the outermost input. Negative values (-1, -2, ...) select + * inputs starting from the innermost input. + * + * @since 2.15.0 + * + * @param ctxt parser context + * @param inputIndex input index + * @param startOut start of window (output) + * @param sizeInOut maximum size of window (in) + * actual size of window (out) + * @param offsetOut offset of current position inside + * window (out) + * @returns 0 on success, -1 if arguments are invalid + */ +int +xmlCtxtGetInputWindow(xmlParserCtxt *ctxt, int inputIndex, + const xmlChar **startOut, + int *sizeInOut, int *offsetOut) { + xmlParserInput *input; + + if (ctxt == NULL || startOut == NULL || sizeInOut == NULL || + offsetOut == NULL) + return -1; + + if (inputIndex < 0) { + inputIndex += ctxt->inputNr; + if (inputIndex < 0) + return -1; + } + if (inputIndex >= ctxt->inputNr) + return -1; + + input = ctxt->inputTab[inputIndex]; + + xmlParserInputGetWindow(input, startOut, sizeInOut, offsetOut); + + return 0; +} + +/************************************************************************ + * * + * Handling of node information * + * * + ************************************************************************/ + +/** + * Same as #xmlCtxtReset + * + * @deprecated Use #xmlCtxtReset + * + * @param ctxt an XML parser context + */ +void +xmlClearParserCtxt(xmlParserCtxt *ctxt) +{ + xmlCtxtReset(ctxt); +} + + +/** + * Find the parser node info struct for a given node + * + * @deprecated Don't use. + * + * @param ctx an XML parser context + * @param node an XML node within the tree + * @returns an xmlParserNodeInfo block pointer or NULL + */ +const xmlParserNodeInfo * +xmlParserFindNodeInfo(xmlParserCtxt *ctx, xmlNode *node) +{ + unsigned long pos; + + if ((ctx == NULL) || (node == NULL)) + return (NULL); + /* Find position where node should be at */ + pos = xmlParserFindNodeInfoIndex(&ctx->node_seq, node); + if (pos < ctx->node_seq.length + && ctx->node_seq.buffer[pos].node == node) + return &ctx->node_seq.buffer[pos]; + else + return NULL; +} + + +/** + * Initialize (set to initial state) node info sequence + * + * @deprecated Don't use. + * + * @param seq a node info sequence pointer + */ +void +xmlInitNodeInfoSeq(xmlParserNodeInfoSeq *seq) +{ + if (seq == NULL) + return; + seq->length = 0; + seq->maximum = 0; + seq->buffer = NULL; +} + +/** + * Clear (release memory and reinitialize) node info sequence + * + * @deprecated Don't use. + * + * @param seq a node info sequence pointer + */ +void +xmlClearNodeInfoSeq(xmlParserNodeInfoSeq *seq) +{ + if (seq == NULL) + return; + if (seq->buffer != NULL) + xmlFree(seq->buffer); + xmlInitNodeInfoSeq(seq); +} + +/** + * Find the index that the info record for the given node is or + * should be at in a sorted sequence. + * + * @deprecated Don't use. + * + * @param seq a node info sequence pointer + * @param node an XML node pointer + * @returns a long indicating the position of the record + */ +unsigned long +xmlParserFindNodeInfoIndex(xmlParserNodeInfoSeq *seq, + xmlNode *node) +{ + unsigned long upper, lower, middle; + int found = 0; + + if ((seq == NULL) || (node == NULL)) + return ((unsigned long) -1); + + /* Do a binary search for the key */ + lower = 1; + upper = seq->length; + middle = 0; + while (lower <= upper && !found) { + middle = lower + (upper - lower) / 2; + if (node == seq->buffer[middle - 1].node) + found = 1; + else if (node < seq->buffer[middle - 1].node) + upper = middle - 1; + else + lower = middle + 1; + } + + /* Return position */ + if (middle == 0 || seq->buffer[middle - 1].node < node) + return middle; + else + return middle - 1; +} + + +/** + * Insert node info record into the sorted sequence + * + * @deprecated Don't use. + * + * @param ctxt an XML parser context + * @param info a node info sequence pointer + */ +void +xmlParserAddNodeInfo(xmlParserCtxt *ctxt, + xmlParserNodeInfo *info) +{ + unsigned long pos; + + if ((ctxt == NULL) || (info == NULL)) return; + + /* Find pos and check to see if node is already in the sequence */ + pos = xmlParserFindNodeInfoIndex(&ctxt->node_seq, (xmlNodePtr) + info->node); + + if ((pos < ctxt->node_seq.length) && + (ctxt->node_seq.buffer != NULL) && + (ctxt->node_seq.buffer[pos].node == info->node)) { + ctxt->node_seq.buffer[pos] = *info; + } + + /* Otherwise, we need to add new node to buffer */ + else { + if (ctxt->node_seq.length + 1 > ctxt->node_seq.maximum) { + xmlParserNodeInfo *tmp; + int newSize; + + newSize = xmlGrowCapacity(ctxt->node_seq.maximum, sizeof(tmp[0]), + 4, XML_MAX_ITEMS); + if (newSize < 0) { + xmlCtxtErrMemory(ctxt); + return; + } + tmp = xmlRealloc(ctxt->node_seq.buffer, newSize * sizeof(tmp[0])); + if (tmp == NULL) { + xmlCtxtErrMemory(ctxt); + return; + } + ctxt->node_seq.buffer = tmp; + ctxt->node_seq.maximum = newSize; + } + + /* If position is not at end, move elements out of the way */ + if (pos != ctxt->node_seq.length) { + unsigned long i; + + for (i = ctxt->node_seq.length; i > pos; i--) + ctxt->node_seq.buffer[i] = ctxt->node_seq.buffer[i - 1]; + } + + /* Copy element and increase length */ + ctxt->node_seq.buffer[pos] = *info; + ctxt->node_seq.length++; + } +} + +/************************************************************************ + * * + * Defaults settings * + * * + ************************************************************************/ +/** + * Set and return the previous value for enabling pedantic warnings. + * + * @deprecated Use the modern options API with XML_PARSE_PEDANTIC. + * + * @param val int 0 or 1 + * @returns the last value for 0 for no substitution, 1 for substitution. + */ + +int +xmlPedanticParserDefault(int val) { + int old = xmlPedanticParserDefaultValue; + + xmlPedanticParserDefaultValue = val; + return(old); +} + +/** + * Has no effect. + * + * @deprecated Line numbers are always enabled. + * + * @param val int 0 or 1 + * @returns 1 + */ + +int +xmlLineNumbersDefault(int val ATTRIBUTE_UNUSED) { + return(1); +} + +/** + * Set and return the previous value for default entity support. + * + * @deprecated Use the modern options API with XML_PARSE_NOENT. + * + * @param val int 0 or 1 + * @returns the last value for 0 for no substitution, 1 for substitution. + */ + +int +xmlSubstituteEntitiesDefault(int val) { + int old = xmlSubstituteEntitiesDefaultValue; + + xmlSubstituteEntitiesDefaultValue = val; + return(old); +} + +/** + * Set and return the previous value for default blanks text nodes support. + * + * @deprecated Use the modern options API with XML_PARSE_NOBLANKS. + * + * @param val int 0 or 1 + * @returns the last value for 0 for no substitution, 1 for substitution. + */ + +int +xmlKeepBlanksDefault(int val) { + int old = xmlKeepBlanksDefaultValue; + + xmlKeepBlanksDefaultValue = val; +#ifdef LIBXML_OUTPUT_ENABLED + if (!val) + xmlIndentTreeOutput = 1; +#endif + return(old); +} + diff --git a/libxml2/pattern.c b/libxml2/pattern.c new file mode 100644 index 0000000..fd376ee --- /dev/null +++ b/libxml2/pattern.c @@ -0,0 +1,2359 @@ +/* + * pattern.c: Implementation of selectors for nodes + * + * Reference: + * http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/ + * to some extent + * http://www.w3.org/TR/1999/REC-xml-19991116 + * + * See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +/* + * TODO: + * - compilation flags to check for specific syntaxes + * using flags of #xmlPatterncompile + * - making clear how pattern starting with / or . need to be handled, + * currently push(NULL, NULL) means a reset of the streaming context + * and indicating we are on / (the document node), probably need + * something similar for . + * - get rid of the "compile" starting with lowercase + * - DONE (2006-05-16): get rid of the Strdup/Strndup in case of dictionary + */ + +#define IN_LIBXML +#include "libxml.h" + +#include +#include +#include +#include +#include +#include +#include + +#include "private/memory.h" +#include "private/parser.h" + +#ifdef LIBXML_PATTERN_ENABLED + +#ifdef ERROR +#undef ERROR +#endif +#define ERROR(a, b, c, d) +#define ERROR5(a, b, c, d, e) + +#define XML_STREAM_STEP_DESC 1 +#define XML_STREAM_STEP_FINAL 2 +#define XML_STREAM_STEP_ROOT 4 +#define XML_STREAM_STEP_ATTR 8 +#define XML_STREAM_STEP_NODE 16 +#define XML_STREAM_STEP_IN_SET 32 + +/* +* NOTE: Those private flags (XML_STREAM_xxx) are used +* in _xmlStreamCtxt->flag. They extend the public +* xmlPatternFlags, so be careful not to interfere with the +* reserved values for xmlPatternFlags. +*/ +#define XML_STREAM_FINAL_IS_ANY_NODE 1<<14 +#define XML_STREAM_FROM_ROOT 1<<15 +#define XML_STREAM_DESC 1<<16 + +/* +* XML_STREAM_ANY_NODE is used for comparison against +* xmlElementType enums, to indicate a node of any type. +*/ +#define XML_STREAM_ANY_NODE 100 + +#define XML_PATTERN_NOTPATTERN (XML_PATTERN_XPATH | \ + XML_PATTERN_XSSEL | \ + XML_PATTERN_XSFIELD) + +#define XML_STREAM_XS_IDC(c) ((c)->flags & \ + (XML_PATTERN_XSSEL | XML_PATTERN_XSFIELD)) + +#define XML_STREAM_XS_IDC_SEL(c) ((c)->flags & XML_PATTERN_XSSEL) + +#define XML_STREAM_XS_IDC_FIELD(c) ((c)->flags & XML_PATTERN_XSFIELD) + +#define XML_PAT_COPY_NSNAME(c, r, nsname) \ + if ((c)->comp->dict) \ + r = (xmlChar *) xmlDictLookup((c)->comp->dict, BAD_CAST nsname, -1); \ + else r = xmlStrdup(BAD_CAST nsname); + +#define XML_PAT_FREE_STRING(c, r) if ((c)->comp->dict == NULL) xmlFree(r); + +typedef struct _xmlStreamStep xmlStreamStep; +typedef xmlStreamStep *xmlStreamStepPtr; +struct _xmlStreamStep { + int flags; /* properties of that step */ + const xmlChar *name; /* first string value if NULL accept all */ + const xmlChar *ns; /* second string value */ + int nodeType; /* type of node */ +}; + +typedef struct _xmlStreamComp xmlStreamComp; +typedef xmlStreamComp *xmlStreamCompPtr; +struct _xmlStreamComp { + xmlDict *dict; /* the dictionary if any */ + int nbStep; /* number of steps in the automata */ + int maxStep; /* allocated number of steps */ + xmlStreamStepPtr steps; /* the array of steps */ + int flags; +}; + +struct _xmlStreamCtxt { + struct _xmlStreamCtxt *next;/* link to next sub pattern if | */ + xmlStreamCompPtr comp; /* the compiled stream */ + int nbState; /* number of states in the automata */ + int maxState; /* allocated number of states */ + int level; /* how deep are we ? */ + int *states; /* the array of step indexes */ + int flags; /* validation options */ + int blockLevel; +}; + +static void xmlFreeStreamComp(xmlStreamCompPtr comp); + +/* + * Types are private: + */ + +typedef enum { + XML_OP_END=0, + XML_OP_ROOT, + XML_OP_ELEM, + XML_OP_CHILD, + XML_OP_ATTR, + XML_OP_PARENT, + XML_OP_ANCESTOR, + XML_OP_NS, + XML_OP_ALL +} xmlPatOp; + + +typedef struct _xmlStepState xmlStepState; +typedef xmlStepState *xmlStepStatePtr; +struct _xmlStepState { + int step; + xmlNodePtr node; +}; + +typedef struct _xmlStepStates xmlStepStates; +typedef xmlStepStates *xmlStepStatesPtr; +struct _xmlStepStates { + int nbstates; + int maxstates; + xmlStepStatePtr states; +}; + +typedef struct _xmlStepOp xmlStepOp; +typedef xmlStepOp *xmlStepOpPtr; +struct _xmlStepOp { + xmlPatOp op; + const xmlChar *value; + const xmlChar *value2; /* The namespace name */ +}; + +#define PAT_FROM_ROOT (1<<8) +#define PAT_FROM_CUR (1<<9) + +struct _xmlPattern { + void *data; /* the associated template */ + xmlDictPtr dict; /* the optional dictionary */ + struct _xmlPattern *next; /* next pattern if | is used */ + const xmlChar *pattern; /* the pattern */ + int flags; /* flags */ + int nbStep; + int maxStep; + xmlStepOpPtr steps; /* ops for computation */ + xmlStreamCompPtr stream; /* the streaming data if any */ +}; + +typedef struct _xmlPatParserContext xmlPatParserContext; +typedef xmlPatParserContext *xmlPatParserContextPtr; +struct _xmlPatParserContext { + const xmlChar *cur; /* the current char being parsed */ + const xmlChar *base; /* the full expression */ + int error; /* error code */ + xmlDictPtr dict; /* the dictionary if any */ + xmlPatternPtr comp; /* the result */ + xmlNodePtr elem; /* the current node if any */ + const xmlChar **namespaces; /* the namespaces definitions */ + int nb_namespaces; /* the number of namespaces */ +}; + +/************************************************************************ + * * + * Type functions * + * * + ************************************************************************/ + +/** + * Create a new XSLT Pattern + * + * @returns the newly allocated xmlPattern or NULL in case of error + */ +static xmlPatternPtr +xmlNewPattern(void) { + xmlPatternPtr cur; + + cur = (xmlPatternPtr) xmlMalloc(sizeof(xmlPattern)); + if (cur == NULL) { + ERROR(NULL, NULL, NULL, + "xmlNewPattern : malloc failed\n"); + return(NULL); + } + memset(cur, 0, sizeof(xmlPattern)); + cur->steps = NULL; + cur->maxStep = 0; + return(cur); +} + +/** + * Free up the memory allocated by `comp` + * + * @param comp an XSLT comp + */ +void +xmlFreePattern(xmlPattern *comp) { + xmlFreePatternList(comp); +} + +static void +xmlFreePatternInternal(xmlPatternPtr comp) { + xmlStepOpPtr op; + int i; + + if (comp == NULL) + return; + if (comp->stream != NULL) + xmlFreeStreamComp(comp->stream); + if (comp->pattern != NULL) + xmlFree((xmlChar *)comp->pattern); + if (comp->steps != NULL) { + if (comp->dict == NULL) { + for (i = 0;i < comp->nbStep;i++) { + op = &comp->steps[i]; + if (op->value != NULL) + xmlFree((xmlChar *) op->value); + if (op->value2 != NULL) + xmlFree((xmlChar *) op->value2); + } + } + xmlFree(comp->steps); + } + if (comp->dict != NULL) + xmlDictFree(comp->dict); + + memset(comp, -1, sizeof(xmlPattern)); + xmlFree(comp); +} + +/** + * Free up the memory allocated by all the elements of `comp` + * + * @param comp an XSLT comp list + */ +void +xmlFreePatternList(xmlPattern *comp) { + xmlPatternPtr cur; + + while (comp != NULL) { + cur = comp; + comp = comp->next; + cur->next = NULL; + xmlFreePatternInternal(cur); + } +} + +/** + * Create a new XML pattern parser context + * + * @param pattern the pattern context + * @param dict the inherited dictionary or NULL + * @param namespaces the prefix definitions, array of [URI, prefix] terminated + * with [NULL, NULL] or NULL if no namespace is used + * @returns the newly allocated xmlPatParserContext or NULL in case of error + */ +static xmlPatParserContextPtr +xmlNewPatParserContext(const xmlChar *pattern, xmlDictPtr dict, + const xmlChar **namespaces) { + xmlPatParserContextPtr cur; + + if (pattern == NULL) + return(NULL); + + cur = (xmlPatParserContextPtr) xmlMalloc(sizeof(xmlPatParserContext)); + if (cur == NULL) { + ERROR(NULL, NULL, NULL, + "xmlNewPatParserContext : malloc failed\n"); + return(NULL); + } + memset(cur, 0, sizeof(xmlPatParserContext)); + cur->dict = dict; + cur->cur = pattern; + cur->base = pattern; + if (namespaces != NULL) { + int i; + for (i = 0;namespaces[2 * i] != NULL;i++) + ; + cur->nb_namespaces = i; + } else { + cur->nb_namespaces = 0; + } + cur->namespaces = namespaces; + return(cur); +} + +/** + * Free up the memory allocated by `ctxt` + * + * @param ctxt an XSLT parser context + */ +static void +xmlFreePatParserContext(xmlPatParserContextPtr ctxt) { + if (ctxt == NULL) + return; + memset(ctxt, -1, sizeof(xmlPatParserContext)); + xmlFree(ctxt); +} + +static int +xmlPatternGrow(xmlPatternPtr comp) { + xmlStepOpPtr temp; + int newSize; + + newSize = xmlGrowCapacity(comp->maxStep, sizeof(temp[0]), + 10, XML_MAX_ITEMS); + if (newSize < 0) + return(-1); + temp = xmlRealloc(comp->steps, newSize * sizeof(temp[0])); + if (temp == NULL) + return(-1); + comp->steps = temp; + comp->maxStep = newSize; + + return(0); +} + +/** + * Add a step to an XSLT Compiled Match + * + * @param ctxt the pattern parser context + * @param comp the compiled match expression + * @param op an op + * @param value the first value + * @param value2 the second value + * @returns -1 in case of failure, 0 otherwise. + */ +static int +xmlPatternAdd(xmlPatParserContextPtr ctxt, xmlPatternPtr comp, + xmlPatOp op, xmlChar * value, xmlChar * value2) +{ + if (comp->nbStep >= comp->maxStep) { + if (xmlPatternGrow(comp) < 0) { + ctxt->error = -1; + return(-1); + } + } + comp->steps[comp->nbStep].op = op; + comp->steps[comp->nbStep].value = value; + comp->steps[comp->nbStep].value2 = value2; + comp->nbStep++; + return(0); +} + +/** + * reverse all the stack of expressions + * + * @param comp the compiled match expression + * @returns 0 in case of success and -1 in case of error. + */ +static int +xmlReversePattern(xmlPatternPtr comp) { + int i, j; + + /* + * remove the leading // for //a or .//a + */ + if ((comp->nbStep > 0) && (comp->steps[0].op == XML_OP_ANCESTOR)) { + for (i = 0, j = 1;j < comp->nbStep;i++,j++) { + comp->steps[i].value = comp->steps[j].value; + comp->steps[i].value2 = comp->steps[j].value2; + comp->steps[i].op = comp->steps[j].op; + } + comp->nbStep--; + } + + /* + * Grow to add OP_END later + */ + if (comp->nbStep >= comp->maxStep) { + if (xmlPatternGrow(comp) < 0) + return(-1); + } + + i = 0; + j = comp->nbStep - 1; + while (j > i) { + register const xmlChar *tmp; + register xmlPatOp op; + tmp = comp->steps[i].value; + comp->steps[i].value = comp->steps[j].value; + comp->steps[j].value = tmp; + tmp = comp->steps[i].value2; + comp->steps[i].value2 = comp->steps[j].value2; + comp->steps[j].value2 = tmp; + op = comp->steps[i].op; + comp->steps[i].op = comp->steps[j].op; + comp->steps[j].op = op; + j--; + i++; + } + + comp->steps[comp->nbStep].value = NULL; + comp->steps[comp->nbStep].value2 = NULL; + comp->steps[comp->nbStep++].op = XML_OP_END; + return(0); +} + +/************************************************************************ + * * + * The interpreter for the precompiled patterns * + * * + ************************************************************************/ + +static int +xmlPatPushState(xmlStepStates *states, int step, xmlNodePtr node) { + if (states->maxstates <= states->nbstates) { + xmlStepState *tmp; + int newSize; + + newSize = xmlGrowCapacity(states->maxstates, sizeof(tmp[0]), + 4, XML_MAX_ITEMS); + if (newSize < 0) + return(-1); + tmp = xmlRealloc(states->states, newSize * sizeof(tmp[0])); + if (tmp == NULL) + return(-1); + states->states = tmp; + states->maxstates = newSize; + } + states->states[states->nbstates].step = step; + states->states[states->nbstates++].node = node; + return(0); +} + +/** + * Test whether the node matches the pattern + * + * @param comp the precompiled pattern + * @param node a node + * @returns 1 if it matches, 0 if it doesn't and -1 in case of failure + */ +static int +xmlPatMatch(xmlPatternPtr comp, xmlNodePtr node) { + int i; + xmlStepOpPtr step; + xmlStepStates states = {0, 0, NULL}; /* // may require backtrack */ + + if ((comp == NULL) || (node == NULL)) return(-1); + i = 0; +restart: + for (;i < comp->nbStep;i++) { + step = &comp->steps[i]; + switch (step->op) { + case XML_OP_END: + goto found; + case XML_OP_ROOT: + if (node->type == XML_NAMESPACE_DECL) + goto rollback; + node = node->parent; + if ((node->type == XML_DOCUMENT_NODE) || + (node->type == XML_HTML_DOCUMENT_NODE)) + continue; + goto rollback; + case XML_OP_ELEM: + if (node->type != XML_ELEMENT_NODE) + goto rollback; + if (step->value == NULL) + continue; + if (step->value[0] != node->name[0]) + goto rollback; + if (!xmlStrEqual(step->value, node->name)) + goto rollback; + + /* Namespace test */ + if (node->ns == NULL) { + if (step->value2 != NULL) + goto rollback; + } else if (node->ns->href != NULL) { + if (step->value2 == NULL) + goto rollback; + if (!xmlStrEqual(step->value2, node->ns->href)) + goto rollback; + } + continue; + case XML_OP_CHILD: { + xmlNodePtr lst; + + if ((node->type != XML_ELEMENT_NODE) && + (node->type != XML_DOCUMENT_NODE) && + (node->type != XML_HTML_DOCUMENT_NODE)) + goto rollback; + + lst = node->children; + + if (step->value != NULL) { + while (lst != NULL) { + if ((lst->type == XML_ELEMENT_NODE) && + (step->value[0] == lst->name[0]) && + (xmlStrEqual(step->value, lst->name))) + break; + lst = lst->next; + } + if (lst != NULL) + continue; + } + goto rollback; + } + case XML_OP_ATTR: + if (node->type != XML_ATTRIBUTE_NODE) + goto rollback; + if (step->value != NULL) { + if (step->value[0] != node->name[0]) + goto rollback; + if (!xmlStrEqual(step->value, node->name)) + goto rollback; + } + /* Namespace test */ + if (node->ns == NULL) { + if (step->value2 != NULL) + goto rollback; + } else if (step->value2 != NULL) { + if (!xmlStrEqual(step->value2, node->ns->href)) + goto rollback; + } + continue; + case XML_OP_PARENT: + if ((node->type == XML_DOCUMENT_NODE) || + (node->type == XML_HTML_DOCUMENT_NODE) || + (node->type == XML_NAMESPACE_DECL)) + goto rollback; + node = node->parent; + if (node == NULL) + goto rollback; + if (step->value == NULL) + continue; + if (step->value[0] != node->name[0]) + goto rollback; + if (!xmlStrEqual(step->value, node->name)) + goto rollback; + /* Namespace test */ + if (node->ns == NULL) { + if (step->value2 != NULL) + goto rollback; + } else if (node->ns->href != NULL) { + if (step->value2 == NULL) + goto rollback; + if (!xmlStrEqual(step->value2, node->ns->href)) + goto rollback; + } + continue; + case XML_OP_ANCESTOR: + /* TODO: implement coalescing of ANCESTOR/NODE ops */ + if (step->value == NULL) { + i++; + step = &comp->steps[i]; + if (step->op == XML_OP_ROOT) + goto found; + if (step->op != XML_OP_ELEM) + goto rollback; + if (step->value == NULL) + return(-1); + } + if (node == NULL) + goto rollback; + if ((node->type == XML_DOCUMENT_NODE) || + (node->type == XML_HTML_DOCUMENT_NODE) || + (node->type == XML_NAMESPACE_DECL)) + goto rollback; + node = node->parent; + while (node != NULL) { + if ((node->type == XML_ELEMENT_NODE) && + (step->value[0] == node->name[0]) && + (xmlStrEqual(step->value, node->name))) { + /* Namespace test */ + if (node->ns == NULL) { + if (step->value2 == NULL) + break; + } else if (node->ns->href != NULL) { + if ((step->value2 != NULL) && + (xmlStrEqual(step->value2, node->ns->href))) + break; + } + } + node = node->parent; + } + if (node == NULL) + goto rollback; + /* + * prepare a potential rollback from here + * for ancestors of that node. + */ + if (step->op == XML_OP_ANCESTOR) + xmlPatPushState(&states, i, node); + else + xmlPatPushState(&states, i - 1, node); + continue; + case XML_OP_NS: + if (node->type != XML_ELEMENT_NODE) + goto rollback; + if (node->ns == NULL) { + if (step->value != NULL) + goto rollback; + } else if (node->ns->href != NULL) { + if (step->value == NULL) + goto rollback; + if (!xmlStrEqual(step->value, node->ns->href)) + goto rollback; + } + break; + case XML_OP_ALL: + if (node->type != XML_ELEMENT_NODE) + goto rollback; + break; + } + } +found: + if (states.states != NULL) { + /* Free the rollback states */ + xmlFree(states.states); + } + return(1); +rollback: + /* got an error try to rollback */ + if (states.states == NULL) + return(0); + if (states.nbstates <= 0) { + xmlFree(states.states); + return(0); + } + states.nbstates--; + i = states.states[states.nbstates].step; + node = states.states[states.nbstates].node; + goto restart; +} + +/************************************************************************ + * * + * Dedicated parser for templates * + * * + ************************************************************************/ + +#define CUR (*ctxt->cur) +#define SKIP(val) ctxt->cur += (val) +#define NXT(val) ctxt->cur[(val)] +#define PEEKPREV(val) ctxt->cur[-(val)] +#define CUR_PTR ctxt->cur + +#define SKIP_BLANKS \ + while (IS_BLANK_CH(CUR)) NEXT + +#define CURRENT (*ctxt->cur) +#define NEXT ((*ctxt->cur) ? ctxt->cur++: ctxt->cur) + + +#define PUSH(op, val, val2) \ + if (xmlPatternAdd(ctxt, ctxt->comp, (op), (val), (val2))) goto error; + +/** + * [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | + * CombiningChar | Extender + * + * [5] Name ::= (Letter | '_' | ':') (NameChar)* + * + * [6] Names ::= Name (S Name)* + * + * @param ctxt the XPath Parser context + * @returns the Name parsed or NULL + */ + +static xmlChar * +xmlPatScanName(xmlPatParserContextPtr ctxt) { + const xmlChar *q, *cur; + xmlChar *ret = NULL; + + SKIP_BLANKS; + + q = CUR_PTR; + cur = xmlScanName(q, XML_MAX_NAME_LENGTH, 0); + if ((cur == NULL) || (cur == q)) + return(NULL); + if (ctxt->dict) + ret = (xmlChar *) xmlDictLookup(ctxt->dict, q, cur - q); + else + ret = xmlStrndup(q, cur - q); + CUR_PTR = cur; + return(ret); +} + +/** + * Parses a non qualified name + * + * @param ctxt the XPath Parser context + * @returns the Name parsed or NULL + */ + +static xmlChar * +xmlPatScanNCName(xmlPatParserContextPtr ctxt) { + const xmlChar *q, *cur; + xmlChar *ret = NULL; + + SKIP_BLANKS; + + q = CUR_PTR; + cur = xmlScanName(q, XML_MAX_NAME_LENGTH, XML_SCAN_NC); + if ((cur == NULL) || (cur == q)) + return(NULL); + if (ctxt->dict) + ret = (xmlChar *) xmlDictLookup(ctxt->dict, q, cur - q); + else + ret = xmlStrndup(q, cur - q); + if (ret == NULL) + ctxt->error = -1; + CUR_PTR = cur; + return(ret); +} + +/** + * Compile an attribute test. + * + * @param ctxt the compilation context + */ +static void +xmlCompileAttributeTest(xmlPatParserContextPtr ctxt) { + xmlChar *token = NULL; + xmlChar *name = NULL; + xmlChar *URL = NULL; + + SKIP_BLANKS; + name = xmlPatScanNCName(ctxt); + if (ctxt->error < 0) + return; + if (name == NULL) { + if (CUR == '*') { + PUSH(XML_OP_ATTR, NULL, NULL); + NEXT; + } else { + ERROR(NULL, NULL, NULL, + "xmlCompileAttributeTest : Name expected\n"); + ctxt->error = 1; + } + return; + } + if (CUR == ':') { + int i; + xmlChar *prefix = name; + + NEXT; + + if (IS_BLANK_CH(CUR)) { + ERROR5(NULL, NULL, NULL, "Invalid QName.\n", NULL); + ctxt->error = 1; + goto error; + } + /* + * This is a namespace match + */ + token = xmlPatScanName(ctxt); + if ((prefix[0] == 'x') && + (prefix[1] == 'm') && + (prefix[2] == 'l') && + (prefix[3] == 0)) + { + XML_PAT_COPY_NSNAME(ctxt, URL, XML_XML_NAMESPACE); + } else { + for (i = 0;i < ctxt->nb_namespaces;i++) { + if (xmlStrEqual(ctxt->namespaces[2 * i + 1], prefix)) { + XML_PAT_COPY_NSNAME(ctxt, URL, ctxt->namespaces[2 * i]) + break; + } + } + if (i >= ctxt->nb_namespaces) { + ERROR5(NULL, NULL, NULL, + "xmlCompileAttributeTest : no namespace bound to prefix %s\n", + prefix); + ctxt->error = 1; + goto error; + } + } + XML_PAT_FREE_STRING(ctxt, name); + name = NULL; + if (token == NULL) { + if (CUR == '*') { + NEXT; + PUSH(XML_OP_ATTR, NULL, URL); + } else { + ERROR(NULL, NULL, NULL, + "xmlCompileAttributeTest : Name expected\n"); + ctxt->error = 1; + goto error; + } + } else { + PUSH(XML_OP_ATTR, token, URL); + } + } else { + PUSH(XML_OP_ATTR, name, NULL); + } + return; +error: + if (name != NULL) + XML_PAT_FREE_STRING(ctxt, name); + if (URL != NULL) + XML_PAT_FREE_STRING(ctxt, URL) + if (token != NULL) + XML_PAT_FREE_STRING(ctxt, token); +} + +/** + * Compile the Step Pattern and generates a precompiled + * form suitable for fast matching. + * + * [3] Step ::= '.' | NameTest + * [4] NameTest ::= QName | '*' | NCName ':' '*' + * + * @param ctxt the compilation context + */ + +static void +xmlCompileStepPattern(xmlPatParserContextPtr ctxt) { + xmlChar *token = NULL; + xmlChar *name = NULL; + xmlChar *URL = NULL; + int hasBlanks = 0; + + SKIP_BLANKS; + if (CUR == '.') { + /* + * Context node. + */ + NEXT; + PUSH(XML_OP_ELEM, NULL, NULL); + return; + } + if (CUR == '@') { + /* + * Attribute test. + */ + if (XML_STREAM_XS_IDC_SEL(ctxt->comp)) { + ERROR5(NULL, NULL, NULL, + "Unexpected attribute axis in '%s'.\n", ctxt->base); + ctxt->error = 1; + return; + } + NEXT; + xmlCompileAttributeTest(ctxt); + if (ctxt->error != 0) + goto error; + return; + } + name = xmlPatScanNCName(ctxt); + if (ctxt->error < 0) + return; + if (name == NULL) { + if (CUR == '*') { + NEXT; + PUSH(XML_OP_ALL, NULL, NULL); + return; + } else { + ERROR(NULL, NULL, NULL, + "xmlCompileStepPattern : Name expected\n"); + ctxt->error = 1; + return; + } + } + if (IS_BLANK_CH(CUR)) { + hasBlanks = 1; + SKIP_BLANKS; + } + if (CUR == ':') { + NEXT; + if (CUR != ':') { + xmlChar *prefix = name; + int i; + + if (hasBlanks || IS_BLANK_CH(CUR)) { + ERROR5(NULL, NULL, NULL, "Invalid QName.\n", NULL); + ctxt->error = 1; + goto error; + } + /* + * This is a namespace match + */ + token = xmlPatScanName(ctxt); + if ((prefix[0] == 'x') && + (prefix[1] == 'm') && + (prefix[2] == 'l') && + (prefix[3] == 0)) + { + XML_PAT_COPY_NSNAME(ctxt, URL, XML_XML_NAMESPACE) + } else { + for (i = 0;i < ctxt->nb_namespaces;i++) { + if (xmlStrEqual(ctxt->namespaces[2 * i + 1], prefix)) { + XML_PAT_COPY_NSNAME(ctxt, URL, ctxt->namespaces[2 * i]) + break; + } + } + if (i >= ctxt->nb_namespaces) { + ERROR5(NULL, NULL, NULL, + "xmlCompileStepPattern : no namespace bound to prefix %s\n", + prefix); + ctxt->error = 1; + goto error; + } + } + XML_PAT_FREE_STRING(ctxt, prefix); + name = NULL; + if (token == NULL) { + if (CUR == '*') { + NEXT; + PUSH(XML_OP_NS, URL, NULL); + } else { + ERROR(NULL, NULL, NULL, + "xmlCompileStepPattern : Name expected\n"); + ctxt->error = 1; + goto error; + } + } else { + PUSH(XML_OP_ELEM, token, URL); + } + } else { + NEXT; + if (xmlStrEqual(name, (const xmlChar *) "child")) { + XML_PAT_FREE_STRING(ctxt, name); + name = xmlPatScanName(ctxt); + if (name == NULL) { + if (CUR == '*') { + NEXT; + PUSH(XML_OP_ALL, NULL, NULL); + return; + } else { + ERROR(NULL, NULL, NULL, + "xmlCompileStepPattern : QName expected\n"); + ctxt->error = 1; + goto error; + } + } + if (CUR == ':') { + xmlChar *prefix = name; + int i; + + NEXT; + if (IS_BLANK_CH(CUR)) { + ERROR5(NULL, NULL, NULL, "Invalid QName.\n", NULL); + ctxt->error = 1; + goto error; + } + /* + * This is a namespace match + */ + token = xmlPatScanName(ctxt); + if ((prefix[0] == 'x') && + (prefix[1] == 'm') && + (prefix[2] == 'l') && + (prefix[3] == 0)) + { + XML_PAT_COPY_NSNAME(ctxt, URL, XML_XML_NAMESPACE) + } else { + for (i = 0;i < ctxt->nb_namespaces;i++) { + if (xmlStrEqual(ctxt->namespaces[2 * i + 1], prefix)) { + XML_PAT_COPY_NSNAME(ctxt, URL, ctxt->namespaces[2 * i]) + break; + } + } + if (i >= ctxt->nb_namespaces) { + ERROR5(NULL, NULL, NULL, + "xmlCompileStepPattern : no namespace bound " + "to prefix %s\n", prefix); + ctxt->error = 1; + goto error; + } + } + XML_PAT_FREE_STRING(ctxt, prefix); + name = NULL; + if (token == NULL) { + if (CUR == '*') { + NEXT; + PUSH(XML_OP_NS, URL, NULL); + } else { + ERROR(NULL, NULL, NULL, + "xmlCompileStepPattern : Name expected\n"); + ctxt->error = 1; + goto error; + } + } else { + PUSH(XML_OP_ELEM, token, URL); + } + } else + PUSH(XML_OP_ELEM, name, NULL); + return; + } else if (xmlStrEqual(name, (const xmlChar *) "attribute")) { + XML_PAT_FREE_STRING(ctxt, name) + name = NULL; + if (XML_STREAM_XS_IDC_SEL(ctxt->comp)) { + ERROR5(NULL, NULL, NULL, + "Unexpected attribute axis in '%s'.\n", ctxt->base); + ctxt->error = 1; + goto error; + } + xmlCompileAttributeTest(ctxt); + if (ctxt->error != 0) + goto error; + return; + } else { + ERROR5(NULL, NULL, NULL, + "The 'element' or 'attribute' axis is expected.\n", NULL); + ctxt->error = 1; + goto error; + } + } + } else if (CUR == '*') { + if (name != NULL) { + ctxt->error = 1; + goto error; + } + NEXT; + PUSH(XML_OP_ALL, token, NULL); + } else { + PUSH(XML_OP_ELEM, name, NULL); + } + return; +error: + if (URL != NULL) + XML_PAT_FREE_STRING(ctxt, URL) + if (token != NULL) + XML_PAT_FREE_STRING(ctxt, token) + if (name != NULL) + XML_PAT_FREE_STRING(ctxt, name) +} + +/** + * Compile the Path Pattern and generates a precompiled + * form suitable for fast matching. + * + * [5] Path ::= ('.//')? ( Step '/' )* ( Step | '@' NameTest ) + * + * @param ctxt the compilation context + */ +static void +xmlCompilePathPattern(xmlPatParserContextPtr ctxt) { + SKIP_BLANKS; + if (CUR == '/') { + ctxt->comp->flags |= PAT_FROM_ROOT; + } else if ((CUR == '.') || (ctxt->comp->flags & XML_PATTERN_NOTPATTERN)) { + ctxt->comp->flags |= PAT_FROM_CUR; + } + + if ((CUR == '/') && (NXT(1) == '/')) { + PUSH(XML_OP_ANCESTOR, NULL, NULL); + NEXT; + NEXT; + } else if ((CUR == '.') && (NXT(1) == '/') && (NXT(2) == '/')) { + PUSH(XML_OP_ANCESTOR, NULL, NULL); + NEXT; + NEXT; + NEXT; + /* Check for incompleteness. */ + SKIP_BLANKS; + if (CUR == 0) { + ERROR5(NULL, NULL, NULL, + "Incomplete expression '%s'.\n", ctxt->base); + ctxt->error = 1; + goto error; + } + } + if (CUR == '@') { + NEXT; + xmlCompileAttributeTest(ctxt); + if (ctxt->error != 0) + goto error; + SKIP_BLANKS; + /* TODO: check for incompleteness */ + if (CUR != 0) { + xmlCompileStepPattern(ctxt); + if (ctxt->error != 0) + goto error; + } + } else { + if (CUR == '/') { + PUSH(XML_OP_ROOT, NULL, NULL); + NEXT; + /* Check for incompleteness. */ + SKIP_BLANKS; + if (CUR == 0) { + ERROR5(NULL, NULL, NULL, + "Incomplete expression '%s'.\n", ctxt->base); + ctxt->error = 1; + goto error; + } + } + xmlCompileStepPattern(ctxt); + if (ctxt->error != 0) + goto error; + SKIP_BLANKS; + while (CUR == '/') { + if (NXT(1) == '/') { + PUSH(XML_OP_ANCESTOR, NULL, NULL); + NEXT; + NEXT; + SKIP_BLANKS; + xmlCompileStepPattern(ctxt); + if (ctxt->error != 0) + goto error; + } else { + PUSH(XML_OP_PARENT, NULL, NULL); + NEXT; + SKIP_BLANKS; + if (CUR == 0) { + ERROR5(NULL, NULL, NULL, + "Incomplete expression '%s'.\n", ctxt->base); + ctxt->error = 1; + goto error; + } + xmlCompileStepPattern(ctxt); + if (ctxt->error != 0) + goto error; + } + } + } + if (CUR != 0) { + ERROR5(NULL, NULL, NULL, + "Failed to compile pattern %s\n", ctxt->base); + ctxt->error = 1; + } +error: + return; +} + +/** + * Compile the Path Pattern and generates a precompiled + * form suitable for fast matching. + * + * [5] Path ::= ('.//')? ( Step '/' )* ( Step | '@' NameTest ) + * + * @param ctxt the compilation context + */ +static void +xmlCompileIDCXPathPath(xmlPatParserContextPtr ctxt) { + SKIP_BLANKS; + if (CUR == '/') { + ERROR5(NULL, NULL, NULL, + "Unexpected selection of the document root in '%s'.\n", + ctxt->base); + goto error; + } + ctxt->comp->flags |= PAT_FROM_CUR; + + if (CUR == '.') { + /* "." - "self::node()" */ + NEXT; + SKIP_BLANKS; + if (CUR == 0) { + /* + * Selection of the context node. + */ + PUSH(XML_OP_ELEM, NULL, NULL); + return; + } + if (CUR != '/') { + /* TODO: A more meaningful error message. */ + ERROR5(NULL, NULL, NULL, + "Unexpected token after '.' in '%s'.\n", ctxt->base); + goto error; + } + /* "./" - "self::node()/" */ + NEXT; + SKIP_BLANKS; + if (CUR == '/') { + if (IS_BLANK_CH(PEEKPREV(1))) { + /* + * Disallow "./ /" + */ + ERROR5(NULL, NULL, NULL, + "Unexpected '/' token in '%s'.\n", ctxt->base); + goto error; + } + /* ".//" - "self:node()/descendant-or-self::node()/" */ + PUSH(XML_OP_ANCESTOR, NULL, NULL); + NEXT; + SKIP_BLANKS; + } + if (CUR == 0) + goto error_unfinished; + } + /* + * Process steps. + */ + do { + xmlCompileStepPattern(ctxt); + if (ctxt->error != 0) + goto error; + SKIP_BLANKS; + if (CUR != '/') + break; + PUSH(XML_OP_PARENT, NULL, NULL); + NEXT; + SKIP_BLANKS; + if (CUR == '/') { + /* + * Disallow subsequent '//'. + */ + ERROR5(NULL, NULL, NULL, + "Unexpected subsequent '//' in '%s'.\n", + ctxt->base); + goto error; + } + if (CUR == 0) + goto error_unfinished; + + } while (CUR != 0); + + if (CUR != 0) { + ERROR5(NULL, NULL, NULL, + "Failed to compile expression '%s'.\n", ctxt->base); + ctxt->error = 1; + } + return; +error: + ctxt->error = 1; + return; + +error_unfinished: + ctxt->error = 1; + ERROR5(NULL, NULL, NULL, + "Unfinished expression '%s'.\n", ctxt->base); +} + +/************************************************************************ + * * + * The streaming code * + * * + ************************************************************************/ + +/** + * build a new compiled pattern for streaming + * + * @param size the number of expected steps + * @returns the new structure or NULL in case of error. + */ +static xmlStreamCompPtr +xmlNewStreamComp(int size) { + xmlStreamCompPtr cur; + + if (size < 4) + size = 4; + + cur = (xmlStreamCompPtr) xmlMalloc(sizeof(xmlStreamComp)); + if (cur == NULL) { + ERROR(NULL, NULL, NULL, + "xmlNewStreamComp: malloc failed\n"); + return(NULL); + } + memset(cur, 0, sizeof(xmlStreamComp)); + cur->steps = (xmlStreamStepPtr) xmlMalloc(size * sizeof(xmlStreamStep)); + if (cur->steps == NULL) { + xmlFree(cur); + ERROR(NULL, NULL, NULL, + "xmlNewStreamComp: malloc failed\n"); + return(NULL); + } + cur->nbStep = 0; + cur->maxStep = size; + return(cur); +} + +/** + * Free the compiled pattern for streaming + * + * @param comp the compiled pattern for streaming + */ +static void +xmlFreeStreamComp(xmlStreamCompPtr comp) { + if (comp != NULL) { + if (comp->steps != NULL) + xmlFree(comp->steps); + if (comp->dict != NULL) + xmlDictFree(comp->dict); + xmlFree(comp); + } +} + +/** + * Add a new step to the compiled pattern + * + * @param comp the compiled pattern for streaming + * @param name the first string, the name, or NULL for * + * @param ns the second step, the namespace name + * @param nodeType the node type + * @param flags the flags for that step + * @returns -1 in case of error or the step index if successful + */ +static int +xmlStreamCompAddStep(xmlStreamCompPtr comp, const xmlChar *name, + const xmlChar *ns, int nodeType, int flags) { + xmlStreamStepPtr cur; + + if (comp->nbStep >= comp->maxStep) { + xmlStreamStepPtr tmp; + int newSize; + + newSize = xmlGrowCapacity(comp->maxStep, sizeof(tmp[0]), + 4, XML_MAX_ITEMS); + if (newSize < 0) { + ERROR(NULL, NULL, NULL, + "xmlNewStreamComp: growCapacity failed\n"); + return(-1); + } + cur = xmlRealloc(comp->steps, newSize * sizeof(tmp[0])); + if (cur == NULL) { + ERROR(NULL, NULL, NULL, + "xmlNewStreamComp: malloc failed\n"); + return(-1); + } + comp->steps = cur; + comp->maxStep = newSize; + } + cur = &comp->steps[comp->nbStep++]; + cur->flags = flags; + cur->name = name; + cur->ns = ns; + cur->nodeType = nodeType; + return(comp->nbStep - 1); +} + +/** + * Tries to stream compile a pattern + * + * @param comp the precompiled pattern + * @returns -1 in case of failure and 0 in case of success. + */ +static int +xmlStreamCompile(xmlPatternPtr comp) { + xmlStreamCompPtr stream; + int i, s = 0, root = 0, flags = 0, prevs = -1; + xmlStepOp step; + + if ((comp == NULL) || (comp->steps == NULL)) + return(-1); + /* + * special case for . + */ + if ((comp->nbStep == 1) && + (comp->steps[0].op == XML_OP_ELEM) && + (comp->steps[0].value == NULL) && + (comp->steps[0].value2 == NULL)) { + stream = xmlNewStreamComp(0); + if (stream == NULL) + return(-1); + /* Note that the stream will have no steps in this case. */ + stream->flags |= XML_STREAM_FINAL_IS_ANY_NODE; + comp->stream = stream; + return(0); + } + + stream = xmlNewStreamComp((comp->nbStep / 2) + 1); + if (stream == NULL) + return(-1); + if (comp->dict != NULL) { + stream->dict = comp->dict; + xmlDictReference(stream->dict); + } + + i = 0; + if (comp->flags & PAT_FROM_ROOT) + stream->flags |= XML_STREAM_FROM_ROOT; + + for (;i < comp->nbStep;i++) { + step = comp->steps[i]; + switch (step.op) { + case XML_OP_END: + break; + case XML_OP_ROOT: + if (i != 0) + goto error; + root = 1; + break; + case XML_OP_NS: + s = xmlStreamCompAddStep(stream, NULL, step.value, + XML_ELEMENT_NODE, flags); + if (s < 0) + goto error; + prevs = s; + flags = 0; + break; + case XML_OP_ATTR: + flags |= XML_STREAM_STEP_ATTR; + prevs = -1; + s = xmlStreamCompAddStep(stream, + step.value, step.value2, XML_ATTRIBUTE_NODE, flags); + flags = 0; + if (s < 0) + goto error; + break; + case XML_OP_ELEM: + if ((step.value == NULL) && (step.value2 == NULL)) { + /* + * We have a "." or "self::node()" here. + * Eliminate redundant self::node() tests like in "/./." + * or "//./" + * The only case we won't eliminate is "//.", i.e. if + * self::node() is the last node test and we had + * continuation somewhere beforehand. + */ + if ((comp->nbStep == i + 1) && + (flags & XML_STREAM_STEP_DESC)) { + /* + * Mark the special case where the expression resolves + * to any type of node. + */ + if (comp->nbStep == i + 1) { + stream->flags |= XML_STREAM_FINAL_IS_ANY_NODE; + } + flags |= XML_STREAM_STEP_NODE; + s = xmlStreamCompAddStep(stream, NULL, NULL, + XML_STREAM_ANY_NODE, flags); + if (s < 0) + goto error; + flags = 0; + /* + * If there was a previous step, mark it to be added to + * the result node-set; this is needed since only + * the last step will be marked as "final" and only + * "final" nodes are added to the resulting set. + */ + if (prevs != -1) { + stream->steps[prevs].flags |= XML_STREAM_STEP_IN_SET; + prevs = -1; + } + break; + + } else { + /* Just skip this one. */ + continue; + } + } + /* An element node. */ + s = xmlStreamCompAddStep(stream, step.value, step.value2, + XML_ELEMENT_NODE, flags); + if (s < 0) + goto error; + prevs = s; + flags = 0; + break; + case XML_OP_CHILD: + /* An element node child. */ + s = xmlStreamCompAddStep(stream, step.value, step.value2, + XML_ELEMENT_NODE, flags); + if (s < 0) + goto error; + prevs = s; + flags = 0; + break; + case XML_OP_ALL: + s = xmlStreamCompAddStep(stream, NULL, NULL, + XML_ELEMENT_NODE, flags); + if (s < 0) + goto error; + prevs = s; + flags = 0; + break; + case XML_OP_PARENT: + break; + case XML_OP_ANCESTOR: + /* Skip redundant continuations. */ + if (flags & XML_STREAM_STEP_DESC) + break; + flags |= XML_STREAM_STEP_DESC; + /* + * Mark the expression as having "//". + */ + if ((stream->flags & XML_STREAM_DESC) == 0) + stream->flags |= XML_STREAM_DESC; + break; + } + } + if ((! root) && (comp->flags & XML_PATTERN_NOTPATTERN) == 0) { + /* + * If this should behave like a real pattern, we will mark + * the first step as having "//", to be reentrant on every + * tree level. + */ + if ((stream->flags & XML_STREAM_DESC) == 0) + stream->flags |= XML_STREAM_DESC; + + if (stream->nbStep > 0) { + if ((stream->steps[0].flags & XML_STREAM_STEP_DESC) == 0) + stream->steps[0].flags |= XML_STREAM_STEP_DESC; + } + } + if (stream->nbStep <= s) + goto error; + stream->steps[s].flags |= XML_STREAM_STEP_FINAL; + if (root) + stream->steps[0].flags |= XML_STREAM_STEP_ROOT; + comp->stream = stream; + return(0); +error: + xmlFreeStreamComp(stream); + return(0); +} + +/** + * build a new stream context + * + * @param stream the copmiled stream + * @returns the new structure or NULL in case of error. + */ +static xmlStreamCtxtPtr +xmlNewStreamCtxt(xmlStreamCompPtr stream) { + xmlStreamCtxtPtr cur; + + cur = (xmlStreamCtxtPtr) xmlMalloc(sizeof(xmlStreamCtxt)); + if (cur == NULL) { + ERROR(NULL, NULL, NULL, + "xmlNewStreamCtxt: malloc failed\n"); + return(NULL); + } + memset(cur, 0, sizeof(xmlStreamCtxt)); + cur->states = NULL; + cur->nbState = 0; + cur->maxState = 0; + cur->level = 0; + cur->comp = stream; + cur->blockLevel = -1; + return(cur); +} + +/** + * Free the stream context + * + * @param stream the stream context + */ +void +xmlFreeStreamCtxt(xmlStreamCtxt *stream) { + xmlStreamCtxtPtr next; + + while (stream != NULL) { + next = stream->next; + if (stream->states != NULL) + xmlFree(stream->states); + xmlFree(stream); + stream = next; + } +} + +/** + * Add a new state to the stream context + * + * @param comp the stream context + * @param idx the step index for that streaming state + * @param level the level + * @returns -1 in case of error or the state index if successful + */ +static int +xmlStreamCtxtAddState(xmlStreamCtxtPtr comp, int idx, int level) { + int i; + for (i = 0;i < comp->nbState;i++) { + if (comp->states[2 * i] < 0) { + comp->states[2 * i] = idx; + comp->states[2 * i + 1] = level; + return(i); + } + } + if (comp->nbState >= comp->maxState) { + int *tmp; + int newSize; + + newSize = xmlGrowCapacity(comp->maxState, sizeof(tmp[0]) * 2, + 4, XML_MAX_ITEMS); + if (newSize < 0) { + ERROR(NULL, NULL, NULL, + "xmlNewStreamCtxt: growCapacity failed\n"); + return(-1); + } + tmp = xmlRealloc(comp->states, newSize * sizeof(tmp[0]) * 2); + if (tmp == NULL) { + ERROR(NULL, NULL, NULL, + "xmlNewStreamCtxt: malloc failed\n"); + return(-1); + } + comp->states = tmp; + comp->maxState = newSize; + } + comp->states[2 * comp->nbState] = idx; + comp->states[2 * comp->nbState++ + 1] = level; + return(comp->nbState - 1); +} + +/** + * Push new data onto the stream. NOTE: if the call #xmlPatterncompile + * indicated a dictionary, then strings for name and ns will be expected + * to come from the dictionary. + * Both `name` and `ns` being NULL means the / i.e. the root of the document. + * This can also act as a reset. + * + * @param stream the stream context + * @param name the current name + * @param ns the namespace name + * @param nodeType the type of the node + * @returns -1 in case of error, 1 if the current state in the stream is a + * match and 0 otherwise. + */ +static int +xmlStreamPushInternal(xmlStreamCtxtPtr stream, + const xmlChar *name, const xmlChar *ns, + int nodeType) { + int ret = 0, final = 0, tmp, i, m, match, stepNr, desc; + xmlStreamCompPtr comp; + xmlStreamStep step; + + if ((stream == NULL) || (stream->nbState < 0)) + return(-1); + + while (stream != NULL) { + comp = stream->comp; + + if ((nodeType == XML_ELEMENT_NODE) && + (name == NULL) && (ns == NULL)) { + /* We have a document node here (or a reset). */ + stream->nbState = 0; + stream->level = 0; + stream->blockLevel = -1; + if (comp->flags & XML_STREAM_FROM_ROOT) { + if (comp->nbStep == 0) { + /* TODO: We have a "/." here? */ + ret = 1; + } else { + if ((comp->nbStep == 1) && + (comp->steps[0].nodeType == XML_STREAM_ANY_NODE) && + (comp->steps[0].flags & XML_STREAM_STEP_DESC)) + { + /* + * In the case of "//." the document node will match + * as well. + */ + ret = 1; + } else if (comp->steps[0].flags & XML_STREAM_STEP_ROOT) { + if (xmlStreamCtxtAddState(stream, 0, 0) < 0) + return(-1); + } + } + } + stream = stream->next; + continue; /* while */ + } + + /* + * Fast check for ".". + */ + if (comp->nbStep == 0) { + /* + * / and . are handled at the XPath node set creation + * level by checking min depth + */ + if (stream->flags & XML_PATTERN_XPATH) { + stream = stream->next; + continue; /* while */ + } + /* + * For non-pattern like evaluation like XML Schema IDCs + * or traditional XPath expressions, this will match if + * we are at the first level only, otherwise on every level. + */ + if ((nodeType != XML_ATTRIBUTE_NODE) && + (((stream->flags & XML_PATTERN_NOTPATTERN) == 0) || + (stream->level == 0))) { + ret = 1; + } + stream->level++; + goto stream_next; + } + if (stream->blockLevel != -1) { + /* + * Skip blocked expressions. + */ + stream->level++; + goto stream_next; + } + + if ((nodeType != XML_ELEMENT_NODE) && + (nodeType != XML_ATTRIBUTE_NODE) && + ((comp->flags & XML_STREAM_FINAL_IS_ANY_NODE) == 0)) { + /* + * No need to process nodes of other types if we don't + * resolve to those types. + * TODO: Do we need to block the context here? + */ + stream->level++; + goto stream_next; + } + + /* + * Check evolution of existing states + */ + i = 0; + m = stream->nbState; + while (i < m) { + if ((comp->flags & XML_STREAM_DESC) == 0) { + /* + * If there is no "//", then only the last + * added state is of interest. + */ + stepNr = stream->states[2 * (stream->nbState -1)]; + /* + * TODO: Security check, should not happen, remove it. + */ + if (stream->states[(2 * (stream->nbState -1)) + 1] < + stream->level) { + return (-1); + } + desc = 0; + /* loop-stopper */ + i = m; + } else { + /* + * If there are "//", then we need to process every "//" + * occurring in the states, plus any other state for this + * level. + */ + stepNr = stream->states[2 * i]; + + /* TODO: should not happen anymore: dead states */ + if (stepNr < 0) + goto next_state; + + tmp = stream->states[(2 * i) + 1]; + + /* skip new states just added */ + if (tmp > stream->level) + goto next_state; + + /* skip states at ancestor levels, except if "//" */ + desc = comp->steps[stepNr].flags & XML_STREAM_STEP_DESC; + if ((tmp < stream->level) && (!desc)) + goto next_state; + } + /* + * Check for correct node-type. + */ + step = comp->steps[stepNr]; + if (step.nodeType != nodeType) { + if (step.nodeType == XML_ATTRIBUTE_NODE) { + /* + * Block this expression for deeper evaluation. + */ + if ((comp->flags & XML_STREAM_DESC) == 0) + stream->blockLevel = stream->level +1; + goto next_state; + } else if (step.nodeType != XML_STREAM_ANY_NODE) + goto next_state; + } + /* + * Compare local/namespace-name. + */ + match = 0; + if (step.nodeType == XML_STREAM_ANY_NODE) { + match = 1; + } else if (step.name == NULL) { + if (step.ns == NULL) { + /* + * This lets through all elements/attributes. + */ + match = 1; + } else if (ns != NULL) + match = xmlStrEqual(step.ns, ns); + } else if (((step.ns != NULL) == (ns != NULL)) && + (name != NULL) && + (step.name[0] == name[0]) && + xmlStrEqual(step.name, name) && + ((step.ns == ns) || xmlStrEqual(step.ns, ns))) + { + match = 1; + } + if (match) { + final = step.flags & XML_STREAM_STEP_FINAL; + if (final) { + ret = 1; + } else if (xmlStreamCtxtAddState(stream, stepNr + 1, + stream->level + 1) < 0) { + return(-1); + } + if ((ret != 1) && (step.flags & XML_STREAM_STEP_IN_SET)) { + /* + * Check if we have a special case like "foo/bar//.", where + * "foo" is selected as well. + */ + ret = 1; + } + } + if (((comp->flags & XML_STREAM_DESC) == 0) && + ((! match) || final)) { + /* + * Mark this expression as blocked for any evaluation at + * deeper levels. Note that this includes "/foo" + * expressions if the *pattern* behaviour is used. + */ + stream->blockLevel = stream->level +1; + } +next_state: + i++; + } + + stream->level++; + + /* + * Re/enter the expression. + * Don't reenter if it's an absolute expression like "/foo", + * except "//foo". + */ + step = comp->steps[0]; + if (step.flags & XML_STREAM_STEP_ROOT) + goto stream_next; + + desc = step.flags & XML_STREAM_STEP_DESC; + if (stream->flags & XML_PATTERN_NOTPATTERN) { + /* + * Re/enter the expression if it is a "descendant" one, + * or if we are at the 1st level of evaluation. + */ + + if (stream->level == 1) { + if (XML_STREAM_XS_IDC(stream)) { + /* + * XS-IDC: The missing "self::node()" will always + * match the first given node. + */ + goto stream_next; + } else + goto compare; + } + /* + * A "//" is always reentrant. + */ + if (desc) + goto compare; + + /* + * XS-IDC: Process the 2nd level, since the missing + * "self::node()" is responsible for the 2nd level being + * the real start level. + */ + if ((stream->level == 2) && XML_STREAM_XS_IDC(stream)) + goto compare; + + goto stream_next; + } + +compare: + /* + * Check expected node-type. + */ + if (step.nodeType != nodeType) { + if (nodeType == XML_ATTRIBUTE_NODE) + goto stream_next; + else if (step.nodeType != XML_STREAM_ANY_NODE) + goto stream_next; + } + /* + * Compare local/namespace-name. + */ + match = 0; + if (step.nodeType == XML_STREAM_ANY_NODE) { + match = 1; + } else if (step.name == NULL) { + if (step.ns == NULL) { + /* + * This lets through all elements/attributes. + */ + match = 1; + } else if (ns != NULL) + match = xmlStrEqual(step.ns, ns); + } else if (((step.ns != NULL) == (ns != NULL)) && + (name != NULL) && + (step.name[0] == name[0]) && + xmlStrEqual(step.name, name) && + ((step.ns == ns) || xmlStrEqual(step.ns, ns))) + { + match = 1; + } + final = step.flags & XML_STREAM_STEP_FINAL; + if (match) { + if (final) { + ret = 1; + } else if (xmlStreamCtxtAddState(stream, 1, stream->level) < 0) { + return(-1); + } + if ((ret != 1) && (step.flags & XML_STREAM_STEP_IN_SET)) { + /* + * Check if we have a special case like "foo//.", where + * "foo" is selected as well. + */ + ret = 1; + } + } + if (((comp->flags & XML_STREAM_DESC) == 0) && + ((! match) || final)) { + /* + * Mark this expression as blocked for any evaluation at + * deeper levels. + */ + stream->blockLevel = stream->level; + } + +stream_next: + stream = stream->next; + } /* while stream != NULL */ + + return(ret); +} + +/** + * Push new data onto the stream. NOTE: if the call #xmlPatterncompile + * indicated a dictionary, then strings for name and ns will be expected + * to come from the dictionary. + * Both `name` and `ns` being NULL means the / i.e. the root of the document. + * This can also act as a reset. + * Otherwise the function will act as if it has been given an element-node. + * + * @param stream the stream context + * @param name the current name + * @param ns the namespace name + * @returns -1 in case of error, 1 if the current state in the stream is a + * match and 0 otherwise. + */ +int +xmlStreamPush(xmlStreamCtxt *stream, + const xmlChar *name, const xmlChar *ns) { + return (xmlStreamPushInternal(stream, name, ns, XML_ELEMENT_NODE)); +} + +/** + * Push new data onto the stream. NOTE: if the call #xmlPatterncompile + * indicated a dictionary, then strings for name and ns will be expected + * to come from the dictionary. + * Both `name` and `ns` being NULL means the / i.e. the root of the document. + * This can also act as a reset. + * Different from #xmlStreamPush this function can be fed with nodes of type: + * element-, attribute-, text-, cdata-section-, comment- and + * processing-instruction-node. + * + * @param stream the stream context + * @param name the current name + * @param ns the namespace name + * @param nodeType the type of the node being pushed + * @returns -1 in case of error, 1 if the current state in the stream is a + * match and 0 otherwise. + */ +int +xmlStreamPushNode(xmlStreamCtxt *stream, + const xmlChar *name, const xmlChar *ns, + int nodeType) +{ + return (xmlStreamPushInternal(stream, name, ns, + nodeType)); +} + +/** + * Push new attribute data onto the stream. + * + * NOTE: If the call to #xmlPatterncompile indicated a dictionary, + * then strings for `name` and `ns` will be expected to come from + * the dictionary. + * + * Both `name` and `ns` being NULL means the root of the document. + * This can also act as a reset. Otherwise the function will act as + * if it has been given an attribute-node. + * + * @param stream the stream context + * @param name the current name + * @param ns the namespace name + * @returns -1 in case of error, 1 if the current state in the stream + * is a match and 0 otherwise. + */ +int +xmlStreamPushAttr(xmlStreamCtxt *stream, + const xmlChar *name, const xmlChar *ns) { + return (xmlStreamPushInternal(stream, name, ns, XML_ATTRIBUTE_NODE)); +} + +/** + * push one level from the stream. + * + * @param stream the stream context + * @returns -1 in case of error, 0 otherwise. + */ +int +xmlStreamPop(xmlStreamCtxt *stream) { + int i, lev; + + if (stream == NULL) + return(-1); + while (stream != NULL) { + /* + * Reset block-level. + */ + if (stream->blockLevel == stream->level) + stream->blockLevel = -1; + + /* + * stream->level can be zero when XML_FINAL_IS_ANY_NODE is set + * (see the thread at + * http://mail.gnome.org/archives/xslt/2008-July/msg00027.html) + */ + if (stream->level) + stream->level--; + /* + * Check evolution of existing states + */ + for (i = stream->nbState -1; i >= 0; i--) { + /* discard obsoleted states */ + lev = stream->states[(2 * i) + 1]; + if (lev > stream->level) + stream->nbState--; + if (lev <= stream->level) + break; + } + stream = stream->next; + } + return(0); +} + +/** + * Query if the streaming pattern additionally needs to be fed with + * text-, cdata-section-, comment- and processing-instruction-nodes. + * If the result is 0 then only element-nodes and attribute-nodes + * need to be pushed. + * + * @param streamCtxt the stream context + * @returns 1 in case of need of nodes of the above described types, + * 0 otherwise. -1 on API errors. + */ +int +xmlStreamWantsAnyNode(xmlStreamCtxt *streamCtxt) +{ + if (streamCtxt == NULL) + return(-1); + while (streamCtxt != NULL) { + if (streamCtxt->comp->flags & XML_STREAM_FINAL_IS_ANY_NODE) + return(1); + streamCtxt = streamCtxt->next; + } + return(0); +} + +/************************************************************************ + * * + * The public interfaces * + * * + ************************************************************************/ + +/** + * Compile a pattern. + * + * @since 2.13.0 + * + * @param pattern the pattern to compile + * @param dict an optional dictionary for interned strings + * @param flags compilation flags, see xmlPatternFlags + * @param namespaces the prefix definitions, array of [URI, prefix] or NULL + * @param patternOut output pattern + * @returns 0 on success, 1 on error, -1 if a memory allocation failed. + */ +int +xmlPatternCompileSafe(const xmlChar *pattern, xmlDict *dict, int flags, + const xmlChar **namespaces, xmlPattern **patternOut) { + xmlPatternPtr ret = NULL, cur; + xmlPatParserContextPtr ctxt = NULL; + const xmlChar *or, *start; + xmlChar *tmp = NULL; + int type = 0; + int streamable = 1; + int error; + + if (patternOut == NULL) + return(1); + + if (pattern == NULL) { + error = 1; + goto error; + } + + start = pattern; + or = start; + while (*or != 0) { + tmp = NULL; + while ((*or != 0) && (*or != '|')) or++; + if (*or == 0) + ctxt = xmlNewPatParserContext(start, dict, namespaces); + else { + tmp = xmlStrndup(start, or - start); + if (tmp != NULL) { + ctxt = xmlNewPatParserContext(tmp, dict, namespaces); + } + or++; + } + if (ctxt == NULL) { + error = -1; + goto error; + } + cur = xmlNewPattern(); + if (cur == NULL) { + error = -1; + goto error; + } + /* + * Assign string dict. + */ + if (dict) { + cur->dict = dict; + xmlDictReference(dict); + } + if (ret == NULL) + ret = cur; + else { + cur->next = ret->next; + ret->next = cur; + } + cur->flags = flags; + ctxt->comp = cur; + + if (XML_STREAM_XS_IDC(cur)) + xmlCompileIDCXPathPath(ctxt); + else + xmlCompilePathPattern(ctxt); + if (ctxt->error != 0) { + error = ctxt->error; + goto error; + } + xmlFreePatParserContext(ctxt); + ctxt = NULL; + + + if (streamable) { + if (type == 0) { + type = cur->flags & (PAT_FROM_ROOT | PAT_FROM_CUR); + } else if (type == PAT_FROM_ROOT) { + if (cur->flags & PAT_FROM_CUR) + streamable = 0; + } else if (type == PAT_FROM_CUR) { + if (cur->flags & PAT_FROM_ROOT) + streamable = 0; + } + } + if (streamable) { + error = xmlStreamCompile(cur); + if (error != 0) + goto error; + } + error = xmlReversePattern(cur); + if (error != 0) + goto error; + if (tmp != NULL) { + xmlFree(tmp); + tmp = NULL; + } + start = or; + } + if (streamable == 0) { + cur = ret; + while (cur != NULL) { + if (cur->stream != NULL) { + xmlFreeStreamComp(cur->stream); + cur->stream = NULL; + } + cur = cur->next; + } + } + + *patternOut = ret; + return(0); +error: + if (ctxt != NULL) xmlFreePatParserContext(ctxt); + if (ret != NULL) xmlFreePattern(ret); + if (tmp != NULL) xmlFree(tmp); + *patternOut = NULL; + return(error); +} + +/** + * Compile a pattern. + * + * @param pattern the pattern to compile + * @param dict an optional dictionary for interned strings + * @param flags compilation flags, see xmlPatternFlags + * @param namespaces the prefix definitions, array of [URI, prefix] or NULL + * @returns the compiled form of the pattern or NULL in case of error + */ +xmlPattern * +xmlPatterncompile(const xmlChar *pattern, xmlDict *dict, int flags, + const xmlChar **namespaces) { + xmlPatternPtr ret; + xmlPatternCompileSafe(pattern, dict, flags, namespaces, &ret); + return(ret); +} + +/** + * Test whether the node matches the pattern + * + * @param comp the precompiled pattern + * @param node a node + * @returns 1 if it matches, 0 if it doesn't and -1 in case of failure + */ +int +xmlPatternMatch(xmlPattern *comp, xmlNode *node) +{ + int ret = 0; + + if ((comp == NULL) || (node == NULL)) + return(-1); + + while (comp != NULL) { + ret = xmlPatMatch(comp, node); + if (ret != 0) + return(ret); + comp = comp->next; + } + return(ret); +} + +/** + * Get a streaming context for that pattern + * Use #xmlFreeStreamCtxt to free the context. + * + * @param comp the precompiled pattern + * @returns a pointer to the context or NULL in case of failure + */ +xmlStreamCtxt * +xmlPatternGetStreamCtxt(xmlPattern *comp) +{ + xmlStreamCtxtPtr ret = NULL, cur; + + if ((comp == NULL) || (comp->stream == NULL)) + return(NULL); + + while (comp != NULL) { + if (comp->stream == NULL) + goto failed; + cur = xmlNewStreamCtxt(comp->stream); + if (cur == NULL) + goto failed; + if (ret == NULL) + ret = cur; + else { + cur->next = ret->next; + ret->next = cur; + } + cur->flags = comp->flags; + comp = comp->next; + } + return(ret); +failed: + xmlFreeStreamCtxt(ret); + return(NULL); +} + +/** + * Check if the pattern is streamable i.e. #xmlPatternGetStreamCtxt + * should work. + * + * @param comp the precompiled pattern + * @returns 1 if streamable, 0 if not and -1 in case of error. + */ +int +xmlPatternStreamable(xmlPattern *comp) { + if (comp == NULL) + return(-1); + while (comp != NULL) { + if (comp->stream == NULL) + return(0); + comp = comp->next; + } + return(1); +} + +/** + * Check the maximum depth reachable by a pattern + * + * @param comp the precompiled pattern + * @returns -2 if no limit (using //), otherwise the depth, + * and -1 in case of error + */ +int +xmlPatternMaxDepth(xmlPattern *comp) { + int ret = 0, i; + if (comp == NULL) + return(-1); + while (comp != NULL) { + if (comp->stream == NULL) + return(-1); + for (i = 0;i < comp->stream->nbStep;i++) + if (comp->stream->steps[i].flags & XML_STREAM_STEP_DESC) + return(-2); + if (comp->stream->nbStep > ret) + ret = comp->stream->nbStep; + comp = comp->next; + } + return(ret); +} + +/** + * Check the minimum depth reachable by a pattern, 0 mean the / or . are + * part of the set. + * + * @param comp the precompiled pattern + * @returns -1 in case of error otherwise the depth, + */ +int +xmlPatternMinDepth(xmlPattern *comp) { + int ret = 12345678; + if (comp == NULL) + return(-1); + while (comp != NULL) { + if (comp->stream == NULL) + return(-1); + if (comp->stream->nbStep < ret) + ret = comp->stream->nbStep; + if (ret == 0) + return(0); + comp = comp->next; + } + return(ret); +} + +/** + * Check if the pattern must be looked at from the root. + * + * @param comp the precompiled pattern + * @returns 1 if true, 0 if false and -1 in case of error + */ +int +xmlPatternFromRoot(xmlPattern *comp) { + if (comp == NULL) + return(-1); + while (comp != NULL) { + if (comp->stream == NULL) + return(-1); + if (comp->flags & PAT_FROM_ROOT) + return(1); + comp = comp->next; + } + return(0); + +} + +#endif /* LIBXML_PATTERN_ENABLED */ diff --git a/libxml2/python/.gitignore b/libxml2/python/.gitignore new file mode 100644 index 0000000..712de51 --- /dev/null +++ b/libxml2/python/.gitignore @@ -0,0 +1,7 @@ +/gen_prog +/libxml2-export.c +/libxml2-py.c +/libxml2-py.h +/libxml2.py +/setup.py +/tests/tmp.xml diff --git a/libxml2/python/Makefile.am b/libxml2/python/Makefile.am new file mode 100644 index 0000000..96eab64 --- /dev/null +++ b/libxml2/python/Makefile.am @@ -0,0 +1,48 @@ +# Makefile for libxml2 python library + +# We use a rule with multiple output files which creates problems with +# parallel builds. +.NOTPARALLEL: + +SUBDIRS = . tests + +EXTRA_DIST = \ + generator.py \ + libxml.py \ + pyproject.toml \ + meson.build + +if WITH_PYTHON +AM_CPPFLAGS = \ + -I$(top_builddir)/include \ + -I$(top_srcdir)/include \ + $(PYTHON_CFLAGS) + +pyexec_LTLIBRARIES = libxml2mod.la + +libxml2mod_la_SOURCES = libxml.c libxml_wrap.h types.c +nodist_libxml2mod_la_SOURCES = libxml2-py.h libxml2-py.c +libxml2mod_la_LDFLAGS = $(AM_LDFLAGS) $(PYTHON_LDFLAGS) -module -avoid-version +libxml2mod_la_LIBADD = $(top_builddir)/libxml2.la $(PYTHON_LIBS) + +BUILT_SOURCES = libxml2-export.c libxml2-py.h libxml2-py.c + +python_PYTHON = drv_libxml2.py +nodist_python_PYTHON = libxml2.py + +API_DESC = ../doc/html.stamp +GENERATED = libxml2.py $(BUILT_SOURCES) +CLEANFILES = $(GENERATED) + +all-local: libxml2.py + +$(GENERATED): $(srcdir)/generator.py $(API_DESC) + $(PYTHON) $(srcdir)/generator.py $(builddir) + +# libxml.c #includes libxml2-export.c +libxml.$(OBJEXT): libxml2-export.c + +clean-local: + rm -rf __pycache__ *.pyc + +endif diff --git a/libxml2/python/README b/libxml2/python/README new file mode 100644 index 0000000..d3da728 --- /dev/null +++ b/libxml2/python/README @@ -0,0 +1,37 @@ + Module libxml2-python + ===================== + +DEPRECATION WARNING: It is planned to remove the libxml2 Python +bindings from the libxml2 repo. + +This is the libxml2 python module, providing access to the +libxml2 and libxslt (if available) libraries. For general +informationss on those XML and XSLT libraries check their +web pages at: + https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home + and + https://gitlab.gnome.org/GNOME/libxslt/-/wikis/home + +The latest version of the sources for this module and the +associated libraries can be found at: + https://gitlab.gnome.org/GNOME/libxml2/-/releases + +Binaries packages of the libxml2 and libxslt libraries can +be found either on the FTP site for Linux, from external +sources linked from the web pages, or as part of your set of +packages provided with your operating system. + +NOTE: +this module distribution is not the primary distribution +of the libxml2 and libxslt Python binding code, but as +the Python way of packaging those for non-Linux systems. +The main sources are the libxml2 and libxslt tar.gz found on +the site. One side effect is that the official RPM packages for +those modules are not generated from the libxml2-python +distributions but as part of the normal RPM packaging of +those two libraries. +The RPM packages can be found at: + http://rpmfind.net/linux/rpm2html/search.php?query=libxml2-python + http://rpmfind.net/linux/rpm2html/search.php?query=libxslt-python + +Daniel Veillard diff --git a/libxml2/python/drv_libxml2.py b/libxml2/python/drv_libxml2.py new file mode 100644 index 0000000..363c6f8 --- /dev/null +++ b/libxml2/python/drv_libxml2.py @@ -0,0 +1,382 @@ +# -*- coding: iso-8859-1 -*- +""" A SAX2 driver for libxml2, on top of it's XmlReader API + +USAGE + # put this file (drv_libxml2.py) in PYTHONPATH + import xml.sax + reader = xml.sax.make_parser(["drv_libxml2"]) + # ...and the rest is standard python sax. + +CAVEATS + - Lexical handlers are supported, except for start/endEntity + (waiting for XmlReader.ResolveEntity) and start/endDTD + - Error callbacks are not exactly synchronous, they tend + to be invoked before the corresponding content callback, + because the underlying reader interface parses + data by chunks of 512 bytes + +TODO + - search for TODO + - some ErrorHandler events (warning) + - some ContentHandler events (setDocumentLocator, skippedEntity) + - EntityResolver (using libxml2.?) + - DTDHandler (if/when libxml2 exposes such node types) + - DeclHandler (if/when libxml2 exposes such node types) + - property_xml_string? + - feature_string_interning? + - Incremental parser + - additional performance tuning: + - one might cache callbacks to avoid some name lookups + - one might implement a smarter way to pass attributes to startElement + (some kind of lazy evaluation?) + - there might be room for improvement in start/endPrefixMapping + - other? + +""" + +__author__ = "Stéphane Bidoul " +__version__ = "0.3" + +import sys +import codecs + +if sys.version_info[0] < 3: + __author__ = codecs.unicode_escape_decode(__author__)[0] + + StringTypes = (str, unicode) + # libxml2 returns strings as UTF8 + _decoder = codecs.lookup("utf8")[1] + def _d(s): + if s is None: + return s + else: + return _decoder(s)[0] +else: + StringTypes = str + # s is Unicode `str` already + def _d(s): + return s + +from xml.sax._exceptions import * +from xml.sax import xmlreader, saxutils +from xml.sax.handler import \ + feature_namespaces, \ + feature_namespace_prefixes, \ + feature_string_interning, \ + feature_validation, \ + feature_external_ges, \ + feature_external_pes, \ + property_lexical_handler, \ + property_declaration_handler, \ + property_dom_node, \ + property_xml_string + +try: + import libxml2 +except ImportError: + raise SAXReaderNotAvailable("libxml2 not available: " \ + "import error was: %s" % sys.exc_info()[1]) + +class Locator(xmlreader.Locator): + """SAX Locator adapter for libxml2.xmlTextReaderLocator""" + + def __init__(self,locator): + self.__locator = locator + + def getColumnNumber(self): + "Return the column number where the current event ends." + return -1 + + def getLineNumber(self): + "Return the line number where the current event ends." + return self.__locator.LineNumber() + + def getPublicId(self): + "Return the public identifier for the current event." + return None + + def getSystemId(self): + "Return the system identifier for the current event." + return self.__locator.BaseURI() + +class LibXml2Reader(xmlreader.XMLReader): + + def __init__(self): + xmlreader.XMLReader.__init__(self) + # features + self.__ns = 0 + self.__nspfx = 0 + self.__validate = 0 + self.__extparams = 1 + # parsing flag + self.__parsing = 0 + # additional handlers + self.__lex_handler = None + self.__decl_handler = None + # error messages accumulator + self.__errors = None + + def _errorHandler(self,arg,msg,severity,locator): + if self.__errors is None: + self.__errors = [] + self.__errors.append((severity, + SAXParseException(msg,None, + Locator(locator)))) + + def _reportErrors(self,fatal): + for severity,exception in self.__errors: + if severity in (libxml2.PARSER_SEVERITY_VALIDITY_WARNING, + libxml2.PARSER_SEVERITY_WARNING): + self._err_handler.warning(exception) + else: + # when fatal is set, the parse will stop; + # we consider that the last error reported + # is the fatal one. + if fatal and exception is self.__errors[-1][1]: + self._err_handler.fatalError(exception) + else: + self._err_handler.error(exception) + self.__errors = None + + def parse(self, source): + self.__parsing = 1 + try: + # prepare source and create reader + if isinstance(source, StringTypes): + reader = libxml2.newTextReaderFilename(source) + else: + source = saxutils.prepare_input_source(source) + stream = source.getCharacterStream() + if stream is None: + stream = source.getByteStream() + input = libxml2.inputBuffer(stream) + reader = input.newTextReader(source.getSystemId()) + reader.SetErrorHandler(self._errorHandler,None) + # configure reader + if self.__extparams: + reader.SetParserProp(libxml2.PARSER_LOADDTD,1) + reader.SetParserProp(libxml2.PARSER_DEFAULTATTRS,1) + reader.SetParserProp(libxml2.PARSER_SUBST_ENTITIES,1) + reader.SetParserProp(libxml2.PARSER_VALIDATE,self.__validate) + else: + reader.SetParserProp(libxml2.PARSER_LOADDTD, 0) + # we reuse attribute maps (for a slight performance gain) + if self.__ns: + attributesNSImpl = xmlreader.AttributesNSImpl({},{}) + else: + attributesImpl = xmlreader.AttributesImpl({}) + # prefixes to pop (for endPrefixMapping) + prefixes = [] + # start loop + self._cont_handler.startDocument() + while 1: + r = reader.Read() + # check for errors + if r == 1: + if not self.__errors is None: + self._reportErrors(0) + elif r == 0: + if not self.__errors is None: + self._reportErrors(0) + break # end of parse + else: + if not self.__errors is None: + self._reportErrors(1) + else: + self._err_handler.fatalError(\ + SAXException("Read failed (no details available)")) + break # fatal parse error + # get node type + nodeType = reader.NodeType() + # Element + if nodeType == 1: + if self.__ns: + eltName = (_d(reader.NamespaceUri()),\ + _d(reader.LocalName())) + eltQName = _d(reader.Name()) + attributesNSImpl._attrs = attrs = {} + attributesNSImpl._qnames = qnames = {} + newPrefixes = [] + while reader.MoveToNextAttribute(): + qname = _d(reader.Name()) + value = _d(reader.Value()) + if qname.startswith("xmlns"): + if len(qname) > 5: + newPrefix = qname[6:] + else: + newPrefix = None + newPrefixes.append(newPrefix) + self._cont_handler.startPrefixMapping(\ + newPrefix,value) + if not self.__nspfx: + continue # don't report xmlns attribute + attName = (_d(reader.NamespaceUri()), + _d(reader.LocalName())) + qnames[attName] = qname + attrs[attName] = value + reader.MoveToElement() + self._cont_handler.startElementNS( \ + eltName,eltQName,attributesNSImpl) + if reader.IsEmptyElement(): + self._cont_handler.endElementNS(eltName,eltQName) + for newPrefix in newPrefixes: + self._cont_handler.endPrefixMapping(newPrefix) + else: + prefixes.append(newPrefixes) + else: + eltName = _d(reader.Name()) + attributesImpl._attrs = attrs = {} + while reader.MoveToNextAttribute(): + attName = _d(reader.Name()) + attrs[attName] = _d(reader.Value()) + reader.MoveToElement() + self._cont_handler.startElement( \ + eltName,attributesImpl) + if reader.IsEmptyElement(): + self._cont_handler.endElement(eltName) + # EndElement + elif nodeType == 15: + if self.__ns: + self._cont_handler.endElementNS( \ + (_d(reader.NamespaceUri()),_d(reader.LocalName())), + _d(reader.Name())) + for prefix in prefixes.pop(): + self._cont_handler.endPrefixMapping(prefix) + else: + self._cont_handler.endElement(_d(reader.Name())) + # Text + elif nodeType == 3: + self._cont_handler.characters(_d(reader.Value())) + # Whitespace + elif nodeType == 13: + self._cont_handler.ignorableWhitespace(_d(reader.Value())) + # SignificantWhitespace + elif nodeType == 14: + self._cont_handler.characters(_d(reader.Value())) + # CDATA + elif nodeType == 4: + if not self.__lex_handler is None: + self.__lex_handler.startCDATA() + self._cont_handler.characters(_d(reader.Value())) + if not self.__lex_handler is None: + self.__lex_handler.endCDATA() + # EntityReference + elif nodeType == 5: + if not self.__lex_handler is None: + self.startEntity(_d(reader.Name())) + reader.ResolveEntity() + # EndEntity + elif nodeType == 16: + if not self.__lex_handler is None: + self.endEntity(_d(reader.Name())) + # ProcessingInstruction + elif nodeType == 7: + self._cont_handler.processingInstruction( \ + _d(reader.Name()),_d(reader.Value())) + # Comment + elif nodeType == 8: + if not self.__lex_handler is None: + self.__lex_handler.comment(_d(reader.Value())) + # DocumentType + elif nodeType == 10: + #if not self.__lex_handler is None: + # self.__lex_handler.startDTD() + pass # TODO (how to detect endDTD? on first non-dtd event?) + # XmlDeclaration + elif nodeType == 17: + pass # TODO + # Entity + elif nodeType == 6: + pass # TODO (entity decl) + # Notation (decl) + elif nodeType == 12: + pass # TODO + # Attribute (never in this loop) + #elif nodeType == 2: + # pass + # Document (not exposed) + #elif nodeType == 9: + # pass + # DocumentFragment (never returned by XmlReader) + #elif nodeType == 11: + # pass + # None + #elif nodeType == 0: + # pass + # - + else: + raise SAXException("Unexpected node type %d" % nodeType) + if r == 0: + self._cont_handler.endDocument() + reader.Close() + finally: + self.__parsing = 0 + + def setDTDHandler(self, handler): + # TODO (when supported, the inherited method works just fine) + raise SAXNotSupportedException("DTDHandler not supported") + + def setEntityResolver(self, resolver): + # TODO (when supported, the inherited method works just fine) + raise SAXNotSupportedException("EntityResolver not supported") + + def getFeature(self, name): + if name == feature_namespaces: + return self.__ns + elif name == feature_namespace_prefixes: + return self.__nspfx + elif name == feature_validation: + return self.__validate + elif name == feature_external_ges: + return 1 # TODO (does that relate to PARSER_LOADDTD)? + elif name == feature_external_pes: + return self.__extparams + else: + raise SAXNotRecognizedException("Feature '%s' not recognized" % \ + name) + + def setFeature(self, name, state): + if self.__parsing: + raise SAXNotSupportedException("Cannot set feature %s " \ + "while parsing" % name) + if name == feature_namespaces: + self.__ns = state + elif name == feature_namespace_prefixes: + self.__nspfx = state + elif name == feature_validation: + self.__validate = state + elif name == feature_external_ges: + if state == 0: + # TODO (does that relate to PARSER_LOADDTD)? + raise SAXNotSupportedException("Feature '%s' not supported" % \ + name) + elif name == feature_external_pes: + self.__extparams = state + else: + raise SAXNotRecognizedException("Feature '%s' not recognized" % \ + name) + + def getProperty(self, name): + if name == property_lexical_handler: + return self.__lex_handler + elif name == property_declaration_handler: + return self.__decl_handler + else: + raise SAXNotRecognizedException("Property '%s' not recognized" % \ + name) + + def setProperty(self, name, value): + if name == property_lexical_handler: + self.__lex_handler = value + elif name == property_declaration_handler: + # TODO: remove if/when libxml2 supports dtd events + raise SAXNotSupportedException("Property '%s' not supported" % \ + name) + self.__decl_handler = value + else: + raise SAXNotRecognizedException("Property '%s' not recognized" % \ + name) + +def create_parser(): + return LibXml2Reader() + diff --git a/libxml2/python/generator.py b/libxml2/python/generator.py new file mode 100644 index 0000000..e06b1d4 --- /dev/null +++ b/libxml2/python/generator.py @@ -0,0 +1,1645 @@ +#!/usr/bin/env python3 +# +# generate python wrappers from the XML API description +# + +functions = { + 'xmlRegisterXPathFunction': ( + 'Register a Python written function to the XPath interpreter', + ['int', '1 in case of success, 0 or -1 in case of error', None], + [['ctx', 'xmlXPathContext *', 'the xpathContext'], ['name', 'xmlChar *', 'the function name'], ['ns_uri', 'xmlChar *', 'the namespace or NULL'], ['f', 'pythonObject', 'the python function']], + 'python', 'defined(LIBXML_XPATH_ENABLED)'), + 'xmlXPathRegisterVariable': ( + 'Register a variable with the XPath context', + ['int', '1 in case of success, 0 or -1 in case of error', None], + [['ctx', 'xmlXPathContext *', 'the xpathContext'], ['name', 'xmlChar *', 'the variable name'], ['ns_uri', 'xmlChar *', 'the namespace or NULL'], ['value', 'pythonObject', 'the value']], + 'python', 'defined(LIBXML_XPATH_ENABLED)'), + 'xmlNewNode': ( + 'Create a new Node', + ['xmlNode *', 'A new element node', None], + [['name', 'xmlChar *', 'the node name']], + 'python', None), + 'xmlCreatePushParser': ( + 'Create a progressive XML parser context to build either an event flow if the SAX object is not None, or a DOM tree otherwise.', + ['xmlParserCtxt *', 'the parser context or None in case of error', None], + [['SAX', 'pythonObject', 'the SAX callback object or None'], ['chunk', 'xmlChar *', 'the initial data'], ['size', 'int', 'the size of the initial data'], ['URI', 'xmlChar *', 'The URI used for base computations']], + 'python', None), + 'htmlCreatePushParser': ( + 'Create a progressive HTML parser context to build either an event flow if the SAX object is not None, or a DOM tree otherwise.', + ['xmlParserCtxt *', 'the parser context or None in case of error', None], + [['SAX', 'pythonObject', 'the SAX callback object or None'], ['chunk', 'xmlChar *', 'the initial data'], ['size', 'int', 'the size of the initial data'], ['URI', 'xmlChar *', 'The URI used for base computations']], + 'python', 'defined(LIBXML_HTML_ENABLED)'), + 'xmlSAXParseFile': ( + 'Interface to parse an XML file or resource pointed by an URI to build an event flow to the SAX object', + ['void', None, None], + [['SAX', 'pythonObject', 'the SAX callback object or None'], ['URI', 'xmlChar *', 'The URI of the resource'], ['recover', 'int', 'allow recovery in case of error']], + 'python', None), + 'htmlSAXParseFile': ( + 'Interface to parse an HTML file or resource pointed by an URI to build an event flow to the SAX object', + ['void', None, None], + [['SAX', 'pythonObject', 'the SAX callback object or None'], ['URI', 'xmlChar *', 'The URI of the resource'], ['encoding', 'const char *', 'encoding or None']], + 'python', 'defined(LIBXML_HTML_ENABLED)'), + 'xmlCreateOutputBuffer': ( + 'Create a libxml2 output buffer from a Python file', + ['xmlOutputBuffer *', 'the output buffer', None], + [['file', 'pythonObject', 'the Python file'], ['encoding', 'xmlChar *', 'an optional encoding']], + 'python', None), + 'xmlCreateInputBuffer': ( + 'Create a libxml2 input buffer from a Python file', + ['xmlParserInputBuffer *', 'the input buffer', None], + [['file', 'pythonObject', 'the Python file'], ['encoding', 'xmlChar *', 'an optional encoding']], + 'python', None), + 'xmlSetEntityLoader': ( + 'Set the entity resolver as a python function', + ['int', '0 in case of success, -1 for error', None], + [['resolver', 'pythonObject', 'the Python function']], + 'python', None), + 'xmlParserGetDoc': ( + 'Get the document tree from a parser context.', + ['xmlDoc *', 'the document tree', 'myDoc'], + [['ctxt', 'xmlParserCtxt *', 'the parser context']], + 'python_accessor', None), + 'xmlParserGetWellFormed': ( + 'Get the well formed information from a parser context.', + ['int', 'the wellFormed field', 'wellFormed'], + [['ctxt', 'xmlParserCtxt *', 'the parser context']], + 'python_accessor', None), + 'xmlParserGetIsValid': ( + 'Get the validity information from a parser context.', + ['int', 'the valid field', 'valid'], + [['ctxt', 'xmlParserCtxt *', 'the parser context']], + 'python_accessor', None), + 'xmlParserSetValidate': ( + 'Switch the parser to validation mode.', + ['void', None, None], + [['ctxt', 'xmlParserCtxt *', 'the parser context'], ['validate', 'int', '1 to activate validation']], + 'python_accessor', None), + 'xmlParserSetReplaceEntities': ( + 'Switch the parser to replace entities.', + ['void', None, None], + [['ctxt', 'xmlParserCtxt *', 'the parser context'], ['replaceEntities', 'int', '1 to replace entities']], + 'python_accessor', None), + 'xmlParserSetPedantic': ( + 'Switch the parser to be pedantic.', + ['void', None, None], + [['ctxt', 'xmlParserCtxt *', 'the parser context'], ['pedantic', 'int', '1 to run in pedantic mode']], + 'python_accessor', None), + 'xmlParserSetLoadSubset': ( + 'Switch the parser to load the DTD without validating.', + ['void', None, None], + [['ctxt', 'xmlParserCtxt *', 'the parser context'], ['loadsubset', 'int', '1 to load the DTD']], + 'python_accessor', None), + 'xmlParserSetLineNumbers': ( + 'Switch on the generation of line number for elements nodes.', + ['void', None, None], + [['ctxt', 'xmlParserCtxt *', 'the parser context'], ['linenumbers', 'int', 'unused']], + 'python_accessor', None), + 'xmlDebugMemory': ( + 'Switch on the generation of line number for elements nodes. Also returns the number of bytes allocated and not freed by libxml2 since memory debugging was switched on.', + ['int', 'returns the number of bytes allocated and not freed', None], + [['activate', 'int', '1 switch on memory debugging 0 switch it off']], + 'python', None), + 'xmlNodeGetNs': ( + 'Get the namespace of a node', + ['xmlNs *', 'The namespace or None', None], + [['node', 'xmlNode *', 'the node']], + 'python_accessor', None), + 'xmlNodeGetNsDefs': ( + 'Get the namespace of a node', + ['xmlNs *', 'The namespace or None', None], + [['node', 'xmlNode *', 'the node']], + 'python_accessor', None), + 'xmlXPathParserGetContext': ( + 'Get the xpathContext from an xpathParserContext', + ['xmlXPathContext *', 'The XPath context', 'context'], + [['ctxt', 'xmlXPathParserContext *', 'the XPath parser context']], + 'python_accessor', 'defined(LIBXML_XPATH_ENABLED)'), + 'xmlXPathGetContextDoc': ( + 'Get the doc from an xpathContext', + ['xmlDoc *', 'The doc context', 'doc'], + [['ctxt', 'xmlXPathContext *', 'the XPath context']], + 'python_accessor', 'defined(LIBXML_XPATH_ENABLED)'), + 'xmlXPathGetContextNode': ( + 'Get the current node from an xpathContext', + ['xmlNode *', 'The node context', 'node'], + [['ctxt', 'xmlXPathContext *', 'the XPath context']], + 'python_accessor', 'defined(LIBXML_XPATH_ENABLED)'), + 'xmlXPathSetContextDoc': ( + 'Set the doc of an xpathContext', + ['void', None, None], + [['ctxt', 'xmlXPathContext *', 'the XPath context'], ['doc', 'xmlDoc *', 'The doc context']], + 'python_accessor', 'defined(LIBXML_XPATH_ENABLED)'), + 'xmlXPathSetContextNode': ( + 'Set the current node of an xpathContext', + ['void', None, None], + [['ctxt', 'xmlXPathContext *', 'the XPath context'], ['node', 'xmlNode *', 'The node context']], + 'python_accessor', 'defined(LIBXML_XPATH_ENABLED)'), + 'xmlXPathGetContextPosition': ( + 'Get the current node from an xpathContext', + ['int', 'The node context', 'proximityPosition'], + [['ctxt', 'xmlXPathContext *', 'the XPath context']], + 'python_accessor', 'defined(LIBXML_XPATH_ENABLED)'), + 'xmlXPathGetContextSize': ( + 'Get the current node from an xpathContext', + ['int', 'The node context', 'contextSize'], + [['ctxt', 'xmlXPathContext *', 'the XPath context']], + 'python_accessor', 'defined(LIBXML_XPATH_ENABLED)'), + 'xmlXPathGetFunction': ( + 'Get the current function name xpathContext', + ['const xmlChar *', 'The function name', 'function'], + [['ctxt', 'xmlXPathContext *', 'the XPath context']], + 'python_accessor', 'defined(LIBXML_XPATH_ENABLED)'), + 'xmlXPathGetFunctionURI': ( + 'Get the current function name URI xpathContext', + ['const xmlChar *', 'The function name URI', 'functionURI'], + [['ctxt', 'xmlXPathContext *', 'the XPath context']], + 'python_accessor', 'defined(LIBXML_XPATH_ENABLED)'), + 'xmlURIGetScheme': ( + 'Get the scheme part from an URI', + ['const char *', 'The URI scheme', 'scheme'], + [['URI', 'xmlURI *', 'the URI']], + 'python_accessor', None), + 'xmlURISetScheme': ( + 'Set the scheme part of an URI.', + ['void', None, None], + [['URI', 'xmlURI *', 'the URI'], ['scheme', 'char *', 'The URI scheme part']], + 'python_accessor', None), + 'xmlURIGetOpaque': ( + 'Get the opaque part from an URI', + ['const char *', 'The URI opaque', 'opaque'], + [['URI', 'xmlURI *', 'the URI']], + 'python_accessor', None), + 'xmlURISetOpaque': ( + 'Set the opaque part of an URI.', + ['void', None, None], + [['URI', 'xmlURI *', 'the URI'], ['opaque', 'char *', 'The URI opaque part']], + 'python_accessor', None), + 'xmlURIGetAuthority': ( + 'Get the authority part from an URI', + ['const char *', 'The URI authority', 'authority'], + [['URI', 'xmlURI *', 'the URI']], + 'python_accessor', None), + 'xmlURISetAuthority': ( + 'Set the authority part of an URI.', + ['void', None, None], + [['URI', 'xmlURI *', 'the URI'], ['authority', 'char *', 'The URI authority part']], + 'python_accessor', None), + 'xmlURIGetServer': ( + 'Get the server part from an URI', + ['const char *', 'The URI server', 'server'], + [['URI', 'xmlURI *', 'the URI']], + 'python_accessor', None), + 'xmlURISetServer': ( + 'Set the server part of an URI.', + ['void', None, None], + [['URI', 'xmlURI *', 'the URI'], ['server', 'char *', 'The URI server part']], + 'python_accessor', None), + 'xmlURIGetUser': ( + 'Get the user part from an URI', + ['const char *', 'The URI user', 'user'], + [['URI', 'xmlURI *', 'the URI']], + 'python_accessor', None), + 'xmlURISetUser': ( + 'Set the user part of an URI.', + ['void', None, None], + [['URI', 'xmlURI *', 'the URI'], ['user', 'char *', 'The URI user part']], + 'python_accessor', None), + 'xmlURIGetPath': ( + 'Get the path part from an URI', + ['const char *', 'The URI path', 'path'], + [['URI', 'xmlURI *', 'the URI']], + 'python_accessor', None), + 'xmlURISetPath': ( + 'Set the path part of an URI.', + ['void', None, None], + [['URI', 'xmlURI *', 'the URI'], ['path', 'char *', 'The URI path part']], + 'python_accessor', None), + 'xmlURIGetQuery': ( + 'Get the query part from an URI', + ['const char *', 'The URI query', 'query'], + [['URI', 'xmlURI *', 'the URI']], + 'python_accessor', None), + 'xmlURISetQuery': ( + 'Set the query part of an URI.', + ['void', None, None], + [['URI', 'xmlURI *', 'the URI'], ['query', 'char *', 'The URI query part']], + 'python_accessor', None), + 'xmlURIGetQueryRaw': ( + 'Get the raw query part from an URI (i.e. the unescaped form).', + ['const char *', 'The URI query', 'query_raw'], + [['URI', 'xmlURI *', 'the URI']], + 'python_accessor', None), + 'xmlURISetQueryRaw': ( + 'Set the raw query part of an URI (i.e. the unescaped form).', + ['void', None, None], + [['URI', 'xmlURI *', 'the URI'], ['query_raw', 'char *', 'The raw URI query part']], + 'python_accessor', None), + 'xmlURIGetFragment': ( + 'Get the fragment part from an URI', + ['const char *', 'The URI fragment', 'fragment'], + [['URI', 'xmlURI *', 'the URI']], + 'python_accessor', None), + 'xmlURISetFragment': ( + 'Set the fragment part of an URI.', + ['void', None, None], + [['URI', 'xmlURI *', 'the URI'], ['fragment', 'char *', 'The URI fragment part']], + 'python_accessor', None), + 'xmlURIGetPort': ( + 'Get the port part from an URI', + ['int', 'The URI port', 'port'], + [['URI', 'xmlURI *', 'the URI']], + 'python_accessor', None), + 'xmlURISetPort': ( + 'Set the port part of an URI.', + ['void', None, None], + [['URI', 'xmlURI *', 'the URI'], ['port', 'int', 'The URI port part']], + 'python_accessor', None), + 'xmlErrorGetDomain': ( + 'What part of the library raised this error', + ['int', 'The error domain', 'domain'], + [['Error', 'xmlError *', 'the Error']], + 'python_accessor', None), + 'xmlErrorGetCode': ( + 'The error code, e.g. an xmlParserError', + ['int', 'The error code', 'code'], + [['Error', 'xmlError *', 'the Error']], + 'python_accessor', None), + 'xmlErrorGetMessage': ( + 'human-readable informative error message', + ['const char *', 'The error message', 'message'], + [['Error', 'xmlError *', 'the Error']], + 'python_accessor', None), + 'xmlErrorGetLevel': ( + 'how consequent is the error', + ['int', 'The error level', 'level'], + [['Error', 'xmlError *', 'the Error']], + 'python_accessor', None), + 'xmlErrorGetFile': ( + 'the filename', + ['const char *', 'The error file', 'file'], + [['Error', 'xmlError *', 'the Error']], + 'python_accessor', None), + 'xmlErrorGetLine': ( + 'the line number if available', + ['int', 'The error line', 'line'], + [['Error', 'xmlError *', 'the Error']], + 'python_accessor', None), + 'xmlPythonCleanupParser': ( + "Cleanup function for the XML library. It tries to reclaim all parsing related global memory allocated for the library processing. It doesn't deallocate any document related memory. Calling this function should not prevent reusing the library but one should call xmlCleanupParser() only when the process has finished using the library or XML document built with it.", + ['void', None, None], + [], + 'python', None), + 'xmlMemoryUsed': ( + 'Returns the total amount of memory allocated by libxml2', + ['int', 'number of bytes allocated', None], + [], + 'python', None) +} + +enums = {} # { enumType: { enumConstant: enumValue } } + +import os +import sys +import string + +if __name__ == "__main__": + # launched as a script + srcPref = os.path.dirname(sys.argv[0]) + try: + dstPref = sys.argv[1] + except IndexError: + dstPref = os.getcwd() +else: + # imported + srcPref = os.path.dirname(__file__) + dstPref = os.getcwd() + +####################################################################### +# +# Some filtering rukes to drop functions/types which should not +# be exposed as-is on the Python interface +# +####################################################################### + +skipped_modules = { + 'xmlmemory': None, + 'SAX': None, + 'hash': None, + 'list': None, + 'threads': None, +# 'xpointer': None, +} +skipped_types = { + 'int *': "usually a return type", + 'xmlSAXHandler *': "not the proper interface for SAX", + 'htmlSAXHandler *': "not the proper interface for SAX", + 'xmlRMutex *': "thread specific, skipped", + 'xmlMutex *': "thread specific, skipped", + 'xmlGlobalState *': "thread specific, skipped", + 'xmlList *': "internal representation not suitable for python", + 'xmlBuffer *': "internal representation not suitable for python", + 'FILE *': None, +} + +####################################################################### +# +# That part if purely the API acquisition phase from the +# XML API description +# +####################################################################### +import os +import xml.etree.ElementTree as etree + +sys.path.append(srcPref + '/../codegen') +import xmlmod + +xmlDocDir = dstPref + '/../doc/xml' +if not os.path.isdir(xmlDocDir): + xmlDocDir = dstPref + '/doc/xml' + if not os.path.isdir(xmlDocDir): + raise Exception('Doxygen XML not found in %s' % dstPref) + +def extractDocs(node): + text = '' + + if node.text is not None: + text = node.text.strip() + if text == 'Deprecated': + text = 'DEPRECATED:' + + i = 0 + n = len(node) + for child in node: + i += 1 + + if (child.tag != 'parameterlist' and + (child.tag != 'simplesect' or child.get('kind') != 'return')): + childtext = extractDocs(child) + if childtext != '': + if text != '': + text += ' ' + text += childtext + + tail = child.tail + if tail is not None: + tail = tail.strip() + if tail != '': + if text != '': + text += ' ' + text += child.tail.strip() + + return text + +for file in os.listdir(xmlDocDir): + if not file.endswith('_8h.xml'): + continue + + doc = etree.parse(xmlDocDir + '/' + file) + + compound = doc.find('compounddef') + module = compound.find('compoundname').text + if not module.endswith('.h'): + continue + module = module[:-2] + if module in skipped_modules: + continue + + for section in compound.findall('sectiondef'): + kind = section.get('kind') + + if kind == 'func': + for func in section.findall('memberdef'): + name = func.find('name').text + if name in functions: + continue + + docs = extractDocs(func.find('detaileddescription')) + + # python 2.7 compat, https://gitlab.gnome.org/GNOME/libxml2/-/issues/1092 + encoding = 'unicode' + if sys.version_info[0] == 2: + encoding = 'utf-8' + + rtype = etree.tostring(func.find('type'), + method='text', encoding=encoding).rstrip() + + valid = True + args = [] + for arg in func.findall('param'): + atype = etree.tostring(arg.find('type'), + method='text', encoding=encoding).rstrip() + if atype == 'void': + continue + + aname = arg.find('declname') + if aname is None: + valid = False + break + + args.append([aname.text, atype]) + + if not valid: + continue + + module1, module2 = xmlmod.findModules(module, name) + + cond = None + if module1 != '': + cond = 'defined(LIBXML_%s_ENABLED)' % module1 + if module2 != '': + cond += ' && defined(LIBXML_%s_ENABLED)' % module2 + + functions[name] = (docs, [rtype], args, module, cond) + elif kind == 'enum': + for enum in section.findall('memberdef'): + name = enum.find('name').text + edict = {} + enums[name] = edict + prev = -1 + + for value in enum.findall('enumvalue'): + ename = value.find('name').text + + init = value.find('initializer') + if init is None: + evalue = prev + 1 + else: + evalue = init.text.lstrip() + if evalue[0] != '=': + raise Exception('invalid init value %s' % init) + evalue = eval(evalue[1:].strip()) + + edict[ename] = evalue + prev = evalue + +####################################################################### +# +# Table of remapping to/from the python type or class to the C +# counterpart. +# +####################################################################### + +py_types = { + 'void': (None, None, None, None), + 'int': ('i', None, "int", "int"), + 'long': ('l', None, "long", "long"), + 'double': ('d', None, "double", "double"), + 'unsigned int': ('i', None, "int", "int"), + 'xmlChar': ('c', None, "int", "int"), + 'unsigned char *': ('z', None, "charPtr", "char *"), + 'char *': ('z', None, "charPtr", "char *"), + 'const char *': ('z', None, "charPtrConst", "const char *"), + 'xmlChar *': ('z', None, "xmlCharPtr", "xmlChar *"), + 'const xmlChar *': ('z', None, "xmlCharPtrConst", "const xmlChar *"), + 'xmlNode *': ('O', "xmlNode", "xmlNodePtr", "xmlNode *"), + 'const xmlNode *': ('O', "xmlNode", "xmlNodePtr", "xmlNode *"), + 'xmlDtd *': ('O', "xmlNode", "xmlNodePtr", "xmlNode *"), + 'const xmlDtd *': ('O', "xmlNode", "xmlNodePtr", "xmlNode *"), + 'xmlAttr *': ('O', "xmlNode", "xmlNodePtr", "xmlNode *"), + 'const xmlAttr *': ('O', "xmlNode", "xmlNodePtr", "xmlNode *"), + 'xmlEntity *': ('O', "xmlNode", "xmlNodePtr", "xmlNode *"), + 'const xmlEntity *': ('O', "xmlNode", "xmlNodePtr", "xmlNode *"), + 'xmlElement *': ('O', "xmlElement", "xmlElementPtr", "xmlElement *"), + 'const xmlElement *': ('O', "xmlElement", "xmlElementPtr", "xmlElement *"), + 'xmlAttribute *': ('O', "xmlAttribute", "xmlAttributePtr", "xmlAttribute *"), + 'const xmlAttribute *': ('O', "xmlAttribute", "xmlAttributePtr", "xmlAttribute *"), + 'xmlNs *': ('O', "xmlNode", "xmlNsPtr", "xmlNs *"), + 'const xmlNs *': ('O', "xmlNode", "xmlNsPtr", "xmlNs *"), + 'xmlDoc *': ('O', "xmlNode", "xmlDocPtr", "xmlDoc *"), + 'const xmlDoc *': ('O', "xmlNode", "xmlDocPtr", "xmlDoc *"), + 'htmlDoc *': ('O', "xmlNode", "xmlDocPtr", "xmlDoc *"), + 'const htmlDoc *': ('O', "xmlNode", "xmlDocPtr", "xmlDoc *"), + 'htmlNode *': ('O', "xmlNode", "xmlNodePtr", "xmlNode *"), + 'const htmlNode *': ('O', "xmlNode", "xmlNodePtr", "xmlNode *"), + 'xmlXPathContext *': ('O', "xmlXPathContext", "xmlXPathContextPtr", "xmlXPathContext *"), + 'xmlXPathParserContext *': ('O', "xmlXPathParserContext", "xmlXPathParserContextPtr", "xmlXPathParserContext *"), + 'xmlParserCtxt *': ('O', "parserCtxt", "xmlParserCtxtPtr", "xmlParserCtxt *"), + 'htmlParserCtxt *': ('O', "parserCtxt", "xmlParserCtxtPtr", "xmlParserCtxt *"), + 'xmlValidCtxt *': ('O', "ValidCtxt", "xmlValidCtxtPtr", "xmlValidCtxt *"), + 'xmlCatalog *': ('O', "catalog", "xmlCatalogPtr", "xmlCatalog *"), + 'FILE *': ('O', "File", "FILEPtr", "FILE *"), + 'xmlURI *': ('O', "URI", "xmlURIPtr", "xmlURI *"), + 'const xmlError *': ('O', "Error", "xmlErrorPtr", "const xmlError *"), + 'xmlError *': ('O', "Error", "xmlErrorPtr", "xmlError *"), + 'xmlOutputBuffer *': ('O', "outputBuffer", "xmlOutputBufferPtr", "xmlOutputBuffer *"), + 'xmlParserInputBuffer *': ('O', "inputBuffer", "xmlParserInputBufferPtr", "xmlParserInputBuffer *"), + 'xmlRegexp *': ('O', "xmlReg", "xmlRegexpPtr", "xmlRegexp *"), + 'xmlTextReaderLocatorPtr': ('O', "xmlTextReaderLocator", "xmlTextReaderLocatorPtr", "xmlTextReaderLocatorPtr"), + 'xmlTextReader *': ('O', "xmlTextReader", "xmlTextReaderPtr", "xmlTextReader *"), + 'xmlRelaxNG *': ('O', "relaxNgSchema", "xmlRelaxNGPtr", "xmlRelaxNG *"), + 'xmlRelaxNGParserCtxt *': ('O', "relaxNgParserCtxt", "xmlRelaxNGParserCtxtPtr", "xmlRelaxNGParserCtxt *"), + 'xmlRelaxNGValidCtxt *': ('O', "relaxNgValidCtxt", "xmlRelaxNGValidCtxtPtr", "xmlRelaxNGValidCtxt *"), + 'xmlSchema *': ('O', "Schema", "xmlSchemaPtr", "xmlSchema *"), + 'xmlSchemaParserCtxt *': ('O', "SchemaParserCtxt", "xmlSchemaParserCtxtPtr", "xmlSchemaParserCtxt *"), + 'xmlSchemaValidCtxt *': ('O', "SchemaValidCtxt", "xmlSchemaValidCtxtPtr", "xmlSchemaValidCtxt *"), +} + +py_return_types = { + 'xmlXPathObject *': ('O', "foo", "xmlXPathObjectPtr", "xmlXPathObject *"), +} + +unknown_types = {} + +foreign_encoding_args = ( + 'htmlCreateMemoryParserCtxt', + 'htmlCtxtReadMemory', + 'htmlParseChunk', + 'htmlReadMemory', + 'xmlCreateMemoryParserCtxt', + 'xmlCtxtReadMemory', + 'xmlCtxtResetPush', + 'xmlParseChunk', + 'xmlParseMemory', + 'xmlReadMemory', + 'xmlRecoverMemory', +) + +####################################################################### +# +# This part writes the C <-> Python stubs libxml2-py.[ch] and +# the table libxml2-export.c to add when registrering the Python module +# +####################################################################### + +# Class methods which are written by hand in libxml.c but the Python-level +# code is still automatically generated (so they are not in skip_function()). +skip_impl = ( + 'xmlSaveFileTo', + 'xmlSaveFormatFileTo', +) + +deprecated_funcs = { + 'htmlAutoCloseTag': True, + 'htmlDefaultSAXHandlerInit': True, + 'htmlHandleOmittedElem': True, + 'htmlInitAutoClose': True, + 'htmlIsAutoClosed': True, + 'htmlIsBooleanAttr': True, + 'htmlIsScriptAttribute': True, + 'htmlParseCharRef': True, + 'htmlParseElement': True, + 'xmlACatalogAdd': True, + 'xmlACatalogDump': True, + 'xmlACatalogRemove': True, + 'xmlACatalogResolve': True, + 'xmlACatalogResolvePublic': True, + 'xmlACatalogResolveSystem': True, + 'xmlACatalogResolveURI': True, + 'xmlAddEncodingAlias': True, + 'xmlByteConsumed': True, + 'xmlCatalogConvert': True, + 'xmlCatalogGetPublic': True, + 'xmlCatalogGetSystem': True, + 'xmlCatalogIsEmpty': True, + 'xmlCheckFilename': True, + 'xmlCheckLanguageID': True, + 'xmlCleanupCharEncodingHandlers': True, + 'xmlCleanupEncodingAliases': True, + 'xmlCleanupGlobals': True, + 'xmlClearParserCtxt': True, + 'xmlConvertSGMLCatalog': True, + 'xmlCopyChar': True, + 'xmlCopyCharMultiByte': True, + 'xmlCreateEntityParserCtxt': True, + 'xmlDefaultSAXHandlerInit': True, + 'xmlDelEncodingAlias': True, + 'xmlDictCleanup': True, + 'xmlFileMatch': True, + 'xmlFreeCatalog': True, + 'xmlGetCompressMode': True, + 'xmlGetEncodingAlias': True, + 'xmlInitCharEncodingHandlers': True, + 'xmlInitGlobals': True, + 'xmlInitializeDict': True, + 'xmlIOFTPMatch': True, + 'xmlIOHTTPMatch': True, + 'xmlIsBaseChar': True, + 'xmlIsBlank': True, + 'xmlIsChar': True, + 'xmlIsCombining': True, + 'xmlIsDigit': True, + 'xmlIsExtender': True, + 'xmlIsIdeographic': True, + 'xmlIsLetter': True, + 'xmlIsMixedElement': True, + 'xmlIsPubidChar': True, + 'xmlIsRef': True, + 'xmlKeepBlanksDefault': True, + 'xmlLineNumbersDefault': True, + 'xmlLoadACatalog': True, + 'xmlLoadSGMLSuperCatalog': True, + 'xmlNanoHTTPCleanup': True, + 'xmlNanoHTTPInit': True, + 'xmlNanoHTTPScanProxy': True, + 'xmlNewCatalog': True, + 'xmlNextChar': True, + 'xmlNormalizeWindowsPath': True, + 'xmlParseAttValue': True, + 'xmlParseAttributeListDecl': True, + 'xmlParseCDSect': True, + 'xmlParseCatalogFile': True, + 'xmlParseCharData': True, + 'xmlParseCharRef': True, + 'xmlParseComment': True, + 'xmlParseDocTypeDecl': True, + 'xmlParseElement': True, + 'xmlParseElementDecl': True, + 'xmlParseEncName': True, + 'xmlParseEncodingDecl': True, + 'xmlParseEndTag': True, + 'xmlParseEntity': True, + 'xmlParseEntityDecl': True, + 'xmlParseEntityRef': True, + 'xmlParseExtParsedEnt': True, + 'xmlParseExternalSubset': True, + 'xmlParseMarkupDecl': True, + 'xmlParseMisc': True, + 'xmlParseName': True, + 'xmlParseNmtoken': True, + 'xmlParseNotationDecl': True, + 'xmlParsePEReference': True, + 'xmlParsePI': True, + 'xmlParsePITarget': True, + 'xmlParsePubidLiteral': True, + 'xmlParseReference': True, + 'xmlParseSDDecl': True, + 'xmlParseStartTag': True, + 'xmlParseSystemLiteral': True, + 'xmlParseTextDecl': True, + 'xmlParseVersionInfo': True, + 'xmlParseVersionNum': True, + 'xmlParseXMLDecl': True, + 'xmlParserHandlePEReference': True, + 'xmlParserInputBufferGrow': True, + 'xmlParserInputBufferPush': True, + 'xmlParserInputBufferRead': True, + 'xmlParserSetLineNumbers': True, + 'xmlParserSetLoadSubset': True, + 'xmlParserSetPedantic': True, + 'xmlParserSetReplaceEntities': True, + 'xmlParserSetValidate': True, + 'xmlPedanticParserDefault': True, + 'xmlPopInput': True, + 'xmlRecoverDoc': True, + 'xmlRecoverFile': True, + 'xmlRecoverMemory': True, + 'xmlRegexpPrint': True, + 'xmlRegisterHTTPPostCallbacks': True, + 'xmlRelaxNGCleanupTypes': True, + 'xmlRelaxNGInitTypes': True, + 'xmlRemoveRef': True, + 'xmlSAXDefaultVersion': True, + 'xmlSchemaCleanupTypes': True, + 'xmlSchemaInitTypes': True, + 'xmlSetCompressMode': True, + 'xmlSetupParserForBuffer': True, + 'xmlSkipBlankChars': True, + 'xmlStringDecodeEntities': True, + 'xmlStringLenDecodeEntities': True, + 'xmlSubstituteEntitiesDefault': True, + 'xmlThrDefDoValidityCheckingDefaultValue': True, + 'xmlThrDefGetWarningsDefaultValue': True, + 'xmlThrDefIndentTreeOutput': True, + 'xmlThrDefKeepBlanksDefaultValue': True, + 'xmlThrDefLineNumbersDefaultValue': True, + 'xmlThrDefLoadExtDtdDefaultValue': True, + 'xmlThrDefPedanticParserDefaultValue': True, + 'xmlThrDefSaveNoEmptyTags': True, + 'xmlThrDefSubstituteEntitiesDefaultValue': True, + 'xmlThrDefTreeIndentString': True, + 'xmlValidCtxtNormalizeAttributeValue': True, + 'xmlValidNormalizeAttributeValue': True, + 'xmlValidateAttributeValue': True, + 'xmlValidateDocumentFinal': True, + 'xmlValidateDtdFinal': True, + 'xmlValidateNotationUse': True, + 'xmlValidateOneAttribute': True, + 'xmlValidateOneElement': True, + 'xmlValidateOneNamespace': True, + 'xmlValidatePopElement': True, + 'xmlValidatePushCData': True, + 'xmlValidatePushElement': True, + 'xmlValidateRoot': True, + 'xmlValidate': True, + 'xmlXPathEvalExpr': True, + 'xmlXPathInit': True, + 'xmlXPtrEvalRangePredicate': True, + 'xmlXPtrNewCollapsedRange': True, + 'xmlXPtrNewContext': True, + 'xmlXPtrNewLocationSetNodes': True, + 'xmlXPtrNewRange': True, + 'xmlXPtrNewRangeNodes': True, + 'xmlXPtrRangeToFunction': True, +} + +def skip_function(name): + if name[0:12] == "xmlXPathWrap": + return 1 + if name == "xmlFreeParserCtxt": + return 1 + if name == "xmlCleanupParser": + return 1 + if name == "xmlFreeTextReader": + return 1 +# if name[0:11] == "xmlXPathNew": +# return 1 + # the next function is defined in libxml.c + if name == "xmlRelaxNGFreeValidCtxt": + return 1 + if name == "xmlFreeValidCtxt": + return 1 + if name == "xmlSchemaFreeValidCtxt": + return 1 + if name[0:5] == "__xml": + return 1 + +# +# Those are skipped because the Const version is used of the bindings +# instead. +# + if name == "xmlTextReaderBaseUri": + return 1 + if name == "xmlTextReaderLocalName": + return 1 + if name == "xmlTextReaderName": + return 1 + if name == "xmlTextReaderNamespaceUri": + return 1 + if name == "xmlTextReaderPrefix": + return 1 + if name == "xmlTextReaderXmlLang": + return 1 + if name == "xmlTextReaderValue": + return 1 + if name == "xmlOutputBufferClose": # handled by by the superclass + return 1 + if name == "xmlOutputBufferFlush": # handled by by the superclass + return 1 + if name == "xmlErrMemory": + return 1 + + if name == "xmlValidBuildContentModel": + return 1 + if name == "xmlValidateElementDecl": + return 1 + if name == "xmlValidateAttributeDecl": + return 1 + if name == "xmlPopInputCallbacks": + return 1 + + return 0 + +def print_function_wrapper(name, output, export, include): + global py_types + global unknown_types + global functions + global skipped_modules + + try: + (desc, ret, args, file, cond) = functions[name] + except: + print("failed to get function %s infos") + return + + if file in skipped_modules: + return 0 + if skip_function(name) == 1: + return 0 + if name in skip_impl: + # Don't delete the function entry in the caller. + return 1 + + if name.startswith('xmlUCSIs'): + is_deprecated = name != 'xmlUCSIsBlock' and name != 'xmlUCSIsCat' + else: + is_deprecated = name in deprecated_funcs + + c_call = "" + format="" + format_args="" + c_args="" + c_return="" + c_convert="" + c_release="" + num_bufs=0 + for arg in args: + # This should be correct + if arg[1][0:6] == "const ": + arg[1] = arg[1][6:] + c_args = c_args + " %s %s;\n" % (arg[1], arg[0]) + if arg[1] in py_types: + (f, t, n, c) = py_types[arg[1]] + if (f == 'z') and (name in foreign_encoding_args) and (num_bufs == 0): + f = 's#' + if f != None: + format = format + f + if t != None: + format_args = format_args + ", &pyobj_%s" % (arg[0]) + c_args = c_args + " PyObject *pyobj_%s;\n" % (arg[0]) + c_convert = c_convert + \ + " %s = (%s) Py%s_Get(pyobj_%s);\n" % (arg[0], + arg[1], t, arg[0]) + else: + format_args = format_args + ", &%s" % (arg[0]) + if f == 's#': + format_args = format_args + ", &py_buffsize%d" % num_bufs + c_args = c_args + " Py_ssize_t py_buffsize%d;\n" % num_bufs + num_bufs = num_bufs + 1 + if c_call != "": + c_call = c_call + ", " + c_call = c_call + "%s" % (arg[0]) + if t == "File": + c_release = c_release + \ + " PyFile_Release(%s);\n" % (arg[0]) + else: + if arg[1] in skipped_types: + return 0 + if arg[1] in unknown_types: + lst = unknown_types[arg[1]] + lst.append(name) + else: + unknown_types[arg[1]] = [name] + return -1 + if format != "": + format = format + ":%s" % (name) + + if ret[0] == 'void': + if file == "python_accessor": + if args[1][1] == "char *" or args[1][1] == "xmlChar *": + c_call = "\n if (%s->%s != NULL) xmlFree(%s->%s);\n" % ( + args[0][0], args[1][0], args[0][0], args[1][0]) + c_call = c_call + " %s->%s = (%s)xmlStrdup((const xmlChar *)%s);\n" % (args[0][0], + args[1][0], args[1][1], args[1][0]) + else: + c_call = "\n %s->%s = %s;\n" % (args[0][0], args[1][0], + args[1][0]) + else: + c_call = "\n %s(%s);\n" % (name, c_call) + ret_convert = " Py_INCREF(Py_None);\n return(Py_None);\n" + elif ret[0] in py_types: + (f, t, n, c) = py_types[ret[0]] + c_return = c_return + " %s c_retval;\n" % (ret[0]) + if file == "python_accessor" and ret[2] != None: + c_call = "\n c_retval = %s->%s;\n" % (args[0][0], ret[2]) + else: + c_call = "\n c_retval = %s(%s);\n" % (name, c_call) + ret_convert = " py_retval = libxml_%sWrap((%s) c_retval);\n" % (n,c) + ret_convert = ret_convert + " return(py_retval);\n" + elif ret[0] in py_return_types: + (f, t, n, c) = py_return_types[ret[0]] + c_return = c_return + " %s c_retval;\n" % (ret[0]) + c_call = "\n c_retval = %s(%s);\n" % (name, c_call) + ret_convert = " py_retval = libxml_%sWrap((%s) c_retval);\n" % (n,c) + ret_convert = ret_convert + " return(py_retval);\n" + else: + if ret[0] in skipped_types: + return 0 + if ret[0] in unknown_types: + lst = unknown_types[ret[0]] + lst.append(name) + else: + unknown_types[ret[0]] = [name] + return -1 + + if cond != None and cond != "": + include.write("#if %s\n" % cond) + export.write("#if %s\n" % cond) + output.write("#if %s\n" % cond) + + include.write("PyObject * ") + include.write("libxml_%s(PyObject *self, PyObject *args);\n" % (name)) + + export.write(" { \"%s\", libxml_%s, METH_VARARGS, NULL },\n" % + (name, name)) + + if file == "python": + # Those have been manually generated + if cond != None and cond != "": + include.write("#endif\n") + export.write("#endif\n") + output.write("#endif\n") + return 1 + if file == "python_accessor" and ret[0] != "void" and ret[2] is None: + # Those have been manually generated + if cond != None and cond != "": + include.write("#endif\n") + export.write("#endif\n") + output.write("#endif\n") + return 1 + + if is_deprecated: + output.write("XML_IGNORE_DEPRECATION_WARNINGS\n") + output.write("PyObject *\n") + output.write("libxml_%s(PyObject *self ATTRIBUTE_UNUSED," % (name)) + output.write(" PyObject *args") + if format == "": + output.write(" ATTRIBUTE_UNUSED") + output.write(") {\n") + if ret[0] != 'void': + output.write(" PyObject *py_retval;\n") + if c_return != "": + output.write(c_return) + if c_args != "": + output.write(c_args) + if is_deprecated: + output.write("\n if (libxml_deprecationWarning(\"%s\") == -1)\n" % + name) + output.write(" return(NULL);\n") + if format != "": + output.write("\n if (!PyArg_ParseTuple(args, \"%s\"%s))\n" % + (format, format_args)) + output.write(" return(NULL);\n") + if c_convert != "": + output.write(c_convert) + + output.write(c_call) + if c_release != "": + output.write(c_release) + output.write(ret_convert) + output.write("}\n") + if is_deprecated: + output.write("XML_POP_WARNINGS\n") + output.write("\n") + + if cond != None and cond != "": + include.write("#endif /* %s */\n" % cond) + export.write("#endif /* %s */\n" % cond) + output.write("#endif /* %s */\n" % cond) + return 1 + +def buildStubs(): + global py_types + global py_return_types + global unknown_types + + py_types['pythonObject'] = ('O', "pythonObject", "pythonObject", "pythonObject") + nb_wrap = 0 + failed = 0 + skipped = 0 + + include = open(os.path.join(dstPref, "libxml2-py.h"), "w") + include.write("/* Generated */\n\n") + export = open(os.path.join(dstPref, "libxml2-export.c"), "w") + export.write("/* Generated */\n\n") + wrapper = open(os.path.join(dstPref, "libxml2-py.c"), "w") + wrapper.write("/* Generated */\n\n") + wrapper.write("#define PY_SSIZE_T_CLEAN\n") + wrapper.write("#include \n") + wrapper.write("#include \n") + wrapper.write("#include \n") + wrapper.write("#include \n") + wrapper.write("#include \"libxml_wrap.h\"\n") + wrapper.write("#include \"libxml2-py.h\"\n\n") + for function in sorted(functions.keys()): + ret = print_function_wrapper(function, wrapper, export, include) + if ret < 0: + failed = failed + 1 + del functions[function] + if ret == 0: + skipped = skipped + 1 + del functions[function] + if ret == 1: + nb_wrap = nb_wrap + 1 + include.close() + export.close() + wrapper.close() + +# print("Generated %d wrapper functions, %d failed, %d skipped" % (nb_wrap, +# failed, skipped)) +# print("Missing type converters: ") +# for type in list(unknown_types.keys()): +# print("%s:%d " % (type, len(unknown_types[type]))) +# print() + +####################################################################### +# +# This part writes part of the Python front-end classes based on +# mapping rules between types and classes and also based on function +# renaming to get consistent function names at the Python level +# +####################################################################### + +# +# The type automatically remapped to generated classes +# +classes_type = { + "xmlNode *": ("._o", "xmlNode(_obj=%s)", "xmlNode"), + "xmlDoc *": ("._o", "xmlDoc(_obj=%s)", "xmlDoc"), + "htmlDoc *": ("._o", "xmlDoc(_obj=%s)", "xmlDoc"), + "htmlxmlDoc * *": ("._o", "xmlDoc(_obj=%s)", "xmlDoc"), + "xmlAttr *": ("._o", "xmlAttr(_obj=%s)", "xmlAttr"), + "xmlNs *": ("._o", "xmlNs(_obj=%s)", "xmlNs"), + "xmlDtd *": ("._o", "xmlDtd(_obj=%s)", "xmlDtd"), + "xmlEntity *": ("._o", "xmlEntity(_obj=%s)", "xmlEntity"), + "xmlElement *": ("._o", "xmlElement(_obj=%s)", "xmlElement"), + "xmlAttribute *": ("._o", "xmlAttribute(_obj=%s)", "xmlAttribute"), + "xmlXPathContext *": ("._o", "xpathContext(_obj=%s)", "xpathContext"), + "xmlXPathParserContext *": ("._o", "xpathParserContext(_obj=%s)", "xpathParserContext"), + "xmlParserCtxt *": ("._o", "parserCtxt(_obj=%s)", "parserCtxt"), + "htmlParserCtxt *": ("._o", "parserCtxt(_obj=%s)", "parserCtxt"), + "xmlValidCtxt *": ("._o", "ValidCtxt(_obj=%s)", "ValidCtxt"), + "xmlCatalog *": ("._o", "catalog(_obj=%s)", "catalog"), + "xmlURI *": ("._o", "URI(_obj=%s)", "URI"), + "const xmlError *": ("._o", "Error(_obj=%s)", "Error"), + "xmlError *": ("._o", "Error(_obj=%s)", "Error"), + "xmlOutputBuffer *": ("._o", "outputBuffer(_obj=%s)", "outputBuffer"), + "xmlParserInputBuffer *": ("._o", "inputBuffer(_obj=%s)", "inputBuffer"), + "xmlRegexp *": ("._o", "xmlReg(_obj=%s)", "xmlReg"), + "xmlTextReaderLocatorPtr": ("._o", "xmlTextReaderLocator(_obj=%s)", "xmlTextReaderLocator"), + "xmlTextReader *": ("._o", "xmlTextReader(_obj=%s)", "xmlTextReader"), + 'xmlRelaxNG *': ('._o', "relaxNgSchema(_obj=%s)", "relaxNgSchema"), + 'xmlRelaxNGParserCtxt *': ('._o', "relaxNgParserCtxt(_obj=%s)", "relaxNgParserCtxt"), + 'xmlRelaxNGValidCtxt *': ('._o', "relaxNgValidCtxt(_obj=%s)", "relaxNgValidCtxt"), + 'xmlSchema *': ("._o", "Schema(_obj=%s)", "Schema"), + 'xmlSchemaParserCtxt *': ("._o", "SchemaParserCtxt(_obj=%s)", "SchemaParserCtxt"), + 'xmlSchemaValidCtxt *': ("._o", "SchemaValidCtxt(_obj=%s)", "SchemaValidCtxt"), +} + +converter_type = { + "xmlXPathObject *": "xpathObjectRet(%s)", +} + +primary_classes = ["xmlNode", "xmlDoc"] + +classes_ancestor = { + "xmlNode" : "xmlCore", + "xmlDtd" : "xmlNode", + "xmlDoc" : "xmlNode", + "xmlAttr" : "xmlNode", + "xmlNs" : "xmlNode", + "xmlEntity" : "xmlNode", + "xmlElement" : "xmlNode", + "xmlAttribute" : "xmlNode", + "outputBuffer": "ioWriteWrapper", + "inputBuffer": "ioReadWrapper", + "parserCtxt": "parserCtxtCore", + "xmlTextReader": "xmlTextReaderCore", + "ValidCtxt": "ValidCtxtCore", + "SchemaValidCtxt": "SchemaValidCtxtCore", + "relaxNgValidCtxt": "relaxNgValidCtxtCore", +} +classes_destructors = { + "parserCtxt": "xmlFreeParserCtxt", + "catalog": "xmlFreeCatalog", + "URI": "xmlFreeURI", +# "outputBuffer": "xmlOutputBufferClose", + "inputBuffer": "xmlFreeParserInputBuffer", + "xmlReg": "xmlRegFreeRegexp", + "xmlTextReader": "xmlFreeTextReader", + "relaxNgSchema": "xmlRelaxNGFree", + "relaxNgParserCtxt": "xmlRelaxNGFreeParserCtxt", + "relaxNgValidCtxt": "xmlRelaxNGFreeValidCtxt", + "Schema": "xmlSchemaFree", + "SchemaParserCtxt": "xmlSchemaFreeParserCtxt", + "SchemaValidCtxt": "xmlSchemaFreeValidCtxt", + "ValidCtxt": "xmlFreeValidCtxt", +} + +functions_noexcept = { + "xmlHasProp": 1, + "xmlHasNsProp": 1, + "xmlDocSetRootElement": 1, + "xmlNodeGetNs": 1, + "xmlNodeGetNsDefs": 1, + "xmlNextElementSibling": 1, + "xmlPreviousElementSibling": 1, + "xmlFirstElementChild": 1, + "xmlLastElementChild": 1, +} + +reference_keepers = { + "xmlTextReader": [('inputBuffer', 'input')], + "relaxNgValidCtxt": [('relaxNgSchema', 'schema')], + "SchemaValidCtxt": [('Schema', 'schema')], +} + +function_classes = {} + +function_classes["None"] = [] + +def nameFixup(name, classe, type, file): + listname = classe + "List" + ll = len(listname) + l = len(classe) + if name[0:l] == listname: + func = name[l:] + func = func[0:1].lower() + func[1:] + elif name[0:12] == "xmlParserGet" and file == "python_accessor": + func = name[12:] + func = func[0:1].lower() + func[1:] + elif name[0:12] == "xmlParserSet" and file == "python_accessor": + func = name[12:] + func = func[0:1].lower() + func[1:] + elif name[0:10] == "xmlNodeGet" and file == "python_accessor": + func = name[10:] + func = func[0:1].lower() + func[1:] + elif name[0:9] == "xmlURIGet" and file == "python_accessor": + func = name[9:] + func = func[0:1].lower() + func[1:] + elif name[0:9] == "xmlURISet" and file == "python_accessor": + func = name[6:] + func = func[0:1].lower() + func[1:] + elif name[0:11] == "xmlErrorGet" and file == "python_accessor": + func = name[11:] + func = func[0:1].lower() + func[1:] + elif name[0:17] == "xmlXPathParserGet" and file == "python_accessor": + func = name[17:] + func = func[0:1].lower() + func[1:] + elif name[0:11] == "xmlXPathGet" and file == "python_accessor": + func = name[11:] + func = func[0:1].lower() + func[1:] + elif name[0:11] == "xmlXPathSet" and file == "python_accessor": + func = name[8:] + func = func[0:1].lower() + func[1:] + elif name[0:15] == "xmlOutputBuffer" and file != "python": + func = name[15:] + func = func[0:1].lower() + func[1:] + elif name[0:20] == "xmlParserInputBuffer" and file != "python": + func = name[20:] + func = func[0:1].lower() + func[1:] + elif name[0:9] == "xmlRegexp" and file == "xmlregexp": + func = "regexp" + name[9:] + elif name[0:6] == "xmlReg" and file == "xmlregexp": + func = "regexp" + name[6:] + elif name[0:20] == "xmlTextReaderLocator" and file == "xmlreader": + func = name[20:] + elif name[0:18] == "xmlTextReaderConst" and file == "xmlreader": + func = name[18:] + elif name[0:13] == "xmlTextReader" and file == "xmlreader": + func = name[13:] + elif name[0:12] == "xmlReaderNew" and file == "xmlreader": + func = name[9:] + elif name[0:11] == "xmlACatalog": + func = name[11:] + func = func[0:1].lower() + func[1:] + elif name[0:l] == classe: + func = name[l:] + func = func[0:1].lower() + func[1:] + elif name[0:7] == "libxml_": + func = name[7:] + func = func[0:1].lower() + func[1:] + elif name[0:6] == "xmlGet": + func = name[6:] + func = func[0:1].lower() + func[1:] + elif name[0:3] == "xml": + func = name[3:] + func = func[0:1].lower() + func[1:] + else: + func = name + if func[0:5] == "xPath": + func = "xpath" + func[5:] + elif func[0:4] == "xPtr": + func = "xpointer" + func[4:] + elif func[0:8] == "xInclude": + func = "xinclude" + func[8:] + elif func[0:2] == "iD": + func = "ID" + func[2:] + elif func[0:3] == "uRI": + func = "URI" + func[3:] + elif func[0:4] == "uTF8": + func = "UTF8" + func[4:] + elif func[0:3] == 'sAX': + func = "SAX" + func[3:] + return func + + +def functionCompare(info1, info2): + (index1, func1, name1, ret1, args1, file1) = info1 + (index2, func2, name2, ret2, args2, file2) = info2 + if file1 == file2: + if func1 < func2: + return -1 + if func1 > func2: + return 1 + if file1 == "python_accessor": + return -1 + if file2 == "python_accessor": + return 1 + if file1 < file2: + return -1 + if file1 > file2: + return 1 + return 0 + +def cmp_to_key(mycmp): + 'Convert a cmp= function into a key= function' + class K(object): + def __init__(self, obj, *args): + self.obj = obj + def __lt__(self, other): + return mycmp(self.obj, other.obj) < 0 + def __gt__(self, other): + return mycmp(self.obj, other.obj) > 0 + def __eq__(self, other): + return mycmp(self.obj, other.obj) == 0 + def __le__(self, other): + return mycmp(self.obj, other.obj) <= 0 + def __ge__(self, other): + return mycmp(self.obj, other.obj) >= 0 + def __ne__(self, other): + return mycmp(self.obj, other.obj) != 0 + return K +def writeDoc(name, args, indent, output): + if functions[name][0] is None or functions[name][0] == "": + return + val = functions[name][0] + val = val.replace("NULL", "None") + val = val.replace("\\", "\\\\") + output.write(indent) + output.write('"""') + while len(val) > 60: + if val[0] == " ": + val = val[1:] + continue + str = val[0:60] + i = str.rfind(" ") + if i < 0: + i = 60 + str = val[0:i] + val = val[i:] + output.write(str) + output.write('\n ') + output.write(indent) + output.write(val) + output.write(' """\n') + +def buildWrappers(): + global ctypes + global py_types + global py_return_types + global unknown_types + global functions + global function_classes + global classes_type + global classes_list + global converter_type + global primary_classes + global converter_type + global classes_ancestor + global converter_type + global primary_classes + global classes_ancestor + global classes_destructors + global functions_noexcept + + for type in classes_type.keys(): + function_classes[classes_type[type][2]] = [] + + # + # Build the list of C types to look for ordered to start + # with primary classes + # + ctypes = [] + classes_list = [] + ctypes_processed = {} + classes_processed = {} + for classe in primary_classes: + classes_list.append(classe) + classes_processed[classe] = () + for type in classes_type.keys(): + tinfo = classes_type[type] + if tinfo[2] == classe: + ctypes.append(type) + ctypes_processed[type] = () + for type in sorted(classes_type.keys()): + if type in ctypes_processed: + continue + tinfo = classes_type[type] + if tinfo[2] not in classes_processed: + classes_list.append(tinfo[2]) + classes_processed[tinfo[2]] = () + + ctypes.append(type) + ctypes_processed[type] = () + + for name in functions.keys(): + found = 0 + (desc, ret, args, file, cond) = functions[name] + for type in ctypes: + classe = classes_type[type][2] + + if name[0:3] == "xml" and len(args) >= 1 and args[0][1] == type: + found = 1 + func = nameFixup(name, classe, type, file) + info = (0, func, name, ret, args, file) + function_classes[classe].append(info) + elif name[0:3] == "xml" and len(args) >= 2 and args[1][1] == type \ + and file != "python_accessor": + found = 1 + func = nameFixup(name, classe, type, file) + info = (1, func, name, ret, args, file) + function_classes[classe].append(info) + elif name[0:4] == "html" and len(args) >= 1 and args[0][1] == type: + found = 1 + func = nameFixup(name, classe, type, file) + info = (0, func, name, ret, args, file) + function_classes[classe].append(info) + elif name[0:4] == "html" and len(args) >= 2 and args[1][1] == type \ + and file != "python_accessor": + found = 1 + func = nameFixup(name, classe, type, file) + info = (1, func, name, ret, args, file) + function_classes[classe].append(info) + if found == 1: + continue + if name[0:8] == "xmlXPath": + continue + if name[0:6] == "xmlStr": + continue + if name[0:10] == "xmlCharStr": + continue + func = nameFixup(name, "None", file, file) + info = (0, func, name, ret, args, file) + function_classes['None'].append(info) + + libxml_content = "" + try: + with open(os.path.join(srcPref, "libxml.py"), "r") as libxml_file: + libxml_content = libxml_file.read() + except IOError as msg: + print("Error reading libxml.py:", msg) + sys.exit(1) + + classes = open(os.path.join(dstPref, "libxml2.py"), "w") + + classes.write(libxml_content) + + if "None" in function_classes: + flist = function_classes["None"] + flist = sorted(flist, key=cmp_to_key(functionCompare)) + oldfile = "" + for info in flist: + (index, func, name, ret, args, file) = info + if file != oldfile: + classes.write("#\n# Functions from module %s\n#\n\n" % file) + oldfile = file + classes.write("def %s(" % func) + n = 0 + for arg in args: + if n != 0: + classes.write(", ") + classes.write("%s" % arg[0]) + n = n + 1 + classes.write("):\n") + writeDoc(name, args, ' ', classes) + + for arg in args: + if arg[1] in classes_type: + classes.write(" if %s is None: %s__o = None\n" % + (arg[0], arg[0])) + classes.write(" else: %s__o = %s%s\n" % + (arg[0], arg[0], classes_type[arg[1]][0])) + if arg[1] in py_types: + (f, t, n, c) = py_types[arg[1]] + if t == "File": + classes.write(" if %s is not None: %s.flush()\n" % ( + arg[0], arg[0])) + + if ret[0] != "void": + classes.write(" ret = ") + else: + classes.write(" ") + classes.write("libxml2mod.%s(" % name) + n = 0 + for arg in args: + if n != 0: + classes.write(", ") + classes.write("%s" % arg[0]) + if arg[1] in classes_type: + classes.write("__o") + n = n + 1 + classes.write(")\n") + +# This may be needed to reposition the I/O, but likely to cause more harm +# than good. Those changes in Python3 really break the model. +# for arg in args: +# if arg[1] in py_types: +# (f, t, n, c) = py_types[arg[1]] +# if t == "File": +# classes.write(" if %s is not None: %s.seek(0,0)\n"%( +# arg[0], arg[0])) + + if ret[0] != "void": + if ret[0] in classes_type: + # + # Raise an exception + # + if name in functions_noexcept: + classes.write(" if ret is None:return None\n") + elif name.find("URI") >= 0: + classes.write( + " if ret is None:raise uriError('%s() failed')\n" + % (name)) + elif name.find("XPath") >= 0: + classes.write( + " if ret is None:raise xpathError('%s() failed')\n" + % (name)) + elif name.find("Parse") >= 0: + classes.write( + " if ret is None:raise parserError('%s() failed')\n" + % (name)) + else: + classes.write( + " if ret is None:raise treeError('%s() failed')\n" + % (name)) + classes.write(" return ") + classes.write(classes_type[ret[0]][1] % ("ret")) + classes.write("\n") + else: + classes.write(" return ret\n") + classes.write("\n") + + for classname in classes_list: + if classname == "None": + pass + else: + if classname in classes_ancestor: + classes.write("class %s(%s):\n" % (classname, + classes_ancestor[classname])) + classes.write(" def __init__(self, _obj=None):\n") + if classes_ancestor[classname] == "xmlCore" or \ + classes_ancestor[classname] == "xmlNode": + classes.write(" if checkWrapper(_obj) != 0:") + classes.write(" raise TypeError") + classes.write("('%s got a wrong wrapper object type')\n" % \ + classname) + if classname in reference_keepers: + rlist = reference_keepers[classname] + for ref in rlist: + classes.write(" self.%s = None\n" % ref[1]) + classes.write(" self._o = _obj\n") + classes.write(" %s.__init__(self, _obj=_obj)\n\n" % ( + classes_ancestor[classname])) + if classes_ancestor[classname] == "xmlCore" or \ + classes_ancestor[classname] == "xmlNode": + classes.write(" def __repr__(self):\n") + format = "<%s (%%s) object at 0x%%x>" % (classname) + classes.write(" return \"%s\" %% (self.name, int(pos_id (self)))\n\n" % ( + format)) + else: + classes.write("class %s:\n" % (classname)) + classes.write(" def __init__(self, _obj=None):\n") + if classname in reference_keepers: + list = reference_keepers[classname] + for ref in list: + classes.write(" self.%s = None\n" % ref[1]) + classes.write(" if _obj != None:self._o = _obj;return\n") + classes.write(" self._o = None\n\n") + destruct=None + if classname in classes_destructors: + classes.write(" def __del__(self):\n") + classes.write(" if self._o != None:\n") + classes.write(" libxml2mod.%s(self._o)\n" % + classes_destructors[classname]) + classes.write(" self._o = None\n\n") + destruct=classes_destructors[classname] + flist = function_classes[classname] + flist = sorted(flist, key=cmp_to_key(functionCompare)) + oldfile = "" + for info in flist: + (index, func, name, ret, args, file) = info + # + # Do not provide as method the destructors for the class + # to avoid double free + # + if name == destruct: + continue + if file != oldfile: + if file == "python_accessor": + classes.write(" # accessors for %s\n" % (classname)) + else: + classes.write(" #\n") + classes.write(" # %s functions from module %s\n" % ( + classname, file)) + classes.write(" #\n\n") + oldfile = file + classes.write(" def %s(self" % func) + n = 0 + for arg in args: + if n != index: + classes.write(", %s" % arg[0]) + n = n + 1 + classes.write("):\n") + writeDoc(name, args, ' ', classes) + n = 0 + for arg in args: + if arg[1] in classes_type: + if n != index: + classes.write(" if %s is None: %s__o = None\n" % + (arg[0], arg[0])) + classes.write(" else: %s__o = %s%s\n" % + (arg[0], arg[0], classes_type[arg[1]][0])) + n = n + 1 + if ret[0] != "void": + classes.write(" ret = ") + else: + classes.write(" ") + classes.write("libxml2mod.%s(" % name) + n = 0 + for arg in args: + if n != 0: + classes.write(", ") + if n != index: + classes.write("%s" % arg[0]) + if arg[1] in classes_type: + classes.write("__o") + else: + classes.write("self") + if arg[1] in classes_type: + classes.write(classes_type[arg[1]][0]) + n = n + 1 + classes.write(")\n") + if ret[0] != "void": + if ret[0] in classes_type: + # + # Raise an exception + # + if name in functions_noexcept: + classes.write( + " if ret is None:return None\n") + elif name.find("URI") >= 0: + classes.write( + " if ret is None:raise uriError('%s() failed')\n" + % (name)) + elif name.find("XPath") >= 0: + classes.write( + " if ret is None:raise xpathError('%s() failed')\n" + % (name)) + elif name.find("Parse") >= 0: + classes.write( + " if ret is None:raise parserError('%s() failed')\n" + % (name)) + else: + classes.write( + " if ret is None:raise treeError('%s() failed')\n" + % (name)) + + # + # generate the returned class wrapper for the object + # + classes.write(" __tmp = ") + classes.write(classes_type[ret[0]][1] % ("ret")) + classes.write("\n") + + # + # Sometime one need to keep references of the source + # class in the returned class object. + # See reference_keepers for the list + # + tclass = classes_type[ret[0]][2] + if tclass in reference_keepers: + list = reference_keepers[tclass] + for pref in list: + if pref[0] == classname: + classes.write(" __tmp.%s = self\n" % + pref[1]) + # + # return the class + # + classes.write(" return __tmp\n") + elif ret[0] in converter_type: + # + # Raise an exception + # + if name in functions_noexcept: + classes.write( + " if ret is None:return None") + elif name.find("URI") >= 0: + classes.write( + " if ret is None:raise uriError('%s() failed')\n" + % (name)) + elif name.find("XPath") >= 0: + classes.write( + " if ret is None:raise xpathError('%s() failed')\n" + % (name)) + elif name.find("Parse") >= 0: + classes.write( + " if ret is None:raise parserError('%s() failed')\n" + % (name)) + else: + classes.write( + " if ret is None:raise treeError('%s() failed')\n" + % (name)) + classes.write(" return ") + classes.write(converter_type[ret[0]] % ("ret")) + classes.write("\n") + else: + classes.write(" return ret\n") + classes.write("\n") + + # + # Generate enum constants + # + for type in sorted(enums.keys()): + enum = enums[type] + classes.write("# %s\n" % type) + items = enum.items() + items = sorted(items, key=(lambda i: int(i[1]))) + for name,value in items: + classes.write("%s = %s\n" % (name,value)) + classes.write("\n") + + classes.close() + +buildStubs() +buildWrappers() diff --git a/libxml2/python/libxml.c b/libxml2/python/libxml.c new file mode 100644 index 0000000..c5e93ce --- /dev/null +++ b/libxml2/python/libxml.c @@ -0,0 +1,3669 @@ +/* + * libxml.c: this modules implements the main part of the glue of the + * libxml2 library and the Python interpreter. It provides the + * entry points where an automatically generated stub is either + * unpractical or would not match cleanly the Python model. + * + * If compiled with MERGED_MODULES, the entry point will be used to + * initialize both the libxml2 and the libxslt wrappers + * + * See Copyright for the status of this software. + * + * daniel@veillard.com + */ +#define PY_SSIZE_T_CLEAN +#include +#include +/* #include "config.h" */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "libxml_wrap.h" +#include "libxml2-py.h" + +#if PY_MAJOR_VERSION >= 3 +PyMODINIT_FUNC PyInit_libxml2mod(void); + +#define PY_IMPORT_STRING_SIZE PyUnicode_FromStringAndSize +#define PY_IMPORT_STRING PyUnicode_FromString +#else +void initlibxml2mod(void); +#define PY_IMPORT_STRING_SIZE PyString_FromStringAndSize +#define PY_IMPORT_STRING PyString_FromString +#endif + + +/** + * TODO: + * + * macro to flag unimplemented blocks + */ +#define TODO \ + xmlGenericError(xmlGenericErrorContext, \ + "Unimplemented block at %s:%d\n", \ + __FILE__, __LINE__); + +#ifdef LIBXML_XPATH_ENABLED +/* + * the following vars are used for XPath extensions, but + * are also referenced within the parser cleanup routine. + */ +static int libxml_xpathCallbacksInitialized = 0; + +typedef struct libxml_xpathCallback { + xmlXPathContextPtr ctx; + xmlChar *name; + xmlChar *ns_uri; + PyObject *function; +} libxml_xpathCallback, *libxml_xpathCallbackPtr; +typedef libxml_xpathCallback libxml_xpathCallbackArray[]; +static int libxml_xpathCallbacksAllocd = 10; +static libxml_xpathCallbackArray *libxml_xpathCallbacks = NULL; +static int libxml_xpathCallbacksNb = 0; +#endif /* LIBXML_XPATH_ENABLED */ + +/************************************************************************ + * * + * Memory debug interface * + * * + ************************************************************************/ + +#if 0 +extern void xmlMemFree(void *ptr); +extern void *xmlMemMalloc(size_t size); +extern void *xmlMemRealloc(void *ptr, size_t size); +extern char *xmlMemoryStrdup(const char *str); +#endif + +static int libxmlMemoryDebugActivated = 0; +static long libxmlMemoryAllocatedBase = 0; + +static int libxmlMemoryDebug = 0; +static xmlFreeFunc freeFunc = NULL; +static xmlMallocFunc mallocFunc = NULL; +static xmlReallocFunc reallocFunc = NULL; +static xmlStrdupFunc strdupFunc = NULL; + +static void +libxml_xmlErrorInitialize(void); /* forward declare */ + +PyObject * +libxml_xmlMemoryUsed(PyObject * self ATTRIBUTE_UNUSED, + PyObject * args ATTRIBUTE_UNUSED) +{ + long ret; + PyObject *py_retval; + + ret = xmlMemUsed(); + + py_retval = libxml_longWrap(ret); + return (py_retval); +} + +PyObject * +libxml_xmlDebugMemory(PyObject * self ATTRIBUTE_UNUSED, PyObject * args) +{ + int activate; + PyObject *py_retval; + long ret; + + if (!PyArg_ParseTuple(args, "i:xmlDebugMemory", &activate)) + return (NULL); + + if (activate != 0) { + if (libxmlMemoryDebug == 0) { + /* + * First initialize the library and grab the old memory handlers + * and switch the library to memory debugging + */ + xmlMemGet((xmlFreeFunc *) & freeFunc, + (xmlMallocFunc *) & mallocFunc, + (xmlReallocFunc *) & reallocFunc, + (xmlStrdupFunc *) & strdupFunc); + if ((freeFunc == xmlMemFree) && (mallocFunc == xmlMemMalloc) && + (reallocFunc == xmlMemRealloc) && + (strdupFunc == xmlMemoryStrdup)) { + } else { + ret = (long) xmlMemSetup(xmlMemFree, xmlMemMalloc, + xmlMemRealloc, xmlMemoryStrdup); + if (ret < 0) + goto error; + } + libxmlMemoryAllocatedBase = xmlMemUsed(); + ret = 0; + } else if (libxmlMemoryDebugActivated == 0) { + libxmlMemoryAllocatedBase = xmlMemUsed(); + ret = 0; + } else { + ret = xmlMemUsed() - libxmlMemoryAllocatedBase; + } + libxmlMemoryDebug = 1; + libxmlMemoryDebugActivated = 1; + } else { + if (libxmlMemoryDebugActivated == 1) + ret = xmlMemUsed() - libxmlMemoryAllocatedBase; + else + ret = 0; + libxmlMemoryDebugActivated = 0; + } + error: + py_retval = libxml_longWrap(ret); + return (py_retval); +} + +PyObject * +libxml_xmlPythonCleanupParser(PyObject *self ATTRIBUTE_UNUSED, + PyObject *args ATTRIBUTE_UNUSED) { + +#ifdef LIBXML_XPATH_ENABLED + int ix; + + /* + * Need to confirm whether we really want to do this (required for + * memcheck) in all cases... + */ + + if (libxml_xpathCallbacks != NULL) { /* if ext funcs declared */ + for (ix=0; ix= 0x03030000 + Py_ssize_t size; + const char *tmp; + + /* tmp doesn't need to be deallocated */ + tmp = PyUnicode_AsUTF8AndSize(ret, &size); + + lenread = (int) size; + data = (char *) tmp; +#else + b = PyUnicode_AsUTF8String(ret); + if (b == NULL) { + Py_DECREF(ret); + printf("xmlPythonFileReadRaw: failed to convert to UTF-8\n"); + return(-1); + } + lenread = PyBytes_Size(b); + data = PyBytes_AsString(b); +#endif +#endif + } else { + printf("xmlPythonFileReadRaw: result is not a String\n"); + Py_DECREF(ret); + return(-1); + } + if (lenread < 0 || lenread > len) { + printf("xmlPythonFileReadRaw: invalid lenread\n"); + Py_DECREF(ret); +#ifdef PyUnicode_Check + if (b != NULL) { + Py_DECREF(b); + } +#endif + return(-1); + } + memcpy(buffer, data, lenread); + Py_DECREF(ret); +#ifdef PyUnicode_Check + if (b != NULL) { + Py_DECREF(b); + } +#endif + return(lenread); +} + +/** + * xmlPythonFileRead: + * @context: the I/O context + * @buffer: where to drop data + * @len: number of bytes to write + * + * Read @len bytes to @buffer from the I/O channel. + * + * Returns the number of bytes read + */ +static int +xmlPythonFileRead (void * context, char * buffer, int len) { + PyObject *file; + PyObject *ret; + int lenread = -1; + char *data; +#ifdef PyUnicode_Check + PyObject *b = NULL; +#endif + + file = (PyObject *) context; + if (file == NULL) return(-1); + /* When io_read() returns a string, the length is in characters not bytes, so + request at most len / 4 characters to leave space for UTF-8 encoding. */ + ret = PyObject_CallMethod(file, "io_read", "(i)", len / 4); + if (ret == NULL) { + printf("xmlPythonFileRead: result is NULL\n"); + return(-1); + } else if (PyBytes_Check(ret)) { + lenread = PyBytes_Size(ret); + data = PyBytes_AsString(ret); +#ifdef PyUnicode_Check + } else if (PyUnicode_Check (ret)) { +#if PY_VERSION_HEX >= 0x03030000 + Py_ssize_t size; + const char *tmp; + + /* tmp doesn't need to be deallocated */ + tmp = PyUnicode_AsUTF8AndSize(ret, &size); + + lenread = (int) size; + data = (char *) tmp; +#else + b = PyUnicode_AsUTF8String(ret); + if (b == NULL) { + Py_DECREF(ret); + printf("xmlPythonFileRead: failed to convert to UTF-8\n"); + return(-1); + } + lenread = PyBytes_Size(b); + data = PyBytes_AsString(b); +#endif +#endif + } else { + printf("xmlPythonFileRead: result is not a String\n"); + Py_DECREF(ret); + return(-1); + } + if (lenread < 0 || lenread > len) { + printf("xmlPythonFileRead: invalid lenread\n"); + Py_DECREF(ret); +#ifdef PyUnicode_Check + if (b != NULL) { + Py_DECREF(b); + } +#endif + return(-1); + } + memcpy(buffer, data, lenread); + Py_DECREF(ret); +#ifdef PyUnicode_Check + if (b != NULL) { + Py_DECREF(b); + } +#endif + return(lenread); +} + +#ifdef LIBXML_OUTPUT_ENABLED +/** + * xmlFileWrite: + * @context: the I/O context + * @buffer: where to drop data + * @len: number of bytes to write + * + * Write @len bytes from @buffer to the I/O channel. + * + * Returns the number of bytes written + */ +static int +xmlPythonFileWrite (void * context, const char * buffer, int len) { + PyObject *file; + PyObject *string; + PyObject *ret = NULL; + int written = -1; + + file = (PyObject *) context; + if (file == NULL) return(-1); + string = PY_IMPORT_STRING_SIZE(buffer, len); + if (string == NULL) return(-1); + if (PyObject_HasAttrString(file, "io_write")) { + ret = PyObject_CallMethod(file, "io_write", "(O)", + string); + } else if (PyObject_HasAttrString(file, "write")) { + ret = PyObject_CallMethod(file, "write", "(O)", + string); + } + Py_DECREF(string); + if (ret == NULL) { + printf("xmlPythonFileWrite: result is NULL\n"); + return(-1); + } else if (PyLong_Check(ret)) { + written = (int) PyLong_AsLong(ret); + Py_DECREF(ret); + } else if (ret == Py_None) { + written = len; + Py_DECREF(ret); + } else { + printf("xmlPythonFileWrite: result is not an Int nor None\n"); + Py_DECREF(ret); + } + return(written); +} +#endif /* LIBXML_OUTPUT_ENABLED */ + +/** + * xmlPythonFileClose: + * @context: the I/O context + * + * Close an I/O channel + */ +static int +xmlPythonFileClose (void * context) { + PyObject *file, *ret = NULL; + + file = (PyObject *) context; + if (file == NULL) return(-1); + if (PyObject_HasAttrString(file, "io_close")) { + ret = PyObject_CallMethod(file, "io_close", "()"); + } else if (PyObject_HasAttrString(file, "flush")) { + ret = PyObject_CallMethod(file, "flush", "()"); + } + if (ret != NULL) { + Py_DECREF(ret); + } + return(0); +} + +#ifdef LIBXML_OUTPUT_ENABLED +/** + * xmlOutputBufferCreatePythonFile: + * @file: a PyFile_Type + * @encoder: the encoding converter or NULL + * + * Create a buffered output for the progressive saving to a PyFile_Type + * buffered C I/O + * + * Returns the new parser output or NULL + */ +static xmlOutputBufferPtr +xmlOutputBufferCreatePythonFile(PyObject *file, + xmlCharEncodingHandlerPtr encoder) { + xmlOutputBufferPtr ret; + + if (file == NULL) return(NULL); + + ret = xmlOutputBufferCreateIO(xmlPythonFileWrite, xmlPythonFileClose, + file, encoder); + + return(ret); +} + +PyObject * +libxml_xmlCreateOutputBuffer(ATTRIBUTE_UNUSED PyObject *self, PyObject *args) { + PyObject *py_retval; + PyObject *file; + xmlChar *encoding; + xmlCharEncodingHandlerPtr handler = NULL; + xmlOutputBufferPtr buffer; + + + if (!PyArg_ParseTuple(args, "Oz:xmlOutputBufferCreate", + &file, &encoding)) + return(NULL); + if ((encoding != NULL) && (encoding[0] != 0)) { + handler = xmlFindCharEncodingHandler((const char *) encoding); + } + buffer = xmlOutputBufferCreatePythonFile(file, handler); + if (buffer == NULL) + printf("libxml_xmlCreateOutputBuffer: buffer == NULL\n"); + py_retval = libxml_xmlOutputBufferPtrWrap(buffer); + return(py_retval); +} + +/** + * libxml_outputBufferGetPythonFile: + * @buffer: the I/O buffer + * + * read the Python I/O from the CObject + * + * Returns the new parser output or NULL + */ +static PyObject * +libxml_outputBufferGetPythonFile(ATTRIBUTE_UNUSED PyObject *self, + PyObject *args) { + PyObject *buffer; + PyObject *file; + xmlOutputBufferPtr obj; + + if (!PyArg_ParseTuple(args, "O:outputBufferGetPythonFile", + &buffer)) + return(NULL); + + obj = PyoutputBuffer_Get(buffer); + if (obj == NULL) { + fprintf(stderr, + "outputBufferGetPythonFile: obj == NULL\n"); + Py_INCREF(Py_None); + return(Py_None); + } +XML_IGNORE_DEPRECATION_WARNINGS + if (obj->closecallback != xmlPythonFileClose) { + fprintf(stderr, + "outputBufferGetPythonFile: not a python file wrapper\n"); + Py_INCREF(Py_None); + return(Py_None); + } + file = (PyObject *) obj->context; + if (file == NULL) { + Py_INCREF(Py_None); + return(Py_None); + } +XML_POP_WARNINGS + Py_INCREF(file); + return(file); +} + +static PyObject * +libxml_xmlOutputBufferClose(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) { + PyObject *py_retval; + int c_retval; + xmlOutputBufferPtr out; + PyObject *pyobj_out; + + if (!PyArg_ParseTuple(args, "O:xmlOutputBufferClose", &pyobj_out)) + return(NULL); + out = (xmlOutputBufferPtr) PyoutputBuffer_Get(pyobj_out); + /* Buffer may already have been destroyed elsewhere. This is harmless. */ + if (out == NULL) { + Py_INCREF(Py_None); + return(Py_None); + } + + c_retval = xmlOutputBufferClose(out); + py_retval = libxml_intWrap((int) c_retval); + return(py_retval); +} + +static PyObject * +libxml_xmlOutputBufferFlush(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) { + PyObject *py_retval; + int c_retval; + xmlOutputBufferPtr out; + PyObject *pyobj_out; + + if (!PyArg_ParseTuple(args, "O:xmlOutputBufferFlush", &pyobj_out)) + return(NULL); + out = (xmlOutputBufferPtr) PyoutputBuffer_Get(pyobj_out); + + c_retval = xmlOutputBufferFlush(out); + py_retval = libxml_intWrap((int) c_retval); + return(py_retval); +} + +static PyObject * +libxml_xmlSaveFileTo(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) { + PyObject *py_retval; + int c_retval; + xmlOutputBufferPtr buf; + PyObject *pyobj_buf; + xmlDocPtr cur; + PyObject *pyobj_cur; + char * encoding; + + if (!PyArg_ParseTuple(args, "OOz:xmlSaveFileTo", &pyobj_buf, &pyobj_cur, &encoding)) + return(NULL); + buf = (xmlOutputBufferPtr) PyoutputBuffer_Get(pyobj_buf); + cur = (xmlDocPtr) PyxmlNode_Get(pyobj_cur); + + c_retval = xmlSaveFileTo(buf, cur, encoding); + /* xmlSaveTo() freed the memory pointed to by buf, so record that in the + * Python object. */ + ((PyoutputBuffer_Object *)(pyobj_buf))->obj = NULL; + py_retval = libxml_intWrap((int) c_retval); + return(py_retval); +} + +static PyObject * +libxml_xmlSaveFormatFileTo(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) { + PyObject *py_retval; + int c_retval; + xmlOutputBufferPtr buf; + PyObject *pyobj_buf; + xmlDocPtr cur; + PyObject *pyobj_cur; + char * encoding; + int format; + + if (!PyArg_ParseTuple(args, "OOzi:xmlSaveFormatFileTo", &pyobj_buf, &pyobj_cur, &encoding, &format)) + return(NULL); + buf = (xmlOutputBufferPtr) PyoutputBuffer_Get(pyobj_buf); + cur = (xmlDocPtr) PyxmlNode_Get(pyobj_cur); + + c_retval = xmlSaveFormatFileTo(buf, cur, encoding, format); + /* xmlSaveFormatFileTo() freed the memory pointed to by buf, so record that + * in the Python object */ + ((PyoutputBuffer_Object *)(pyobj_buf))->obj = NULL; + py_retval = libxml_intWrap((int) c_retval); + return(py_retval); +} +#endif /* LIBXML_OUTPUT_ENABLED */ + + +/** + * xmlParserInputBufferCreatePythonFile: + * @file: a PyFile_Type + * @encoder: the encoding converter or NULL + * + * Create a buffered output for the progressive saving to a PyFile_Type + * buffered C I/O + * + * Returns the new parser output or NULL + */ +static xmlParserInputBufferPtr +xmlParserInputBufferCreatePythonFile(PyObject *file, + xmlCharEncoding encoding) { + xmlParserInputBufferPtr ret; + + if (file == NULL) return(NULL); + + ret = xmlParserInputBufferCreateIO(xmlPythonFileRead, xmlPythonFileClose, + file, encoding); + + return(ret); +} + +PyObject * +libxml_xmlCreateInputBuffer(ATTRIBUTE_UNUSED PyObject *self, PyObject *args) { + PyObject *py_retval; + PyObject *file; + xmlChar *encoding; + xmlCharEncoding enc = XML_CHAR_ENCODING_NONE; + xmlParserInputBufferPtr buffer; + + + if (!PyArg_ParseTuple(args, "Oz:xmlParserInputBufferCreate", + &file, &encoding)) + return(NULL); + if ((encoding != NULL) && (encoding[0] != 0)) { + enc = xmlParseCharEncoding((const char *) encoding); + } + buffer = xmlParserInputBufferCreatePythonFile(file, enc); + if (buffer == NULL) + printf("libxml_xmlParserInputBufferCreate: buffer == NULL\n"); + py_retval = libxml_xmlParserInputBufferPtrWrap(buffer); + return(py_retval); +} + +/************************************************************************ + * * + * Providing the resolver at the Python level * + * * + ************************************************************************/ + +static xmlExternalEntityLoader defaultExternalEntityLoader = NULL; +static PyObject *pythonExternalEntityLoaderObjext; + +static xmlParserInputPtr +pythonExternalEntityLoader(const char *URL, const char *ID, + xmlParserCtxtPtr ctxt) { + xmlParserInputPtr result = NULL; + if (pythonExternalEntityLoaderObjext != NULL) { + PyObject *ret; + PyObject *ctxtobj; + + ctxtobj = libxml_xmlParserCtxtPtrWrap(ctxt); + + ret = PyObject_CallFunction(pythonExternalEntityLoaderObjext, + "(ssO)", URL, ID, ctxtobj); + Py_XDECREF(ctxtobj); + + if (ret != NULL) { + if (PyObject_HasAttrString(ret, "read")) { + xmlParserInputBufferPtr buf; + + buf = xmlParserInputBufferCreateIO(xmlPythonFileReadRaw, + xmlPythonFileCloseRaw, + ret, XML_CHAR_ENCODING_NONE); + if (buf != NULL) { + result = xmlNewIOInputStream(ctxt, buf, + XML_CHAR_ENCODING_NONE); + } +#if 0 + } else { + if (URL != NULL) + printf("pythonExternalEntityLoader: can't read %s\n", + URL); +#endif + } + if (result == NULL) { + Py_DECREF(ret); + } else if (URL != NULL) { + result->filename = (char *) xmlStrdup((const xmlChar *)URL); + } + } + } + if ((result == NULL) && (defaultExternalEntityLoader != NULL)) { + result = defaultExternalEntityLoader(URL, ID, ctxt); + } + return(result); +} + +PyObject * +libxml_xmlSetEntityLoader(ATTRIBUTE_UNUSED PyObject *self, PyObject *args) { + PyObject *py_retval; + PyObject *loader; + + if (!PyArg_ParseTuple(args, "O:libxml_xmlSetEntityLoader", + &loader)) + return(NULL); + + if (!PyCallable_Check(loader)) { + PyErr_SetString(PyExc_ValueError, "entity loader is not callable"); + return(NULL); + } + + if (defaultExternalEntityLoader == NULL) + defaultExternalEntityLoader = xmlGetExternalEntityLoader(); + + Py_XDECREF(pythonExternalEntityLoaderObjext); + pythonExternalEntityLoaderObjext = loader; + Py_XINCREF(pythonExternalEntityLoaderObjext); + xmlSetExternalEntityLoader(pythonExternalEntityLoader); + + py_retval = PyLong_FromLong(0); + return(py_retval); +} + +/************************************************************************ + * * + * Input callback registration * + * * + ************************************************************************/ +static PyObject *pythonInputOpenCallbackObject; +static int pythonInputCallbackID = -1; + +static int +pythonInputMatchCallback(ATTRIBUTE_UNUSED const char *URI) +{ + /* Always return success, real decision whether URI is supported will be + * made in open callback. */ + return 1; +} + +static void * +pythonInputOpenCallback(const char *URI) +{ + PyObject *ret; + + ret = PyObject_CallFunction(pythonInputOpenCallbackObject, + "s", URI); + if (ret == Py_None) { + Py_DECREF(Py_None); + return NULL; + } + return ret; +} + +PyObject * +libxml_xmlRegisterInputCallback(ATTRIBUTE_UNUSED PyObject *self, + PyObject *args) { + PyObject *cb; + + if (!PyArg_ParseTuple(args, + (const char *)"O:libxml_xmlRegisterInputCallback", &cb)) + return(NULL); + + if (!PyCallable_Check(cb)) { + PyErr_SetString(PyExc_ValueError, "input callback is not callable"); + return(NULL); + } + + /* Python module registers a single callback and manages the list of + * all callbacks internally. This is necessitated by xmlInputMatchCallback + * API, which does not allow for passing of data objects to discriminate + * different Python methods. */ + if (pythonInputCallbackID == -1) { + pythonInputCallbackID = xmlRegisterInputCallbacks( + pythonInputMatchCallback, pythonInputOpenCallback, + xmlPythonFileReadRaw, xmlPythonFileCloseRaw); + if (pythonInputCallbackID == -1) + return PyErr_NoMemory(); + pythonInputOpenCallbackObject = cb; + Py_INCREF(pythonInputOpenCallbackObject); + } + + Py_INCREF(Py_None); + return(Py_None); +} + +PyObject * +libxml_xmlUnregisterInputCallback(ATTRIBUTE_UNUSED PyObject *self, + ATTRIBUTE_UNUSED PyObject *args) { + int ret; + + ret = xmlPopInputCallbacks(); + if (pythonInputCallbackID != -1) { + /* Assert that the right input callback was popped. libxml's API does not + * allow removal by ID, so all that could be done is an assert. */ + if (pythonInputCallbackID == ret) { + pythonInputCallbackID = -1; + Py_DECREF(pythonInputOpenCallbackObject); + pythonInputOpenCallbackObject = NULL; + } else { + PyErr_SetString(PyExc_AssertionError, "popped non-python input callback"); + return(NULL); + } + } else if (ret == -1) { + /* No more callbacks to pop */ + PyErr_SetString(PyExc_IndexError, "no input callbacks to pop"); + return(NULL); + } + + Py_INCREF(Py_None); + return(Py_None); +} + +/************************************************************************ + * * + * Handling SAX/xmllib/sgmlop callback interfaces * + * * + ************************************************************************/ + +static void +pythonStartElement(void *user_data, const xmlChar * name, + const xmlChar ** attrs) +{ + int i; + PyObject *handler; + PyObject *dict; + PyObject *attrname; + PyObject *attrvalue; + PyObject *result = NULL; + int type = 0; + + handler = (PyObject *) user_data; + if (PyObject_HasAttrString(handler, "startElement")) + type = 1; + else if (PyObject_HasAttrString(handler, "start")) + type = 2; + if (type != 0) { + /* + * the xmllib interface always generates a dictionary, + * possibly empty + */ + if ((attrs == NULL) && (type == 1)) { + Py_XINCREF(Py_None); + dict = Py_None; + } else if (attrs == NULL) { + dict = PyDict_New(); + } else { + dict = PyDict_New(); + for (i = 0; attrs[i] != NULL; i++) { + attrname = PY_IMPORT_STRING((char *) attrs[i]); + i++; + if (attrs[i] != NULL) { + attrvalue = PY_IMPORT_STRING((char *) attrs[i]); + } else { + Py_XINCREF(Py_None); + attrvalue = Py_None; + } + PyDict_SetItem(dict, attrname, attrvalue); + Py_DECREF(attrname); + Py_DECREF(attrvalue); + } + } + + if (type == 1) + result = PyObject_CallMethod(handler, "startElement", + "sO", name, dict); + else if (type == 2) + result = PyObject_CallMethod(handler, "start", + "sO", name, dict); + if (PyErr_Occurred()) + PyErr_Print(); + Py_XDECREF(dict); + Py_XDECREF(result); + } +} + +static void +pythonStartDocument(void *user_data) +{ + PyObject *handler; + PyObject *result; + + handler = (PyObject *) user_data; + if (PyObject_HasAttrString(handler, "startDocument")) { + result = PyObject_CallMethod(handler, "startDocument", NULL); + if (PyErr_Occurred()) + PyErr_Print(); + Py_XDECREF(result); + } +} + +static void +pythonEndDocument(void *user_data) +{ + PyObject *handler; + PyObject *result; + + handler = (PyObject *) user_data; + if (PyObject_HasAttrString(handler, "endDocument")) { + result = PyObject_CallMethod(handler, "endDocument", NULL); + if (PyErr_Occurred()) + PyErr_Print(); + Py_XDECREF(result); + } + /* + * The reference to the handler is released there + */ + Py_XDECREF(handler); +} + +static void +pythonEndElement(void *user_data, const xmlChar * name) +{ + PyObject *handler; + PyObject *result; + + handler = (PyObject *) user_data; + if (PyObject_HasAttrString(handler, "endElement")) { + result = PyObject_CallMethod(handler, "endElement", + "s", name); + if (PyErr_Occurred()) + PyErr_Print(); + Py_XDECREF(result); + } else if (PyObject_HasAttrString(handler, "end")) { + result = PyObject_CallMethod(handler, "end", + "s", name); + if (PyErr_Occurred()) + PyErr_Print(); + Py_XDECREF(result); + } +} + +static void +pythonReference(void *user_data, const xmlChar * name) +{ + PyObject *handler; + PyObject *result; + + handler = (PyObject *) user_data; + if (PyObject_HasAttrString(handler, "reference")) { + result = PyObject_CallMethod(handler, "reference", + "s", name); + if (PyErr_Occurred()) + PyErr_Print(); + Py_XDECREF(result); + } +} + +static void +pythonCharacters(void *user_data, const xmlChar * ch, int len) +{ + PyObject *handler; + PyObject *result = NULL; + int type = 0; + + handler = (PyObject *) user_data; + if (PyObject_HasAttrString(handler, "characters")) + type = 1; + else if (PyObject_HasAttrString(handler, "data")) + type = 2; + if (type != 0) { + if (type == 1) + result = PyObject_CallMethod(handler, "characters", + "s#", ch, len); + else if (type == 2) + result = PyObject_CallMethod(handler, "data", + "s#", ch, len); + if (PyErr_Occurred()) + PyErr_Print(); + Py_XDECREF(result); + } +} + +static void +pythonIgnorableWhitespace(void *user_data, const xmlChar * ch, int len) +{ + PyObject *handler; + PyObject *result = NULL; + int type = 0; + + handler = (PyObject *) user_data; + if (PyObject_HasAttrString(handler, "ignorableWhitespace")) + type = 1; + else if (PyObject_HasAttrString(handler, "data")) + type = 2; + if (type != 0) { + if (type == 1) + result = PyObject_CallMethod(handler, "ignorableWhitespace", + "s#", ch, len); + else if (type == 2) + result = PyObject_CallMethod(handler, "data", + "s#", ch, len); + Py_XDECREF(result); + } +} + +static void +pythonProcessingInstruction(void *user_data, + const xmlChar * target, const xmlChar * data) +{ + PyObject *handler; + PyObject *result; + + handler = (PyObject *) user_data; + if (PyObject_HasAttrString(handler, "processingInstruction")) { + result = PyObject_CallMethod(handler, "processingInstruction", + "ss", target, data); + Py_XDECREF(result); + } +} + +static void +pythonComment(void *user_data, const xmlChar * value) +{ + PyObject *handler; + PyObject *result; + + handler = (PyObject *) user_data; + if (PyObject_HasAttrString(handler, "comment")) { + result = PyObject_CallMethod(handler, "comment", "s", value); + if (PyErr_Occurred()) + PyErr_Print(); + Py_XDECREF(result); + } +} + +static void +pythonWarning(void *user_data, const char *msg, ...) +{ + PyObject *handler; + PyObject *result; + va_list ap; + char buf[1024]; + + handler = (PyObject *) user_data; + if (PyObject_HasAttrString(handler, "warning")) { + va_start(ap, msg); + vsnprintf(buf, sizeof(buf), msg, ap); + va_end(ap); + result = PyObject_CallMethod(handler, "warning", "s", buf); + if (PyErr_Occurred()) + PyErr_Print(); + Py_XDECREF(result); + } +} + +static void +pythonError(void *user_data, const char *msg, ...) +{ + PyObject *handler; + PyObject *result; + va_list ap; + char buf[1024]; + + handler = (PyObject *) user_data; + if (PyObject_HasAttrString(handler, "error")) { + va_start(ap, msg); + vsnprintf(buf, sizeof(buf), msg, ap); + va_end(ap); + result = PyObject_CallMethod(handler, "error", "s", buf); + if (PyErr_Occurred()) + PyErr_Print(); + Py_XDECREF(result); + } +} + +static void +pythonFatalError(void *user_data, const char *msg, ...) +{ + PyObject *handler; + PyObject *result; + va_list ap; + char buf[1024]; + + handler = (PyObject *) user_data; + if (PyObject_HasAttrString(handler, "fatalError")) { + va_start(ap, msg); + vsnprintf(buf, sizeof(buf), msg, ap); + va_end(ap); + result = PyObject_CallMethod(handler, "fatalError", "s", buf); + if (PyErr_Occurred()) + PyErr_Print(); + Py_XDECREF(result); + } +} + +static void +pythonCdataBlock(void *user_data, const xmlChar * ch, int len) +{ + PyObject *handler; + PyObject *result = NULL; + int type = 0; + + handler = (PyObject *) user_data; + if (PyObject_HasAttrString(handler, "cdataBlock")) + type = 1; + else if (PyObject_HasAttrString(handler, "cdata")) + type = 2; + if (type != 0) { + if (type == 1) + result = PyObject_CallMethod(handler, "cdataBlock", "s#", ch, len); + else if (type == 2) + result = PyObject_CallMethod(handler, "cdata", "s#", ch, len); + if (PyErr_Occurred()) + PyErr_Print(); + Py_XDECREF(result); + } +} + +static void +pythonExternalSubset(void *user_data, + const xmlChar * name, + const xmlChar * externalID, const xmlChar * systemID) +{ + PyObject *handler; + PyObject *result; + + handler = (PyObject *) user_data; + if (PyObject_HasAttrString(handler, "externalSubset")) { + result = PyObject_CallMethod(handler, "externalSubset", "sss", + name, externalID, systemID); + Py_XDECREF(result); + } +} + +static void +pythonEntityDecl(void *user_data, + const xmlChar * name, + int type, + const xmlChar * publicId, + const xmlChar * systemId, xmlChar * content) +{ + PyObject *handler; + PyObject *result; + + handler = (PyObject *) user_data; + if (PyObject_HasAttrString(handler, "entityDecl")) { + result = PyObject_CallMethod(handler, "entityDecl", + "sisss", name, type, + publicId, systemId, content); + if (PyErr_Occurred()) + PyErr_Print(); + Py_XDECREF(result); + } +} + + + +static void + +pythonNotationDecl(void *user_data, + const xmlChar * name, + const xmlChar * publicId, const xmlChar * systemId) +{ + PyObject *handler; + PyObject *result; + + handler = (PyObject *) user_data; + if (PyObject_HasAttrString(handler, "notationDecl")) { + result = PyObject_CallMethod(handler, "notationDecl", + "sss", name, publicId, + systemId); + if (PyErr_Occurred()) + PyErr_Print(); + Py_XDECREF(result); + } +} + +static void +pythonAttributeDecl(void *user_data, + const xmlChar * elem, + const xmlChar * name, + int type, + int def, + const xmlChar * defaultValue, xmlEnumerationPtr tree) +{ + PyObject *handler; + PyObject *nameList; + PyObject *newName; + xmlEnumerationPtr node; + PyObject *result; + int count; + +XML_IGNORE_DEPRECATION_WARNINGS + handler = (PyObject *) user_data; + if (PyObject_HasAttrString(handler, "attributeDecl")) { + count = 0; + for (node = tree; node != NULL; node = node->next) { + count++; + } + nameList = PyList_New(count); + count = 0; + for (node = tree; node != NULL; node = node->next) { + newName = PY_IMPORT_STRING((char *) node->name); + PyList_SetItem(nameList, count, newName); + count++; + } + result = PyObject_CallMethod(handler, "attributeDecl", + "ssiisO", elem, name, type, + def, defaultValue, nameList); + if (PyErr_Occurred()) + PyErr_Print(); + Py_XDECREF(nameList); + Py_XDECREF(result); + } +XML_POP_WARNINGS +} + +static void +pythonElementDecl(void *user_data, + const xmlChar * name, + int type, ATTRIBUTE_UNUSED xmlElementContentPtr content) +{ + PyObject *handler; + PyObject *obj; + PyObject *result; + + handler = (PyObject *) user_data; + if (PyObject_HasAttrString(handler, "elementDecl")) { + /* TODO: wrap in an elementContent object */ + printf + ("pythonElementDecl: xmlElementContentPtr wrapper missing !\n"); + obj = Py_None; + /* Py_XINCREF(Py_None); isn't the reference just borrowed ??? */ + result = PyObject_CallMethod(handler, "elementDecl", + "siO", name, type, obj); + if (PyErr_Occurred()) + PyErr_Print(); + Py_XDECREF(result); + } +} + +static void +pythonUnparsedEntityDecl(void *user_data, + const xmlChar * name, + const xmlChar * publicId, + const xmlChar * systemId, + const xmlChar * notationName) +{ + PyObject *handler; + PyObject *result; + + handler = (PyObject *) user_data; + if (PyObject_HasAttrString(handler, "unparsedEntityDecl")) { + result = PyObject_CallMethod(handler, "unparsedEntityDecl", "ssss", + name, publicId, systemId, notationName); + if (PyErr_Occurred()) + PyErr_Print(); + Py_XDECREF(result); + } +} + +static void +pythonInternalSubset(void *user_data, const xmlChar * name, + const xmlChar * ExternalID, const xmlChar * SystemID) +{ + PyObject *handler; + PyObject *result; + + handler = (PyObject *) user_data; + if (PyObject_HasAttrString(handler, "internalSubset")) { + result = PyObject_CallMethod(handler, "internalSubset", "sss", name, + ExternalID, SystemID); + if (PyErr_Occurred()) + PyErr_Print(); + Py_XDECREF(result); + } +} + +static xmlSAXHandler pythonSaxHandler = { + pythonInternalSubset, + NULL, /* TODO pythonIsStandalone, */ + NULL, /* TODO pythonHasInternalSubset, */ + NULL, /* TODO pythonHasExternalSubset, */ + NULL, /* TODO pythonResolveEntity, */ + NULL, /* TODO pythonGetEntity, */ + pythonEntityDecl, + pythonNotationDecl, + pythonAttributeDecl, + pythonElementDecl, + pythonUnparsedEntityDecl, + NULL, /* OBSOLETED pythonSetDocumentLocator, */ + pythonStartDocument, + pythonEndDocument, + pythonStartElement, + pythonEndElement, + pythonReference, + pythonCharacters, + pythonIgnorableWhitespace, + pythonProcessingInstruction, + pythonComment, + pythonWarning, + pythonError, + pythonFatalError, + NULL, /* TODO pythonGetParameterEntity, */ + pythonCdataBlock, + pythonExternalSubset, + 1, + NULL, /* TODO migrate to SAX2 */ + NULL, + NULL, + NULL +}; + +/************************************************************************ + * * + * Handling of specific parser context * + * * + ************************************************************************/ + +#ifdef LIBXML_PUSH_ENABLED +PyObject * +libxml_xmlCreatePushParser(ATTRIBUTE_UNUSED PyObject * self, + PyObject * args) +{ + const char *chunk; + int size; + const char *URI; + PyObject *pyobj_SAX = NULL; + xmlSAXHandlerPtr SAX = NULL; + xmlParserCtxtPtr ret; + PyObject *pyret; + + if (!PyArg_ParseTuple + (args, "Oziz:xmlCreatePushParser", &pyobj_SAX, &chunk, + &size, &URI)) + return (NULL); + + if (pyobj_SAX != Py_None) { + SAX = &pythonSaxHandler; + Py_INCREF(pyobj_SAX); + /* The reference is released in pythonEndDocument() */ + } + ret = xmlCreatePushParserCtxt(SAX, pyobj_SAX, chunk, size, URI); + pyret = libxml_xmlParserCtxtPtrWrap(ret); + return (pyret); +} + +#ifdef LIBXML_HTML_ENABLED +PyObject * +libxml_htmlCreatePushParser(ATTRIBUTE_UNUSED PyObject * self, + PyObject * args) +{ + const char *chunk; + int size; + const char *URI; + PyObject *pyobj_SAX = NULL; + xmlSAXHandlerPtr SAX = NULL; + xmlParserCtxtPtr ret; + PyObject *pyret; + + if (!PyArg_ParseTuple + (args, "Oziz:htmlCreatePushParser", &pyobj_SAX, &chunk, + &size, &URI)) + return (NULL); + + if (pyobj_SAX != Py_None) { + SAX = &pythonSaxHandler; + Py_INCREF(pyobj_SAX); + /* The reference is released in pythonEndDocument() */ + } + ret = htmlCreatePushParserCtxt(SAX, pyobj_SAX, chunk, size, URI, + XML_CHAR_ENCODING_NONE); + pyret = libxml_xmlParserCtxtPtrWrap(ret); + return (pyret); +} +#endif /* LIBXML_HTML_ENABLED */ +#endif /* LIBXML_PUSH_ENABLED */ + +#ifdef LIBXML_SAX1_ENABLED +PyObject * +libxml_xmlSAXParseFile(ATTRIBUTE_UNUSED PyObject * self, PyObject * args) +{ + int recover; + const char *URI; + PyObject *pyobj_SAX = NULL; + xmlSAXHandlerPtr SAX = NULL; + xmlParserCtxtPtr ctxt; + + if (!PyArg_ParseTuple(args, "Osi:xmlSAXParseFile", &pyobj_SAX, + &URI, &recover)) + return (NULL); + + if (pyobj_SAX == Py_None) { + Py_INCREF(Py_None); + return (Py_None); + } + SAX = &pythonSaxHandler; + Py_INCREF(pyobj_SAX); + /* The reference is released in pythonEndDocument() */ + ctxt = xmlNewSAXParserCtxt(SAX, pyobj_SAX); + xmlCtxtReadFile(ctxt, URI, NULL, 0); + xmlFreeParserCtxt(ctxt); + Py_INCREF(Py_None); + return (Py_None); +} +#endif /* LIBXML_SAX1_ENABLED */ + +#ifdef LIBXML_HTML_ENABLED +PyObject * +libxml_htmlSAXParseFile(ATTRIBUTE_UNUSED PyObject * self, PyObject * args) +{ + const char *URI; + const char *encoding; + PyObject *pyobj_SAX = NULL; + xmlSAXHandlerPtr SAX = NULL; + htmlParserCtxtPtr ctxt; + + if (!PyArg_ParseTuple + (args, "Osz:htmlSAXParseFile", &pyobj_SAX, &URI, + &encoding)) + return (NULL); + + if (pyobj_SAX == Py_None) { + Py_INCREF(Py_None); + return (Py_None); + } + SAX = &pythonSaxHandler; + Py_INCREF(pyobj_SAX); + /* The reference is released in pythonEndDocument() */ + ctxt = htmlNewSAXParserCtxt(SAX, pyobj_SAX); + htmlCtxtReadFile(ctxt, URI, encoding, 0); + htmlFreeParserCtxt(ctxt); + Py_INCREF(Py_None); + return (Py_None); +} +#endif /* LIBXML_HTML_ENABLED */ + +/************************************************************************ + * * + * Error message callback * + * * + ************************************************************************/ + +static PyObject *libxml_xmlPythonErrorFuncHandler = NULL; +static PyObject *libxml_xmlPythonErrorFuncCtxt = NULL; + +/* helper to build a xmlMalloc'ed string from a format and va_list */ +/* + * disabled the loop, the repeated call to vsnprintf without reset of ap + * in case the initial buffer was too small segfaulted on x86_64 + * we now directly vsnprintf on a large buffer. + */ +static char * +libxml_buildMessage(const char *msg, va_list ap) +{ + size_t len = 1024; + char *str; + + str = xmlMalloc(len); + if (str == NULL) + return NULL; + + vsnprintf(str, len, msg, ap); + + return str; +} + +static void +libxml_xmlErrorFuncHandler(ATTRIBUTE_UNUSED void *ctx, const char *msg, + ...) +{ + va_list ap; + PyObject *list; + PyObject *message; + PyObject *result; + char str[1024]; + + if (libxml_xmlPythonErrorFuncHandler == NULL) { + va_start(ap, msg); + vfprintf(stderr, msg, ap); + va_end(ap); + } else { + va_start(ap, msg); + vsnprintf(str, sizeof(str), msg, ap); + va_end(ap); + + list = PyTuple_New(2); + PyTuple_SetItem(list, 0, libxml_xmlPythonErrorFuncCtxt); + Py_XINCREF(libxml_xmlPythonErrorFuncCtxt); + message = libxml_charPtrConstWrap(str); + PyTuple_SetItem(list, 1, message); + result = PyObject_CallObject(libxml_xmlPythonErrorFuncHandler, list); + Py_XDECREF(list); + Py_XDECREF(result); + } +} + +static void +libxml_xmlErrorInitialize(void) +{ + xmlSetGenericErrorFunc(NULL, libxml_xmlErrorFuncHandler); +XML_IGNORE_DEPRECATION_WARNINGS + xmlThrDefSetGenericErrorFunc(NULL, libxml_xmlErrorFuncHandler); +XML_POP_WARNINGS +} + +static PyObject * +libxml_xmlRegisterErrorHandler(ATTRIBUTE_UNUSED PyObject * self, + PyObject * args) +{ + PyObject *py_retval; + PyObject *pyobj_f; + PyObject *pyobj_ctx; + + if (!PyArg_ParseTuple + (args, "OO:xmlRegisterErrorHandler", &pyobj_f, + &pyobj_ctx)) + return (NULL); + + if (libxml_xmlPythonErrorFuncHandler != NULL) { + Py_XDECREF(libxml_xmlPythonErrorFuncHandler); + } + if (libxml_xmlPythonErrorFuncCtxt != NULL) { + Py_XDECREF(libxml_xmlPythonErrorFuncCtxt); + } + + Py_XINCREF(pyobj_ctx); + Py_XINCREF(pyobj_f); + + /* TODO: check f is a function ! */ + libxml_xmlPythonErrorFuncHandler = pyobj_f; + libxml_xmlPythonErrorFuncCtxt = pyobj_ctx; + + py_retval = libxml_intWrap(1); + return (py_retval); +} + + +/************************************************************************ + * * + * Per parserCtxt error handler * + * * + ************************************************************************/ + +typedef struct +{ + PyObject *f; + PyObject *arg; +} xmlParserCtxtPyCtxt; +typedef xmlParserCtxtPyCtxt *xmlParserCtxtPyCtxtPtr; + +static void +libxml_xmlParserCtxtErrorHandler(void *ctx, const xmlError *error) +{ + PyObject *list; + PyObject *result; + xmlParserCtxtPtr ctxt; + xmlParserCtxtPyCtxtPtr pyCtxt; + int severity; + + ctxt = (xmlParserCtxtPtr)ctx; + pyCtxt = (xmlParserCtxtPyCtxtPtr)ctxt->_private; + + if ((error->domain == XML_FROM_VALID) || + (error->domain == XML_FROM_DTD)) { + if (error->level == XML_ERR_WARNING) + severity = XML_PARSER_SEVERITY_VALIDITY_WARNING; + else + severity = XML_PARSER_SEVERITY_VALIDITY_ERROR; + } else { + if (error->level == XML_ERR_WARNING) + severity = XML_PARSER_SEVERITY_WARNING; + else + severity = XML_PARSER_SEVERITY_ERROR; + } + + list = PyTuple_New(4); + PyTuple_SetItem(list, 0, pyCtxt->arg); + Py_XINCREF(pyCtxt->arg); + PyTuple_SetItem(list, 1, libxml_constcharPtrWrap(error->message)); + PyTuple_SetItem(list, 2, libxml_intWrap(severity)); + PyTuple_SetItem(list, 3, Py_None); + Py_INCREF(Py_None); + result = PyObject_CallObject(pyCtxt->f, list); + if (result == NULL) + { + /* TODO: manage for the exception to be propagated... */ + PyErr_Print(); + } + Py_XDECREF(list); + Py_XDECREF(result); +} + +static PyObject * +libxml_xmlParserCtxtSetErrorHandler(ATTRIBUTE_UNUSED PyObject *self, PyObject *args) +{ + PyObject *py_retval; + xmlParserCtxtPtr ctxt; + xmlParserCtxtPyCtxtPtr pyCtxt; + PyObject *pyobj_ctxt; + PyObject *pyobj_f; + PyObject *pyobj_arg; + + if (!PyArg_ParseTuple(args, "OOO:xmlParserCtxtSetErrorHandler", + &pyobj_ctxt, &pyobj_f, &pyobj_arg)) + return(NULL); + ctxt = (xmlParserCtxtPtr) PyparserCtxt_Get(pyobj_ctxt); + if (ctxt->_private == NULL) { + pyCtxt = xmlMalloc(sizeof(xmlParserCtxtPyCtxt)); + if (pyCtxt == NULL) { + py_retval = libxml_intWrap(-1); + return(py_retval); + } + memset(pyCtxt,0,sizeof(xmlParserCtxtPyCtxt)); + ctxt->_private = pyCtxt; + } + else { + pyCtxt = (xmlParserCtxtPyCtxtPtr)ctxt->_private; + } + /* TODO: check f is a function ! */ + Py_XDECREF(pyCtxt->f); + Py_XINCREF(pyobj_f); + pyCtxt->f = pyobj_f; + Py_XDECREF(pyCtxt->arg); + Py_XINCREF(pyobj_arg); + pyCtxt->arg = pyobj_arg; + + if (pyobj_f != Py_None) { + xmlCtxtSetErrorHandler(ctxt, libxml_xmlParserCtxtErrorHandler, ctxt); + } + else { + xmlCtxtSetErrorHandler(ctxt, NULL, NULL); + } + + py_retval = libxml_intWrap(1); + return(py_retval); +} + +static PyObject * +libxml_xmlParserCtxtGetErrorHandler(ATTRIBUTE_UNUSED PyObject *self, PyObject *args) +{ + PyObject *py_retval; + xmlParserCtxtPtr ctxt; + xmlParserCtxtPyCtxtPtr pyCtxt; + PyObject *pyobj_ctxt; + + if (!PyArg_ParseTuple(args, "O:xmlParserCtxtGetErrorHandler", + &pyobj_ctxt)) + return(NULL); + ctxt = (xmlParserCtxtPtr) PyparserCtxt_Get(pyobj_ctxt); + py_retval = PyTuple_New(2); + if (ctxt->_private != NULL) { + pyCtxt = (xmlParserCtxtPyCtxtPtr)ctxt->_private; + + PyTuple_SetItem(py_retval, 0, pyCtxt->f); + Py_XINCREF(pyCtxt->f); + PyTuple_SetItem(py_retval, 1, pyCtxt->arg); + Py_XINCREF(pyCtxt->arg); + } + else { + /* no python error handler registered */ + PyTuple_SetItem(py_retval, 0, Py_None); + Py_XINCREF(Py_None); + PyTuple_SetItem(py_retval, 1, Py_None); + Py_XINCREF(Py_None); + } + return(py_retval); +} + +static PyObject * +libxml_xmlFreeParserCtxt(ATTRIBUTE_UNUSED PyObject *self, PyObject *args) { + xmlParserCtxtPtr ctxt; + PyObject *pyobj_ctxt; + xmlParserCtxtPyCtxtPtr pyCtxt; + + if (!PyArg_ParseTuple(args, "O:xmlFreeParserCtxt", &pyobj_ctxt)) + return(NULL); + ctxt = (xmlParserCtxtPtr) PyparserCtxt_Get(pyobj_ctxt); + + if (ctxt != NULL) { + pyCtxt = (xmlParserCtxtPyCtxtPtr)((xmlParserCtxtPtr)ctxt)->_private; + if (pyCtxt) { + Py_XDECREF(pyCtxt->f); + Py_XDECREF(pyCtxt->arg); + xmlFree(pyCtxt); + } + xmlFreeParserCtxt(ctxt); + } + + Py_INCREF(Py_None); + return(Py_None); +} + +#ifdef LIBXML_VALID_ENABLED +/*** + * xmlValidCtxt stuff + */ + +typedef struct +{ + PyObject *warn; + PyObject *error; + PyObject *arg; +} xmlValidCtxtPyCtxt; +typedef xmlValidCtxtPyCtxt *xmlValidCtxtPyCtxtPtr; + +static void +libxml_xmlValidCtxtGenericErrorFuncHandler(void *ctx, ATTRIBUTE_UNUSED int severity, char *str) +{ + PyObject *list; + PyObject *result; + xmlValidCtxtPyCtxtPtr pyCtxt; + + pyCtxt = (xmlValidCtxtPyCtxtPtr)ctx; + + list = PyTuple_New(2); + PyTuple_SetItem(list, 0, libxml_charPtrWrap(str)); + PyTuple_SetItem(list, 1, pyCtxt->arg); + Py_XINCREF(pyCtxt->arg); + result = PyObject_CallObject(pyCtxt->error, list); + if (result == NULL) + { + /* TODO: manage for the exception to be propagated... */ + PyErr_Print(); + } + Py_XDECREF(list); + Py_XDECREF(result); +} + +static void +libxml_xmlValidCtxtGenericWarningFuncHandler(void *ctx, ATTRIBUTE_UNUSED int severity, char *str) +{ + PyObject *list; + PyObject *result; + xmlValidCtxtPyCtxtPtr pyCtxt; + + pyCtxt = (xmlValidCtxtPyCtxtPtr)ctx; + + list = PyTuple_New(2); + PyTuple_SetItem(list, 0, libxml_charPtrWrap(str)); + PyTuple_SetItem(list, 1, pyCtxt->arg); + Py_XINCREF(pyCtxt->arg); + result = PyObject_CallObject(pyCtxt->warn, list); + if (result == NULL) + { + /* TODO: manage for the exception to be propagated... */ + PyErr_Print(); + } + Py_XDECREF(list); + Py_XDECREF(result); +} + +static void +libxml_xmlValidCtxtErrorFuncHandler(void *ctx, const char *msg, ...) +{ + va_list ap; + + va_start(ap, msg); + libxml_xmlValidCtxtGenericErrorFuncHandler(ctx,XML_PARSER_SEVERITY_VALIDITY_ERROR,libxml_buildMessage(msg,ap)); + va_end(ap); +} + +static void +libxml_xmlValidCtxtWarningFuncHandler(void *ctx, const char *msg, ...) +{ + va_list ap; + + va_start(ap, msg); + libxml_xmlValidCtxtGenericWarningFuncHandler(ctx,XML_PARSER_SEVERITY_VALIDITY_WARNING,libxml_buildMessage(msg,ap)); + va_end(ap); +} + +static PyObject * +libxml_xmlSetValidErrors(ATTRIBUTE_UNUSED PyObject * self, PyObject * args) +{ + PyObject *py_retval; + PyObject *pyobj_error; + PyObject *pyobj_warn; + PyObject *pyobj_ctx; + PyObject *pyobj_arg = Py_None; + xmlValidCtxtPtr ctxt; + xmlValidCtxtPyCtxtPtr pyCtxt; + + if (!PyArg_ParseTuple + (args, "OOO|O:xmlSetValidErrors", &pyobj_ctx, &pyobj_error, &pyobj_warn, &pyobj_arg)) + return (NULL); + + ctxt = PyValidCtxt_Get(pyobj_ctx); + pyCtxt = xmlMalloc(sizeof(xmlValidCtxtPyCtxt)); + if (pyCtxt == NULL) { + py_retval = libxml_intWrap(-1); + return(py_retval); + } + memset(pyCtxt, 0, sizeof(xmlValidCtxtPyCtxt)); + + + /* TODO: check warn and error is a function ! */ + Py_XDECREF(pyCtxt->error); + Py_XINCREF(pyobj_error); + pyCtxt->error = pyobj_error; + + Py_XDECREF(pyCtxt->warn); + Py_XINCREF(pyobj_warn); + pyCtxt->warn = pyobj_warn; + + Py_XDECREF(pyCtxt->arg); + Py_XINCREF(pyobj_arg); + pyCtxt->arg = pyobj_arg; + + ctxt->error = libxml_xmlValidCtxtErrorFuncHandler; + ctxt->warning = libxml_xmlValidCtxtWarningFuncHandler; + ctxt->userData = pyCtxt; + + py_retval = libxml_intWrap(1); + return (py_retval); +} + + +static PyObject * +libxml_xmlFreeValidCtxt(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) { + xmlValidCtxtPtr cur; + xmlValidCtxtPyCtxtPtr pyCtxt; + PyObject *pyobj_cur; + + if (!PyArg_ParseTuple(args, "O:xmlFreeValidCtxt", &pyobj_cur)) + return(NULL); + cur = (xmlValidCtxtPtr) PyValidCtxt_Get(pyobj_cur); + + pyCtxt = (xmlValidCtxtPyCtxtPtr)(cur->userData); + if (pyCtxt != NULL) + { + Py_XDECREF(pyCtxt->error); + Py_XDECREF(pyCtxt->warn); + Py_XDECREF(pyCtxt->arg); + xmlFree(pyCtxt); + } + + xmlFreeValidCtxt(cur); + Py_INCREF(Py_None); + return(Py_None); +} +#endif /* LIBXML_VALID_ENABLED */ + +#ifdef LIBXML_READER_ENABLED +/************************************************************************ + * * + * Per xmlTextReader error handler * + * * + ************************************************************************/ + +typedef struct +{ + PyObject *f; + PyObject *arg; +} xmlTextReaderPyCtxt; +typedef xmlTextReaderPyCtxt *xmlTextReaderPyCtxtPtr; + +static void +libxml_xmlTextReaderErrorCallback(void *arg, + const char *msg, + xmlParserSeverities severity, + xmlTextReaderLocatorPtr locator) +{ + xmlTextReaderPyCtxt *pyCtxt = (xmlTextReaderPyCtxt *)arg; + PyObject *list; + PyObject *result; + + list = PyTuple_New(4); + PyTuple_SetItem(list, 0, pyCtxt->arg); + Py_XINCREF(pyCtxt->arg); + PyTuple_SetItem(list, 1, libxml_charPtrConstWrap(msg)); + PyTuple_SetItem(list, 2, libxml_intWrap(severity)); + PyTuple_SetItem(list, 3, libxml_xmlTextReaderLocatorPtrWrap(locator)); + result = PyObject_CallObject(pyCtxt->f, list); + if (result == NULL) + { + /* TODO: manage for the exception to be propagated... */ + PyErr_Print(); + } + Py_XDECREF(list); + Py_XDECREF(result); +} + +static PyObject * +libxml_xmlTextReaderSetErrorHandler(ATTRIBUTE_UNUSED PyObject *self, PyObject *args) +{ + xmlTextReaderPtr reader; + xmlTextReaderPyCtxtPtr pyCtxt; + xmlTextReaderErrorFunc f; + void *arg; + PyObject *pyobj_reader; + PyObject *pyobj_f; + PyObject *pyobj_arg; + PyObject *py_retval; + + if (!PyArg_ParseTuple(args, "OOO:xmlTextReaderSetErrorHandler", &pyobj_reader, &pyobj_f, &pyobj_arg)) + return(NULL); + reader = (xmlTextReaderPtr) PyxmlTextReader_Get(pyobj_reader); + /* clear previous error handler */ + xmlTextReaderGetErrorHandler(reader,&f,&arg); + if (arg != NULL) { + if (f == (xmlTextReaderErrorFunc) libxml_xmlTextReaderErrorCallback) { + /* ok, it's our error handler! */ + pyCtxt = (xmlTextReaderPyCtxtPtr)arg; + Py_XDECREF(pyCtxt->f); + Py_XDECREF(pyCtxt->arg); + xmlFree(pyCtxt); + } + else { + /* + * there already an arg, and it's not ours, + * there is definitely something wrong going on here... + * we don't know how to free it, so we bail out... + */ + py_retval = libxml_intWrap(-1); + return(py_retval); + } + } + xmlTextReaderSetErrorHandler(reader,NULL,NULL); + /* set new error handler */ + if (pyobj_f != Py_None) + { + pyCtxt = (xmlTextReaderPyCtxtPtr)xmlMalloc(sizeof(xmlTextReaderPyCtxt)); + if (pyCtxt == NULL) { + py_retval = libxml_intWrap(-1); + return(py_retval); + } + Py_XINCREF(pyobj_f); + pyCtxt->f = pyobj_f; + Py_XINCREF(pyobj_arg); + pyCtxt->arg = pyobj_arg; + xmlTextReaderSetErrorHandler(reader, + libxml_xmlTextReaderErrorCallback, + pyCtxt); + } + + py_retval = libxml_intWrap(1); + return(py_retval); +} + +static PyObject * +libxml_xmlTextReaderGetErrorHandler(ATTRIBUTE_UNUSED PyObject *self, PyObject *args) +{ + xmlTextReaderPtr reader; + xmlTextReaderPyCtxtPtr pyCtxt; + xmlTextReaderErrorFunc f; + void *arg; + PyObject *pyobj_reader; + PyObject *py_retval; + + if (!PyArg_ParseTuple(args, "O:xmlTextReaderSetErrorHandler", &pyobj_reader)) + return(NULL); + reader = (xmlTextReaderPtr) PyxmlTextReader_Get(pyobj_reader); + xmlTextReaderGetErrorHandler(reader,&f,&arg); + py_retval = PyTuple_New(2); + if (f == (xmlTextReaderErrorFunc)libxml_xmlTextReaderErrorCallback) { + /* ok, it's our error handler! */ + pyCtxt = (xmlTextReaderPyCtxtPtr)arg; + PyTuple_SetItem(py_retval, 0, pyCtxt->f); + Py_XINCREF(pyCtxt->f); + PyTuple_SetItem(py_retval, 1, pyCtxt->arg); + Py_XINCREF(pyCtxt->arg); + } + else + { + /* f is null or it's not our error handler */ + PyTuple_SetItem(py_retval, 0, Py_None); + Py_XINCREF(Py_None); + PyTuple_SetItem(py_retval, 1, Py_None); + Py_XINCREF(Py_None); + } + return(py_retval); +} + +static PyObject * +libxml_xmlFreeTextReader(ATTRIBUTE_UNUSED PyObject *self, PyObject *args) { + xmlTextReaderPtr reader; + PyObject *pyobj_reader; + xmlTextReaderPyCtxtPtr pyCtxt; + xmlTextReaderErrorFunc f; + void *arg; + + if (!PyArg_ParseTuple(args, "O:xmlFreeTextReader", &pyobj_reader)) + return(NULL); + if (!PyCapsule_CheckExact(pyobj_reader)) { + Py_INCREF(Py_None); + return(Py_None); + } + reader = (xmlTextReaderPtr) PyxmlTextReader_Get(pyobj_reader); + if (reader == NULL) { + Py_INCREF(Py_None); + return(Py_None); + } + + xmlTextReaderGetErrorHandler(reader,&f,&arg); + if (arg != NULL) { + if (f == (xmlTextReaderErrorFunc) libxml_xmlTextReaderErrorCallback) { + /* ok, it's our error handler! */ + pyCtxt = (xmlTextReaderPyCtxtPtr)arg; + Py_XDECREF(pyCtxt->f); + Py_XDECREF(pyCtxt->arg); + xmlFree(pyCtxt); + } + /* + * else, something wrong happened, because the error handler is + * not owned by the python bindings... + */ + } + + xmlFreeTextReader(reader); + Py_INCREF(Py_None); + return(Py_None); +} +#endif + +/************************************************************************ + * * + * XPath extensions * + * * + ************************************************************************/ + +#ifdef LIBXML_XPATH_ENABLED +static void +libxml_xmlXPathFuncCallback(xmlXPathParserContextPtr ctxt, int nargs) +{ + PyObject *list, *cur, *result; + xmlXPathObjectPtr obj; + xmlXPathContextPtr rctxt; + PyObject *current_function = NULL; + const xmlChar *name; + const xmlChar *ns_uri; + int i; + + if (ctxt == NULL) + return; + rctxt = ctxt->context; + if (rctxt == NULL) + return; + name = rctxt->function; + ns_uri = rctxt->functionURI; + + /* + * Find the function, it should be there it was there at lookup + */ + for (i = 0; i < libxml_xpathCallbacksNb; i++) { + if ( /* TODO (ctxt == libxml_xpathCallbacks[i].ctx) && */ + (xmlStrEqual(name, (*libxml_xpathCallbacks)[i].name)) && + (xmlStrEqual(ns_uri, (*libxml_xpathCallbacks)[i].ns_uri))) { + current_function = (*libxml_xpathCallbacks)[i].function; + } + } + if (current_function == NULL) { + printf + ("libxml_xmlXPathFuncCallback: internal error %s not found !\n", + name); + return; + } + + list = PyTuple_New(nargs + 1); + PyTuple_SetItem(list, 0, libxml_xmlXPathParserContextPtrWrap(ctxt)); + for (i = nargs - 1; i >= 0; i--) { + obj = xmlXPathValuePop(ctxt); + cur = libxml_xmlXPathObjectPtrWrap(obj); + PyTuple_SetItem(list, i + 1, cur); + } + result = PyObject_CallObject(current_function, list); + Py_DECREF(list); + + obj = libxml_xmlXPathObjectPtrConvert(result); + xmlXPathValuePush(ctxt, obj); +} + +static xmlXPathFunction +libxml_xmlXPathFuncLookupFunc(void *ctxt, const xmlChar * name, + const xmlChar * ns_uri) +{ + int i; + + /* + * This is called once only. The address is then stored in the + * XPath expression evaluation, the proper object to call can + * then still be found using the execution context function + * and functionURI fields. + */ + for (i = 0; i < libxml_xpathCallbacksNb; i++) { + if ((ctxt == (*libxml_xpathCallbacks)[i].ctx) && + (xmlStrEqual(name, (*libxml_xpathCallbacks)[i].name)) && + (xmlStrEqual(ns_uri, (*libxml_xpathCallbacks)[i].ns_uri))) { + return (libxml_xmlXPathFuncCallback); + } + } + return (NULL); +} + +static void +libxml_xpathCallbacksInitialize(void) +{ + int i; + + if (libxml_xpathCallbacksInitialized != 0) + return; + + libxml_xpathCallbacks = (libxml_xpathCallbackArray*)xmlMalloc( + libxml_xpathCallbacksAllocd*sizeof(libxml_xpathCallback)); + + for (i = 0; i < libxml_xpathCallbacksAllocd; i++) { + (*libxml_xpathCallbacks)[i].ctx = NULL; + (*libxml_xpathCallbacks)[i].name = NULL; + (*libxml_xpathCallbacks)[i].ns_uri = NULL; + (*libxml_xpathCallbacks)[i].function = NULL; + } + libxml_xpathCallbacksInitialized = 1; +} + +PyObject * +libxml_xmlRegisterXPathFunction(ATTRIBUTE_UNUSED PyObject * self, + PyObject * args) +{ + PyObject *py_retval; + int c_retval = 0; + xmlChar *name; + xmlChar *ns_uri; + xmlXPathContextPtr ctx; + PyObject *pyobj_ctx; + PyObject *pyobj_f; + int i; + + if (!PyArg_ParseTuple + (args, "OszO:registerXPathFunction", &pyobj_ctx, &name, + &ns_uri, &pyobj_f)) + return (NULL); + + ctx = (xmlXPathContextPtr) PyxmlXPathContext_Get(pyobj_ctx); + if (libxml_xpathCallbacksInitialized == 0) + libxml_xpathCallbacksInitialize(); + xmlXPathRegisterFuncLookup(ctx, libxml_xmlXPathFuncLookupFunc, ctx); + + if ((pyobj_ctx == NULL) || (name == NULL) || (pyobj_f == NULL)) { + py_retval = libxml_intWrap(-1); + return (py_retval); + } + for (i = 0; i < libxml_xpathCallbacksNb; i++) { + if ((ctx == (*libxml_xpathCallbacks)[i].ctx) && + (xmlStrEqual(name, (*libxml_xpathCallbacks)[i].name)) && + (xmlStrEqual(ns_uri, (*libxml_xpathCallbacks)[i].ns_uri))) { + Py_XINCREF(pyobj_f); + Py_XDECREF((*libxml_xpathCallbacks)[i].function); + (*libxml_xpathCallbacks)[i].function = pyobj_f; + c_retval = 1; + goto done; + } + } + if (libxml_xpathCallbacksNb >= libxml_xpathCallbacksAllocd) { + libxml_xpathCallbacksAllocd+=10; + libxml_xpathCallbacks = (libxml_xpathCallbackArray*)xmlRealloc( + libxml_xpathCallbacks, + libxml_xpathCallbacksAllocd*sizeof(libxml_xpathCallback)); + } + i = libxml_xpathCallbacksNb++; + Py_XINCREF(pyobj_f); + (*libxml_xpathCallbacks)[i].ctx = ctx; + (*libxml_xpathCallbacks)[i].name = xmlStrdup(name); + (*libxml_xpathCallbacks)[i].ns_uri = xmlStrdup(ns_uri); + (*libxml_xpathCallbacks)[i].function = pyobj_f; + c_retval = 1; + + done: + py_retval = libxml_intWrap((int) c_retval); + return (py_retval); +} + +PyObject * +libxml_xmlXPathRegisterVariable(ATTRIBUTE_UNUSED PyObject * self, + PyObject * args) +{ + PyObject *py_retval; + int c_retval = 0; + xmlChar *name; + xmlChar *ns_uri; + xmlXPathContextPtr ctx; + xmlXPathObjectPtr val; + PyObject *pyobj_ctx; + PyObject *pyobj_value; + + if (!PyArg_ParseTuple + (args, "OszO:xpathRegisterVariable", &pyobj_ctx, &name, + &ns_uri, &pyobj_value)) + return (NULL); + + ctx = (xmlXPathContextPtr) PyxmlXPathContext_Get(pyobj_ctx); + val = libxml_xmlXPathObjectPtrConvert(pyobj_value); + + c_retval = xmlXPathRegisterVariableNS(ctx, name, ns_uri, val); + py_retval = libxml_intWrap(c_retval); + return (py_retval); +} +#endif /* LIBXML_XPATH_ENABLED */ + +/************************************************************************ + * * + * Global properties access * + * * + ************************************************************************/ +static PyObject * +libxml_name(ATTRIBUTE_UNUSED PyObject * self, PyObject * args) +{ + PyObject *resultobj, *obj; + xmlNodePtr cur; + const xmlChar *res; + + if (!PyArg_ParseTuple(args, "O:name", &obj)) + return NULL; + cur = PyxmlNode_Get(obj); + + switch (cur->type) { + case XML_DOCUMENT_NODE: + case XML_HTML_DOCUMENT_NODE:{ + xmlDocPtr doc = (xmlDocPtr) cur; + + res = doc->URL; + break; + } + case XML_ATTRIBUTE_NODE:{ + xmlAttrPtr attr = (xmlAttrPtr) cur; + + res = attr->name; + break; + } + case XML_NAMESPACE_DECL:{ + xmlNsPtr ns = (xmlNsPtr) cur; + + res = ns->prefix; + break; + } + default: + res = cur->name; + break; + } + resultobj = libxml_constxmlCharPtrWrap(res); + + return resultobj; +} + +static PyObject * +libxml_doc(ATTRIBUTE_UNUSED PyObject * self, PyObject * args) +{ + PyObject *resultobj, *obj; + xmlNodePtr cur; + xmlDocPtr res; + + if (!PyArg_ParseTuple(args, "O:doc", &obj)) + return NULL; + cur = PyxmlNode_Get(obj); + + switch (cur->type) { + case XML_DOCUMENT_NODE: + case XML_HTML_DOCUMENT_NODE: + res = NULL; + break; + case XML_ATTRIBUTE_NODE:{ + xmlAttrPtr attr = (xmlAttrPtr) cur; + + res = attr->doc; + break; + } + case XML_NAMESPACE_DECL: + res = NULL; + break; + default: + res = cur->doc; + break; + } + resultobj = libxml_xmlDocPtrWrap(res); + return resultobj; +} + +static PyObject * +libxml_properties(ATTRIBUTE_UNUSED PyObject * self, PyObject * args) +{ + PyObject *resultobj, *obj; + xmlNodePtr cur; + xmlAttrPtr res; + + if (!PyArg_ParseTuple(args, "O:properties", &obj)) + return NULL; + cur = PyxmlNode_Get(obj); + if ((cur != NULL) && (cur->type == XML_ELEMENT_NODE)) + res = cur->properties; + else + res = NULL; + resultobj = libxml_xmlAttrPtrWrap(res); + return resultobj; +} + +static PyObject * +libxml_next(ATTRIBUTE_UNUSED PyObject * self, PyObject * args) +{ + PyObject *resultobj, *obj; + xmlNodePtr cur; + xmlNodePtr res; + + if (!PyArg_ParseTuple(args, "O:next", &obj)) + return NULL; + cur = PyxmlNode_Get(obj); + + switch (cur->type) { + case XML_DOCUMENT_NODE: + case XML_HTML_DOCUMENT_NODE: + res = NULL; + break; + case XML_ATTRIBUTE_NODE:{ + xmlAttrPtr attr = (xmlAttrPtr) cur; + + res = (xmlNodePtr) attr->next; + break; + } + case XML_NAMESPACE_DECL:{ + xmlNsPtr ns = (xmlNsPtr) cur; + + res = (xmlNodePtr) ns->next; + break; + } + default: + res = cur->next; + break; + + } + resultobj = libxml_xmlNodePtrWrap(res); + return resultobj; +} + +static PyObject * +libxml_prev(ATTRIBUTE_UNUSED PyObject * self, PyObject * args) +{ + PyObject *resultobj, *obj; + xmlNodePtr cur; + xmlNodePtr res; + + if (!PyArg_ParseTuple(args, "O:prev", &obj)) + return NULL; + cur = PyxmlNode_Get(obj); + + switch (cur->type) { + case XML_DOCUMENT_NODE: + case XML_HTML_DOCUMENT_NODE: + res = NULL; + break; + case XML_ATTRIBUTE_NODE:{ + xmlAttrPtr attr = (xmlAttrPtr) cur; + + res = (xmlNodePtr) attr->prev; + } + break; + case XML_NAMESPACE_DECL: + res = NULL; + break; + default: + res = cur->prev; + break; + } + resultobj = libxml_xmlNodePtrWrap(res); + return resultobj; +} + +static PyObject * +libxml_children(ATTRIBUTE_UNUSED PyObject * self, PyObject * args) +{ + PyObject *resultobj, *obj; + xmlNodePtr cur; + xmlNodePtr res; + + if (!PyArg_ParseTuple(args, "O:children", &obj)) + return NULL; + cur = PyxmlNode_Get(obj); + + switch (cur->type) { + case XML_ELEMENT_NODE: + case XML_ENTITY_REF_NODE: + case XML_ENTITY_NODE: + case XML_PI_NODE: + case XML_COMMENT_NODE: + case XML_DOCUMENT_NODE: + case XML_HTML_DOCUMENT_NODE: + case XML_DTD_NODE: + res = cur->children; + break; + case XML_ATTRIBUTE_NODE:{ + xmlAttrPtr attr = (xmlAttrPtr) cur; + + res = attr->children; + break; + } + default: + res = NULL; + break; + } + resultobj = libxml_xmlNodePtrWrap(res); + return resultobj; +} + +static PyObject * +libxml_last(ATTRIBUTE_UNUSED PyObject * self, PyObject * args) +{ + PyObject *resultobj, *obj; + xmlNodePtr cur; + xmlNodePtr res; + + if (!PyArg_ParseTuple(args, "O:last", &obj)) + return NULL; + cur = PyxmlNode_Get(obj); + + switch (cur->type) { + case XML_ELEMENT_NODE: + case XML_ENTITY_REF_NODE: + case XML_ENTITY_NODE: + case XML_PI_NODE: + case XML_COMMENT_NODE: + case XML_DOCUMENT_NODE: + case XML_HTML_DOCUMENT_NODE: + case XML_DTD_NODE: + res = cur->last; + break; + case XML_ATTRIBUTE_NODE:{ + xmlAttrPtr attr = (xmlAttrPtr) cur; + + res = attr->last; + break; + } + default: + res = NULL; + break; + } + resultobj = libxml_xmlNodePtrWrap(res); + return resultobj; +} + +static PyObject * +libxml_parent(ATTRIBUTE_UNUSED PyObject * self, PyObject * args) +{ + PyObject *resultobj, *obj; + xmlNodePtr cur; + xmlNodePtr res; + + if (!PyArg_ParseTuple(args, "O:parent", &obj)) + return NULL; + cur = PyxmlNode_Get(obj); + + switch (cur->type) { + case XML_DOCUMENT_NODE: + case XML_HTML_DOCUMENT_NODE: + res = NULL; + break; + case XML_ATTRIBUTE_NODE:{ + xmlAttrPtr attr = (xmlAttrPtr) cur; + + res = attr->parent; + } + break; + case XML_ENTITY_DECL: + case XML_NAMESPACE_DECL: + case XML_XINCLUDE_START: + case XML_XINCLUDE_END: + res = NULL; + break; + default: + res = cur->parent; + break; + } + resultobj = libxml_xmlNodePtrWrap(res); + return resultobj; +} + +static PyObject * +libxml_type(ATTRIBUTE_UNUSED PyObject * self, PyObject * args) +{ + PyObject *resultobj, *obj; + xmlNodePtr cur; + const xmlChar *res = NULL; + + if (!PyArg_ParseTuple(args, "O:last", &obj)) + return NULL; + cur = PyxmlNode_Get(obj); + if (cur == NULL) { + Py_INCREF(Py_None); + return (Py_None); + } + + switch (cur->type) { + case XML_ELEMENT_NODE: + res = (const xmlChar *) "element"; + break; + case XML_ATTRIBUTE_NODE: + res = (const xmlChar *) "attribute"; + break; + case XML_TEXT_NODE: + res = (const xmlChar *) "text"; + break; + case XML_CDATA_SECTION_NODE: + res = (const xmlChar *) "cdata"; + break; + case XML_ENTITY_REF_NODE: + res = (const xmlChar *) "entity_ref"; + break; + case XML_ENTITY_NODE: + res = (const xmlChar *) "entity"; + break; + case XML_PI_NODE: + res = (const xmlChar *) "pi"; + break; + case XML_COMMENT_NODE: + res = (const xmlChar *) "comment"; + break; + case XML_DOCUMENT_NODE: + res = (const xmlChar *) "document_xml"; + break; + case XML_DOCUMENT_TYPE_NODE: + res = (const xmlChar *) "doctype"; + break; + case XML_DOCUMENT_FRAG_NODE: + res = (const xmlChar *) "fragment"; + break; + case XML_NOTATION_NODE: + res = (const xmlChar *) "notation"; + break; + case XML_HTML_DOCUMENT_NODE: + res = (const xmlChar *) "document_html"; + break; + case XML_DTD_NODE: + res = (const xmlChar *) "dtd"; + break; + case XML_ELEMENT_DECL: + res = (const xmlChar *) "elem_decl"; + break; + case XML_ATTRIBUTE_DECL: + res = (const xmlChar *) "attribute_decl"; + break; + case XML_ENTITY_DECL: + res = (const xmlChar *) "entity_decl"; + break; + case XML_NAMESPACE_DECL: + res = (const xmlChar *) "namespace"; + break; + case XML_XINCLUDE_START: + res = (const xmlChar *) "xinclude_start"; + break; + case XML_XINCLUDE_END: + res = (const xmlChar *) "xinclude_end"; + break; + } + + resultobj = libxml_constxmlCharPtrWrap(res); + return resultobj; +} + +/************************************************************************ + * * + * Specific accessor functions * + * * + ************************************************************************/ +PyObject * +libxml_xmlNodeGetNsDefs(ATTRIBUTE_UNUSED PyObject * self, PyObject * args) +{ + PyObject *py_retval; + xmlNsPtr c_retval; + xmlNodePtr node; + PyObject *pyobj_node; + + if (!PyArg_ParseTuple + (args, "O:xmlNodeGetNsDefs", &pyobj_node)) + return (NULL); + node = (xmlNodePtr) PyxmlNode_Get(pyobj_node); + + if ((node == NULL) || (node->type != XML_ELEMENT_NODE)) { + Py_INCREF(Py_None); + return (Py_None); + } + c_retval = node->nsDef; + py_retval = libxml_xmlNsPtrWrap((xmlNsPtr) c_retval); + return (py_retval); +} + +PyObject * +libxml_xmlNodeRemoveNsDef(ATTRIBUTE_UNUSED PyObject * self, PyObject * args) +{ + PyObject *py_retval; + xmlNsPtr ns, prev; + xmlNodePtr node; + PyObject *pyobj_node; + xmlChar *href; + xmlNsPtr c_retval; + + if (!PyArg_ParseTuple + (args, "Oz:xmlNodeRemoveNsDef", &pyobj_node, &href)) + return (NULL); + node = (xmlNodePtr) PyxmlNode_Get(pyobj_node); + ns = NULL; + + if ((node == NULL) || (node->type != XML_ELEMENT_NODE)) { + Py_INCREF(Py_None); + return (Py_None); + } + + if (href == NULL) { + ns = node->nsDef; + node->nsDef = NULL; + c_retval = 0; + } + else { + prev = NULL; + ns = node->nsDef; + while (ns != NULL) { + if (xmlStrEqual(ns->href, href)) { + if (prev != NULL) + prev->next = ns->next; + else + node->nsDef = ns->next; + ns->next = NULL; + c_retval = 0; + break; + } + prev = ns; + ns = ns->next; + } + } + + c_retval = ns; + py_retval = libxml_xmlNsPtrWrap((xmlNsPtr) c_retval); + return (py_retval); +} + +PyObject * +libxml_xmlNodeGetNs(ATTRIBUTE_UNUSED PyObject * self, PyObject * args) +{ + PyObject *py_retval; + xmlNsPtr c_retval; + xmlNodePtr node; + PyObject *pyobj_node; + + if (!PyArg_ParseTuple(args, "O:xmlNodeGetNs", &pyobj_node)) + return (NULL); + node = (xmlNodePtr) PyxmlNode_Get(pyobj_node); + + if ((node == NULL) || + ((node->type != XML_ELEMENT_NODE) && + (node->type != XML_ATTRIBUTE_NODE))) { + Py_INCREF(Py_None); + return (Py_None); + } + c_retval = node->ns; + py_retval = libxml_xmlNsPtrWrap((xmlNsPtr) c_retval); + return (py_retval); +} + +#ifdef LIBXML_OUTPUT_ENABLED +/************************************************************************ + * * + * Serialization front-end * + * * + ************************************************************************/ + +static PyObject * +libxml_serializeNode(ATTRIBUTE_UNUSED PyObject * self, PyObject * args) +{ + PyObject *py_retval = NULL; + xmlChar *c_retval; + PyObject *pyobj_node; + xmlNodePtr node; + xmlDocPtr doc; + const char *encoding; + int format; + xmlSaveCtxtPtr ctxt; + xmlBufferPtr buf; + int options = 0; + + if (!PyArg_ParseTuple(args, "Ozi:serializeNode", &pyobj_node, + &encoding, &format)) + return (NULL); + node = (xmlNodePtr) PyxmlNode_Get(pyobj_node); + + if (node == NULL) { + Py_INCREF(Py_None); + return (Py_None); + } + if (node->type == XML_DOCUMENT_NODE) { + doc = (xmlDocPtr) node; + node = NULL; +#ifdef LIBXML_HTML_ENABLED + } else if (node->type == XML_HTML_DOCUMENT_NODE) { + doc = (xmlDocPtr) node; + node = NULL; +#endif + } else { + if (node->type == XML_NAMESPACE_DECL) + doc = NULL; + else + doc = node->doc; + if ((doc == NULL) || (doc->type == XML_DOCUMENT_NODE)) { +#ifdef LIBXML_HTML_ENABLED + } else if (doc->type == XML_HTML_DOCUMENT_NODE) { +#endif /* LIBXML_HTML_ENABLED */ + } else { + Py_INCREF(Py_None); + return (Py_None); + } + } + + + buf = xmlBufferCreate(); + if (buf == NULL) { + Py_INCREF(Py_None); + return (Py_None); + } + if (format) options |= XML_SAVE_FORMAT; + ctxt = xmlSaveToBuffer(buf, encoding, options); + if (ctxt == NULL) { + xmlBufferFree(buf); + Py_INCREF(Py_None); + return (Py_None); + } + if (node == NULL) + xmlSaveDoc(ctxt, doc); + else + xmlSaveTree(ctxt, node); + xmlSaveClose(ctxt); + + c_retval = xmlBufferDetach(buf); + + xmlBufferFree(buf); + py_retval = libxml_charPtrWrap((char *) c_retval); + + return (py_retval); +} + +static PyObject * +libxml_saveNodeTo(ATTRIBUTE_UNUSED PyObject * self, PyObject * args) +{ + PyObject *py_file = NULL; + FILE *output; + PyObject *pyobj_node; + xmlNodePtr node; + xmlDocPtr doc; + const char *encoding; + int format; + int len; + xmlOutputBufferPtr buf; + xmlCharEncodingHandlerPtr handler = NULL; + + if (!PyArg_ParseTuple(args, "OOzi:serializeNode", &pyobj_node, + &py_file, &encoding, &format)) + return (NULL); + node = (xmlNodePtr) PyxmlNode_Get(pyobj_node); + if (node == NULL) { + return (PyLong_FromLong((long) -1)); + } + output = PyFile_Get(py_file); + if (output == NULL) { + return (PyLong_FromLong((long) -1)); + } + + if (node->type == XML_DOCUMENT_NODE) { + doc = (xmlDocPtr) node; + } else if (node->type == XML_HTML_DOCUMENT_NODE) { + doc = (xmlDocPtr) node; + } else { + doc = node->doc; + } +#ifdef LIBXML_HTML_ENABLED + if (doc->type == XML_HTML_DOCUMENT_NODE) { + if (encoding == NULL) + encoding = (const char *) htmlGetMetaEncoding(doc); + } +#endif /* LIBXML_HTML_ENABLED */ + if (encoding != NULL) { + handler = xmlFindCharEncodingHandler(encoding); + if (handler == NULL) { + PyFile_Release(output); + return (PyLong_FromLong((long) -1)); + } + } + if (doc->type == XML_HTML_DOCUMENT_NODE) { + if (handler == NULL) + handler = xmlFindCharEncodingHandler("HTML"); + if (handler == NULL) + handler = xmlFindCharEncodingHandler("ascii"); + } + + buf = xmlOutputBufferCreateFile(output, handler); + if (node->type == XML_DOCUMENT_NODE) { + len = xmlSaveFormatFileTo(buf, doc, encoding, format); +#ifdef LIBXML_HTML_ENABLED + } else if (node->type == XML_HTML_DOCUMENT_NODE) { + htmlDocContentDumpFormatOutput(buf, doc, encoding, format); + len = xmlOutputBufferClose(buf); + } else if (doc->type == XML_HTML_DOCUMENT_NODE) { + htmlNodeDumpFormatOutput(buf, doc, node, encoding, format); + len = xmlOutputBufferClose(buf); +#endif /* LIBXML_HTML_ENABLED */ + } else { + xmlNodeDumpOutput(buf, doc, node, 0, format, encoding); + len = xmlOutputBufferClose(buf); + } + PyFile_Release(output); + return (PyLong_FromLong((long) len)); +} +#endif /* LIBXML_OUTPUT_ENABLED */ + +/************************************************************************ + * * + * Extra stuff * + * * + ************************************************************************/ +PyObject * +libxml_xmlNewNode(ATTRIBUTE_UNUSED PyObject * self, PyObject * args) +{ + PyObject *py_retval; + xmlChar *name; + xmlNodePtr node; + + if (!PyArg_ParseTuple(args, "s:xmlNewNode", &name)) + return (NULL); + node = (xmlNodePtr) xmlNewNode(NULL, name); + + if (node == NULL) { + Py_INCREF(Py_None); + return (Py_None); + } + py_retval = libxml_xmlNodePtrWrap(node); + return (py_retval); +} + + +/************************************************************************ + * * + * Local Catalog stuff * + * * + ************************************************************************/ + +#ifdef LIBXML_CATALOG_ENABLED +static PyObject * +libxml_addLocalCatalog(ATTRIBUTE_UNUSED PyObject * self, PyObject * args) +{ + xmlChar *URL; + xmlParserCtxtPtr ctxt; + PyObject *pyobj_ctxt; + + if (!PyArg_ParseTuple(args, "Os:addLocalCatalog", &pyobj_ctxt, &URL)) + return(NULL); + + ctxt = (xmlParserCtxtPtr) PyparserCtxt_Get(pyobj_ctxt); + + if (URL != NULL) { + void *catalogs = xmlCtxtGetCatalogs(ctxt); + xmlCtxtSetCatalogs(ctxt, xmlCatalogAddLocal(catalogs, URL)); + } + + Py_INCREF(Py_None); + return (Py_None); +} +#endif /* LIBXML_CATALOG_ENABLED */ + +/************************************************************************ + * * + * RelaxNG error handler registration * + * * + ************************************************************************/ + +#ifdef LIBXML_RELAXNG_ENABLED +typedef struct +{ + PyObject *warn; + PyObject *error; + PyObject *arg; +} xmlRelaxNGValidCtxtPyCtxt; +typedef xmlRelaxNGValidCtxtPyCtxt *xmlRelaxNGValidCtxtPyCtxtPtr; + +static void +libxml_xmlRelaxNGValidityGenericErrorFuncHandler(void *ctx, char *str) +{ + PyObject *list; + PyObject *result; + xmlRelaxNGValidCtxtPyCtxtPtr pyCtxt; + + pyCtxt = (xmlRelaxNGValidCtxtPyCtxtPtr)ctx; + + list = PyTuple_New(2); + PyTuple_SetItem(list, 0, libxml_charPtrWrap(str)); + PyTuple_SetItem(list, 1, pyCtxt->arg); + Py_XINCREF(pyCtxt->arg); + result = PyObject_CallObject(pyCtxt->error, list); + if (result == NULL) + { + /* TODO: manage for the exception to be propagated... */ + PyErr_Print(); + } + Py_XDECREF(list); + Py_XDECREF(result); +} + +static void +libxml_xmlRelaxNGValidityGenericWarningFuncHandler(void *ctx, char *str) +{ + PyObject *list; + PyObject *result; + xmlRelaxNGValidCtxtPyCtxtPtr pyCtxt; + + pyCtxt = (xmlRelaxNGValidCtxtPyCtxtPtr)ctx; + + list = PyTuple_New(2); + PyTuple_SetItem(list, 0, libxml_charPtrWrap(str)); + PyTuple_SetItem(list, 1, pyCtxt->arg); + Py_XINCREF(pyCtxt->arg); + result = PyObject_CallObject(pyCtxt->warn, list); + if (result == NULL) + { + /* TODO: manage for the exception to be propagated... */ + PyErr_Print(); + } + Py_XDECREF(list); + Py_XDECREF(result); +} + +static void +libxml_xmlRelaxNGValidityErrorFunc(void *ctx, const char *msg, ...) +{ + va_list ap; + + va_start(ap, msg); + libxml_xmlRelaxNGValidityGenericErrorFuncHandler(ctx, libxml_buildMessage(msg, ap)); + va_end(ap); +} + +static void +libxml_xmlRelaxNGValidityWarningFunc(void *ctx, const char *msg, ...) +{ + va_list ap; + + va_start(ap, msg); + libxml_xmlRelaxNGValidityGenericWarningFuncHandler(ctx, libxml_buildMessage(msg, ap)); + va_end(ap); +} + +static PyObject * +libxml_xmlRelaxNGSetValidErrors(ATTRIBUTE_UNUSED PyObject * self, PyObject * args) +{ + PyObject *py_retval; + PyObject *pyobj_error; + PyObject *pyobj_warn; + PyObject *pyobj_ctx; + PyObject *pyobj_arg = Py_None; + xmlRelaxNGValidCtxtPtr ctxt; + xmlRelaxNGValidCtxtPyCtxtPtr pyCtxt; + + if (!PyArg_ParseTuple + (args, "OOO|O:xmlRelaxNGSetValidErrors", &pyobj_ctx, &pyobj_error, &pyobj_warn, &pyobj_arg)) + return (NULL); + + ctxt = PyrelaxNgValidCtxt_Get(pyobj_ctx); + if (xmlRelaxNGGetValidErrors(ctxt, NULL, NULL, (void **) &pyCtxt) == -1) + { + py_retval = libxml_intWrap(-1); + return(py_retval); + } + + if (pyCtxt == NULL) + { + /* first time to set the error handlers */ + pyCtxt = xmlMalloc(sizeof(xmlRelaxNGValidCtxtPyCtxt)); + if (pyCtxt == NULL) { + py_retval = libxml_intWrap(-1); + return(py_retval); + } + memset(pyCtxt, 0, sizeof(xmlRelaxNGValidCtxtPyCtxt)); + } + + /* TODO: check warn and error is a function ! */ + Py_XDECREF(pyCtxt->error); + Py_XINCREF(pyobj_error); + pyCtxt->error = pyobj_error; + + Py_XDECREF(pyCtxt->warn); + Py_XINCREF(pyobj_warn); + pyCtxt->warn = pyobj_warn; + + Py_XDECREF(pyCtxt->arg); + Py_XINCREF(pyobj_arg); + pyCtxt->arg = pyobj_arg; + + xmlRelaxNGSetValidErrors(ctxt, &libxml_xmlRelaxNGValidityErrorFunc, &libxml_xmlRelaxNGValidityWarningFunc, pyCtxt); + + py_retval = libxml_intWrap(1); + return (py_retval); +} + +static PyObject * +libxml_xmlRelaxNGFreeValidCtxt(ATTRIBUTE_UNUSED PyObject *self, PyObject *args) { + xmlRelaxNGValidCtxtPtr ctxt; + xmlRelaxNGValidCtxtPyCtxtPtr pyCtxt; + PyObject *pyobj_ctxt; + + if (!PyArg_ParseTuple(args, "O:xmlRelaxNGFreeValidCtxt", &pyobj_ctxt)) + return(NULL); + ctxt = (xmlRelaxNGValidCtxtPtr) PyrelaxNgValidCtxt_Get(pyobj_ctxt); + + if (xmlRelaxNGGetValidErrors(ctxt, NULL, NULL, (void **) &pyCtxt) == 0) + { + if (pyCtxt != NULL) + { + Py_XDECREF(pyCtxt->error); + Py_XDECREF(pyCtxt->warn); + Py_XDECREF(pyCtxt->arg); + xmlFree(pyCtxt); + } + } + + xmlRelaxNGFreeValidCtxt(ctxt); + Py_INCREF(Py_None); + return(Py_None); +} +#endif /* LIBXML_RELAXNG_ENABLED */ + +#ifdef LIBXML_SCHEMAS_ENABLED +typedef struct +{ + PyObject *warn; + PyObject *error; + PyObject *arg; +} xmlSchemaValidCtxtPyCtxt; +typedef xmlSchemaValidCtxtPyCtxt *xmlSchemaValidCtxtPyCtxtPtr; + +static void +libxml_xmlSchemaValidityGenericErrorFuncHandler(void *ctx, char *str) +{ + PyObject *list; + PyObject *result; + xmlSchemaValidCtxtPyCtxtPtr pyCtxt; + + pyCtxt = (xmlSchemaValidCtxtPyCtxtPtr) ctx; + + list = PyTuple_New(2); + PyTuple_SetItem(list, 0, libxml_charPtrWrap(str)); + PyTuple_SetItem(list, 1, pyCtxt->arg); + Py_XINCREF(pyCtxt->arg); + result = PyObject_CallObject(pyCtxt->error, list); + if (result == NULL) + { + /* TODO: manage for the exception to be propagated... */ + PyErr_Print(); + } + Py_XDECREF(list); + Py_XDECREF(result); +} + +static void +libxml_xmlSchemaValidityGenericWarningFuncHandler(void *ctx, char *str) +{ + PyObject *list; + PyObject *result; + xmlSchemaValidCtxtPyCtxtPtr pyCtxt; + + pyCtxt = (xmlSchemaValidCtxtPyCtxtPtr) ctx; + + list = PyTuple_New(2); + PyTuple_SetItem(list, 0, libxml_charPtrWrap(str)); + PyTuple_SetItem(list, 1, pyCtxt->arg); + Py_XINCREF(pyCtxt->arg); + result = PyObject_CallObject(pyCtxt->warn, list); + if (result == NULL) + { + /* TODO: manage for the exception to be propagated... */ + PyErr_Print(); + } + Py_XDECREF(list); + Py_XDECREF(result); +} + +static void +libxml_xmlSchemaValidityErrorFunc(void *ctx, const char *msg, ...) +{ + va_list ap; + + va_start(ap, msg); + libxml_xmlSchemaValidityGenericErrorFuncHandler(ctx, libxml_buildMessage(msg, ap)); + va_end(ap); +} + +static void +libxml_xmlSchemaValidityWarningFunc(void *ctx, const char *msg, ...) +{ + va_list ap; + + va_start(ap, msg); + libxml_xmlSchemaValidityGenericWarningFuncHandler(ctx, libxml_buildMessage(msg, ap)); + va_end(ap); +} + +PyObject * +libxml_xmlSchemaSetValidErrors(ATTRIBUTE_UNUSED PyObject * self, PyObject * args) +{ + PyObject *py_retval; + PyObject *pyobj_error; + PyObject *pyobj_warn; + PyObject *pyobj_ctx; + PyObject *pyobj_arg = Py_None; + xmlSchemaValidCtxtPtr ctxt; + xmlSchemaValidCtxtPyCtxtPtr pyCtxt; + + if (!PyArg_ParseTuple + (args, "OOO|O:xmlSchemaSetValidErrors", &pyobj_ctx, &pyobj_error, &pyobj_warn, &pyobj_arg)) + return (NULL); + + ctxt = PySchemaValidCtxt_Get(pyobj_ctx); + if (xmlSchemaGetValidErrors(ctxt, NULL, NULL, (void **) &pyCtxt) == -1) + { + py_retval = libxml_intWrap(-1); + return(py_retval); + } + + if (pyCtxt == NULL) + { + /* first time to set the error handlers */ + pyCtxt = xmlMalloc(sizeof(xmlSchemaValidCtxtPyCtxt)); + if (pyCtxt == NULL) { + py_retval = libxml_intWrap(-1); + return(py_retval); + } + memset(pyCtxt, 0, sizeof(xmlSchemaValidCtxtPyCtxt)); + } + + /* TODO: check warn and error is a function ! */ + Py_XDECREF(pyCtxt->error); + Py_XINCREF(pyobj_error); + pyCtxt->error = pyobj_error; + + Py_XDECREF(pyCtxt->warn); + Py_XINCREF(pyobj_warn); + pyCtxt->warn = pyobj_warn; + + Py_XDECREF(pyCtxt->arg); + Py_XINCREF(pyobj_arg); + pyCtxt->arg = pyobj_arg; + + xmlSchemaSetValidErrors(ctxt, &libxml_xmlSchemaValidityErrorFunc, &libxml_xmlSchemaValidityWarningFunc, pyCtxt); + + py_retval = libxml_intWrap(1); + return(py_retval); +} + +static PyObject * +libxml_xmlSchemaFreeValidCtxt(ATTRIBUTE_UNUSED PyObject * self, PyObject * args) +{ + xmlSchemaValidCtxtPtr ctxt; + xmlSchemaValidCtxtPyCtxtPtr pyCtxt; + PyObject *pyobj_ctxt; + + if (!PyArg_ParseTuple(args, "O:xmlSchemaFreeValidCtxt", &pyobj_ctxt)) + return(NULL); + ctxt = (xmlSchemaValidCtxtPtr) PySchemaValidCtxt_Get(pyobj_ctxt); + + if (xmlSchemaGetValidErrors(ctxt, NULL, NULL, (void **) &pyCtxt) == 0) + { + if (pyCtxt != NULL) + { + Py_XDECREF(pyCtxt->error); + Py_XDECREF(pyCtxt->warn); + Py_XDECREF(pyCtxt->arg); + xmlFree(pyCtxt); + } + } + + xmlSchemaFreeValidCtxt(ctxt); + Py_INCREF(Py_None); + return(Py_None); +} +#endif /* LIBXML_SCHEMAS_ENABLED */ + +#ifdef LIBXML_C14N_ENABLED +#ifdef LIBXML_OUTPUT_ENABLED + +/************************************************************************ + * * + * XML Canonicalization c14n * + * * + ************************************************************************/ + +static int +PyxmlNodeSet_Convert(PyObject *py_nodeset, xmlNodeSetPtr *result) +{ + xmlNodeSetPtr nodeSet; + int is_tuple = 0; + + if (PyTuple_Check(py_nodeset)) + is_tuple = 1; + else if (PyList_Check(py_nodeset)) + is_tuple = 0; + else if (py_nodeset == Py_None) { + *result = NULL; + return 0; + } + else { + PyErr_SetString(PyExc_TypeError, + "must be a tuple or list of nodes."); + return -1; + } + + nodeSet = (xmlNodeSetPtr) xmlMalloc(sizeof(xmlNodeSet)); + if (nodeSet == NULL) { + PyErr_SetString(PyExc_MemoryError, ""); + return -1; + } + + nodeSet->nodeNr = 0; + nodeSet->nodeMax = (is_tuple + ? PyTuple_GET_SIZE(py_nodeset) + : PyList_GET_SIZE(py_nodeset)); + nodeSet->nodeTab + = (xmlNodePtr *) xmlMalloc (nodeSet->nodeMax + * sizeof(xmlNodePtr)); + if (nodeSet->nodeTab == NULL) { + xmlFree(nodeSet); + PyErr_SetString(PyExc_MemoryError, ""); + return -1; + } + memset(nodeSet->nodeTab, 0 , + nodeSet->nodeMax * sizeof(xmlNodePtr)); + + { + int idx; + for (idx=0; idx < nodeSet->nodeMax; ++idx) { + xmlNodePtr pynode = + PyxmlNode_Get (is_tuple + ? PyTuple_GET_ITEM(py_nodeset, idx) + : PyList_GET_ITEM(py_nodeset, idx)); + if (pynode) + nodeSet->nodeTab[nodeSet->nodeNr++] = pynode; + } + } + *result = nodeSet; + return 0; +} + +static int +PystringSet_Convert(PyObject *py_strings, xmlChar *** result) +{ + /* NOTE: the array should be freed, but the strings are shared + with the python strings and so must not be freed. */ + + xmlChar ** strings; + int is_tuple = 0; + int count; + int init_index = 0; + + if (PyTuple_Check(py_strings)) + is_tuple = 1; + else if (PyList_Check(py_strings)) + is_tuple = 0; + else if (py_strings == Py_None) { + *result = NULL; + return 0; + } + else { + PyErr_SetString(PyExc_TypeError, + "must be a tuple or list of strings."); + return -1; + } + + count = (is_tuple + ? PyTuple_GET_SIZE(py_strings) + : PyList_GET_SIZE(py_strings)); + + strings = (xmlChar **) xmlMalloc(sizeof(xmlChar *) * count); + + if (strings == NULL) { + PyErr_SetString(PyExc_MemoryError, ""); + return -1; + } + + memset(strings, 0 , sizeof(xmlChar *) * count); + + { + int idx; + for (idx=0; idx < count; ++idx) { + char* s = PyBytes_AsString + (is_tuple + ? PyTuple_GET_ITEM(py_strings, idx) + : PyList_GET_ITEM(py_strings, idx)); + if (s) + strings[init_index++] = (xmlChar *)s; + else { + xmlFree(strings); + PyErr_SetString(PyExc_TypeError, + "must be a tuple or list of strings."); + return -1; + } + } + } + + *result = strings; + return 0; +} + +static PyObject * +libxml_C14NDocDumpMemory(ATTRIBUTE_UNUSED PyObject * self, + PyObject * args) +{ + PyObject *py_retval = NULL; + + PyObject *pyobj_doc; + PyObject *pyobj_nodes; + int exclusive; + PyObject *pyobj_prefixes; + int with_comments; + + xmlDocPtr doc; + xmlNodeSetPtr nodes; + xmlChar **prefixes = NULL; + xmlChar *doc_txt; + + int result; + + if (!PyArg_ParseTuple(args, "OOiOi:C14NDocDumpMemory", + &pyobj_doc, + &pyobj_nodes, + &exclusive, + &pyobj_prefixes, + &with_comments)) + return (NULL); + + doc = (xmlDocPtr) PyxmlNode_Get(pyobj_doc); + if (!doc) { + PyErr_SetString(PyExc_TypeError, "bad document."); + return NULL; + } + + result = PyxmlNodeSet_Convert(pyobj_nodes, &nodes); + if (result < 0) return NULL; + + if (exclusive) { + result = PystringSet_Convert(pyobj_prefixes, &prefixes); + if (result < 0) { + if (nodes) { + xmlFree(nodes->nodeTab); + xmlFree(nodes); + } + return NULL; + } + } + + result = xmlC14NDocDumpMemory(doc, + nodes, + exclusive, + prefixes, + with_comments, + &doc_txt); + + if (nodes) { + xmlFree(nodes->nodeTab); + xmlFree(nodes); + } + if (prefixes) { + xmlChar ** idx = prefixes; + while (*idx) xmlFree(*(idx++)); + xmlFree(prefixes); + } + + if (result < 0) { + PyErr_SetString(PyExc_Exception, + "libxml2 xmlC14NDocDumpMemory failure."); + return NULL; + } + else { + py_retval = PY_IMPORT_STRING_SIZE((const char *) doc_txt, + result); + xmlFree(doc_txt); + return py_retval; + } +} + +static PyObject * +libxml_C14NDocSaveTo(ATTRIBUTE_UNUSED PyObject * self, + PyObject * args) +{ + PyObject *pyobj_doc; + PyObject *py_file; + PyObject *pyobj_nodes; + int exclusive; + PyObject *pyobj_prefixes; + int with_comments; + + xmlDocPtr doc; + xmlNodeSetPtr nodes; + xmlChar **prefixes = NULL; + FILE * output; + xmlOutputBufferPtr buf; + + int result; + int len; + + if (!PyArg_ParseTuple(args, "OOiOiO:C14NDocSaveTo", + &pyobj_doc, + &pyobj_nodes, + &exclusive, + &pyobj_prefixes, + &with_comments, + &py_file)) + return (NULL); + + doc = (xmlDocPtr) PyxmlNode_Get(pyobj_doc); + if (!doc) { + PyErr_SetString(PyExc_TypeError, "bad document."); + return NULL; + } + + output = PyFile_Get(py_file); + if (output == NULL) { + PyErr_SetString(PyExc_TypeError, "bad file."); + return NULL; + } + buf = xmlOutputBufferCreateFile(output, NULL); + + result = PyxmlNodeSet_Convert(pyobj_nodes, &nodes); + if (result < 0) { + xmlOutputBufferClose(buf); + return NULL; + } + + if (exclusive) { + result = PystringSet_Convert(pyobj_prefixes, &prefixes); + if (result < 0) { + if (nodes) { + xmlFree(nodes->nodeTab); + xmlFree(nodes); + } + xmlOutputBufferClose(buf); + return NULL; + } + } + + result = xmlC14NDocSaveTo(doc, + nodes, + exclusive, + prefixes, + with_comments, + buf); + + if (nodes) { + xmlFree(nodes->nodeTab); + xmlFree(nodes); + } + if (prefixes) { + xmlChar ** idx = prefixes; + while (*idx) xmlFree(*(idx++)); + xmlFree(prefixes); + } + + PyFile_Release(output); + len = xmlOutputBufferClose(buf); + + if (result < 0) { + PyErr_SetString(PyExc_Exception, + "libxml2 xmlC14NDocSaveTo failure."); + return NULL; + } + else + return PyLong_FromLong((long) len); +} + +#endif +#endif + +static PyObject * +libxml_getObjDesc(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) { + + PyObject *obj; + char *str; + + if (!PyArg_ParseTuple(args, "O:getObjDesc", &obj)) + return NULL; + str = PyCapsule_GetPointer(obj, PyCapsule_GetName(obj)); + return Py_BuildValue("s", str); +} + +static PyObject * +libxml_compareNodesEqual(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) { + + PyObject *py_node1, *py_node2; + xmlNodePtr node1, node2; + + if (!PyArg_ParseTuple(args, "OO:compareNodesEqual", + &py_node1, &py_node2)) + return NULL; + /* To compare two node objects, we compare their pointer addresses */ + node1 = PyxmlNode_Get(py_node1); + node2 = PyxmlNode_Get(py_node2); + if ( node1 == node2 ) + return Py_BuildValue("i", 1); + else + return Py_BuildValue("i", 0); + +} + +static PyObject * +libxml_nodeHash(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) { + + PyObject *py_node1; + xmlNodePtr node1; + + if (!PyArg_ParseTuple(args, "O:nodeHash", &py_node1)) + return NULL; + /* For simplicity, we use the node pointer address as a hash value */ + node1 = PyxmlNode_Get(py_node1); + + return PyLong_FromVoidPtr(node1); + +} + +/************************************************************************ + * * + * Deprecation warnings * + * * + ************************************************************************/ + +int +libxml_deprecationWarning(const char *func) { +#if PY_VERSION_HEX >= 0x03020000 + return PyErr_WarnFormat(PyExc_PendingDeprecationWarning, 1, + "libxml2mod.%s is deprecated and will be removed " + "in future versions", func); +#else + return PyErr_WarnEx(PyExc_PendingDeprecationWarning, func, 1); +#endif +} + +/************************************************************************ + * * + * The registration stuff * + * * + ************************************************************************/ +static PyMethodDef libxmlMethods[] = { +#include "libxml2-export.c" + {"name", libxml_name, METH_VARARGS, NULL}, + {"children", libxml_children, METH_VARARGS, NULL}, + {"properties", libxml_properties, METH_VARARGS, NULL}, + {"last", libxml_last, METH_VARARGS, NULL}, + {"prev", libxml_prev, METH_VARARGS, NULL}, + {"next", libxml_next, METH_VARARGS, NULL}, + {"parent", libxml_parent, METH_VARARGS, NULL}, + {"type", libxml_type, METH_VARARGS, NULL}, + {"doc", libxml_doc, METH_VARARGS, NULL}, + {"xmlNewNode", libxml_xmlNewNode, METH_VARARGS, NULL}, + {"xmlNodeRemoveNsDef", libxml_xmlNodeRemoveNsDef, METH_VARARGS, NULL}, +#ifdef LIBXML_VALID_ENABLED + {"xmlSetValidErrors", libxml_xmlSetValidErrors, METH_VARARGS, NULL}, + {"xmlFreeValidCtxt", libxml_xmlFreeValidCtxt, METH_VARARGS, NULL}, +#endif /* LIBXML_VALID_ENABLED */ +#ifdef LIBXML_OUTPUT_ENABLED + {"serializeNode", libxml_serializeNode, METH_VARARGS, NULL}, + {"saveNodeTo", libxml_saveNodeTo, METH_VARARGS, NULL}, + {"outputBufferCreate", libxml_xmlCreateOutputBuffer, METH_VARARGS, NULL}, + {"outputBufferGetPythonFile", libxml_outputBufferGetPythonFile, METH_VARARGS, NULL}, + {"xmlOutputBufferClose", libxml_xmlOutputBufferClose, METH_VARARGS, NULL}, + {"xmlOutputBufferFlush", libxml_xmlOutputBufferFlush, METH_VARARGS, NULL }, + {"xmlSaveFileTo", libxml_xmlSaveFileTo, METH_VARARGS, NULL }, + {"xmlSaveFormatFileTo", libxml_xmlSaveFormatFileTo, METH_VARARGS, NULL }, +#endif /* LIBXML_OUTPUT_ENABLED */ + {"inputBufferCreate", libxml_xmlCreateInputBuffer, METH_VARARGS, NULL}, + {"setEntityLoader", libxml_xmlSetEntityLoader, METH_VARARGS, NULL}, + {"xmlRegisterErrorHandler", libxml_xmlRegisterErrorHandler, METH_VARARGS, NULL }, + {"xmlParserCtxtSetErrorHandler", libxml_xmlParserCtxtSetErrorHandler, METH_VARARGS, NULL }, + {"xmlParserCtxtGetErrorHandler", libxml_xmlParserCtxtGetErrorHandler, METH_VARARGS, NULL }, + {"xmlFreeParserCtxt", libxml_xmlFreeParserCtxt, METH_VARARGS, NULL }, +#ifdef LIBXML_READER_ENABLED + {"xmlTextReaderSetErrorHandler", libxml_xmlTextReaderSetErrorHandler, METH_VARARGS, NULL }, + {"xmlTextReaderGetErrorHandler", libxml_xmlTextReaderGetErrorHandler, METH_VARARGS, NULL }, + {"xmlFreeTextReader", libxml_xmlFreeTextReader, METH_VARARGS, NULL }, +#endif +#ifdef LIBXML_CATALOG_ENABLED + {"addLocalCatalog", libxml_addLocalCatalog, METH_VARARGS, NULL }, +#endif +#ifdef LIBXML_RELAXNG_ENABLED + {"xmlRelaxNGSetValidErrors", libxml_xmlRelaxNGSetValidErrors, METH_VARARGS, NULL}, + {"xmlRelaxNGFreeValidCtxt", libxml_xmlRelaxNGFreeValidCtxt, METH_VARARGS, NULL}, +#endif +#ifdef LIBXML_SCHEMAS_ENABLED + {"xmlSchemaSetValidErrors", libxml_xmlSchemaSetValidErrors, METH_VARARGS, NULL}, + {"xmlSchemaFreeValidCtxt", libxml_xmlSchemaFreeValidCtxt, METH_VARARGS, NULL}, +#endif +#ifdef LIBXML_C14N_ENABLED +#ifdef LIBXML_OUTPUT_ENABLED + {"xmlC14NDocDumpMemory", libxml_C14NDocDumpMemory, METH_VARARGS, NULL}, + {"xmlC14NDocSaveTo", libxml_C14NDocSaveTo, METH_VARARGS, NULL}, +#endif +#endif + {"getObjDesc", libxml_getObjDesc, METH_VARARGS, NULL}, + {"compareNodesEqual", libxml_compareNodesEqual, METH_VARARGS, NULL}, + {"nodeHash", libxml_nodeHash, METH_VARARGS, NULL}, + {"xmlRegisterInputCallback", libxml_xmlRegisterInputCallback, METH_VARARGS, NULL}, + {"xmlUnregisterInputCallback", libxml_xmlUnregisterInputCallback, METH_VARARGS, NULL}, + {NULL, NULL, 0, NULL} +}; + +#if PY_MAJOR_VERSION >= 3 +#define INITERROR return NULL + +static struct PyModuleDef moduledef = { + PyModuleDef_HEAD_INIT, + "libxml2mod", + NULL, + -1, + libxmlMethods, + NULL, + NULL, + NULL, + NULL +}; + +#else +#define INITERROR return + +#ifdef MERGED_MODULES +extern void initlibxsltmod(void); +#endif + +#endif + +#if PY_MAJOR_VERSION >= 3 +PyMODINIT_FUNC PyInit_libxml2mod(void) +#else +void initlibxml2mod(void) +#endif +{ + PyObject *module; + +#if PY_MAJOR_VERSION >= 3 + module = PyModule_Create(&moduledef); +#else + /* initialize the python extension module */ + module = Py_InitModule("libxml2mod", libxmlMethods); +#endif + if (module == NULL) + INITERROR; + + /* initialize libxml2 */ + xmlInitParser(); + /* TODO this probably need to be revamped for Python3 */ + libxml_xmlErrorInitialize(); + +#if PY_MAJOR_VERSION < 3 +#ifdef MERGED_MODULES + initlibxsltmod(); +#endif +#endif + +#if PY_MAJOR_VERSION >= 3 + return module; +#endif +} diff --git a/libxml2/python/libxml.py b/libxml2/python/libxml.py new file mode 100644 index 0000000..4dd8d1b --- /dev/null +++ b/libxml2/python/libxml.py @@ -0,0 +1,794 @@ +import libxml2mod +import types +import sys + +# The root of all libxml2 errors. +class libxmlError(Exception): pass + +# Type of the wrapper class for the C objects wrappers +def checkWrapper(obj): + try: + n = type(_obj).__name__ + if n != 'PyCObject' and n != 'PyCapsule': + return 1 + except: + return 0 + return 0 + +# +# id() is sometimes negative ... +# +def pos_id(o): + i = id(o) + if (i < 0): + return (sys.maxsize - i) + return i + +# +# Errors raised by the wrappers when some tree handling failed. +# +class treeError(libxmlError): + def __init__(self, msg): + self.msg = msg + def __str__(self): + return self.msg + +class parserError(libxmlError): + def __init__(self, msg): + self.msg = msg + def __str__(self): + return self.msg + +class uriError(libxmlError): + def __init__(self, msg): + self.msg = msg + def __str__(self): + return self.msg + +class xpathError(libxmlError): + def __init__(self, msg): + self.msg = msg + def __str__(self): + return self.msg + +class ioWrapper: + def __init__(self, _obj): + self.__io = _obj + self._o = None + + def io_close(self): + if self.__io == None: + return(-1) + self.__io.close() + self.__io = None + return(0) + + def io_flush(self): + if self.__io == None: + return(-1) + self.__io.flush() + return(0) + + def io_read(self, len = -1): + if self.__io == None: + return(-1) + try: + if len < 0: + ret = self.__io.read() + else: + ret = self.__io.read(len) + except Exception: + import sys + e = sys.exc_info()[1] + print("failed to read from Python:", type(e)) + print("on IO:", self.__io) + self.__io == None + return(-1) + + return(ret) + + def io_write(self, str, len = -1): + if self.__io == None: + return(-1) + if len < 0: + return(self.__io.write(str)) + return(self.__io.write(str, len)) + +class ioReadWrapper(ioWrapper): + def __init__(self, _obj, enc = ""): + ioWrapper.__init__(self, _obj) + self._o = libxml2mod.xmlCreateInputBuffer(self, enc) + + def __del__(self): + print("__del__") + self.io_close() + if self._o != None: + libxml2mod.xmlFreeParserInputBuffer(self._o) + self._o = None + + def close(self): + self.io_close() + if self._o != None: + libxml2mod.xmlFreeParserInputBuffer(self._o) + self._o = None + +class ioWriteWrapper(ioWrapper): + def __init__(self, _obj, enc = ""): +# print "ioWriteWrapper.__init__", _obj + if type(_obj) == type(''): + print("write io from a string") + self.o = None + elif type(_obj).__name__ == 'PyCapsule': + file = libxml2mod.outputBufferGetPythonFile(_obj) + if file != None: + ioWrapper.__init__(self, file) + else: + ioWrapper.__init__(self, _obj) + self._o = _obj +# elif type(_obj) == types.InstanceType: +# print(("write io from instance of %s" % (_obj.__class__))) +# ioWrapper.__init__(self, _obj) +# self._o = libxml2mod.xmlCreateOutputBuffer(self, enc) + else: + file = libxml2mod.outputBufferGetPythonFile(_obj) + if file != None: + ioWrapper.__init__(self, file) + else: + ioWrapper.__init__(self, _obj) + self._o = _obj + + def __del__(self): +# print "__del__" + self.io_close() + if self._o != None: + libxml2mod.xmlOutputBufferClose(self._o) + self._o = None + + def flush(self): + self.io_flush() + if self._o != None: + libxml2mod.xmlOutputBufferClose(self._o) + self._o = None + + def close(self): + self.io_flush() + if self._o != None: + libxml2mod.xmlOutputBufferClose(self._o) + self._o = None + +# +# Example of a class to handle SAX events +# +class SAXCallback: + """Base class for SAX handlers""" + def startDocument(self): + """called at the start of the document""" + pass + + def endDocument(self): + """called at the end of the document""" + pass + + def startElement(self, tag, attrs): + """called at the start of every element, tag is the name of + the element, attrs is a dictionary of the element's attributes""" + pass + + def endElement(self, tag): + """called at the start of every element, tag is the name of + the element""" + pass + + def characters(self, data): + """called when character data have been read, data is the string + containing the data, multiple consecutive characters() callback + are possible.""" + pass + + def cdataBlock(self, data): + """called when CDATA section have been read, data is the string + containing the data, multiple consecutive cdataBlock() callback + are possible.""" + pass + + def reference(self, name): + """called when an entity reference has been found""" + pass + + def ignorableWhitespace(self, data): + """called when potentially ignorable white spaces have been found""" + pass + + def processingInstruction(self, target, data): + """called when a PI has been found, target contains the PI name and + data is the associated data in the PI""" + pass + + def comment(self, content): + """called when a comment has been found, content contains the comment""" + pass + + def externalSubset(self, name, externalID, systemID): + """called when a DOCTYPE declaration has been found, name is the + DTD name and externalID, systemID are the DTD public and system + identifier for that DTd if available""" + pass + + def internalSubset(self, name, externalID, systemID): + """called when a DOCTYPE declaration has been found, name is the + DTD name and externalID, systemID are the DTD public and system + identifier for that DTD if available""" + pass + + def entityDecl(self, name, type, externalID, systemID, content): + """called when an ENTITY declaration has been found, name is the + entity name and externalID, systemID are the entity public and + system identifier for that entity if available, type indicates + the entity type, and content reports it's string content""" + pass + + def notationDecl(self, name, externalID, systemID): + """called when an NOTATION declaration has been found, name is the + notation name and externalID, systemID are the notation public and + system identifier for that notation if available""" + pass + + def attributeDecl(self, elem, name, type, defi, defaultValue, nameList): + """called when an ATTRIBUTE definition has been found""" + pass + + def elementDecl(self, name, type, content): + """called when an ELEMENT definition has been found""" + pass + + def entityDecl(self, name, publicId, systemID, notationName): + """called when an unparsed ENTITY declaration has been found, + name is the entity name and publicId,, systemID are the entity + public and system identifier for that entity if available, + and notationName indicate the associated NOTATION""" + pass + + def warning(self, msg): + #print msg + pass + + def error(self, msg): + raise parserError(msg) + + def fatalError(self, msg): + raise parserError(msg) + +# +# This class is the ancestor of all the Node classes. It provides +# the basic functionalities shared by all nodes (and handle +# gracefylly the exception), like name, navigation in the tree, +# doc reference, content access and serializing to a string or URI +# +class xmlCore: + def __init__(self, _obj=None): + if _obj != None: + self._o = _obj; + return + self._o = None + + def __eq__(self, other): + if other == None: + return False + ret = libxml2mod.compareNodesEqual(self._o, other._o) + if ret == None: + return False + return ret == True + def __ne__(self, other): + if other == None: + return True + ret = libxml2mod.compareNodesEqual(self._o, other._o) + return not ret + def __hash__(self): + ret = libxml2mod.nodeHash(self._o) + return ret + + def __str__(self): + return self.serialize() + def get_parent(self): + ret = libxml2mod.parent(self._o) + if ret == None: + return None + return nodeWrap(ret) + def get_children(self): + ret = libxml2mod.children(self._o) + if ret == None: + return None + return nodeWrap(ret) + def get_last(self): + ret = libxml2mod.last(self._o) + if ret == None: + return None + return nodeWrap(ret) + def get_next(self): + ret = libxml2mod.next(self._o) + if ret == None: + return None + return nodeWrap(ret) + def get_properties(self): + ret = libxml2mod.properties(self._o) + if ret == None: + return None + return xmlAttr(_obj=ret) + def get_prev(self): + ret = libxml2mod.prev(self._o) + if ret == None: + return None + return nodeWrap(ret) + def get_content(self): + return libxml2mod.xmlNodeGetContent(self._o) + getContent = get_content # why is this duplicate naming needed ? + def get_name(self): + return libxml2mod.name(self._o) + def get_type(self): + return libxml2mod.type(self._o) + def get_doc(self): + ret = libxml2mod.doc(self._o) + if ret == None: + if self.type in ["document_xml", "document_html"]: + return xmlDoc(_obj=self._o) + else: + return None + return xmlDoc(_obj=ret) + # + # Those are common attributes to nearly all type of nodes + # defined as python2 properties + # + import sys + if float(sys.version[0:3]) < 2.2: + def __getattr__(self, attr): + if attr == "parent": + ret = libxml2mod.parent(self._o) + if ret == None: + return None + return nodeWrap(ret) + elif attr == "properties": + ret = libxml2mod.properties(self._o) + if ret == None: + return None + return xmlAttr(_obj=ret) + elif attr == "children": + ret = libxml2mod.children(self._o) + if ret == None: + return None + return nodeWrap(ret) + elif attr == "last": + ret = libxml2mod.last(self._o) + if ret == None: + return None + return nodeWrap(ret) + elif attr == "next": + ret = libxml2mod.next(self._o) + if ret == None: + return None + return nodeWrap(ret) + elif attr == "prev": + ret = libxml2mod.prev(self._o) + if ret == None: + return None + return nodeWrap(ret) + elif attr == "content": + return libxml2mod.xmlNodeGetContent(self._o) + elif attr == "name": + return libxml2mod.name(self._o) + elif attr == "type": + return libxml2mod.type(self._o) + elif attr == "doc": + ret = libxml2mod.doc(self._o) + if ret == None: + if self.type == "document_xml" or self.type == "document_html": + return xmlDoc(_obj=self._o) + else: + return None + return xmlDoc(_obj=ret) + raise AttributeError(attr) + else: + parent = property(get_parent, None, None, "Parent node") + children = property(get_children, None, None, "First child node") + last = property(get_last, None, None, "Last sibling node") + next = property(get_next, None, None, "Next sibling node") + prev = property(get_prev, None, None, "Previous sibling node") + properties = property(get_properties, None, None, "List of properties") + content = property(get_content, None, None, "Content of this node") + name = property(get_name, None, None, "Node name") + type = property(get_type, None, None, "Node type") + doc = property(get_doc, None, None, "The document this node belongs to") + + # + # Serialization routines, the optional arguments have the following + # meaning: + # encoding: string to ask saving in a specific encoding + # indent: if 1 the serializer is asked to indent the output + # + def serialize(self, encoding = None, format = 0): + return libxml2mod.serializeNode(self._o, encoding, format) + def saveTo(self, file, encoding = None, format = 0): + return libxml2mod.saveNodeTo(self._o, file, encoding, format) + + # + # Canonicalization routines: + # + # nodes: the node set (tuple or list) to be included in the + # canonized image or None if all document nodes should be + # included. + # exclusive: the exclusive flag (0 - non-exclusive + # canonicalization; otherwise - exclusive canonicalization) + # prefixes: the list of inclusive namespace prefixes (strings), + # or None if there is no inclusive namespaces (only for + # exclusive canonicalization, ignored otherwise) + # with_comments: include comments in the result (!=0) or not + # (==0) + def c14nMemory(self, + nodes=None, + exclusive=0, + prefixes=None, + with_comments=0): + if nodes: + nodes = [n._o for n in nodes] + return libxml2mod.xmlC14NDocDumpMemory( + self.get_doc()._o, + nodes, + exclusive != 0, + prefixes, + with_comments != 0) + def c14nSaveTo(self, + file, + nodes=None, + exclusive=0, + prefixes=None, + with_comments=0): + if nodes: + nodes = [n._o for n in nodes] + return libxml2mod.xmlC14NDocSaveTo( + self.get_doc()._o, + nodes, + exclusive != 0, + prefixes, + with_comments != 0, + file) + + # + # Selecting nodes using XPath, a bit slow because the context + # is allocated/freed every time but convenient. + # + def xpathEval(self, expr): + doc = self.doc + if doc == None: + return None + ctxt = doc.xpathNewContext() + ctxt.setContextNode(self) + res = ctxt.xpathEval(expr) + ctxt.xpathFreeContext() + return res + +# # +# # Selecting nodes using XPath, faster because the context +# # is allocated just once per xmlDoc. +# # +# # Removed: DV memleaks c.f. #126735 +# # +# def xpathEval2(self, expr): +# doc = self.doc +# if doc == None: +# return None +# try: +# doc._ctxt.setContextNode(self) +# except: +# doc._ctxt = doc.xpathNewContext() +# doc._ctxt.setContextNode(self) +# res = doc._ctxt.xpathEval(expr) +# return res + def xpathEval2(self, expr): + return self.xpathEval(expr) + + # Remove namespaces + def removeNsDef(self, href): + """ + Remove a namespace definition from a node. If href is None, + remove all of the ns definitions on that node. The removed + namespaces are returned as a linked list. + + Note: If any child nodes referred to the removed namespaces, + they will be left with dangling links. You should call + renconciliateNs() to fix those pointers. + + Note: This method does not free memory taken by the ns + definitions. You will need to free it manually with the + freeNsList() method on the returns xmlNs object. + """ + + ret = libxml2mod.xmlNodeRemoveNsDef(self._o, href) + if ret is None:return None + __tmp = xmlNs(_obj=ret) + return __tmp + + # support for python2 iterators + def walk_depth_first(self): + return xmlCoreDepthFirstItertor(self) + def walk_breadth_first(self): + return xmlCoreBreadthFirstItertor(self) + __iter__ = walk_depth_first + + def free(self): + try: + self.doc._ctxt.xpathFreeContext() + except: + pass + libxml2mod.xmlFreeDoc(self._o) + + +# +# implements the depth-first iterator for libxml2 DOM tree +# +class xmlCoreDepthFirstItertor: + def __init__(self, node): + self.node = node + self.parents = [] + def __iter__(self): + return self + def __next__(self): + while 1: + if self.node: + ret = self.node + self.parents.append(self.node) + self.node = self.node.children + return ret + try: + parent = self.parents.pop() + except IndexError: + raise StopIteration + self.node = parent.next + next = __next__ + +# +# implements the breadth-first iterator for libxml2 DOM tree +# +class xmlCoreBreadthFirstItertor: + def __init__(self, node): + self.node = node + self.parents = [] + def __iter__(self): + return self + def __next__(self): + while 1: + if self.node: + ret = self.node + self.parents.append(self.node) + self.node = self.node.next + return ret + try: + parent = self.parents.pop() + except IndexError: + raise StopIteration + self.node = parent.children + next = __next__ + +# +# converters to present a nicer view of the XPath returns +# +def nodeWrap(o): + # TODO try to cast to the most appropriate node class + name = libxml2mod.type(o) + if name == "element" or name == "text": + return xmlNode(_obj=o) + if name == "attribute": + return xmlAttr(_obj=o) + if name[0:8] == "document": + return xmlDoc(_obj=o) + if name == "namespace": + return xmlNs(_obj=o) + if name == "elem_decl": + return xmlElement(_obj=o) + if name == "attribute_decl": + return xmlAttribute(_obj=o) + if name == "entity_decl": + return xmlEntity(_obj=o) + if name == "dtd": + return xmlDtd(_obj=o) + return xmlNode(_obj=o) + +def xpathObjectRet(o): + otype = type(o) + if otype == type([]): + ret = list(map(xpathObjectRet, o)) + return ret + elif otype == type(()): + ret = list(map(xpathObjectRet, o)) + return tuple(ret) + elif otype == type('') or otype == type(0) or otype == type(0.0): + return o + else: + return nodeWrap(o) + +# +# register an XPath function +# +def registerXPathFunction(ctxt, name, ns_uri, f): + ret = libxml2mod.xmlRegisterXPathFunction(ctxt, name, ns_uri, f) + +# +# For the xmlTextReader parser configuration +# +PARSER_LOADDTD=1 +PARSER_DEFAULTATTRS=2 +PARSER_VALIDATE=3 +PARSER_SUBST_ENTITIES=4 + +# +# For the error callback severities +# +PARSER_SEVERITY_VALIDITY_WARNING=1 +PARSER_SEVERITY_VALIDITY_ERROR=2 +PARSER_SEVERITY_WARNING=3 +PARSER_SEVERITY_ERROR=4 + +# +# register the libxml2 error handler +# +def registerErrorHandler(f, ctx): + """Register a Python written function to for error reporting. + The function is called back as f(ctx, error). """ + import sys + if 'libxslt' not in sys.modules: + # normal behaviour when libxslt is not imported + ret = libxml2mod.xmlRegisterErrorHandler(f,ctx) + else: + # when libxslt is already imported, one must + # use libxst's error handler instead + import libxslt + ret = libxslt.registerErrorHandler(f,ctx) + return ret + +class parserCtxtCore: + + def __init__(self, _obj=None): + if _obj != None: + self._o = _obj; + return + self._o = None + + def __del__(self): + if self._o != None: + libxml2mod.xmlFreeParserCtxt(self._o) + self._o = None + + def setErrorHandler(self,f,arg): + """Register an error handler that will be called back as + f(arg,msg,severity,reserved). + + @reserved is currently always None.""" + libxml2mod.xmlParserCtxtSetErrorHandler(self._o,f,arg) + + def getErrorHandler(self): + """Return (f,arg) as previously registered with setErrorHandler + or (None,None).""" + return libxml2mod.xmlParserCtxtGetErrorHandler(self._o) + + def addLocalCatalog(self, uri): + """Register a local catalog with the parser""" + return libxml2mod.addLocalCatalog(self._o, uri) + + +class ValidCtxtCore: + + def __init__(self, *args, **kw): + pass + + def setValidityErrorHandler(self, err_func, warn_func, arg=None): + """ + Register error and warning handlers for DTD validation. + These will be called back as f(msg,arg) + """ + libxml2mod.xmlSetValidErrors(self._o, err_func, warn_func, arg) + + +class SchemaValidCtxtCore: + + def __init__(self, *args, **kw): + pass + + def setValidityErrorHandler(self, err_func, warn_func, arg=None): + """ + Register error and warning handlers for Schema validation. + These will be called back as f(msg,arg) + """ + libxml2mod.xmlSchemaSetValidErrors(self._o, err_func, warn_func, arg) + + +class relaxNgValidCtxtCore: + + def __init__(self, *args, **kw): + pass + + def setValidityErrorHandler(self, err_func, warn_func, arg=None): + """ + Register error and warning handlers for RelaxNG validation. + These will be called back as f(msg,arg) + """ + libxml2mod.xmlRelaxNGSetValidErrors(self._o, err_func, warn_func, arg) + + +def _xmlTextReaderErrorFunc(xxx_todo_changeme,msg,severity,locator): + """Intermediate callback to wrap the locator""" + (f,arg) = xxx_todo_changeme + return f(arg,msg,severity,xmlTextReaderLocator(locator)) + +class xmlTextReaderCore: + + def __init__(self, _obj=None): + self.input = None + if _obj != None:self._o = _obj;return + self._o = None + + def __del__(self): + if self._o != None: + libxml2mod.xmlFreeTextReader(self._o) + self._o = None + + def SetErrorHandler(self,f,arg): + """Register an error handler that will be called back as + f(arg,msg,severity,locator).""" + if f is None: + libxml2mod.xmlTextReaderSetErrorHandler(\ + self._o,None,None) + else: + libxml2mod.xmlTextReaderSetErrorHandler(\ + self._o,_xmlTextReaderErrorFunc,(f,arg)) + + def GetErrorHandler(self): + """Return (f,arg) as previously registered with setErrorHandler + or (None,None).""" + f,arg = libxml2mod.xmlTextReaderGetErrorHandler(self._o) + if f is None: + return None,None + else: + # assert f is _xmlTextReaderErrorFunc + return arg + +# +# The cleanup now goes though a wrapper in libxml.c +# +def cleanupParser(): + libxml2mod.xmlPythonCleanupParser() + +# +# The interface to xmlRegisterInputCallbacks. +# Since this API does not allow to pass a data object along with +# match/open callbacks, it is necessary to maintain a list of all +# Python callbacks. +# +__input_callbacks = [] +def registerInputCallback(func): + def findOpenCallback(URI): + for cb in reversed(__input_callbacks): + o = cb(URI) + if o is not None: + return o + libxml2mod.xmlRegisterInputCallback(findOpenCallback) + __input_callbacks.append(func) + +def popInputCallbacks(): + # First pop python-level callbacks, when no more available - start + # popping built-in ones. + if len(__input_callbacks) > 0: + __input_callbacks.pop() + if len(__input_callbacks) == 0: + libxml2mod.xmlUnregisterInputCallback() + +# +# Deprecated +# +def dumpMemory(): + """DEPRECATED: This feature was removed.""" + +# WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING +# +# Everything before this line comes from libxml.py +# Everything after this line is automatically generated +# +# WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING + diff --git a/libxml2/python/libxml_wrap.h b/libxml2/python/libxml_wrap.h new file mode 100644 index 0000000..eb513fc --- /dev/null +++ b/libxml2/python/libxml_wrap.h @@ -0,0 +1,317 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#ifdef LIBXML_RELAXNG_ENABLED +#include +#endif +#ifdef LIBXML_SCHEMAS_ENABLED +#include +#endif + +/* + * for older versions of Python, we don't use PyBytes, but keep PyString + * and don't use Capsule but CObjects + */ +#if PY_VERSION_HEX < 0x02070000 +#ifndef PyBytes_Check +#define PyBytes_Check PyString_Check +#define PyBytes_Size PyString_Size +#define PyBytes_AsString PyString_AsString +#define PyBytes_AS_STRING PyString_AS_STRING +#define PyBytes_GET_SIZE PyString_GET_SIZE +#endif +#ifndef PyCapsule_New +#define PyCapsule_New PyCObject_FromVoidPtrAndDesc +#define PyCapsule_CheckExact PyCObject_Check +#define PyCapsule_GetPointer(o, n) PyCObject_GetDesc((o)) +#endif +#endif + +/** + * ATTRIBUTE_UNUSED: + * + * Macro used to signal to GCC unused function parameters + * Repeated here since the definition is not available when + * compiled outside the libxml2 build tree. + */ +#if defined(__GNUC__) || defined(__clang__) +#ifdef ATTRIBUTE_UNUSED +#undef ATTRIBUTE_UNUSED +#endif +#ifndef ATTRIBUTE_UNUSED +#define ATTRIBUTE_UNUSED __attribute__ ((__unused__)) +#endif /* ATTRIBUTE_UNUSED */ +#else +#define ATTRIBUTE_UNUSED +#endif + +/* + * Macros to ignore deprecation warnings + */ +#if defined(__LCC__) + #define XML_IGNORE_DEPRECATION_WARNINGS _Pragma("diag_suppress 1215") + #define XML_POP_WARNINGS _Pragma("diag_default 1215") +#elif defined(__clang__) || \ + (defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ >= 406)) + #define XML_IGNORE_DEPRECATION_WARNINGS \ + _Pragma("GCC diagnostic push") \ + _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") + #define XML_POP_WARNINGS _Pragma("GCC diagnostic pop") +#elif defined (_MSC_VER) && (_MSC_VER >= 1400) + #define XML_IGNORE_DEPRECATION_WARNINGS \ + __pragma(warning(push)) \ + __pragma(warning(disable : 4996)) + #define XML_POP_WARNINGS __pragma(warning(pop)) +#else + #define XML_IGNORE_DEPRECATION_WARNINGS + #define XML_POP_WARNINGS +#endif + +#define PyxmlNode_Get(v) (((v) == Py_None) ? NULL : \ + (((PyxmlNode_Object *)(v))->obj)) + +typedef struct { + PyObject_HEAD + xmlNodePtr obj; +} PyxmlNode_Object; + +#ifdef LIBXML_XPATH_ENABLED +#define PyxmlXPathContext_Get(v) (((v) == Py_None) ? NULL : \ + (((PyxmlXPathContext_Object *)(v))->obj)) + +typedef struct { + PyObject_HEAD + xmlXPathContextPtr obj; +} PyxmlXPathContext_Object; + +#define PyxmlXPathParserContext_Get(v) (((v) == Py_None) ? NULL : \ + (((PyxmlXPathParserContext_Object *)(v))->obj)) + +typedef struct { + PyObject_HEAD + xmlXPathParserContextPtr obj; +} PyxmlXPathParserContext_Object; +#endif /* LIBXML_XPATH_ENABLED */ + +#define PyparserCtxt_Get(v) (((v) == Py_None) ? NULL : \ + (((PyparserCtxt_Object *)(v))->obj)) + +typedef struct { + PyObject_HEAD + xmlParserCtxtPtr obj; +} PyparserCtxt_Object; + +#define PyValidCtxt_Get(v) (((v) == Py_None) ? NULL : \ + (((PyValidCtxt_Object *)(v))->obj)) + +typedef struct { + PyObject_HEAD + xmlValidCtxtPtr obj; +} PyValidCtxt_Object; + +#ifdef LIBXML_CATALOG_ENABLED +#define Pycatalog_Get(v) (((v) == Py_None) ? NULL : \ + (((Pycatalog_Object *)(v))->obj)) + +typedef struct { + PyObject_HEAD + xmlCatalogPtr obj; +} Pycatalog_Object; +#endif /* LIBXML_CATALOG_ENABLED */ + +#ifdef LIBXML_REGEXP_ENABLED +#define PyxmlReg_Get(v) (((v) == Py_None) ? NULL : \ + (((PyxmlReg_Object *)(v))->obj)) + +typedef struct { + PyObject_HEAD + xmlRegexpPtr obj; +} PyxmlReg_Object; +#endif /* LIBXML_REGEXP_ENABLED */ + +#ifdef LIBXML_READER_ENABLED +#define PyxmlTextReader_Get(v) (((v) == Py_None) ? NULL : \ + (((PyxmlTextReader_Object *)(v))->obj)) + +typedef struct { + PyObject_HEAD + xmlTextReaderPtr obj; +} PyxmlTextReader_Object; + +#define PyxmlTextReaderLocator_Get(v) (((v) == Py_None) ? NULL : \ + (((PyxmlTextReaderLocator_Object *)(v))->obj)) + +typedef struct { + PyObject_HEAD + xmlTextReaderLocatorPtr obj; +} PyxmlTextReaderLocator_Object; +#endif + +#define PyURI_Get(v) (((v) == Py_None) ? NULL : \ + (((PyURI_Object *)(v))->obj)) + +typedef struct { + PyObject_HEAD + xmlErrorPtr obj; +} PyError_Object; + +#define PyError_Get(v) (((v) == Py_None) ? NULL : \ + (((PyError_Object *)(v))->obj)) + +typedef struct { + PyObject_HEAD + xmlOutputBufferPtr obj; +} PyoutputBuffer_Object; + +#define PyoutputBuffer_Get(v) (((v) == Py_None) ? NULL : \ + (((PyoutputBuffer_Object *)(v))->obj)) + +typedef struct { + PyObject_HEAD + xmlParserInputBufferPtr obj; +} PyinputBuffer_Object; + +#define PyinputBuffer_Get(v) (((v) == Py_None) ? NULL : \ + (((PyinputBuffer_Object *)(v))->obj)) + +typedef struct { + PyObject_HEAD + xmlURIPtr obj; +} PyURI_Object; + +/* FILE * have their own internal representation */ +#if PY_MAJOR_VERSION >= 3 +FILE *libxml_PyFileGet(PyObject *f); +void libxml_PyFileRelease(FILE *f); +#define PyFile_Get(v) (((v) == Py_None) ? NULL : libxml_PyFileGet(v)) +#define PyFile_Release(f) libxml_PyFileRelease(f) +#else +#define PyFile_Get(v) (((v) == Py_None) ? NULL : \ + (PyFile_Check(v) ? (PyFile_AsFile(v)) : stdout)) +#define PyFile_Release(f) +#endif + +#ifdef LIBXML_RELAXNG_ENABLED +typedef struct { + PyObject_HEAD + xmlRelaxNGPtr obj; +} PyrelaxNgSchema_Object; + +#define PyrelaxNgSchema_Get(v) (((v) == Py_None) ? NULL : \ + (((PyrelaxNgSchema_Object *)(v))->obj)) + +typedef struct { + PyObject_HEAD + xmlRelaxNGParserCtxtPtr obj; +} PyrelaxNgParserCtxt_Object; + +#define PyrelaxNgParserCtxt_Get(v) (((v) == Py_None) ? NULL : \ + (((PyrelaxNgParserCtxt_Object *)(v))->obj)) + +typedef struct { + PyObject_HEAD + xmlRelaxNGValidCtxtPtr obj; +} PyrelaxNgValidCtxt_Object; + +#define PyrelaxNgValidCtxt_Get(v) (((v) == Py_None) ? NULL : \ + (((PyrelaxNgValidCtxt_Object *)(v))->obj)) + +#endif /* LIBXML_RELAXNG_ENABLED */ + +#ifdef LIBXML_SCHEMAS_ENABLED +typedef struct { + PyObject_HEAD + xmlSchemaPtr obj; +} PySchema_Object; + +#define PySchema_Get(v) (((v) == Py_None) ? NULL : \ + (((PySchema_Object *)(v))->obj)) + +typedef struct { + PyObject_HEAD + xmlSchemaParserCtxtPtr obj; +} PySchemaParserCtxt_Object; + +#define PySchemaParserCtxt_Get(v) (((v) == Py_None) ? NULL : \ + (((PySchemaParserCtxt_Object *)(v))->obj)) + +typedef struct { + PyObject_HEAD + xmlSchemaValidCtxtPtr obj; +} PySchemaValidCtxt_Object; + +#define PySchemaValidCtxt_Get(v) (((v) == Py_None) ? NULL : \ + (((PySchemaValidCtxt_Object *)(v))->obj)) + +#endif /* LIBXML_SCHEMAS_ENABLED */ + +PyObject * libxml_intWrap(int val); +PyObject * libxml_longWrap(long val); +PyObject * libxml_xmlCharPtrWrap(xmlChar *str); +PyObject * libxml_constxmlCharPtrWrap(const xmlChar *str); +PyObject * libxml_charPtrWrap(char *str); +PyObject * libxml_constcharPtrWrap(const char *str); +PyObject * libxml_charPtrConstWrap(const char *str); +PyObject * libxml_xmlCharPtrConstWrap(const xmlChar *str); +PyObject * libxml_xmlDocPtrWrap(xmlDocPtr doc); +PyObject * libxml_xmlNodePtrWrap(xmlNodePtr node); +PyObject * libxml_xmlAttrPtrWrap(xmlAttrPtr attr); +PyObject * libxml_xmlNsPtrWrap(xmlNsPtr ns); +PyObject * libxml_xmlAttributePtrWrap(xmlAttributePtr ns); +PyObject * libxml_xmlElementPtrWrap(xmlElementPtr ns); +PyObject * libxml_doubleWrap(double val); +PyObject * libxml_xmlParserCtxtPtrWrap(xmlParserCtxtPtr ctxt); +#ifdef LIBXML_XPATH_ENABLED +PyObject * libxml_xmlXPathContextPtrWrap(xmlXPathContextPtr ctxt); +PyObject * libxml_xmlXPathParserContextPtrWrap(xmlXPathParserContextPtr ctxt); +PyObject * libxml_xmlXPathObjectPtrWrap(xmlXPathObjectPtr obj); +xmlXPathObjectPtr libxml_xmlXPathObjectPtrConvert(PyObject * obj); +#endif +PyObject * libxml_xmlValidCtxtPtrWrap(xmlValidCtxtPtr valid); +#ifdef LIBXML_CATALOG_ENABLED +PyObject * libxml_xmlCatalogPtrWrap(xmlCatalogPtr obj); +#endif +PyObject * libxml_xmlURIPtrWrap(xmlURIPtr uri); +PyObject * libxml_xmlOutputBufferPtrWrap(xmlOutputBufferPtr buffer); +PyObject * libxml_xmlParserInputBufferPtrWrap(xmlParserInputBufferPtr buffer); +#ifdef LIBXML_REGEXP_ENABLED +PyObject * libxml_xmlRegexpPtrWrap(xmlRegexpPtr regexp); +#endif /* LIBXML_REGEXP_ENABLED */ +#ifdef LIBXML_READER_ENABLED +PyObject * libxml_xmlTextReaderPtrWrap(xmlTextReaderPtr reader); +PyObject * libxml_xmlTextReaderLocatorPtrWrap(xmlTextReaderLocatorPtr locator); +#endif + +#ifdef LIBXML_RELAXNG_ENABLED +PyObject * libxml_xmlRelaxNGPtrWrap(xmlRelaxNGPtr ctxt); +PyObject * libxml_xmlRelaxNGParserCtxtPtrWrap(xmlRelaxNGParserCtxtPtr ctxt); +PyObject * libxml_xmlRelaxNGValidCtxtPtrWrap(xmlRelaxNGValidCtxtPtr valid); +#endif /* LIBXML_RELAXNG_ENABLED */ +#ifdef LIBXML_SCHEMAS_ENABLED +PyObject * libxml_xmlSchemaPtrWrap(xmlSchemaPtr ctxt); +PyObject * libxml_xmlSchemaParserCtxtPtrWrap(xmlSchemaParserCtxtPtr ctxt); +PyObject * libxml_xmlSchemaValidCtxtPtrWrap(xmlSchemaValidCtxtPtr valid); +#endif /* LIBXML_SCHEMAS_ENABLED */ +PyObject * libxml_xmlErrorPtrWrap(const xmlError *error); +PyObject * libxml_xmlSchemaSetValidErrors(PyObject * self, PyObject * args); +PyObject * libxml_xmlRegisterInputCallback(PyObject *self, PyObject *args); +PyObject * libxml_xmlUnregisterInputCallback(PyObject *self, PyObject *args); +PyObject * libxml_xmlNodeRemoveNsDef(PyObject * self, PyObject * args); + +int libxml_deprecationWarning(const char *func); diff --git a/libxml2/python/meson.build b/libxml2/python/meson.build new file mode 100644 index 0000000..0232b0d --- /dev/null +++ b/libxml2/python/meson.build @@ -0,0 +1,113 @@ + +pymod = import('python') +py = pymod.find_installation('python3', required: false) + +if py.found() == true + message('Installing python modules to', py.get_install_dir()) + + pygenerated = custom_target( + 'Python generated files', + input: doxygen_docs[1], + output: [ + 'libxml2-py.h', + 'libxml2-export.c', + 'libxml2-py.c', + 'libxml2.py', + ], + command: [ py, files('generator.py'), meson.current_build_dir() ], + install: true, + install_dir: [ false, false, false, py.get_install_dir() ], + ) + pygenerated_dep = declare_dependency( + sources : [pygenerated[0]], + ) + + libxml2mod_src = [ + files('libxml.c', 'types.c'), + pygenerated[2], + ] + + py.extension_module( + 'libxml2mod', + libxml2mod_src, + dependencies: [ + py.dependency(), + xml_dep, + pygenerated_dep, + ], + include_directories: [config_dir, '.'], + install: true, + ) + + py.install_sources(files('drv_libxml2.py')) + + setup_py = configuration_data() + setup_py.set('prefix', get_option('prefix')) + setup_py.set('LIBXML_VERSION', meson.project_version()) + setup_py.set('WITH_ICONV', want_iconv.to_int()) + setup_py.set('WITH_ICU', want_icu.to_int()) + setup_py.set('WITH_ZLIB', want_zlib.to_int()) + setup_py.set('WITH_THREADS', want_threads.to_int()) + configure_file( + input: 'setup.py.in', + output: 'setup.py', + configuration: setup_py, + ) + + python_tests = [ + 'attribs.py', + 'build.py', + 'compareNodes.py', + 'ctxterror.py', + 'cutnpaste.py', + 'dtdvalid.py', + 'error.py', + 'inbuf.py', + 'indexes.py', + 'input_callback.py', + 'nsdel.py', + 'outbuf.py', + 'push.py', + 'pushSAX.py', + 'pushSAXhtml.py', + 'reader.py', + 'reader2.py', + 'reader3.py', + 'reader4.py', + 'reader5.py', + 'reader6.py', + 'reader7.py', + 'reader8.py', + 'readererr.py', + 'readernext.py', + 'regexp.py', + 'relaxng.py', + 'resolver.py', + 'schema.py', + 'serialize.py', + 'sync.py', + 'thread2.py', + 'tst.py', + 'tstLastError.py', + 'tstURI.py', + 'tstmem.py', + 'tstxpath.py', + 'unicode.py', + 'validDTD.py', + 'validRNG.py', + 'validSchemas.py', + 'validate.py', + 'walker.py', + 'xpath.py', + 'xpathext.py', + 'xpathleak.py', + 'xpathns.py', + 'xpathret.py', + ] + + foreach file : python_tests + test(file, py, args: [ file ], + workdir: meson.current_source_dir() / 'tests', + env: { 'PYTHONPATH': meson.current_build_dir() }) + endforeach +endif diff --git a/libxml2/python/pyproject.toml b/libxml2/python/pyproject.toml new file mode 100644 index 0000000..fed528d --- /dev/null +++ b/libxml2/python/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["setuptools"] +build-backend = "setuptools.build_meta" diff --git a/libxml2/python/setup.py.in b/libxml2/python/setup.py.in new file mode 100644 index 0000000..4f356c4 --- /dev/null +++ b/libxml2/python/setup.py.in @@ -0,0 +1,255 @@ +#!/usr/bin/env python3 +# +# Setup script for libxml2 and libxslt if found +# +import sys, os + +try: + from setuptools import setup, Extension +except ImportError: + try: + # Using distutils, for python < 3.12 + from distutils.core import setup, Extension + except ImportError: + # distutils is not present in python 3.12 and greater + print("setuptools is required for python >= 3.12") + sys.exit(1) + +# Below ROOT, we expect to find include, include/libxml2, lib and bin. +# On *nix, it is not needed (but should not harm), +# on Windows, it is set by configure.js. +ROOT = r'@prefix@' + +# Thread-enabled libxml2 +with_threads = @WITH_THREADS@ + +# Features of libxml2 requiring external DLLs +with_iconv = @WITH_ICONV@ +with_zlib = @WITH_ZLIB@ +with_icu = @WITH_ICU@ + +icu_series = 69 + +if icu_series is not None: + icu_series_s = str(icu_series) +else: + icu_series_s = '' + +# If bundling DLLs, check the following to ensure things are correct +# (Check the value of `icu_series` above as well) +iconv_dll = 'iconv.dll' +zlib_dll = 'zlib1.dll' +icu_dlls = ['icuuc%s.dll' % icu_series_s, 'icudt%s.dll' % icu_series_s] + +# If this flag is set (windows only), +# a private copy of the dlls are included in the package. +# If this flag is not set, the libxml2 and libxslt +# dlls must be found somewhere in the PATH at runtime. +WITHDLLS = 1 and sys.platform.startswith('win') + +if WITHDLLS: + def altImport(s): + s = s.replace("import libxml2mod","from libxmlmods import libxml2mod") + return s + +def missing(file): + if os.access(file, os.R_OK) == 0: + return 1 + return 0 + +try: + HOME = os.environ['HOME'] +except: + HOME="C:" + +if sys.platform.startswith('win'): + libraryPrefix = 'lib' + platformLibs = [] +else: + libraryPrefix = '' + platformLibs = ["m","z"] + +# those are examined to find +# - libxml2/libxml/tree.h +# - libxslt/xsltconfig.h +includes_dir = [ +"/usr/include", +"/usr/local/include", +"/opt/include", +os.path.join(ROOT,'include'), +HOME +]; + +xml_includes="" +for dir in includes_dir: + if not missing(dir + "/libxml2/libxml/tree.h"): + xml_includes=dir + "/libxml2" + break; + +if xml_includes == "": + print("failed to find headers for libxml2: update includes_dir") + sys.exit(1) + +# those are added in the linker search path for libraries +libdirs = [ +os.path.join(ROOT,'lib'), +] + +xml_files = ["libxml.c", "libxml.py", "libxml_wrap.h", "types.c", + "xmlgenerator.py", "README", "TODO", "drv_libxml2.py"] + +xslt_files = ["libxslt-api.xml", "libxslt-python-api.xml", + "libxslt.c", "libxsl.py", "libxslt_wrap.h", + "xsltgenerator.py"] + +if missing("libxml2-py.c") or missing("libxml2.py"): + try: + try: + import xmlgenerator + except: + import generator + except: + print("failed to find and generate stubs for libxml2, aborting ...") + print(sys.exc_info()[0], sys.exc_info()[1]) + sys.exit(1) + +with_xslt=0 +if missing("libxslt-py.c") or missing("libxslt.py"): + if missing("xsltgenerator.py") or missing("libxslt-api.xml"): + print("libxslt stub generator not found, libxslt not built") + else: + try: + import xsltgenerator + except: + print("failed to generate stubs for libxslt, aborting ...") + print(sys.exc_info()[0], sys.exc_info()[1]) + else: + head = open("libxsl.py", "r") + generated = open("libxsltclass.py", "r") + result = open("libxslt.py", "w") + for line in head.readlines(): + if WITHDLLS: + result.write(altImport(line)) + else: + result.write(line) + for line in generated.readlines(): + result.write(line) + head.close() + generated.close() + result.close() + with_xslt=1 +else: + with_xslt=1 + +if with_xslt == 1: + xslt_includes="" + for dir in includes_dir: + if not missing(dir + "/libxslt/xsltconfig.h"): + xslt_includes=dir + "/libxslt" + break; + + if xslt_includes == "": + print("failed to find headers for libxslt: update includes_dir") + with_xslt = 0 + +if WITHDLLS: + # libxml dlls (expected in ROOT/bin) + dlls = [ 'libxml2.dll' ] + + if with_zlib == 1: + dlls.append(zlib_dll) + if with_iconv == 1: + dlls.append(iconv_dll) + if with_icu == 1: + dlls += icu_dlls + if with_xslt == 1: + dlls += ['libxslt.dll','libexslt.dll'] + + packaged_dlls = [os.path.join(ROOT,'bin',dll) for dll in dlls] + + # create __init__.py for the libxmlmods package + if not os.path.exists("libxmlmods"): + os.mkdir("libxmlmods") + open("libxmlmods/__init__.py","w").close() + + packaged_dlls = [os.path.join(ROOT,'bin',dll) for dll in dlls] + +descr = "libxml2 package" +modules = [ 'libxml2', 'drv_libxml2' ] +if WITHDLLS: + modules.append('libxmlmods.__init__') +c_files = ['libxml2-py.c', 'libxml.c', 'types.c' ] +includes= [xml_includes] +libs = [libraryPrefix + "xml2"] + platformLibs +macros = [] +if with_threads: + macros.append(('_REENTRANT','1')) +if with_xslt == 1: + descr = "libxml2 and libxslt package" + if not sys.platform.startswith('win'): + # + # We are gonna build 2 identical shared libs with merge initializing + # both libxml2mod and libxsltmod + # + c_files = c_files + ['libxslt-py.c', 'libxslt.c'] + xslt_c_files = c_files + macros.append(('MERGED_MODULES', '1')) + else: + # + # On windows the MERGED_MODULE option is not needed + # (and does not work) + # + xslt_c_files = ['libxslt-py.c', 'libxslt.c', 'types.c'] + libs.insert(0, libraryPrefix + 'exslt') + libs.insert(0, libraryPrefix + 'xslt') + includes.append(xslt_includes) + modules.append('libxslt') + + +extens=[Extension('libxml2mod', c_files, include_dirs=includes, + library_dirs=libdirs, + libraries=libs, define_macros=macros)] +if with_xslt == 1: + extens.append(Extension('libxsltmod', xslt_c_files, include_dirs=includes, + library_dirs=libdirs, + libraries=libs, define_macros=macros)) + +if missing("MANIFEST"): + + manifest = open("MANIFEST", "w") + manifest.write("setup.py\n") + for file in xml_files: + manifest.write(file + "\n") + if with_xslt == 1: + for file in xslt_files: + manifest.write(file + "\n") + manifest.close() + +if WITHDLLS: + ext_package = "libxmlmods" + if sys.version >= "2.2": + base = "lib/site-packages/" + else: + base = "" + data_files = [(base+"libxmlmods",packaged_dlls)] +else: + ext_package = None + data_files = [] + +setup (name = "libxml2-python", + # On *nix, the version number is created from setup.py.in + # On windows, it is set by configure.js + version = "@LIBXML_VERSION@", + description = descr, + author = "Daniel Veillard", + author_email = "veillard@redhat.com", + url = "https://gitlab.gnome.org/GNOME/libxml2", + license="MIT License", + py_modules=modules, + ext_modules=extens, + ext_package=ext_package, + data_files=data_files, + ) + +sys.exit(0) + diff --git a/libxml2/python/tests/Makefile.am b/libxml2/python/tests/Makefile.am new file mode 100644 index 0000000..83d5a0a --- /dev/null +++ b/libxml2/python/tests/Makefile.am @@ -0,0 +1,77 @@ +PYTESTS= \ + build.py \ + attribs.py \ + tst.py \ + tstxpath.py \ + xpathext.py \ + push.py \ + pushSAX.py \ + pushSAXhtml.py \ + error.py \ + serialize.py\ + validate.py \ + tstURI.py \ + cutnpaste.py\ + xpathret.py \ + xpath.py \ + outbuf.py \ + inbuf.py \ + input_callback.py \ + resolver.py \ + regexp.py \ + reader.py \ + reader2.py \ + reader3.py \ + reader4.py \ + reader5.py \ + reader6.py \ + reader7.py \ + reader8.py \ + readernext.py \ + walker.py \ + nsdel.py \ + ctxterror.py\ + readererr.py\ + relaxng.py \ + schema.py \ + thread2.py \ + sync.py \ + tstLastError.py \ + indexes.py \ + dtdvalid.py \ + tstmem.py \ + validDTD.py \ + validSchemas.py \ + validRNG.py \ + compareNodes.py \ + xpathns.py \ + xpathleak.py \ + unicode.py + +XMLS= \ + tst.xml \ + valid.xml \ + invalid.xml \ + test.dtd + +EXTRA_DIST = $(PYTESTS) $(XMLS) setup_test.py + +CLEANFILES = core tmp.xml *.pyc + +if WITH_PYTHON +check-local: + @for f in $(XMLS) ; do test -f $$f || $(LN_S) $(srcdir)/$$f . ; done + @echo "## running Python regression tests" + @(export PYTHONPATH="..:../.libs:$(srcdir)/..:$$PYTHONPATH" ; \ + export LD_LIBRARY_PATH="$(top_builddir)/.libs:$$LD_LIBRARY_PATH" ; \ + export DYLD_LIBRARY_PATH="$(top_builddir)/.libs:$$DYLD_LIBRARY_PATH" ; \ + export PATH="$(top_builddir)/.libs:$$PATH" ; \ + for test in $(PYTESTS) ; do \ + log=`$(PYTHON) $(srcdir)/$$test` ; \ + if [ "$$?" -ne 0 ] ; then \ + echo "-- $$test" ; \ + echo "$$log" ; \ + exit 1 ; \ + fi ; \ + done) +endif diff --git a/libxml2/python/tests/attribs.py b/libxml2/python/tests/attribs.py new file mode 100644 index 0000000..9ae3168 --- /dev/null +++ b/libxml2/python/tests/attribs.py @@ -0,0 +1,35 @@ +#!/usr/bin/env python3 +import sys +import setup_test +import libxml2 + +# Memory debug specific +libxml2.debugMemory(1) + +# +# Testing XML document serialization +# +doc = libxml2.readDoc( +""" + + + +]> + +""", None, None, libxml2.XML_PARSE_DTDATTR) +elem = doc.getRootElement() +attr = elem.hasNsProp('attr', 'http://abc.org') +print(attr.serialize()) +if attr == None: + print("Failed to find defaulted attribute abc:attr") + sys.exit(1) + +doc.freeDoc() + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) diff --git a/libxml2/python/tests/build.py b/libxml2/python/tests/build.py new file mode 100644 index 0000000..f786b0c --- /dev/null +++ b/libxml2/python/tests/build.py @@ -0,0 +1,59 @@ +#!/usr/bin/env python3 +import setup_test +import libxml2 +import sys + +# Memory debug specific +libxml2.debugMemory(1) + +doc = libxml2.newDoc("1.0") +comment = doc.newDocComment("This is a generated document") +doc.addChild(comment) +pi = libxml2.newPI("test", "PI content") +doc.addChild(pi) +root = doc.newChild(None, "doc", None) +ns = root.newNs("http://example.com/doc", "my") +root.setNs(ns) +elem = root.newChild(None, "foo", "bar") +elem.setBase("http://example.com/imgs") +elem.setProp("img", "image.gif") +doc.saveFile("tmp.xml") +doc.freeDoc() + +doc = libxml2.parseFile("tmp.xml") +comment = doc.children +if comment.type != "comment" or \ + comment.content != "This is a generated document": + print("error rereading comment") + sys.exit(1) +pi = comment.next +if pi.type != "pi" or pi.name != "test" or pi.content != "PI content": + print("error rereading PI") + sys.exit(1) +root = pi.next +if root.name != "doc": + print("error rereading root") + sys.exit(1) +ns = root.ns() +if ns.name != "my" or ns.content != "http://example.com/doc": + print("error rereading namespace") + sys.exit(1) +elem = root.children +if elem.name != "foo": + print("error rereading elem") + sys.exit(1) +if elem.getBase(None) != "http://example.com/imgs": + print("error rereading base") + sys.exit(1) +if elem.prop("img") != "image.gif": + print("error rereading property") + sys.exit(1) + +doc.freeDoc() + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) diff --git a/libxml2/python/tests/compareNodes.py b/libxml2/python/tests/compareNodes.py new file mode 100644 index 0000000..46779b8 --- /dev/null +++ b/libxml2/python/tests/compareNodes.py @@ -0,0 +1,50 @@ +#!/usr/bin/env python3 +import sys +import setup_test +import libxml2 + +# Memory debug specific +libxml2.debugMemory(1) + +# +# Testing XML Node comparison and Node hash-value +# +doc = libxml2.parseDoc("""""") +root = doc.getRootElement() + +# Create two different objects which point to foo +foonode1 = root.children +foonode2 = root.children + +# Now check that [in]equality tests work ok +if not ( foonode1 == foonode2 ): + print("Error comparing nodes with ==, nodes should be equal but are unequal") + sys.exit(1) +if not ( foonode1 != root ): + print("Error comparing nodes with ==, nodes should not be equal but are equal") + sys.exit(1) +if not ( foonode1 != root ): + print("Error comparing nodes with !=, nodes should not be equal but are equal") +if ( foonode1 != foonode2 ): + print("Error comparing nodes with !=, nodes should be equal but are unequal") + +# Next check that the hash function for the objects also works ok +if not (hash(foonode1) == hash(foonode2)): + print("Error hash values for two equal nodes are different") + sys.exit(1) +if not (hash(foonode1) != hash(root)): + print("Error hash values for two unequal nodes are not different") + sys.exit(1) +if hash(foonode1) == hash(root): + print("Error hash values for two unequal nodes are equal") + sys.exit(1) + +# Basic tests successful +doc.freeDoc() + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) diff --git a/libxml2/python/tests/ctxterror.py b/libxml2/python/tests/ctxterror.py new file mode 100644 index 0000000..7deaebb --- /dev/null +++ b/libxml2/python/tests/ctxterror.py @@ -0,0 +1,56 @@ +#!/usr/bin/env python3 +# +# This test exercise the redirection of error messages with a +# functions defined in Python. +# +import sys +import setup_test +import libxml2 + +# Memory debug specific +libxml2.debugMemory(1) + +expect="""--> (3) xmlns: URI foo is not absolute +--> (4) Opening and ending tag mismatch: x line 1 and y +""" + +err="" +def callback(arg,msg,severity,reserved): + global err + err = err + "%s (%d) %s" % (arg,severity,msg) + +s = """""" + +parserCtxt = libxml2.createPushParser(None,"",0,"test.xml") +parserCtxt.setErrorHandler(callback, "-->") +if parserCtxt.getErrorHandler() != (callback,"-->"): + print("getErrorHandler failed") + sys.exit(1) +parserCtxt.parseChunk(s,len(s),1) +doc = parserCtxt.doc() +doc.freeDoc() +parserCtxt = None + +if err != expect: + print("error") + print("received %s" %(err)) + print("expected %s" %(expect)) + sys.exit(1) + +i = 10000 +while i > 0: + parserCtxt = libxml2.createPushParser(None,"",0,"test.xml") + parserCtxt.setErrorHandler(callback, "-->") + parserCtxt.parseChunk(s,len(s),1) + doc = parserCtxt.doc() + doc.freeDoc() + parserCtxt = None + err = "" + i = i - 1 + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) diff --git a/libxml2/python/tests/cutnpaste.py b/libxml2/python/tests/cutnpaste.py new file mode 100644 index 0000000..4df0902 --- /dev/null +++ b/libxml2/python/tests/cutnpaste.py @@ -0,0 +1,48 @@ +#!/usr/bin/env python3 +import sys +import setup_test +import libxml2 + +# Memory debug specific +libxml2.debugMemory(1) + +# +# Testing XML document serialization +# +source = libxml2.parseDoc(""" + + + + + +""") + +target = libxml2.parseDoc(""" +""") + +fragment = source.xpathEval("//*[name()='fragment']")[0] +dest = target.getRootElement() + +# do a cut and paste operation +fragment.unlinkNode() +dest.addChild(fragment) +# do the namespace fixup +dest.reconciliateNs(target) + +# The source tree can be freed at that point +source.freeDoc() + +# check the resulting tree +str = dest.serialize() +if str != """""": + print("reconciliateNs() failed") + sys.exit(1) +target.freeDoc() + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) diff --git a/libxml2/python/tests/dtdvalid.py b/libxml2/python/tests/dtdvalid.py new file mode 100644 index 0000000..5bd4ef8 --- /dev/null +++ b/libxml2/python/tests/dtdvalid.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python3 +import setup_test +import libxml2 +import sys + +# Memory debug specific +libxml2.debugMemory(1) + +dtd="""""" +instance=""" +""" + +dtd = libxml2.parseDTD(None, 'test.dtd') +ctxt = libxml2.newValidCtxt() +doc = libxml2.parseDoc(instance) +ret = doc.validateDtd(ctxt, dtd) +if ret != 1: + print("error doing DTD validation") + sys.exit(1) + +doc.freeDoc() +dtd.freeDtd() +del dtd +del ctxt + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) + diff --git a/libxml2/python/tests/error.py b/libxml2/python/tests/error.py new file mode 100644 index 0000000..6668b72 --- /dev/null +++ b/libxml2/python/tests/error.py @@ -0,0 +1,51 @@ +#!/usr/bin/env python3 +# +# This test exercise the redirection of error messages with a +# functions defined in Python. +# +import sys +import setup_test +import libxml2 + +# Memory debug specific +libxml2.debugMemory(1) + +expect='--> I/O --> warning : --> failed to load "missing.xml": No such file or directory\n' +err="" +def callback(ctx, str): + global err + + err = err + "%s %s" % (ctx, str) + +got_exc = 0 +libxml2.registerErrorHandler(callback, "-->") +try: + doc = libxml2.parseFile("missing.xml") +except libxml2.parserError: + got_exc = 1 + +if got_exc == 0: + print("Failed to get a parser exception") + sys.exit(1) + +if err != expect: + print("error") + print("received %s" %(err)) + print("expected %s" %(expect)) + sys.exit(1) + +i = 10000 +while i > 0: + try: + doc = libxml2.parseFile("missing.xml") + except libxml2.parserError: + got_exc = 1 + err = "" + i = i - 1 + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) diff --git a/libxml2/python/tests/inbuf.py b/libxml2/python/tests/inbuf.py new file mode 100644 index 0000000..a80ae7d --- /dev/null +++ b/libxml2/python/tests/inbuf.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python3 +import sys +import setup_test +import libxml2 +try: + import StringIO + str_io = StringIO.StringIO +except: + import io + str_io = io.StringIO + +# Memory debug specific +libxml2.debugMemory(1) + +i = 0 +while i < 5000: + f = str_io("foobar") + buf = libxml2.inputBuffer(f) + i = i + 1 + +del f +del buf + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) + diff --git a/libxml2/python/tests/indexes.py b/libxml2/python/tests/indexes.py new file mode 100644 index 0000000..4673765 --- /dev/null +++ b/libxml2/python/tests/indexes.py @@ -0,0 +1,113 @@ +#!/usr/bin/env python3 +# -*- coding: ISO-8859-1 -*- +import sys +import setup_test +import libxml2 + +# Memory debug specific +libxml2.debugMemory(1) + +ctxt = None + +class callback: + def __init__(self, startd, starte, ende, delta, endd): + self.startd = startd + self.starte = starte + self.ende = ende + self.endd = endd + self.delta = delta + self.count = 0 + + def startDocument(self): + global ctxt + if ctxt.byteConsumed() != self.startd: + print("document start at wrong index: %d expecting %d\n" % ( + ctxt.byteConsumed(), self.startd)) + sys.exit(1) + + def endDocument(self): + global ctxt + expect = self.ende + self.delta * (self.count - 1) + self.endd + if ctxt.byteConsumed() != expect: + print("document end at wrong index: %d expecting %d\n" % ( + ctxt.byteConsumed(), expect)) + sys.exit(1) + + def startElement(self, tag, attrs): + global ctxt + if tag == "bar1": + expect = self.starte + self.delta * self.count + if ctxt.byteConsumed() != expect: + print("element start at wrong index: %d expecting %d\n" % ( + ctxt.byteConsumed(), expect)) + sys.exit(1) + + + def endElement(self, tag): + global ctxt + if tag == "bar1": + expect = self.ende + self.delta * self.count + if ctxt.byteConsumed() != expect: + print("element end at wrong index: %d expecting %d\n" % ( + ctxt.byteConsumed(), expect)) + sys.exit(1) + self.count = self.count + 1 + + def characters(self, data): + pass + +# +# First run a pure UTF-8 test +# +handler = callback(0, 13, 27, 198, 183) +ctxt = libxml2.createPushParser(handler, "\n", 6, "test.xml") +chunk = """ chars1 + chars2 + chars3 + chars4 + chars5 + <s6 + chars7 + &8 + chars9 +""" +i = 0 +while i < 10000: + ctxt.parseChunk(chunk, len(chunk), 0) + i = i + 1 +chunk = "" +ctxt.parseChunk(chunk, len(chunk), 1) +ctxt=None + +# +# Then run a test relying on ISO-Latin-1 +# +handler = callback(43, 57, 71, 198, 183) +chunk=""" + +""" +ctxt = libxml2.createPushParser(handler, chunk, len(chunk), "test.xml") +chunk = """ chars1 + chars2 + chars3 + chàrs4 + chars5 + <s6 + chars7 + &8 + très 9 +""" +i = 0 +while i < 10000: + ctxt.parseChunk(chunk, len(chunk), 0) + i = i + 1 +chunk = "" +ctxt.parseChunk(chunk, len(chunk), 1) +ctxt=None + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) diff --git a/libxml2/python/tests/input_callback.py b/libxml2/python/tests/input_callback.py new file mode 100644 index 0000000..c4c8e40 --- /dev/null +++ b/libxml2/python/tests/input_callback.py @@ -0,0 +1,149 @@ +#!/usr/bin/env python3 +# +# This tests custom input callbacks +# +import sys +import setup_test +import libxml2 +try: + import StringIO + str_io = StringIO.StringIO +except: + import io + str_io = io.StringIO + +# We implement a new scheme, py://strings/ that will reference this dictionary +pystrings = { + 'catalogs/catalog.xml' : +''' + + + +''', + + 'xml/sample.xml' : +''' + +&sample.entity;''', + + 'dtds/sample.dtd' : +''' + +''' +} + +prefix = "py://strings/" +startURL = prefix + "xml/sample.xml" +catURL = prefix + "catalogs/catalog.xml" + +def my_input_cb(URI): + if not(URI.startswith(prefix)): + return None + path = URI[len(prefix):] + if path not in pystrings: + return None + return str_io(pystrings[path]) + + +def run_test(desc, docpath, catalog, exp_status="verified", exp_err=[], test_callback=None, + root_name="root", root_content="replacement text"): + opts = libxml2.XML_PARSE_DTDLOAD | libxml2.XML_PARSE_NONET | libxml2.XML_PARSE_COMPACT + actual_err = [] + + def my_global_error_cb(ctx, msg): + actual_err.append((-1, msg)) + def my_ctx_error_cb(arg, msg, severity, reserved): + actual_err.append((severity, msg)) + + libxml2.registerErrorHandler(my_global_error_cb, None) + try: + parser = libxml2.createURLParserCtxt(docpath, opts) + parser.setErrorHandler(my_ctx_error_cb, None) + if catalog is not None: + parser.addLocalCatalog(catalog) + if test_callback is not None: + test_callback() + parser.parseDocument() + doc = parser.doc() + actual_status = "loaded" + e = doc.getRootElement() + if e.name == root_name and e.content == root_content: + actual_status = "verified" + doc.freeDoc() + except libxml2.parserError: + actual_status = "not loaded" + + if actual_status != exp_status: + print("Test '%s' failed: expect status '%s', actual '%s'" % (desc, exp_status, actual_status)) + sys.exit(1) + elif actual_err != exp_err: + print("Test '%s' failed" % desc) + print("Expect errors:") + for s,m in exp_err: print(" [%2d] '%s'" % (s,m)) + print("Actual errors:") + for s,m in actual_err: print(" [%2d] '%s'" % (s,m)) + sys.exit(1) + + +# Check that we cannot read custom schema without custom callback +run_test(desc="Loading entity without custom callback", + docpath=startURL, catalog=None, + exp_status="not loaded", exp_err=[ + (-1, "I/O "), + (-1, "warning : "), + (-1, "failed to load \"py://strings/xml/sample.xml\": No such file or directory\n") + ]) + +# Register handler and try to load the same entity +libxml2.registerInputCallback(my_input_cb) +run_test(desc="Loading entity with custom callback", + docpath=startURL, catalog=None, + exp_status="loaded", exp_err=[ + ( 4, 'failed to load "http://example.com/dtds/sample.dtd": Attempt to load network entity\n'), + ( 4, "Entity 'sample.entity' not defined\n") + ]) + +# Register a catalog (also accessible via pystr://) and retry +run_test(desc="Loading entity with custom callback and catalog", + docpath=startURL, catalog=catURL) + +# Unregister custom callback when parser is already created +run_test(desc="Loading entity and unregistering callback", + docpath=startURL, catalog=catURL, + test_callback=lambda: libxml2.popInputCallbacks(), + exp_status="loaded", exp_err=[ + ( 3, "failed to load \"py://strings/dtds/sample.dtd\": No such file or directory\n"), + ( 4, "Entity 'sample.entity' not defined\n") + ]) + +# Try to load the document again +run_test(desc="Retry loading document after unregistering callback", + docpath=startURL, catalog=catURL, + exp_status="not loaded", exp_err=[ + (-1, "I/O "), + (-1, "warning : "), + (-1, "failed to load \"py://strings/xml/sample.xml\": No such file or directory\n") + ]) + +# But should be able to read standard I/O yet... +run_test(desc="Loading using standard i/o after unregistering callback", + docpath="tst.xml", catalog=None, + root_name='doc', root_content='bar') + +# Now pop ALL input callbacks, should fail to load even standard I/O +try: + while True: + libxml2.popInputCallbacks() +except IndexError: + pass + +run_test(desc="Loading using standard i/o after unregistering all callbacks", + docpath="tst.xml", catalog=None, + exp_status="not loaded", exp_err=[ + (-1, "I/O "), + (-1, "warning : "), + (-1, "failed to load \"tst.xml\": No such file or directory\n") + ]) + +print("OK") +sys.exit(0); diff --git a/libxml2/python/tests/invalid.xml b/libxml2/python/tests/invalid.xml new file mode 100644 index 0000000..7c9b27e --- /dev/null +++ b/libxml2/python/tests/invalid.xml @@ -0,0 +1,6 @@ + + + +]> + diff --git a/libxml2/python/tests/nsdel.py b/libxml2/python/tests/nsdel.py new file mode 100644 index 0000000..8e1b291 --- /dev/null +++ b/libxml2/python/tests/nsdel.py @@ -0,0 +1,62 @@ +#!/usr/bin/env python3 +# +# this test exercise the XPath basic engine, parser, etc, and +# allows to detect memory leaks +# +import sys +import setup_test +import libxml2 + +instance=""" +""" + +def namespaceDefs(node): + n = node.nsDefs() + while n: + yield n + n = n.next + +def checkNamespaceDefs(node, count): + nsList = list(namespaceDefs(node)) + #print nsList + if len(nsList) != count : + raise Exception("Error: saw %d namespace declarations. Expected %d" % (len(nsList), count)) + +# Memory debug specific +libxml2.debugMemory(1) + +# Remove single namespace +doc = libxml2.parseDoc(instance) +node = doc.getRootElement() +checkNamespaceDefs(node, 3) +ns = node.removeNsDef('urn:bar') +checkNamespaceDefs(node, 2) +ns.freeNsList() +doc.freeDoc() + +# Remove all namespaces +doc = libxml2.parseDoc(instance) +node = doc.getRootElement() +checkNamespaceDefs(node, 3) +ns = node.removeNsDef(None) +checkNamespaceDefs(node, 0) +ns.freeNsList() +doc.freeDoc() + +# Remove a namespace referred to by a child +doc = libxml2.newDoc("1.0") +root = doc.newChild(None, "root", None) +namespace = root.newNs("http://example.com/sample", "s") +child = root.newChild(namespace, "child", None) +root.removeNsDef("http://example.com/sample") +doc.reconciliateNs(root) +namespace.freeNsList() +doc.serialize() # This should not segfault +doc.freeDoc() + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) diff --git a/libxml2/python/tests/outbuf.py b/libxml2/python/tests/outbuf.py new file mode 100644 index 0000000..6433565 --- /dev/null +++ b/libxml2/python/tests/outbuf.py @@ -0,0 +1,110 @@ +#!/usr/bin/env python3 +import sys +import setup_test +import libxml2 +try: + import StringIO + str_io = StringIO.StringIO +except: + import io + str_io = io.StringIO + +def testSimpleBufferWrites(): + f = str_io() + buf = libxml2.createOutputBuffer(f, "ISO-8859-1") + buf.write(3, "foo") + buf.writeString("bar") + buf.close() + + if f.getvalue() != "foobar": + print("Failed to save to StringIO") + sys.exit(1) + +def testSaveDocToBuffer(): + """ + Regression test for bug #154294. + """ + input = 'Hello' + expected = '''\ + +Hello +''' + f = str_io() + buf = libxml2.createOutputBuffer(f, 'UTF-8') + doc = libxml2.parseDoc(input) + doc.saveFileTo(buf, 'UTF-8') + doc.freeDoc() + if f.getvalue() != expected: + print('xmlDoc.saveFileTo() call failed.') + print(' got: %s' % repr(f.getvalue())) + print('expected: %s' % repr(expected)) + sys.exit(1) + +def testSaveFormattedDocToBuffer(): + input = 'Some text' + # The formatted and non-formatted versions of the output. + expected = ('''\ + +Some text +''', '''\ + + + Some text + + +''') + doc = libxml2.parseDoc(input) + for i in (0, 1): + f = str_io() + buf = libxml2.createOutputBuffer(f, 'UTF-8') + doc.saveFormatFileTo(buf, 'UTF-8', i) + if f.getvalue() != expected[i]: + print('xmlDoc.saveFormatFileTo() call failed.') + print(' got: %s' % repr(f.getvalue())) + print('expected: %s' % repr(expected[i])) + sys.exit(1) + doc.freeDoc() + +def testSaveIntoOutputBuffer(): + """ + Similar to the previous two tests, except this time we invoke the save + methods on the output buffer object and pass in an XML node object. + """ + input = 'Hello' + expected = '''\ + +Hello +''' + f = str_io() + doc = libxml2.parseDoc(input) + buf = libxml2.createOutputBuffer(f, 'UTF-8') + buf.saveFileTo(doc, 'UTF-8') + if f.getvalue() != expected: + print('outputBuffer.saveFileTo() call failed.') + print(' got: %s' % repr(f.getvalue())) + print('expected: %s' % repr(expected)) + sys.exit(1) + f = str_io() + buf = libxml2.createOutputBuffer(f, 'UTF-8') + buf.saveFormatFileTo(doc, 'UTF-8', 1) + if f.getvalue() != expected: + print('outputBuffer.saveFormatFileTo() call failed.') + print(' got: %s' % repr(f.getvalue())) + print('expected: %s' % repr(expected)) + sys.exit(1) + doc.freeDoc() + +if __name__ == '__main__': + # Memory debug specific + libxml2.debugMemory(1) + + testSimpleBufferWrites() + testSaveDocToBuffer() + testSaveFormattedDocToBuffer() + testSaveIntoOutputBuffer() + + libxml2.cleanupParser() + if libxml2.debugMemory(1) == 0: + print("OK") + else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) diff --git a/libxml2/python/tests/push.py b/libxml2/python/tests/push.py new file mode 100644 index 0000000..1078178 --- /dev/null +++ b/libxml2/python/tests/push.py @@ -0,0 +1,35 @@ +#!/usr/bin/env python3 +import sys +import setup_test +import libxml2 + +# Memory debug specific +libxml2.debugMemory(1) + +ctxt = libxml2.createPushParser(None, "", 2, 1) +doc = ctxt.doc() +ctxt=None +if doc.name != "test.xml": + print("document name error") + sys.exit(1) +root = doc.children +if root.name != "foo": + print("root element name error") + sys.exit(1) +doc.freeDoc() +i = 10000 +while i > 0: + ctxt = libxml2.createPushParser(None, "", 2, 1) + doc = ctxt.doc() + doc.freeDoc() + i = i -1 +ctxt=None + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) diff --git a/libxml2/python/tests/pushSAX.py b/libxml2/python/tests/pushSAX.py new file mode 100644 index 0000000..f30088d --- /dev/null +++ b/libxml2/python/tests/pushSAX.py @@ -0,0 +1,64 @@ +#!/usr/bin/env python3 +import sys +import setup_test +import libxml2 + +# Memory debug specific +libxml2.debugMemory(1) + +log = "" + +class callback: + def startDocument(self): + global log + log = log + "startDocument:" + + def endDocument(self): + global log + log = log + "endDocument:" + + def startElement(self, tag, attrs): + global log + log = log + "startElement %s %s:" % (tag, attrs) + + def endElement(self, tag): + global log + log = log + "endElement %s:" % (tag) + + def characters(self, data): + global log + log = log + "characters: %s:" % (data) + + def warning(self, msg): + global log + log = log + "warning: %s:" % (msg) + + def error(self, msg): + global log + log = log + "error: %s:" % (msg) + + def fatalError(self, msg): + global log + log = log + "fatalError: %s:" % (msg) + +handler = callback() + +ctxt = libxml2.createPushParser(handler, "content of c""") +input = libxml2.inputBuffer(f) +reader = input.newTextReader("test1") +ret = reader.Read() +if ret != 1: + print("test1: Error reading to first element") + sys.exit(1) +if reader.Name() != "a" or reader.IsEmptyElement() != 0 or \ + reader.NodeType() != 1 or reader.HasAttributes() != 0: + print("test1: Error reading the first element") + sys.exit(1) +ret = reader.Read() +if ret != 1: + print("test1: Error reading to second element") + sys.exit(1) +if reader.Name() != "b" or reader.IsEmptyElement() != 1 or \ + reader.NodeType() != 1 or reader.HasAttributes() != 1: + print("test1: Error reading the second element") + sys.exit(1) +ret = reader.Read() +if ret != 1: + print("test1: Error reading to third element") + sys.exit(1) +if reader.Name() != "c" or reader.IsEmptyElement() != 0 or \ + reader.NodeType() != 1 or reader.HasAttributes() != 0: + print("test1: Error reading the third element") + sys.exit(1) +ret = reader.Read() +if ret != 1: + print("test1: Error reading to text node") + sys.exit(1) +if reader.Name() != "#text" or reader.IsEmptyElement() != 0 or \ + reader.NodeType() != 3 or reader.HasAttributes() != 0 or \ + reader.Value() != "content of c": + print("test1: Error reading the text node") + sys.exit(1) +ret = reader.Read() +if ret != 1: + print("test1: Error reading to end of third element") + sys.exit(1) +if reader.Name() != "c" or reader.IsEmptyElement() != 0 or \ + reader.NodeType() != 15 or reader.HasAttributes() != 0: + print("test1: Error reading the end of third element") + sys.exit(1) +ret = reader.Read() +if ret != 1: + print("test1: Error reading to end of first element") + sys.exit(1) +if reader.Name() != "a" or reader.IsEmptyElement() != 0 or \ + reader.NodeType() != 15 or reader.HasAttributes() != 0: + print("test1: Error reading the end of first element") + sys.exit(1) +ret = reader.Read() +if ret != 0: + print("test1: Error reading to end of document") + sys.exit(1) + +# +# example from the XmlTextReader docs +# +f = str_io("""""") +input = libxml2.inputBuffer(f) +reader = input.newTextReader("test2") + +ret = reader.Read() +if ret != 1: + print("Error reading test element") + sys.exit(1) +if reader.GetAttributeNo(0) != "urn:datatypes" or \ + reader.GetAttributeNo(1) != "int" or \ + reader.GetAttributeNs("type", "urn:datatypes") != "int" or \ + reader.GetAttribute("dt:type") != "int": + print("error reading test attributes") + sys.exit(1) + +# +# example from the XmlTextReader docs +# +f = str_io(""" + + + +""") +input = libxml2.inputBuffer(f) +reader = input.newTextReader("test3") + +ret = reader.Read() +while ret == 1: + if reader.Name() == "ref": + if reader.LookupNamespace("a") != "urn:456": + print("error resolving namespace prefix") + sys.exit(1) + break + ret = reader.Read() +if ret != 1: + print("Error finding the ref element") + sys.exit(1) + +# +# Home made example for the various attribute access functions +# +f = str_io("""""") +input = libxml2.inputBuffer(f) +reader = input.newTextReader("test4") +ret = reader.Read() +if ret != 1: + print("Error reading the testattr element") + sys.exit(1) +# +# Attribute exploration by index +# +if reader.MoveToAttributeNo(0) != 1: + print("Failed moveToAttribute(0)") + sys.exit(1) +if reader.Value() != "urn:1": + print("Failed to read attribute(0)") + sys.exit(1) +if reader.Name() != "xmlns": + print("Failed to read attribute(0) name") + sys.exit(1) +if reader.MoveToAttributeNo(1) != 1: + print("Failed moveToAttribute(1)") + sys.exit(1) +if reader.Value() != "urn:2": + print("Failed to read attribute(1)") + sys.exit(1) +if reader.Name() != "xmlns:a": + print("Failed to read attribute(1) name") + sys.exit(1) +if reader.MoveToAttributeNo(2) != 1: + print("Failed moveToAttribute(2)") + sys.exit(1) +if reader.Value() != "b": + print("Failed to read attribute(2)") + sys.exit(1) +if reader.Name() != "b": + print("Failed to read attribute(2) name") + sys.exit(1) +if reader.MoveToAttributeNo(3) != 1: + print("Failed moveToAttribute(3)") + sys.exit(1) +if reader.Value() != "a:b": + print("Failed to read attribute(3)") + sys.exit(1) +if reader.Name() != "a:b": + print("Failed to read attribute(3) name") + sys.exit(1) +# +# Attribute exploration by name +# +if reader.MoveToAttribute("xmlns") != 1: + print("Failed moveToAttribute('xmlns')") + sys.exit(1) +if reader.Value() != "urn:1": + print("Failed to read attribute('xmlns')") + sys.exit(1) +if reader.MoveToAttribute("xmlns:a") != 1: + print("Failed moveToAttribute('xmlns')") + sys.exit(1) +if reader.Value() != "urn:2": + print("Failed to read attribute('xmlns:a')") + sys.exit(1) +if reader.MoveToAttribute("b") != 1: + print("Failed moveToAttribute('b')") + sys.exit(1) +if reader.Value() != "b": + print("Failed to read attribute('b')") + sys.exit(1) +if reader.MoveToAttribute("a:b") != 1: + print("Failed moveToAttribute('a:b')") + sys.exit(1) +if reader.Value() != "a:b": + print("Failed to read attribute('a:b')") + sys.exit(1) +if reader.MoveToAttributeNs("b", "urn:2") != 1: + print("Failed moveToAttribute('b', 'urn:2')") + sys.exit(1) +if reader.Value() != "a:b": + print("Failed to read attribute('b', 'urn:2')") + sys.exit(1) +# +# Go back and read in sequence +# +if reader.MoveToElement() != 1: + print("Failed to move back to element") + sys.exit(1) +if reader.MoveToFirstAttribute() != 1: + print("Failed to move to first attribute") + sys.exit(1) +if reader.Value() != "urn:1": + print("Failed to read attribute(0)") + sys.exit(1) +if reader.Name() != "xmlns": + print("Failed to read attribute(0) name") + sys.exit(1) +if reader.MoveToNextAttribute() != 1: + print("Failed to move to next attribute") + sys.exit(1) +if reader.Value() != "urn:2": + print("Failed to read attribute(1)") + sys.exit(1) +if reader.Name() != "xmlns:a": + print("Failed to read attribute(1) name") + sys.exit(1) +if reader.MoveToNextAttribute() != 1: + print("Failed to move to next attribute") + sys.exit(1) +if reader.Value() != "b": + print("Failed to read attribute(2)") + sys.exit(1) +if reader.Name() != "b": + print("Failed to read attribute(2) name") + sys.exit(1) +if reader.MoveToNextAttribute() != 1: + print("Failed to move to next attribute") + sys.exit(1) +if reader.Value() != "a:b": + print("Failed to read attribute(3)") + sys.exit(1) +if reader.Name() != "a:b": + print("Failed to read attribute(3) name") + sys.exit(1) +if reader.MoveToNextAttribute() != 0: + print("Failed to detect last attribute") + sys.exit(1) + + +# +# a couple of tests for namespace nodes +# +f = str_io("""""") +input = libxml2.inputBuffer(f) +reader = input.newTextReader("test6") +ret = reader.Read() +if ret != 1: + print("test6: failed to Read()") + sys.exit(1) +ret = reader.MoveToFirstAttribute() +if ret != 1: + print("test6: failed to MoveToFirstAttribute()") + sys.exit(1) +if reader.NamespaceUri() != "http://www.w3.org/2000/xmlns/" or \ + reader.LocalName() != "xmlns" or reader.Name() != "xmlns" or \ + reader.Value() != "http://example.com/foo" or reader.NodeType() != 2: + print("test6: failed to read the namespace node") + sys.exit(1) + +f = str_io("""""") +input = libxml2.inputBuffer(f) +reader = input.newTextReader("test7") +ret = reader.Read() +if ret != 1: + print("test7: failed to Read()") + sys.exit(1) +ret = reader.MoveToFirstAttribute() +if ret != 1: + print("test7: failed to MoveToFirstAttribute()") + sys.exit(1) +if reader.NamespaceUri() != "http://www.w3.org/2000/xmlns/" or \ + reader.LocalName() != "prefix" or reader.Name() != "xmlns:prefix" or \ + reader.Value() != "http://example.com/foo" or reader.NodeType() != 2: + print("test7: failed to read the namespace node") + sys.exit(1) + +# +# Test for a limit case: +# +f = str_io("""""") +input = libxml2.inputBuffer(f) +reader = input.newTextReader("test8") +ret = reader.Read() +if ret != 1: + print("test8: failed to read the node") + sys.exit(1) +if reader.Name() != "a" or reader.IsEmptyElement() != 1: + print("test8: failed to analyze the node") + sys.exit(1) +ret = reader.Read() +if ret != 0: + print("test8: failed to detect the EOF") + sys.exit(1) + +# +# Another test provided by Stéphane Bidoul and checked with C# +# +def tst_reader(s): + f = str_io(s) + input = libxml2.inputBuffer(f) + reader = input.newTextReader("tst") + res = "" + while reader.Read(): + res=res + "%s (%s) [%s] %d %d\n" % (reader.NodeType(),reader.Name(), + reader.Value(), reader.IsEmptyElement(), + reader.Depth()) + if reader.NodeType() == 1: # Element + while reader.MoveToNextAttribute(): + res = res + "-- %s (%s) [%s] %d %d\n" % (reader.NodeType(), + reader.Name(),reader.Value(), + reader.IsEmptyElement(), reader.Depth()) + return res + +doc="""content of c""" +expect="""1 (a) [None] 0 0 +1 (b) [None] 1 1 +-- 2 (b1) [b1] 0 2 +1 (c) [None] 0 1 +3 (#text) [content of c] 0 2 +15 (c) [None] 0 1 +15 (a) [None] 0 0 +""" +res = tst_reader(doc) +if res != expect: + print("test5 failed") + print(res) + sys.exit(1) + +doc="""""" +expect="""1 (test) [None] 0 0 +1 (b) [None] 1 1 +1 (c) [None] 1 1 +15 (test) [None] 0 0 +""" +res = tst_reader(doc) +if res != expect: + print("test9 failed") + print(res) + sys.exit(1) + +doc="""bbbccc""" +expect="""1 (a) [None] 0 0 +1 (b) [None] 0 1 +3 (#text) [bbb] 0 2 +15 (b) [None] 0 1 +1 (c) [None] 0 1 +3 (#text) [ccc] 0 2 +15 (c) [None] 0 1 +15 (a) [None] 0 0 +""" +res = tst_reader(doc) +if res != expect: + print("test10 failed") + print(res) + sys.exit(1) + +doc="""""" +expect="""1 (test) [None] 1 0 +-- 2 (a) [a] 0 1 +""" +res = tst_reader(doc) +if res != expect: + print("test11 failed") + print(res) + sys.exit(1) + +doc="""aaa""" +expect="""1 (test) [None] 0 0 +1 (a) [None] 0 1 +3 (#text) [aaa] 0 2 +15 (a) [None] 0 1 +1 (b) [None] 1 1 +15 (test) [None] 0 0 +""" +res = tst_reader(doc) +if res != expect: + print("test12 failed") + print(res) + sys.exit(1) + +doc="""

    """ +expect="""1 (test) [None] 0 0 +1 (p) [None] 0 1 +15 (p) [None] 0 1 +15 (test) [None] 0 0 +""" +res = tst_reader(doc) +if res != expect: + print("test13 failed") + print(res) + sys.exit(1) + +doc="""

    """ +expect="""1 (p) [None] 0 0 +15 (p) [None] 0 0 +""" +res = tst_reader(doc) +if res != expect: + print("test14 failed") + print(res) + sys.exit(1) + +# +# test from bug #108801 +# +doc=""" + + +
    +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +
    +""" +expect="""10 (article) [None] 0 0 +1 (article) [None] 0 0 +3 (#text) [ +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +] 0 1 +15 (article) [None] 0 0 +""" +res = tst_reader(doc) +if res != expect: + print("test15 failed") + print(res) + sys.exit(1) + +# +# cleanup for memory allocation counting +# +del f +del input +del reader + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) diff --git a/libxml2/python/tests/reader2.py b/libxml2/python/tests/reader2.py new file mode 100644 index 0000000..b5f493f --- /dev/null +++ b/libxml2/python/tests/reader2.py @@ -0,0 +1,337 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# +# this tests the DTD validation with the XmlTextReader interface +# +import sys +import glob +import os +import setup_test +import libxml2 +try: + import StringIO + str_io = StringIO.StringIO +except: + import io + str_io = io.StringIO + +# Memory debug specific +libxml2.debugMemory(1) + +err = "" +basedir = os.path.dirname(os.path.realpath(__file__)) +dir_prefix = os.path.realpath(os.path.join(basedir, "..", "..", "test", "valid")) + +# This dictionary reflects the contents of the files +# ../../test/valid/*.xml.err that are not empty, except that +# the file paths in the messages start with ../../test/ + +expect = { + '766956': +"""{0}/dtds/766956.dtd:2: parser error : PEReference: expecting ';' +%ä%ent; + ^ +{0}/dtds/766956.dtd:2: parser error : Content error in the external subset +%ä%ent; + ^ +Entity: line 1: +value +^ +""".format(dir_prefix), + '781333': +"""{0}/781333.xml:4: element a: validity error : Element a content does not follow the DTD, expecting ( ..., got + + ^ +{0}/781333.xml:5: element a: validity error : Element a content does not follow the DTD, Expecting more children + +^ +""".format(dir_prefix), + 'cond_sect2': +"""{0}/dtds/cond_sect2.dtd:15: parser error : Parameter entity must match extSubsetDecl + %ent; + ^ +Entity: line 1: +]]> +^ +{0}/dtds/cond_sect2.dtd:15: parser error : Content error in the external subset + %ent; + ^ +Entity: line 1: +]]> +^ +""".format(dir_prefix), + 'rss': +"""{0}/rss.xml:177: element rss: validity error : Element rss does not carry attribute version + + ^ +""".format(dir_prefix), + 't8': +"""{0}/t8.xml:6: parser error : Content error in the internal subset +%defroot; %defmiddle; %deftest; + ^ +Entity: line 1: +<!ELEMENT root (middle) > +^ +""".format(dir_prefix), + 't8a': +"""{0}/t8a.xml:6: parser error : Content error in the internal subset +%defroot;%defmiddle;%deftest; + ^ +Entity: line 1: +<!ELEMENT root (middle) > +^ +""".format(dir_prefix), + 'xlink': +"""{0}/xlink.xml:450: element termdef: validity error : ID dt-arc already defined +

    An + + + +xxx"> +]> + + &x; + bbb + +""" +expect="""10,test +1,test +14,#text +1,x +1,c +3,#text +15,c +15,x +14,#text +1,b +3,#text +15,b +14,#text +15,test +""" +res="" +err="" + +input = libxml2.inputBuffer(str_io(s)) +reader = input.newTextReader("test2") +reader.SetParserProp(libxml2.PARSER_LOADDTD,1) +reader.SetParserProp(libxml2.PARSER_DEFAULTATTRS,1) +reader.SetParserProp(libxml2.PARSER_SUBST_ENTITIES,1) +reader.SetParserProp(libxml2.PARSER_VALIDATE,1) +while reader.Read() == 1: + res = res + "%s,%s\n" % (reader.NodeType(),reader.Name()) + +if res != expect: + print("test2 failed: unexpected output") + print(res) + sys.exit(1) +if err != "": + print("test2 failed: validation error found") + print(err) + sys.exit(1) + +# +# Another test for external entity parsing and validation +# + +s = """ + + +]> + + &e; + +""" +tst_ent = """hello""" +expect="""10 test +1 test +14 #text +1 x +3 #text +15 x +14 #text +15 test +""" +res="" + +def myResolver(URL, ID, ctxt): + if URL == "tst.ent": + return(str_io(tst_ent)) + return None + +libxml2.setEntityLoader(myResolver) + +input = libxml2.inputBuffer(str_io(s)) +reader = input.newTextReader("test3") +reader.SetParserProp(libxml2.PARSER_LOADDTD,1) +reader.SetParserProp(libxml2.PARSER_DEFAULTATTRS,1) +reader.SetParserProp(libxml2.PARSER_SUBST_ENTITIES,1) +reader.SetParserProp(libxml2.PARSER_VALIDATE,1) +while reader.Read() == 1: + res = res + "%s %s\n" % (reader.NodeType(),reader.Name()) + +if res != expect: + print("test3 failed: unexpected output") + print(res) + sys.exit(1) +if err != "": + print("test3 failed: validation error found") + print(err) + sys.exit(1) + +# +# Another test for recursive entity parsing, validation, and replacement of +# entities, making sure the entity ref node doesn't show up in that case +# + +s = """ + + +&y;"> +yyy"> +]> + + &x; + &x; +""" +expect="""10 test 0 +1 test 0 +14 #text 1 +1 x 1 +1 y 2 +3 #text 3 +15 y 2 +15 x 1 +14 #text 1 +1 x 1 +1 y 2 +3 #text 3 +15 y 2 +15 x 1 +14 #text 1 +15 test 0 +""" +res="" +err="" + +input = libxml2.inputBuffer(str_io(s)) +reader = input.newTextReader("test4") +reader.SetParserProp(libxml2.PARSER_LOADDTD,1) +reader.SetParserProp(libxml2.PARSER_DEFAULTATTRS,1) +reader.SetParserProp(libxml2.PARSER_SUBST_ENTITIES,1) +reader.SetParserProp(libxml2.PARSER_VALIDATE,1) +while reader.Read() == 1: + res = res + "%s %s %d\n" % (reader.NodeType(),reader.Name(),reader.Depth()) + +if res != expect: + print("test4 failed: unexpected output") + print(res) + sys.exit(1) +if err != "": + print("test4 failed: validation error found") + print(err) + sys.exit(1) + +# +# The same test but without entity substitution this time +# + +s = """ + + +&y;"> +yyy"> +]> + + &x; + &x; +""" +expect="""10 test 0 +1 test 0 +14 #text 1 +5 x 1 +14 #text 1 +5 x 1 +14 #text 1 +15 test 0 +""" +res="" +err="" + +input = libxml2.inputBuffer(str_io(s)) +reader = input.newTextReader("test5") +reader.SetParserProp(libxml2.PARSER_VALIDATE,1) +while reader.Read() == 1: + res = res + "%s %s %d\n" % (reader.NodeType(),reader.Name(),reader.Depth()) + +if res != expect: + print("test5 failed: unexpected output") + print(res) + sys.exit(1) +if err != "": + print("test5 failed: validation error found") + print(err) + sys.exit(1) + +# +# cleanup +# +del input +del reader + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) diff --git a/libxml2/python/tests/reader3.py b/libxml2/python/tests/reader3.py new file mode 100644 index 0000000..9a54540 --- /dev/null +++ b/libxml2/python/tests/reader3.py @@ -0,0 +1,160 @@ +#!/usr/bin/env python3 +# +# this tests the entities substitutions with the XmlTextReader interface +# +import sys +import setup_test +import libxml2 +try: + import StringIO + str_io = StringIO.StringIO +except: + import io + str_io = io.StringIO + +docstr=""" +test

    "> +]> +&tst;""" + +# Memory debug specific +libxml2.debugMemory(1) + +# +# First test, normal don't substitute entities. +# +f = str_io(docstr) +input = libxml2.inputBuffer(f) +reader = input.newTextReader("test_noent") +ret = reader.Read() +if ret != 1: + print("Error reading to root") + sys.exit(1) +if reader.Name() == "doc" or reader.NodeType() == 10: + ret = reader.Read() +if ret != 1: + print("Error reading to root") + sys.exit(1) +if reader.Name() != "doc" or reader.NodeType() != 1: + print("test_normal: Error reading the root element") + sys.exit(1) +ret = reader.Read() +if ret != 1: + print("test_normal: Error reading to the entity") + sys.exit(1) +if reader.Name() != "tst" or reader.NodeType() != 5: + print("test_normal: Error reading the entity") + sys.exit(1) +ret = reader.Read() +if ret != 1: + print("test_normal: Error reading to the end of root") + sys.exit(1) +if reader.Name() != "doc" or reader.NodeType() != 15: + print("test_normal: Error reading the end of the root element") + sys.exit(1) +ret = reader.Read() +if ret != 0: + print("test_normal: Error detecting the end") + sys.exit(1) + +# +# Second test, completely substitute the entities. +# +f = str_io(docstr) +input = libxml2.inputBuffer(f) +reader = input.newTextReader("test_noent") +reader.SetParserProp(libxml2.PARSER_SUBST_ENTITIES, 1) +ret = reader.Read() +if ret != 1: + print("Error reading to root") + sys.exit(1) +if reader.Name() == "doc" or reader.NodeType() == 10: + ret = reader.Read() +if ret != 1: + print("Error reading to root") + sys.exit(1) +if reader.Name() != "doc" or reader.NodeType() != 1: + print("test_noent: Error reading the root element") + sys.exit(1) +ret = reader.Read() +if ret != 1: + print("test_noent: Error reading to the entity content") + sys.exit(1) +if reader.Name() != "p" or reader.NodeType() != 1: + print("test_noent: Error reading the p element from entity") + sys.exit(1) +ret = reader.Read() +if ret != 1: + print("test_noent: Error reading to the text node") + sys.exit(1) +if reader.NodeType() != 3 or reader.Value() != "test": + print("test_noent: Error reading the text node") + sys.exit(1) +ret = reader.Read() +if ret != 1: + print("test_noent: Error reading to the end of p element") + sys.exit(1) +if reader.Name() != "p" or reader.NodeType() != 15: + print("test_noent: Error reading the end of the p element") + sys.exit(1) +ret = reader.Read() +if ret != 1: + print("test_noent: Error reading to the end of root") + sys.exit(1) +if reader.Name() != "doc" or reader.NodeType() != 15: + print("test_noent: Error reading the end of the root element") + sys.exit(1) +ret = reader.Read() +if ret != 0: + print("test_noent: Error detecting the end") + sys.exit(1) + +# +# third test, crazy stuff about empty element in external parsed entities +# +s = """ +]> +&simplestruct2.ent; +""" +expect="""10 struct 0 0 +1 struct 0 0 +1 descr 1 1 +15 struct 0 0 +""" +res="" +simplestruct2_ent="""""" + +def myResolver(URL, ID, ctxt): + if URL == "simplestruct2.ent": + return(str_io(simplestruct2_ent)) + return None + +libxml2.setEntityLoader(myResolver) + +input = libxml2.inputBuffer(str_io(s)) +reader = input.newTextReader("test3") +reader.SetParserProp(libxml2.PARSER_SUBST_ENTITIES,1) +while reader.Read() == 1: + res = res + "%s %s %d %d\n" % (reader.NodeType(),reader.Name(), + reader.Depth(),reader.IsEmptyElement()) + +if res != expect: + print("test3 failed: unexpected output") + print(res) + sys.exit(1) + +# +# cleanup +# +del f +del input +del reader + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) diff --git a/libxml2/python/tests/reader4.py b/libxml2/python/tests/reader4.py new file mode 100644 index 0000000..677d089 --- /dev/null +++ b/libxml2/python/tests/reader4.py @@ -0,0 +1,50 @@ +#!/usr/bin/env python3 +# +# this tests the basic APIs of the XmlTextReader interface +# +import setup_test +import libxml2 +import sys +try: + import StringIO + str_io = StringIO.StringIO +except: + import io + str_io = io.StringIO + +# Memory debug specific +libxml2.debugMemory(1) + +def tst_reader(s): + f = str_io(s) + input = libxml2.inputBuffer(f) + reader = input.newTextReader("tst") + res = "" + while reader.Read(): + res=res + "%s (%s) [%s] %d\n" % (reader.NodeType(),reader.Name(), + reader.Value(), reader.IsEmptyElement()) + if reader.NodeType() == 1: # Element + while reader.MoveToNextAttribute(): + res = res + "-- %s (%s) [%s]\n" % (reader.NodeType(), + reader.Name(),reader.Value()) + return res + +expect="""1 (test) [None] 0 +1 (b) [None] 1 +1 (c) [None] 1 +15 (test) [None] 0 +""" + +res = tst_reader("""""") + +if res != expect: + print("Did not get the expected error message:") + print(res) + sys.exit(1) + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) diff --git a/libxml2/python/tests/reader5.py b/libxml2/python/tests/reader5.py new file mode 100644 index 0000000..201a53b --- /dev/null +++ b/libxml2/python/tests/reader5.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python3 +# +# this tests the Expand() API of the xmlTextReader interface +# this extract the Dragon bibliography entries from the XML specification +# +import setup_test +import libxml2 +import os +import sys + +# Memory debug specific +libxml2.debugMemory(1) + +expect="""Aho, Alfred V., +Ravi Sethi, and Jeffrey D. Ullman. +Compilers: Principles, Techniques, and Tools. +Reading: Addison-Wesley, 1986, rpt. corr. 1988.""" + +basedir = os.path.dirname(os.path.realpath(__file__)) +f = open(os.path.join(basedir, '../../test/valid/REC-xml-19980210.xml'), 'rb') +input = libxml2.inputBuffer(f) +reader = input.newTextReader("REC") +res="" +while reader.Read() > 0: + while reader.Name() == 'bibl': + node = reader.Expand() # expand the subtree + if node.xpathEval("@id = 'Aho'"): # use XPath on it + res = res + node.serialize() + if reader.Next() != 1: # skip the subtree + break; + +if res != expect: + print("Error: didn't get the expected output") + print("got '%s'" % (res)) + print("expected '%s'" % (expect)) + + +# +# cleanup +# +del input +del reader + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) diff --git a/libxml2/python/tests/reader6.py b/libxml2/python/tests/reader6.py new file mode 100644 index 0000000..33a5597 --- /dev/null +++ b/libxml2/python/tests/reader6.py @@ -0,0 +1,128 @@ +#!/usr/bin/env python3 +# +# this tests the entities substitutions with the XmlTextReader interface +# +import sys +import setup_test +import libxml2 +try: + import StringIO + str_io = StringIO.StringIO +except: + import io + str_io = io.StringIO + +schema=""" + + + + + + + + + + + + + + +""" +# Memory debug specific +libxml2.debugMemory(1) + +# +# Parse the Relax NG Schemas +# +rngp = libxml2.relaxNGNewMemParserCtxt(schema, len(schema)) +rngs = rngp.relaxNGParse() +del rngp + +# +# Parse and validate the correct document +# +docstr=""" + +100 +""" + +f = str_io(docstr) +input = libxml2.inputBuffer(f) +reader = input.newTextReader("correct") +reader.RelaxNGSetSchema(rngs) +ret = reader.Read() +while ret == 1: + ret = reader.Read() + +if ret != 0: + print("Error parsing the document") + sys.exit(1) + +if reader.IsValid() != 1: + print("Document failed to validate") + sys.exit(1) + +# +# Parse and validate the incorrect document +# +docstr=""" + +1000 +""" + +err="" +# RNG errors are not as good as before , TODO +#expect="""RNG validity error: file error line 3 element text +#Type byte doesn't allow value '1000' +#RNG validity error: file error line 3 element text +#Error validating datatype byte +#RNG validity error: file error line 3 element text +#Element item failed to validate content +#""" +expect="""Type byte doesn't allow value '1000' +Error validating datatype byte +Element item failed to validate content +""" + +def callback(ctx, str): + global err + err = err + "%s" % (str) +libxml2.registerErrorHandler(callback, "") + +f = str_io(docstr) +input = libxml2.inputBuffer(f) +reader = input.newTextReader("error") +reader.RelaxNGSetSchema(rngs) +ret = reader.Read() +while ret == 1: + ret = reader.Read() + +if ret != 0: + print("Error parsing the document") + sys.exit(1) + +if reader.IsValid() != 0: + print("Document failed to detect the validation error") + sys.exit(1) + +if err != expect: + print("Did not get the expected error message:") + print(err) + sys.exit(1) + +# +# cleanup +# +del f +del input +del reader +del rngs +libxml2.relaxNGCleanupTypes() + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) diff --git a/libxml2/python/tests/reader7.py b/libxml2/python/tests/reader7.py new file mode 100644 index 0000000..58131a8 --- /dev/null +++ b/libxml2/python/tests/reader7.py @@ -0,0 +1,101 @@ +#!/usr/bin/env python3 +# +# this tests the entities substitutions with the XmlTextReader interface +# +import sys +import setup_test +import libxml2 + +# Memory debug specific +libxml2.debugMemory(1) + +result = "" +def processNode(reader): + global result + + result = result + "%d %d %s %d\n" % (reader.Depth(), reader.NodeType(), + reader.Name(), reader.IsEmptyElement()) + +# +# Parse a document testing the readerForxxx API +# +docstr=""" + +100 +""" +expect="""0 1 foo 0 +1 14 #text 0 +1 1 label 0 +2 3 #text 0 +1 15 label 0 +1 14 #text 0 +1 1 item 0 +2 3 #text 0 +1 15 item 0 +1 14 #text 0 +0 15 foo 0 +""" +result = "" + +reader = libxml2.readerForDoc(docstr, "test1", None, 0) +ret = reader.Read() +while ret == 1: + processNode(reader) + ret = reader.Read() + +if ret != 0: + print("Error parsing the document test1") + sys.exit(1) + +if result != expect: + print("Unexpected result for test1") + print(result) + sys.exit(1) + +# +# Reuse the reader for another document testing the ReaderNewxxx API +# +docstr=""" + +1000 +""" +expect="""0 1 foo 0 +1 14 #text 0 +1 1 label 0 +2 3 #text 0 +1 15 label 0 +1 14 #text 0 +1 1 item 0 +2 3 #text 0 +1 15 item 0 +1 14 #text 0 +0 15 foo 0 +""" +result = "" + +reader.NewDoc(docstr, "test2", None, 0) +ret = reader.Read() +while ret == 1: + processNode(reader) + ret = reader.Read() + +if ret != 0: + print("Error parsing the document test2") + sys.exit(1) + +if result != expect: + print("Unexpected result for test2") + print(result) + sys.exit(1) + +# +# cleanup +# +del reader + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) diff --git a/libxml2/python/tests/reader8.py b/libxml2/python/tests/reader8.py new file mode 100644 index 0000000..bc055df --- /dev/null +++ b/libxml2/python/tests/reader8.py @@ -0,0 +1,36 @@ +#!/usr/bin/env python3 +# +# this tests the entities substitutions with the XmlTextReader interface +# +import sys +import setup_test +import libxml2 + +# Memory debug specific +libxml2.debugMemory(1) + +# +# Parse a document testing the Close() API +# +docstr=""" + +100 +""" + +reader = libxml2.readerForDoc(docstr, "test1", None, 0) +ret = reader.Read() +ret = reader.Read() +ret = reader.Close() + +if ret != 0: + print("Error closing the document test1") + sys.exit(1) + +del reader + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) diff --git a/libxml2/python/tests/readererr.py b/libxml2/python/tests/readererr.py new file mode 100644 index 0000000..e3fdba6 --- /dev/null +++ b/libxml2/python/tests/readererr.py @@ -0,0 +1,56 @@ +#!/usr/bin/env python3 +# +# this tests the basic APIs of the XmlTextReader interface +# +import setup_test +import libxml2 +import sys +try: + import StringIO + str_io = StringIO.StringIO +except: + import io + str_io = io.StringIO + +# Memory debug specific +libxml2.debugMemory(1) + +expect="""--> (3) test1:1:xmlns: URI foo is not absolute +--> (4) test1:1:Opening and ending tag mismatch: c line 1 and a +""" +err="" +def myErrorHandler(arg,msg,severity,locator): + global err + err = err + "%s (%d) %s:%d:%s" % (arg,severity,locator.BaseURI(),locator.LineNumber(),msg) + +f = str_io("""
    content of c""") +input = libxml2.inputBuffer(f) +reader = input.newTextReader("test1") +reader.SetErrorHandler(myErrorHandler,"-->") +while reader.Read() == 1: + pass + +if err != expect: + print("error") + print("received %s" %(err)) + print("expected %s" %(expect)) + sys.exit(1) + +reader.SetErrorHandler(None,None) +if reader.GetErrorHandler() != (None,None): + print("GetErrorHandler failed") + sys.exit(1) + +# +# cleanup for memory allocation counting +# +del f +del input +del reader + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) diff --git a/libxml2/python/tests/readernext.py b/libxml2/python/tests/readernext.py new file mode 100644 index 0000000..4f216bb --- /dev/null +++ b/libxml2/python/tests/readernext.py @@ -0,0 +1,86 @@ +#!/usr/bin/env python3 +# -*- coding: ISO-8859-1 -*- +# +# this tests the next API of the XmlTextReader interface +# +import setup_test +import libxml2 +import sys +try: + import StringIO + str_io = StringIO.StringIO +except: + import io + str_io = io.StringIO + +# Memory debug specific +libxml2.debugMemory(1) + +f = str_io("""content of d""") +input = libxml2.inputBuffer(f) +reader = input.newTextReader("test_next") +ret = reader.Read() +if ret != 1: + print("test_next: Error reading to first element") + sys.exit(1) +if reader.Name() != "a" or reader.IsEmptyElement() != 0 or \ + reader.NodeType() != 1 or reader.HasAttributes() != 0: + print("test_next: Error reading the first element") + sys.exit(1) +ret = reader.Read() +if ret != 1: + print("test_next: Error reading to second element") + sys.exit(1) +if reader.Name() != "b" or reader.IsEmptyElement() != 0 or \ + reader.NodeType() != 1 or reader.HasAttributes() != 0: + print("test_next: Error reading the second element") + sys.exit(1) +ret = reader.Read() +if ret != 1: + print("test_next: Error reading to third element") + sys.exit(1) +if reader.Name() != "c" or reader.NodeType() != 1 or \ + reader.HasAttributes() != 0: + print("test_next: Error reading the third element") + sys.exit(1) +ret = reader.Read() +if ret != 1: + print("test_next: Error reading to end of third element") + sys.exit(1) +if reader.Name() != "b" or reader.NodeType() != 15: + print("test_next: Error reading to end of second element") + sys.exit(1) +ret = reader.Next() +if ret != 1: + print("test_next: Error moving to third element") + sys.exit(1) +if reader.Name() != "d" or reader.IsEmptyElement() != 0 or \ + reader.NodeType() != 1 or reader.HasAttributes() != 0: + print("test_next: Error reading third element") + sys.exit(1) +ret = reader.Next() +if ret != 1: + print("test_next: Error reading to end of first element") + sys.exit(1) +if reader.Name() != "a" or reader.IsEmptyElement() != 0 or \ + reader.NodeType() != 15 or reader.HasAttributes() != 0: + print("test_next: Error reading the end of first element") + sys.exit(1) +ret = reader.Read() +if ret != 0: + print("test_next: Error reading to end of document") + sys.exit(1) + +# +# cleanup for memory allocation counting +# +del f +del input +del reader + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) diff --git a/libxml2/python/tests/regexp.py b/libxml2/python/tests/regexp.py new file mode 100644 index 0000000..866b36b --- /dev/null +++ b/libxml2/python/tests/regexp.py @@ -0,0 +1,43 @@ +#!/usr/bin/env python3 +import sys +import setup_test +import libxml2 + +# Memory debug specific +libxml2.debugMemory(1) + + +def check_regex(regex, inside, outside): + re = libxml2.regexpCompile(regex) + for c in inside: + if re.regexpExec(c) != 1: + print("error checking inside", repr(regex), repr(c)) + sys.exit(1) + for c in outside: + if re.regexpExec(c) != 0: + print("error checking outside", repr(regex), repr(c)) + sys.exit(1) + if re.regexpIsDeterminist() != 1: + print("error checking determinism") + sys.exit(1) + del re + + +check_regex("a|b", "ab", ["ab", ""]) +# https://gitlab.gnome.org/GNOME/libxml2/-/issues/1086 +check_regex(r"[\t-\r]", "\t\n\r", ["a", "(", ""]) +check_regex("[\\t-\\r]", "\t\n\r", ["a", "(", ""]) +check_regex(r"[\[-\]]", "[]\\", "Z^") +check_regex(r"[\*-/]", "*+,-./", "()0") +# Non-standard escape sequences +check_regex(r"[\u0041-\u005A]", "ABCMYZ", ["a", "0", "[", ""]) +check_regex(r"[\u0009\u0061-\u007A]", "\tabcmyz", ["A", "0", "{", "", "\n"]) +check_regex(r"[\!-\%]", '!"#$%', ["&", " ", "a", ""]) +check_regex(r"[\:-\>]", ':;<=>', ["?", "9", "@", ""]) + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) diff --git a/libxml2/python/tests/relaxng.py b/libxml2/python/tests/relaxng.py new file mode 100644 index 0000000..518b97e --- /dev/null +++ b/libxml2/python/tests/relaxng.py @@ -0,0 +1,48 @@ +#!/usr/bin/env python3 +import setup_test +import libxml2 +import sys + +# Memory debug specific +libxml2.debugMemory(1) + +schema=""" + + A foo element. + + + + + + + +""" +instance=""" +""" + +rngp = libxml2.relaxNGNewMemParserCtxt(schema, len(schema)) +rngs = rngp.relaxNGParse() +ctxt = rngs.relaxNGNewValidCtxt() +doc = libxml2.parseDoc(instance) +ret = doc.relaxNGValidateDoc(ctxt) +if ret != 0: + print("error doing RelaxNG validation") + sys.exit(1) + +doc.freeDoc() +del rngp +del rngs +del ctxt +libxml2.relaxNGCleanupTypes() + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) + diff --git a/libxml2/python/tests/resolver.py b/libxml2/python/tests/resolver.py new file mode 100644 index 0000000..da8fc14 --- /dev/null +++ b/libxml2/python/tests/resolver.py @@ -0,0 +1,44 @@ +#!/usr/bin/env python3 +import sys +import setup_test +import libxml2 +try: + import StringIO + str_io = StringIO.StringIO +except: + import io + str_io = io.StringIO + +# Memory debug specific +libxml2.debugMemory(1) + +def myResolver(URL, ID, ctxt): + return(str_io("")) + +libxml2.setEntityLoader(myResolver) + +doc = libxml2.parseFile("doesnotexist.xml") +root = doc.children +if root.name != "foo": + print("root element name error") + sys.exit(1) +doc.freeDoc() + +i = 0 +while i < 5000: + doc = libxml2.parseFile("doesnotexist.xml") + root = doc.children + if root.name != "foo": + print("root element name error") + sys.exit(1) + doc.freeDoc() + i = i + 1 + + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) + diff --git a/libxml2/python/tests/schema.py b/libxml2/python/tests/schema.py new file mode 100644 index 0000000..c73b81a --- /dev/null +++ b/libxml2/python/tests/schema.py @@ -0,0 +1,52 @@ +#!/usr/bin/env python3 +import setup_test +import libxml2 +import sys + +# Memory debug specific +libxml2.debugMemory(1) + +schema=""" + + + + + + + + + + + +""" + +instance=""" + + Raymond + G + Bayliss + +""" + +ctxt_parser = libxml2.schemaNewMemParserCtxt(schema, len(schema)) +ctxt_schema = ctxt_parser.schemaParse() +ctxt_valid = ctxt_schema.schemaNewValidCtxt() +doc = libxml2.parseDoc(instance) +ret = doc.schemaValidateDoc(ctxt_valid) +if ret != 0: + print("error doing schema validation") + sys.exit(1) + +doc.freeDoc() +del ctxt_parser +del ctxt_schema +del ctxt_valid +libxml2.schemaCleanupTypes() + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) + diff --git a/libxml2/python/tests/serialize.py b/libxml2/python/tests/serialize.py new file mode 100644 index 0000000..11db04c --- /dev/null +++ b/libxml2/python/tests/serialize.py @@ -0,0 +1,144 @@ +#!/usr/bin/env python3 +import sys +import setup_test +import libxml2 + +# Memory debug specific +libxml2.debugMemory(1) + +# +# Testing XML document serialization +# +doc = libxml2.parseDoc("""hello""") +str = doc.serialize() +if str != """ +hello +""": + print("error serializing XML document 1") + sys.exit(1) +str = doc.serialize("iso-8859-1") +if str != """ +hello +""": + print("error serializing XML document 2") + sys.exit(1) +str = doc.serialize(format=1) +if str != """ + + hello + +""": + print("error serializing XML document 3") + sys.exit(1) +str = doc.serialize("iso-8859-1", 1) +if str != """ + + hello + +""": + print("error serializing XML document 4") + sys.exit(1) + +# +# Test serializing a subnode +# +root = doc.getRootElement() +str = root.serialize() +if str != """hello""": + print("error serializing XML root 1") + sys.exit(1) +str = root.serialize("iso-8859-1") +if str != """hello""": + print("error serializing XML root 2") + sys.exit(1) +str = root.serialize(format=1) +if str != """ + hello +""": + print("error serializing XML root 3") + sys.exit(1) +str = root.serialize("iso-8859-1", 1) +if str != """ + hello +""": + print("error serializing XML root 4") + sys.exit(1) +doc.freeDoc() + +# +# Testing HTML document serialization +# +doc = libxml2.htmlParseDoc("""Hello

    hello""", None) +str = doc.serialize() +if str != """ +Hello

    hello

    +""": + print("error serializing HTML document 1") + sys.exit(1) +str = doc.serialize("ISO-8859-1") +if str != """ +Hello

    hello

    +""": + print("error serializing HTML document 2") + sys.exit(1) +str = doc.serialize(format=1) +if str != """ + +Hello +

    hello

    + +""": + print("error serializing HTML document 3") + sys.exit(1) +str = doc.serialize("iso-8859-1", 1) +if str != """ + + + +Hello + +

    hello

    + +""": + print("error serializing HTML document 4", str) + sys.exit(1) + +# +# Test serializing a subnode +# +doc.htmlSetMetaEncoding(None) +root = doc.getRootElement() +str = root.serialize() +if str != """Hello

    hello

    """: + print("error serializing HTML root 1") + sys.exit(1) +str = root.serialize("ISO-8859-1") +if str != """Hello

    hello

    """: + print("error serializing HTML root 2") + sys.exit(1) +str = root.serialize(format=1) +if str != """ +Hello +

    hello

    +""": + print("error serializing HTML root 3") + sys.exit(1) +str = root.serialize("iso-8859-1", 1) +if str != """ + + +Hello + +

    hello

    +""": + print("error serializing HTML root 4") + sys.exit(1) + +doc.freeDoc() + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) diff --git a/libxml2/python/tests/setup_test.py b/libxml2/python/tests/setup_test.py new file mode 100644 index 0000000..f893e56 --- /dev/null +++ b/libxml2/python/tests/setup_test.py @@ -0,0 +1,5 @@ +import os +import sys + +if hasattr(os, 'add_dll_directory'): + os.add_dll_directory(os.path.join(os.getcwd(), '..', '..', '.libs')) diff --git a/libxml2/python/tests/sync.py b/libxml2/python/tests/sync.py new file mode 100644 index 0000000..ffbe540 --- /dev/null +++ b/libxml2/python/tests/sync.py @@ -0,0 +1,138 @@ +#!/usr/bin/env python3 +import sys +import setup_test +import libxml2 + +# Memory debug specific +libxml2.debugMemory(1) + +log = "" + +class callback: + def startDocument(self): + global log + log = log + "startDocument:" + + def endDocument(self): + global log + log = log + "endDocument:" + + def startElement(self, tag, attrs): + global log + log = log + "startElement %s %s:" % (tag, attrs) + + def endElement(self, tag): + global log + log = log + "endElement %s:" % (tag) + + def characters(self, data): + global log + log = log + "characters: %s:" % (data) + + def warning(self, msg): + global log + log = log + "warning: %s:" % (msg) + + def error(self, msg): + global log + log = log + "error: %s:" % (msg) + + def fatalError(self, msg): + global log + log = log + "fatalError: %s:" % (msg) + +handler = callback() + +log="" +chunk="""""" +ctxt = libxml2.createPushParser(handler, None, 0, "test.xml") +ctxt.parseChunk(chunk, len(chunk), 0) +ctxt=None + +reference = "startDocument:startElement foo None:startElement bar2 None:endElement bar2:" +if log != reference: + print("Error got: %s" % log) + print("Expected: %s" % reference) + sys.exit(1) + +log="" +chunk="""""" +ctxt = libxml2.createPushParser(handler, None, 0, "test.xml") +ctxt.parseChunk(chunk, len(chunk), 0) +ctxt=None + +reference = "startDocument:startElement foo None:startElement bar2 None:endElement bar2:" +if log != reference: + print("Error got: %s" % log) + print("Expected: %s" % reference) + sys.exit(1) + +log="" +chunk="""""" +ctxt = libxml2.createPushParser(handler, None, 0, "test.xml") +ctxt.parseChunk(chunk, len(chunk), 0) +ctxt=None + +reference = "startDocument:startElement foo None:startElement bar2 None:" +if log != reference: + print("Error got: %s" % log) + print("Expected: %s" % reference) + sys.exit(1) + +log="" +chunk="""""" +ctxt = libxml2.createPushParser(handler, None, 0, "test.xml") +ctxt.parseChunk(chunk, len(chunk), 0) +ctxt=None + +reference1 = "startDocument:startElement foo None:startElement bar2 {'a': '1', 'b': '2'}:endElement bar2:" +reference2 = "startDocument:startElement foo None:startElement bar2 {'b': '2', 'a': '1'}:endElement bar2:" +if log not in (reference1, reference2): + print("Error got: %s" % log) + print("Expected: %s" % reference) + sys.exit(1) + +log="" +chunk="""""" +ctxt = libxml2.createPushParser(handler, None, 0, "test.xml") +ctxt.parseChunk(chunk, len(chunk), 0) +ctxt=None + +reference1 = "startDocument:startElement foo None:startElement bar2 {'a': '1', 'b': '2'}:" +reference2 = "startDocument:startElement foo None:startElement bar2 {'b': '2', 'a': '1'}:" +if log not in (reference1, reference2): + print("Error got: %s" % log) + print("Expected: %s" % reference) + sys.exit(1) + +log="" +chunk="""""" +ctxt = libxml2.createPushParser(handler, None, 0, "test.xml") +ctxt.parseChunk(chunk, len(chunk), 0) +ctxt=None + +reference1 = "startDocument:startElement foo None:startElement bar2 {'a': '1', 'b': '2'}:endElement bar2:" +reference2 = "startDocument:startElement foo None:startElement bar2 {'b': '2', 'a': '1'}:endElement bar2:" +if log not in (reference1, reference2): + print("Error got: %s" % log) + print("Expected: %s" % reference) + sys.exit(1) + +log="" +chunk=""" diff --git a/libxml2/python/tests/thread2.py b/libxml2/python/tests/thread2.py new file mode 100644 index 0000000..2fef52c --- /dev/null +++ b/libxml2/python/tests/thread2.py @@ -0,0 +1,105 @@ +#!/usr/bin/env python3 +import string, sys, time +try: + from _thread import get_ident +except: + from thread import get_ident +from threading import Thread, Lock + +import setup_test +import libxml2 + +# Memory debug specific +libxml2.debugMemory(1) + +THREADS_COUNT = 15 + +failed = 0 + +class ErrorHandler: + + def __init__(self): + self.errors = [] + self.lock = Lock() + + def handler(self,ctx,str): + self.lock.acquire() + self.errors.append(str) + self.lock.release() + +def getPedanticParserDefault(): + old = libxml2.pedanticParserDefault(0) + libxml2.pedanticParserDefault(old) + return old + +def test(expectedPedanticParserDefault): + time.sleep(1) + global failed + # check a per thread-global + if expectedPedanticParserDefault != getPedanticParserDefault(): + failed = 1 + print("FAILED to obtain correct value for " \ + "pedanticParserDefault in thread %d" % get_ident()) + # check the global error handler + # (which is NOT per-thread in the python bindings) + try: + doc = libxml2.parseFile("bad.xml") + except: + pass + else: + assert "failed" + +# global error handler +eh = ErrorHandler() +libxml2.registerErrorHandler(eh.handler,"") + +# set on the main thread only +libxml2.pedanticParserDefault(1) +test(1) +ec = len(eh.errors) +if ec == 0: + print("FAILED: should have obtained errors") + sys.exit(1) + +ts = [] +for i in range(THREADS_COUNT): + # expect 0 for pedanticParserDefault because + # the new value has been set on the main thread only + ts.append(Thread(target=test,args=(0,))) +for t in ts: + t.start() +for t in ts: + t.join() + +if len(eh.errors) != ec+THREADS_COUNT*ec: + print("FAILED: did not obtain the correct number of errors") + sys.exit(1) + +# set pedanticParserDefault for future new threads +libxml2.thrDefPedanticParserDefaultValue(1) +ts = [] +for i in range(THREADS_COUNT): + # expect 1 for pedanticParserDefault + ts.append(Thread(target=test,args=(1,))) +for t in ts: + t.start() +for t in ts: + t.join() + +if len(eh.errors) != ec+THREADS_COUNT*ec*2: + print("FAILED: did not obtain the correct number of errors") + sys.exit(1) + +if failed: + print("FAILED") + sys.exit(1) + +# Memory debug specific +libxml2.cleanupParser() +# Note that this can leak memory on Windows if the global state +# destructors weren't run yet. They should be called eventually, +# so this leak should be harmless. +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) diff --git a/libxml2/python/tests/tst.py b/libxml2/python/tests/tst.py new file mode 100644 index 0000000..ba624b3 --- /dev/null +++ b/libxml2/python/tests/tst.py @@ -0,0 +1,28 @@ +#!/usr/bin/env python3 +import sys +import setup_test +import libxml2 + +# Memory debug specific +libxml2.debugMemory(1) + +doc = libxml2.parseFile("tst.xml") +if doc.name != "tst.xml": + print("doc.name failed") + sys.exit(1) +root = doc.children +if root.name != "doc": + print("root.name failed") + sys.exit(1) +child = root.children +if child.name != "foo": + print("child.name failed") + sys.exit(1) +doc.freeDoc() + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) diff --git a/libxml2/python/tests/tst.xml b/libxml2/python/tests/tst.xml new file mode 100644 index 0000000..751d46d --- /dev/null +++ b/libxml2/python/tests/tst.xml @@ -0,0 +1 @@ +bar diff --git a/libxml2/python/tests/tstLastError.py b/libxml2/python/tests/tstLastError.py new file mode 100644 index 0000000..a079995 --- /dev/null +++ b/libxml2/python/tests/tstLastError.py @@ -0,0 +1,85 @@ +#!/usr/bin/env python3 +import sys, unittest + +import setup_test +import libxml2 + +class TestCase(unittest.TestCase): + + def runTest(self): + self.test1() + self.test2() + + def setUp(self): + libxml2.debugMemory(1) + + def tearDown(self): + libxml2.cleanupParser() + if libxml2.debugMemory(1) != 0: + self.fail("Memory leak %d bytes" % (libxml2.debugMemory(1),)) + else: + print("OK") + + def failUnlessXmlError(self,f,args,exc,domain,code,message,level,file,line): + """Run function f, with arguments args and expect an exception exc; + when the exception is raised, check the libxml2.lastError for + expected values.""" + # disable the default error handler + def noerr(ctx, str): + pass + # None is not acceptable as function. + libxml2.registerErrorHandler(noerr,None) + try: + f(*args) + except exc: + e = libxml2.lastError() + if e is None: + self.fail("lastError not set") + if 0: + print("domain = ",e.domain()) + print("code = ",e.code()) + print("message =",repr(e.message())) + print("level =",e.level()) + print("file =",e.file()) + print("line =",e.line()) + print() + self.assertEqual(domain,e.domain()) + self.assertEqual(code,e.code()) + self.assertEqual(message,e.message()) + self.assertEqual(level,e.level()) + self.assertEqual(file,e.file()) + self.assertEqual(line,e.line()) + else: + self.fail("exception %s should have been raised" % exc) + + def test1(self): + """Test readFile with a file that does not exist""" + self.failUnlessXmlError(libxml2.readFile, + ("dummy.xml",None,0), + libxml2.treeError, + domain=libxml2.XML_FROM_IO, + code=libxml2.XML_IO_ENOENT, + message='failed to load "dummy.xml": No such file or directory\n', + level=libxml2.XML_ERR_WARNING, + file=None, + line=0) + + def test2(self): + """Test a well-formedness error: we get the last error only""" + s = "\n\n" + self.failUnlessXmlError(libxml2.readMemory, + (s,len(s),"dummy.xml",None,0), + libxml2.treeError, + domain=libxml2.XML_FROM_PARSER, + code=libxml2.XML_ERR_TAG_NAME_MISMATCH, + message='Opening and ending tag mismatch: a line 2 and x\n', + level=libxml2.XML_ERR_FATAL, + file='dummy.xml', + line=3) + +if __name__ == "__main__": + test = TestCase() + test.setUp() + test.test1() + test.test2() + test.tearDown() diff --git a/libxml2/python/tests/tstURI.py b/libxml2/python/tests/tstURI.py new file mode 100644 index 0000000..0b1bcbc --- /dev/null +++ b/libxml2/python/tests/tstURI.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python3 +import sys +import setup_test +import libxml2 + +# Memory debug specific +libxml2.debugMemory(1) + +uri = libxml2.parseURI("http://example.org:8088/foo/bar?query=simple#fragid") +if uri.scheme() != 'http': + print("Error parsing URI: wrong scheme") + sys.exit(1) +if uri.server() != 'example.org': + print("Error parsing URI: wrong server") + sys.exit(1) +if uri.port() != 8088: + print("Error parsing URI: wrong port") + sys.exit(1) +if uri.path() != '/foo/bar': + print("Error parsing URI: wrong path") + sys.exit(1) +if uri.query() != 'query=simple': + print("Error parsing URI: wrong query") + sys.exit(1) +if uri.fragment() != 'fragid': + print("Error parsing URI: wrong query") + sys.exit(1) +uri.setScheme("https") +uri.setPort(223) +uri.setFragment(None) +result=uri.saveUri() +if result != "https://example.org:223/foo/bar?query=simple": + print("Error modifying or saving the URI") +uri = None + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) diff --git a/libxml2/python/tests/tstmem.py b/libxml2/python/tests/tstmem.py new file mode 100644 index 0000000..eca0754 --- /dev/null +++ b/libxml2/python/tests/tstmem.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python3 +import setup_test +import libxml2 + +try: + import libxml2mod +except ModuleNotFoundError: + from libxmlmods import libxml2mod + +import sys + +def error(msg, data): + pass + +# Memory debug specific +libxml2.debugMemory(1) + +dtd="""""" +instance=""" +""" + +dtd = libxml2.parseDTD(None, 'test.dtd') +ctxt = libxml2.newValidCtxt() +libxml2mod.xmlSetValidErrors(ctxt._o, error, error) +doc = libxml2.parseDoc(instance) +ret = doc.validateDtd(ctxt, dtd) +if ret != 1: + print("error doing DTD validation") + sys.exit(1) + +doc.freeDoc() +dtd.freeDtd() +del dtd +del ctxt + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) diff --git a/libxml2/python/tests/tstxpath.py b/libxml2/python/tests/tstxpath.py new file mode 100644 index 0000000..d429f54 --- /dev/null +++ b/libxml2/python/tests/tstxpath.py @@ -0,0 +1,63 @@ +#!/usr/bin/env python3 +import sys +import setup_test +import libxml2 + +#memory debug specific +libxml2.debugMemory(1) + +called = "" + +def foo(ctx, x): + global called + + # + # test that access to the XPath evaluation contexts + # + pctxt = libxml2.xpathParserContext(_obj=ctx) + ctxt = pctxt.context() + called = ctxt.function() + return x + 1 + +def bar(ctxt, x): + return "%d" % (x + 2) + +doc = libxml2.parseFile("tst.xml") +ctxt = doc.xpathNewContext() +res = ctxt.xpathEval("//*") +if len(res) != 2: + print("xpath query: wrong node set size") + sys.exit(1) +if res[0].name != "doc" or res[1].name != "foo": + print("xpath query: wrong node set value") + sys.exit(1) +libxml2.registerXPathFunction(ctxt._o, "foo", None, foo) +libxml2.registerXPathFunction(ctxt._o, "bar", None, bar) +i = 10000 +while i > 0: + res = ctxt.xpathEval("foo(1)") + if res != 2: + print("xpath extension failure") + sys.exit(1) + i = i - 1 +i = 10000 +while i > 0: + res = ctxt.xpathEval("bar(1)") + if res != "3": + print("xpath extension failure got %s expecting '3'") + sys.exit(1) + i = i - 1 +doc.freeDoc() +ctxt.xpathFreeContext() + +if called != "foo": + print("xpath function: failed to access the context") + print("xpath function: %s" % (called)) + sys.exit(1) + +#memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) diff --git a/libxml2/python/tests/unicode.py b/libxml2/python/tests/unicode.py new file mode 100644 index 0000000..5f2d34b --- /dev/null +++ b/libxml2/python/tests/unicode.py @@ -0,0 +1,61 @@ +from io import BytesIO, StringIO +import libxml2 +import sys +from xml.sax.handler import ContentHandler +from xml.sax.xmlreader import InputSource +import xml.sax + + +# Test data: an XML file with a 100,000 Unicode smileys, which expand +# into 400,000 bytes after UTF-8 encoding. +SMILEY = '\U0001f600' +TEXT = 100_000 * SMILEY +XML_STRING = '\n' + TEXT + '' +XML_BYTES = XML_STRING.encode('utf-8') + + +def RunTest(test_name, source): + expected = TEXT + received = '' + + class TestHandler(ContentHandler): + def characters(self, content): + nonlocal received + received += content + + reader = xml.sax.make_parser(['drv_libxml2']) + reader.setContentHandler(TestHandler()) + reader.parse(source) + if expected != received: + print(test_name, 'failed!') + print('Expected length:', len(expected)) + print('Received length:', len(received)) + print('Expected text: (prefix only)', expected[:100]) + print('Received text: (prefix only)', received[:100]) + sys.exit(1) + + +def TestBytesInput(): + source = InputSource() + source.setByteStream(BytesIO(XML_BYTES)) + RunTest('TestBytesInput', source) + + +def TestStringInput(): + source = InputSource() + source.setCharacterStream(StringIO(XML_STRING)) + RunTest('TestStringInput', source) + + +# Memory debug specific +libxml2.debugMemory(1) + +TestBytesInput() +TestStringInput() + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) diff --git a/libxml2/python/tests/valid.xml b/libxml2/python/tests/valid.xml new file mode 100644 index 0000000..8a7f679 --- /dev/null +++ b/libxml2/python/tests/valid.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/libxml2/python/tests/validDTD.py b/libxml2/python/tests/validDTD.py new file mode 100644 index 0000000..b118326 --- /dev/null +++ b/libxml2/python/tests/validDTD.py @@ -0,0 +1,59 @@ +#!/usr/bin/env python3 +import setup_test +import libxml2 +import sys + +ARG = 'test string' + +class ErrorHandler: + + def __init__(self): + self.errors = [] + + def handler(self, msg, data): + if data != ARG: + raise Exception("Error handler did not receive correct argument") + self.errors.append(msg) + + +# Memory debug specific +libxml2.debugMemory(1) + +dtd="""""" +valid=""" +""" + +invalid=""" +""" + +dtd = libxml2.parseDTD(None, 'test.dtd') +ctxt = libxml2.newValidCtxt() +e = ErrorHandler() +ctxt.setValidityErrorHandler(e.handler, e.handler, ARG) + +# Test valid document +doc = libxml2.parseDoc(valid) +ret = doc.validateDtd(ctxt, dtd) +if ret != 1 or e.errors: + print("error doing DTD validation") + sys.exit(1) +doc.freeDoc() + +# Test invalid document +doc = libxml2.parseDoc(invalid) +ret = doc.validateDtd(ctxt, dtd) +if ret != 0 or not e.errors: + print("Error: document supposed to be invalid") +doc.freeDoc() + +dtd.freeDtd() +del dtd +del ctxt + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) + diff --git a/libxml2/python/tests/validRNG.py b/libxml2/python/tests/validRNG.py new file mode 100644 index 0000000..bcc729f --- /dev/null +++ b/libxml2/python/tests/validRNG.py @@ -0,0 +1,76 @@ +#!/usr/bin/env python3 +import setup_test +import libxml2 +import sys + +ARG = 'test string' + +class ErrorHandler: + + def __init__(self): + self.errors = [] + + def handler(self, msg, data): + if data != ARG: + raise Exception("Error handler did not receive correct argument") + self.errors.append(msg) + +# Memory debug specific +libxml2.debugMemory(1) + +schema=""" + + A foo element. + + + + + + + +""" + +valid=""" +""" + +invalid=""" +bad""" + +rngp = libxml2.relaxNGNewMemParserCtxt(schema, len(schema)) +rngs = rngp.relaxNGParse() +ctxt = rngs.relaxNGNewValidCtxt() +e = ErrorHandler() +ctxt.setValidityErrorHandler(e.handler, e.handler, ARG) + +# Test valid document +doc = libxml2.parseDoc(valid) +ret = doc.relaxNGValidateDoc(ctxt) +if ret != 0 or e.errors: + print("error doing RelaxNG validation") + sys.exit(1) +doc.freeDoc() + +# Test invalid document +doc = libxml2.parseDoc(invalid) +ret = doc.relaxNGValidateDoc(ctxt) +if ret == 0 or not e.errors: + print("Error: document supposed to be RelaxNG invalid") + sys.exit(1) +doc.freeDoc() + +del rngp +del rngs +del ctxt +libxml2.relaxNGCleanupTypes() + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) + diff --git a/libxml2/python/tests/validSchemas.py b/libxml2/python/tests/validSchemas.py new file mode 100644 index 0000000..9e64210 --- /dev/null +++ b/libxml2/python/tests/validSchemas.py @@ -0,0 +1,83 @@ +#!/usr/bin/env python3 +import setup_test +import libxml2 +import sys + +ARG = 'test string' + +class ErrorHandler: + + def __init__(self): + self.errors = [] + + def handler(self, msg, data): + if data != ARG: + raise Exception("Error handler did not receive correct argument") + self.errors.append(msg) + +# Memory debug specific +libxml2.debugMemory(1) + +schema=""" + + + + + + + + + + + +""" + +valid=""" + + Raymond + G + Bayliss + +""" + +invalid=""" + + G + Bayliss + +""" + +e = ErrorHandler() +ctxt_parser = libxml2.schemaNewMemParserCtxt(schema, len(schema)) +ctxt_schema = ctxt_parser.schemaParse() +ctxt_valid = ctxt_schema.schemaNewValidCtxt() +ctxt_valid.setValidityErrorHandler(e.handler, e.handler, ARG) + +# Test valid document +doc = libxml2.parseDoc(valid) +ret = doc.schemaValidateDoc(ctxt_valid) +if ret != 0 or e.errors: + print("error doing schema validation") + sys.exit(1) +doc.freeDoc() + +# Test invalid document +doc = libxml2.parseDoc(invalid) +ret = doc.schemaValidateDoc(ctxt_valid) +if ret == 0 or not e.errors: + print("Error: document supposer to be schema invalid") + sys.exit(1) +doc.freeDoc() + +del ctxt_parser +del ctxt_schema +del ctxt_valid +libxml2.schemaCleanupTypes() + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) + diff --git a/libxml2/python/tests/validate.py b/libxml2/python/tests/validate.py new file mode 100644 index 0000000..4ffe8a2 --- /dev/null +++ b/libxml2/python/tests/validate.py @@ -0,0 +1,82 @@ +#!/usr/bin/env python3 +import sys +import setup_test +import libxml2 + +# Memory debug specific +libxml2.debugMemory(1) + +ctxt = libxml2.createFileParserCtxt("valid.xml") +ctxt.validate(1) +ctxt.parseDocument() +doc = ctxt.doc() +valid = ctxt.isValid() + +if doc.name != "valid.xml": + print("doc.name failed") + sys.exit(1) +root = doc.children +if root.name != "doc": + print("root.name failed") + sys.exit(1) +if valid != 1: + print("validity check failed") + sys.exit(1) +doc.freeDoc() + +i = 1000 +while i > 0: + ctxt = libxml2.createFileParserCtxt("valid.xml") + ctxt.validate(1) + ctxt.parseDocument() + doc = ctxt.doc() + valid = ctxt.isValid() + doc.freeDoc() + if valid != 1: + print("validity check failed") + sys.exit(1) + i = i - 1 + +#deactivate error messages from the validation +def noerr(ctx, str): + pass + +libxml2.registerErrorHandler(noerr, None) + +ctxt = libxml2.createFileParserCtxt("invalid.xml") +ctxt.validate(1) +ctxt.parseDocument() +doc = ctxt.doc() +valid = ctxt.isValid() +if doc.name != "invalid.xml": + print("doc.name failed") + sys.exit(1) +root = doc.children +if root.name != "doc": + print("root.name failed") + sys.exit(1) +if valid != 0: + print("validity check failed") + sys.exit(1) +doc.freeDoc() + +i = 1000 +while i > 0: + ctxt = libxml2.createFileParserCtxt("invalid.xml") + ctxt.validate(1) + ctxt.parseDocument() + doc = ctxt.doc() + valid = ctxt.isValid() + doc.freeDoc() + if valid != 0: + print("validity check failed") + sys.exit(1) + i = i - 1 +del ctxt + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) diff --git a/libxml2/python/tests/walker.py b/libxml2/python/tests/walker.py new file mode 100644 index 0000000..b1af875 --- /dev/null +++ b/libxml2/python/tests/walker.py @@ -0,0 +1,144 @@ +#!/usr/bin/env python3 +# +# this tests the entities substitutions with the XmlTextReader interface +# +import sys +import setup_test +import libxml2 + +# Memory debug specific +libxml2.debugMemory(1) + +result = "" +def processNode(reader): + global result + + result = result + "%d %d %s %d\n" % (reader.Depth(), reader.NodeType(), + reader.Name(), reader.IsEmptyElement()) + +# +# Parse a document testing the readerForxxx API +# +docstr=""" + +100 +""" +expect="""0 1 foo 0 +1 14 #text 0 +1 1 label 0 +2 3 #text 0 +1 15 label 0 +1 14 #text 0 +1 1 item 0 +2 3 #text 0 +1 15 item 0 +1 14 #text 0 +0 15 foo 0 +""" +result = "" + +doc = libxml2.parseDoc(docstr) +reader = doc.readerWalker(); +ret = reader.Read() +while ret == 1: + processNode(reader) + ret = reader.Read() + +if ret != 0: + print("Error parsing the document test1") + sys.exit(1) + +if result != expect: + print("Unexpected result for test1") + print(result) + sys.exit(1) + +doc.freeDoc() + +# +# Reuse the reader for another document testing the ReaderNewWalker API +# +docstr=""" + +1000 +""" +expect="""0 1 foo 0 +1 14 #text 0 +1 1 label 0 +2 3 #text 0 +1 15 label 0 +1 14 #text 0 +1 1 item 0 +2 3 #text 0 +1 15 item 0 +1 14 #text 0 +0 15 foo 0 +""" +result = "" + +doc = libxml2.parseDoc(docstr) +reader.NewWalker(doc) + +ret = reader.Read() +while ret == 1: + processNode(reader) + ret = reader.Read() + +if ret != 0: + print("Error parsing the document test2") + sys.exit(1) + +if result != expect: + print("Unexpected result for test2") + print(result) + sys.exit(1) + +doc.freeDoc() + +# +# Reuse the reader for another document testing the ReaderNewxxx API +# +docstr=""" + +1000 +""" +expect="""0 1 foo 0 +1 14 #text 0 +1 1 label 0 +2 3 #text 0 +1 15 label 0 +1 14 #text 0 +1 1 item 0 +2 3 #text 0 +1 15 item 0 +1 14 #text 0 +0 15 foo 0 +""" +result = "" + +reader.NewDoc(docstr, "test3", None, 0) +ret = reader.Read() +while ret == 1: + processNode(reader) + ret = reader.Read() + +if ret != 0: + print("Error parsing the document test3") + sys.exit(1) + +if result != expect: + print("Unexpected result for test3") + print(result) + sys.exit(1) + +# +# cleanup +# +del reader + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) diff --git a/libxml2/python/tests/xpath.py b/libxml2/python/tests/xpath.py new file mode 100644 index 0000000..ae14486 --- /dev/null +++ b/libxml2/python/tests/xpath.py @@ -0,0 +1,51 @@ +#!/usr/bin/env python3 +# +# this test exercise the XPath basic engine, parser, etc, and +# allows to detect memory leaks +# +import sys +import setup_test +import libxml2 + +# Memory debug specific +libxml2.debugMemory(1) + +doc = libxml2.parseFile("tst.xml") +if doc.name != "tst.xml": + print("doc.name error") + sys.exit(1); + +ctxt = doc.xpathNewContext() +res = ctxt.xpathEval("//*") +if len(res) != 2: + print("xpath query: wrong node set size") + sys.exit(1) +if res[0].name != "doc" or res[1].name != "foo": + print("xpath query: wrong node set value") + sys.exit(1) +ctxt.setContextNode(res[0]) +res = ctxt.xpathEval("foo") +if len(res) != 1: + print("xpath query: wrong node set size") + sys.exit(1) +if res[0].name != "foo": + print("xpath query: wrong node set value") + sys.exit(1) +doc.freeDoc() +ctxt.xpathFreeContext() +i = 1000 +while i > 0: + doc = libxml2.parseFile("tst.xml") + ctxt = doc.xpathNewContext() + res = ctxt.xpathEval("//*") + doc.freeDoc() + ctxt.xpathFreeContext() + i = i -1 +del ctxt + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) diff --git a/libxml2/python/tests/xpathext.py b/libxml2/python/tests/xpathext.py new file mode 100644 index 0000000..4eb8313 --- /dev/null +++ b/libxml2/python/tests/xpathext.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python3 +import sys +import setup_test +import libxml2 + +# Memory debug specific +libxml2.debugMemory(1) + +def foo(ctx, x): + return x + 1 + +def bar(ctx, x): + return "%d" % (x + 2) + +doc = libxml2.parseFile("tst.xml") +ctxt = doc.xpathNewContext() +res = ctxt.xpathEval("//*") +if len(res) != 2: + print("xpath query: wrong node set size") + sys.exit(1) +if res[0].name != "doc" or res[1].name != "foo": + print("xpath query: wrong node set value") + sys.exit(1) + +libxml2.registerXPathFunction(ctxt._o, "foo", None, foo) +libxml2.registerXPathFunction(ctxt._o, "bar", None, bar) +i = 10000 +while i > 0: + res = ctxt.xpathEval("foo(1)") + if res != 2: + print("xpath extension failure") + sys.exit(1) + i = i - 1 +i = 10000 +while i > 0: + res = ctxt.xpathEval("bar(1)") + if res != "3": + print("xpath extension failure got %s expecting '3'") + sys.exit(1) + i = i - 1 +doc.freeDoc() +ctxt.xpathFreeContext() + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) diff --git a/libxml2/python/tests/xpathleak.py b/libxml2/python/tests/xpathleak.py new file mode 100644 index 0000000..8734561 --- /dev/null +++ b/libxml2/python/tests/xpathleak.py @@ -0,0 +1,55 @@ +#!/usr/bin/env python3 +import setup_test +import libxml2 +import sys + +libxml2.debugMemory(True) + +expect="""--> Invalid expression +--> Invalid expression +--> Invalid expression +--> Invalid expression +--> Invalid expression +--> Invalid expression +--> Invalid expression +--> Invalid expression +--> Invalid expression +--> Invalid expression +""" +err="" +def callback(ctx, str): + global err + + err = err + "%s %s" % (ctx, str) + +libxml2.registerErrorHandler(callback, "-->") + +doc = libxml2.parseDoc("") +ctxt = doc.xpathNewContext() +ctxt.setContextNode(doc) +badexprs = ( + ":false()", "bad:()", "bad(:)", ":bad(:)", "bad:(:)", "bad:bad(:)", + "a:/b", "/c:/d", "//e:/f", "g://h" + ) +for expr in badexprs: + try: + ctxt.xpathEval(expr) + except libxml2.xpathError: + pass + else: + print("Unexpectedly legal expression:", expr) +ctxt.xpathFreeContext() +doc.freeDoc() + +if err != expect: + print("error") + print("received %s" %(err)) + print("expected %s" %(expect)) + sys.exit(1) + +libxml2.cleanupParser() +leakedbytes = libxml2.debugMemory(True) +if leakedbytes == 0: + print("OK") +else: + print("Memory leak", leakedbytes, "bytes") diff --git a/libxml2/python/tests/xpathns.py b/libxml2/python/tests/xpathns.py new file mode 100644 index 0000000..4567fcf --- /dev/null +++ b/libxml2/python/tests/xpathns.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python3 +# +import setup_test +import libxml2 + +expect=' xmlns:a="urn:whatevar"' + +# Memory debug specific +libxml2.debugMemory(1) + +d = libxml2.parseDoc("") +res="" +for n in d.xpathEval("//namespace::*"): + res = res + n.serialize() +del n +d.freeDoc() + +if res != expect: + print("test5 failed: unexpected output") + print(res) +del res +del d +# Memory debug specific +libxml2.cleanupParser() + +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) diff --git a/libxml2/python/tests/xpathret.py b/libxml2/python/tests/xpathret.py new file mode 100644 index 0000000..76d5cb7 --- /dev/null +++ b/libxml2/python/tests/xpathret.py @@ -0,0 +1,57 @@ +#!/usr/bin/env python3 +import sys +import setup_test +import libxml2 + +#memory debug specific +libxml2.debugMemory(1) + +# +# A document hosting the nodes returned from the extension function +# +mydoc = libxml2.newDoc("1.0") + +def foo(ctx, str): + global mydoc + + # + # test returning a node set works as expected + # + parent = mydoc.newDocNode(None, 'p', None) + mydoc.addChild(parent) + node = mydoc.newDocText(str) + parent.addChild(node) + return [parent] + +doc = libxml2.parseFile("tst.xml") +ctxt = doc.xpathNewContext() +libxml2.registerXPathFunction(ctxt._o, "foo", None, foo) +res = ctxt.xpathEval("foo('hello')") +if type(res) != type([]): + print("Failed to return a nodeset") + sys.exit(1) +if len(res) != 1: + print("Unexpected nodeset size") + sys.exit(1) +node = res[0] +if node.name != 'p': + print("Unexpected nodeset element result") + sys.exit(1) +node = node.children +if node.type != 'text': + print("Unexpected nodeset element children type") + sys.exit(1) +if node.content != 'hello': + print("Unexpected nodeset element children content") + sys.exit(1) + +doc.freeDoc() +mydoc.freeDoc() +ctxt.xpathFreeContext() + +#memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print("OK") +else: + print("Memory leak %d bytes" % (libxml2.debugMemory(1))) diff --git a/libxml2/python/types.c b/libxml2/python/types.c new file mode 100644 index 0000000..7648281 --- /dev/null +++ b/libxml2/python/types.c @@ -0,0 +1,895 @@ +/* + * types.c: converter functions between the internal representation + * and the Python objects + * + * See Copyright for the status of this software. + * + * daniel@veillard.com + */ +#include "libxml_wrap.h" +#include +#include + +#if PY_MAJOR_VERSION >= 3 +#define PY_IMPORT_STRING_SIZE PyUnicode_FromStringAndSize +#define PY_IMPORT_STRING PyUnicode_FromString +#define PY_IMPORT_INT PyLong_FromLong +#else +#define PY_IMPORT_STRING_SIZE PyString_FromStringAndSize +#define PY_IMPORT_STRING PyString_FromString +#define PY_IMPORT_INT PyInt_FromLong +#endif + +#if PY_MAJOR_VERSION >= 3 +#include +#include + +#ifdef _WIN32 + +#include +#include + +/* Taken from info on MSDN site, as we may not have the Windows WDK/DDK headers */ +typedef struct _IO_STATUS_BLOCK { + union { + NTSTATUS Status; + PVOID Pointer; + } DUMMYUNIONNAME; + ULONG_PTR Information; +} IO_STATUS_BLOCK; + +typedef struct _FILE_ACCESS_INFORMATION { + ACCESS_MASK AccessFlags; +} FILE_ACCESS_INFORMATION; + +typedef NTSTATUS (*t_NtQueryInformationFile) (HANDLE FileHandle, + IO_STATUS_BLOCK *IoStatusBlock, + PVOID FileInformation, + ULONG Length, + int FileInformationClass); /* this is an Enum */ + +#if (defined (_MSC_VER) && _MSC_VER >= 1400) +/* + * This is the (empty) invalid parameter handler + * that is used for Visual C++ 2005 (and later) builds + * so that we can use this instead of the system automatically + * aborting the process. + * + * This is necessary as we use _get_oshandle() to check the validity + * of the file descriptors as we close them, so when an invalid file + * descriptor is passed into that function as we check on it, we get + * -1 as the result, instead of the gspawn helper program aborting. + * + * Please see http://msdn.microsoft.com/zh-tw/library/ks2530z6%28v=vs.80%29.aspx + * for an explanation on this. + */ +void +myInvalidParameterHandler(const wchar_t *expression, + const wchar_t *function, + const wchar_t *file, + unsigned int line, + uintptr_t pReserved) +{ +} +#endif +#else +#include +#include +#endif + +FILE * +libxml_PyFileGet(PyObject *f) { + FILE *res; + const char *mode; + int fd = PyObject_AsFileDescriptor(f); + +#ifdef _WIN32 + intptr_t w_fh = -1; + HMODULE hntdll = NULL; + IO_STATUS_BLOCK status_block; + FILE_ACCESS_INFORMATION ai; + t_NtQueryInformationFile NtQueryInformationFile; + BOOL is_read = FALSE; + BOOL is_write = FALSE; + BOOL is_append = FALSE; + +#if (defined (_MSC_VER) && _MSC_VER >= 1400) + /* set up our empty invalid parameter handler */ + _invalid_parameter_handler oldHandler, newHandler; + newHandler = myInvalidParameterHandler; + oldHandler = _set_invalid_parameter_handler(newHandler); + + /* Disable the message box for assertions. */ + _CrtSetReportMode(_CRT_ASSERT, 0); +#endif + + w_fh = _get_osfhandle(fd); + + if (w_fh == -1) + return(NULL); + + hntdll = GetModuleHandleW(L"ntdll.dll"); + + if (hntdll == NULL) + return(NULL); + NtQueryInformationFile = (t_NtQueryInformationFile) (void (*)(void)) + GetProcAddress(hntdll, "NtQueryInformationFile"); + + if (NtQueryInformationFile != NULL && + (NtQueryInformationFile((HANDLE)w_fh, + &status_block, + &ai, + sizeof(FILE_ACCESS_INFORMATION), + 8) == 0)) /* 8 means "FileAccessInformation" */ + { + if (ai.AccessFlags & FILE_READ_DATA) + is_read = TRUE; + if (ai.AccessFlags & FILE_WRITE_DATA) + is_write = TRUE; + if (ai.AccessFlags & FILE_APPEND_DATA) + is_append = TRUE; + + if (is_write) { + if (is_read) { + if (is_append) + mode = "a+"; + else + mode = "rw"; + } else { + if (is_append) + mode = "a"; + else + mode = "w"; + } + } else { + if (is_append) + mode = "r+"; + else + mode = "r"; + } + } + + FreeLibrary(hntdll); + + if (!is_write && !is_read) /* also happens if we did not load or run NtQueryInformationFile() successfully */ + return(NULL); +#else + int flags; + + /* + * macOS returns O_RDWR for standard streams, but fails to write to + * stdout or stderr when opened with fdopen(dup_fd, "rw"). + */ + switch (fd) { + case STDIN_FILENO: + mode = "r"; + break; + case STDOUT_FILENO: + case STDERR_FILENO: + mode = "w"; + break; + default: + /* + * Get the flags on the fd to understand how it was opened + */ + flags = fcntl(fd, F_GETFL, 0); + switch (flags & O_ACCMODE) { + case O_RDWR: + if (flags & O_APPEND) + mode = "a+"; + else + mode = "rw"; + break; + case O_RDONLY: + if (flags & O_APPEND) + mode = "r+"; + else + mode = "r"; + break; + case O_WRONLY: + if (flags & O_APPEND) + mode = "a"; + else + mode = "w"; + break; + default: + return(NULL); + } + } +#endif + + /* + * the FILE struct gets a new fd, so that it can be closed + * independently of the file descriptor given. The risk though is + * lack of sync. So at the python level sync must be implemented + * before and after a conversion took place. No way around it + * in the Python3 infrastructure ! + * The duplicated fd and FILE * will be released in the subsequent + * call to libxml_PyFileRelease() which must be generated accordingly + */ + fd = dup(fd); + if (fd == -1) + return(NULL); + res = fdopen(fd, mode); + if (res == NULL) { + close(fd); + return(NULL); + } + return(res); +} + +void libxml_PyFileRelease(FILE *f) { + if (f != NULL) + fclose(f); +} +#endif + +PyObject * +libxml_intWrap(int val) +{ + PyObject *ret; + + ret = PY_IMPORT_INT((long) val); + return (ret); +} + +PyObject * +libxml_longWrap(long val) +{ + PyObject *ret; + + ret = PyLong_FromLong(val); + return (ret); +} + +PyObject * +libxml_doubleWrap(double val) +{ + PyObject *ret; + + ret = PyFloat_FromDouble((double) val); + return (ret); +} + +PyObject * +libxml_charPtrWrap(char *str) +{ + PyObject *ret; + + if (str == NULL) { + Py_INCREF(Py_None); + return (Py_None); + } + ret = PY_IMPORT_STRING(str); + xmlFree(str); + return (ret); +} + +PyObject * +libxml_charPtrConstWrap(const char *str) +{ + PyObject *ret; + + if (str == NULL) { + Py_INCREF(Py_None); + return (Py_None); + } + ret = PY_IMPORT_STRING(str); + return (ret); +} + +PyObject * +libxml_xmlCharPtrWrap(xmlChar * str) +{ + PyObject *ret; + + if (str == NULL) { + Py_INCREF(Py_None); + return (Py_None); + } + ret = PY_IMPORT_STRING((char *) str); + xmlFree(str); + return (ret); +} + +PyObject * +libxml_xmlCharPtrConstWrap(const xmlChar * str) +{ + PyObject *ret; + + if (str == NULL) { + Py_INCREF(Py_None); + return (Py_None); + } + ret = PY_IMPORT_STRING((char *) str); + return (ret); +} + +PyObject * +libxml_constcharPtrWrap(const char *str) +{ + PyObject *ret; + + if (str == NULL) { + Py_INCREF(Py_None); + return (Py_None); + } + ret = PY_IMPORT_STRING(str); + return (ret); +} + +PyObject * +libxml_constxmlCharPtrWrap(const xmlChar * str) +{ + PyObject *ret; + + if (str == NULL) { + Py_INCREF(Py_None); + return (Py_None); + } + ret = PY_IMPORT_STRING((char *) str); + return (ret); +} + +PyObject * +libxml_xmlDocPtrWrap(xmlDocPtr doc) +{ + PyObject *ret; + + if (doc == NULL) { + Py_INCREF(Py_None); + return (Py_None); + } + /* TODO: look at deallocation */ + ret = PyCapsule_New((void *) doc, (char *) "xmlDocPtr", NULL); + return (ret); +} + +PyObject * +libxml_xmlNodePtrWrap(xmlNodePtr node) +{ + PyObject *ret; + + if (node == NULL) { + Py_INCREF(Py_None); + return (Py_None); + } + ret = PyCapsule_New((void *) node, (char *) "xmlNodePtr", NULL); + return (ret); +} + +PyObject * +libxml_xmlURIPtrWrap(xmlURIPtr uri) +{ + PyObject *ret; + + if (uri == NULL) { + Py_INCREF(Py_None); + return (Py_None); + } + ret = PyCapsule_New((void *) uri, (char *) "xmlURIPtr", NULL); + return (ret); +} + +PyObject * +libxml_xmlNsPtrWrap(xmlNsPtr ns) +{ + PyObject *ret; + + if (ns == NULL) { + Py_INCREF(Py_None); + return (Py_None); + } + ret = PyCapsule_New((void *) ns, (char *) "xmlNsPtr", NULL); + return (ret); +} + +PyObject * +libxml_xmlAttrPtrWrap(xmlAttrPtr attr) +{ + PyObject *ret; + + if (attr == NULL) { + Py_INCREF(Py_None); + return (Py_None); + } + ret = PyCapsule_New((void *) attr, (char *) "xmlAttrPtr", NULL); + return (ret); +} + +PyObject * +libxml_xmlAttributePtrWrap(xmlAttributePtr attr) +{ + PyObject *ret; + + if (attr == NULL) { + Py_INCREF(Py_None); + return (Py_None); + } + ret = PyCapsule_New((void *) attr, (char *) "xmlAttributePtr", NULL); + return (ret); +} + +PyObject * +libxml_xmlElementPtrWrap(xmlElementPtr elem) +{ + PyObject *ret; + + if (elem == NULL) { + Py_INCREF(Py_None); + return (Py_None); + } + ret = PyCapsule_New((void *) elem, (char *) "xmlElementPtr", NULL); + return (ret); +} + +PyObject * +libxml_xmlParserCtxtPtrWrap(xmlParserCtxtPtr ctxt) +{ + PyObject *ret; + + if (ctxt == NULL) { + Py_INCREF(Py_None); + return (Py_None); + } + + ret = PyCapsule_New((void *) ctxt, (char *) "xmlParserCtxtPtr", NULL); + return (ret); +} + +#ifdef LIBXML_XPATH_ENABLED +PyObject * +libxml_xmlXPathContextPtrWrap(xmlXPathContextPtr ctxt) +{ + PyObject *ret; + + if (ctxt == NULL) { + Py_INCREF(Py_None); + return (Py_None); + } + ret = PyCapsule_New((void *) ctxt, (char *) "xmlXPathContextPtr", NULL); + return (ret); +} + +PyObject * +libxml_xmlXPathParserContextPtrWrap(xmlXPathParserContextPtr ctxt) +{ + PyObject *ret; + + if (ctxt == NULL) { + Py_INCREF(Py_None); + return (Py_None); + } + ret = PyCapsule_New((void *)ctxt, (char *)"xmlXPathParserContextPtr", NULL); + return (ret); +} + +/** + * libxml_xmlXPathDestructNsNode: + * cap: xmlNsPtr namespace node capsule object + * + * This function is called if and when a namespace node returned in + * an XPath node set is to be destroyed. That's the only kind of + * object returned in node set not directly linked to the original + * xmlDoc document, see xmlXPathNodeSetDupNs. + */ +#if PY_VERSION_HEX < 0x02070000 +static void +libxml_xmlXPathDestructNsNode(void *cap, void *desc ATTRIBUTE_UNUSED) +#else +static void +libxml_xmlXPathDestructNsNode(PyObject *cap) +#endif +{ +#if PY_VERSION_HEX < 0x02070000 + xmlXPathNodeSetFreeNs((xmlNsPtr) cap); +#else + xmlXPathNodeSetFreeNs((xmlNsPtr) PyCapsule_GetPointer(cap, "xmlNsPtr")); +#endif +} + +PyObject * +libxml_xmlXPathObjectPtrWrap(xmlXPathObjectPtr obj) +{ + PyObject *ret; + + if (obj == NULL) { + Py_INCREF(Py_None); + return (Py_None); + } + switch (obj->type) { + case XPATH_XSLT_TREE: { + if ((obj->nodesetval == NULL) || + (obj->nodesetval->nodeNr == 0) || + (obj->nodesetval->nodeTab == NULL)) { + ret = PyList_New(0); + } else { + int i, len = 0; + xmlNodePtr node; + + node = obj->nodesetval->nodeTab[0]->children; + while (node != NULL) { + len++; + node = node->next; + } + ret = PyList_New(len); + node = obj->nodesetval->nodeTab[0]->children; + for (i = 0;i < len;i++) { + PyList_SetItem(ret, i, libxml_xmlNodePtrWrap(node)); + node = node->next; + } + } + /* + * Return now, do not free the object passed down + */ + return (ret); + } + case XPATH_NODESET: + if ((obj->nodesetval == NULL) + || (obj->nodesetval->nodeNr == 0)) { + ret = PyList_New(0); + } else { + int i; + xmlNodePtr node; + + ret = PyList_New(obj->nodesetval->nodeNr); + for (i = 0; i < obj->nodesetval->nodeNr; i++) { + node = obj->nodesetval->nodeTab[i]; + if (node->type == XML_NAMESPACE_DECL) { + PyObject *ns = PyCapsule_New((void *) node, + (char *) "xmlNsPtr", + libxml_xmlXPathDestructNsNode); + PyList_SetItem(ret, i, ns); + /* make sure the xmlNsPtr is not destroyed now */ + obj->nodesetval->nodeTab[i] = NULL; + } else { + PyList_SetItem(ret, i, libxml_xmlNodePtrWrap(node)); + } + } + } + break; + case XPATH_BOOLEAN: + ret = PY_IMPORT_INT((long) obj->boolval); + break; + case XPATH_NUMBER: + ret = PyFloat_FromDouble(obj->floatval); + break; + case XPATH_STRING: + ret = PY_IMPORT_STRING((char *) obj->stringval); + break; + default: + Py_INCREF(Py_None); + ret = Py_None; + } + xmlXPathFreeObject(obj); + return (ret); +} + +xmlXPathObjectPtr +libxml_xmlXPathObjectPtrConvert(PyObject *obj) +{ + xmlXPathObjectPtr ret = NULL; + + if (obj == NULL) { + return (NULL); + } + if (PyFloat_Check (obj)) { + ret = xmlXPathNewFloat((double) PyFloat_AS_DOUBLE(obj)); + } else if (PyLong_Check(obj)) { +#ifdef PyLong_AS_LONG + ret = xmlXPathNewFloat((double) PyLong_AS_LONG(obj)); +#else + ret = xmlXPathNewFloat((double) PyInt_AS_LONG(obj)); +#endif +#ifdef PyBool_Check + } else if (PyBool_Check (obj)) { + + if (obj == Py_True) { + ret = xmlXPathNewBoolean(1); + } + else { + ret = xmlXPathNewBoolean(0); + } +#endif + } else if (PyBytes_Check (obj)) { + xmlChar *str; + + str = xmlStrndup((const xmlChar *) PyBytes_AS_STRING(obj), + PyBytes_GET_SIZE(obj)); + ret = xmlXPathWrapString(str); +#ifdef PyUnicode_Check + } else if (PyUnicode_Check (obj)) { +#if PY_VERSION_HEX >= 0x03030000 + xmlChar *str; + const char *tmp; + Py_ssize_t size; + + /* tmp doesn't need to be deallocated */ + tmp = PyUnicode_AsUTF8AndSize(obj, &size); + str = xmlStrndup((const xmlChar *) tmp, (int) size); + ret = xmlXPathWrapString(str); +#else + xmlChar *str = NULL; + PyObject *b; + + b = PyUnicode_AsUTF8String(obj); + if (b != NULL) { + str = xmlStrndup((const xmlChar *) PyBytes_AS_STRING(b), + PyBytes_GET_SIZE(b)); + Py_DECREF(b); + } + ret = xmlXPathWrapString(str); +#endif +#endif + } else if (PyList_Check (obj)) { + int i; + PyObject *node; + xmlNodePtr cur; + xmlNodeSetPtr set; + + set = xmlXPathNodeSetCreate(NULL); + + for (i = 0; i < PyList_Size(obj); i++) { + node = PyList_GetItem(obj, i); + if ((node == NULL) || (node->ob_type == NULL)) + continue; + + cur = NULL; + if (PyCapsule_CheckExact(node)) { + cur = PyxmlNode_Get(node); + } else if ((PyObject_HasAttrString(node, (char *) "_o")) && + (PyObject_HasAttrString(node, (char *) "get_doc"))) { + PyObject *wrapper; + + wrapper = PyObject_GetAttrString(node, (char *) "_o"); + if (wrapper != NULL) + cur = PyxmlNode_Get(wrapper); + } else { + } + if (cur != NULL) { + xmlXPathNodeSetAdd(set, cur); + } + } + ret = xmlXPathWrapNodeSet(set); + } else { + } + return (ret); +} +#endif /* LIBXML_XPATH_ENABLED */ + +PyObject * +libxml_xmlValidCtxtPtrWrap(xmlValidCtxtPtr valid) +{ + PyObject *ret; + + if (valid == NULL) { + Py_INCREF(Py_None); + return (Py_None); + } + + ret = + PyCapsule_New((void *) valid, + (char *) "xmlValidCtxtPtr", NULL); + + return (ret); +} + +#ifdef LIBXML_CATALOG_ENABLED +PyObject * +libxml_xmlCatalogPtrWrap(xmlCatalogPtr catal) +{ + PyObject *ret; + + if (catal == NULL) { + Py_INCREF(Py_None); + return (Py_None); + } + ret = + PyCapsule_New((void *) catal, + (char *) "xmlCatalogPtr", NULL); + return (ret); +} +#endif /* LIBXML_CATALOG_ENABLED */ + +PyObject * +libxml_xmlOutputBufferPtrWrap(xmlOutputBufferPtr buffer) +{ + PyObject *ret; + + if (buffer == NULL) { + Py_INCREF(Py_None); + return (Py_None); + } + ret = + PyCapsule_New((void *) buffer, + (char *) "xmlOutputBufferPtr", NULL); + return (ret); +} + +PyObject * +libxml_xmlParserInputBufferPtrWrap(xmlParserInputBufferPtr buffer) +{ + PyObject *ret; + + if (buffer == NULL) { + Py_INCREF(Py_None); + return (Py_None); + } + ret = + PyCapsule_New((void *) buffer, + (char *) "xmlParserInputBufferPtr", NULL); + return (ret); +} + +#ifdef LIBXML_REGEXP_ENABLED +PyObject * +libxml_xmlRegexpPtrWrap(xmlRegexpPtr regexp) +{ + PyObject *ret; + + if (regexp == NULL) { + Py_INCREF(Py_None); + return (Py_None); + } + ret = + PyCapsule_New((void *) regexp, + (char *) "xmlRegexpPtr", NULL); + return (ret); +} +#endif /* LIBXML_REGEXP_ENABLED */ + +#ifdef LIBXML_READER_ENABLED +PyObject * +libxml_xmlTextReaderPtrWrap(xmlTextReaderPtr reader) +{ + PyObject *ret; + + if (reader == NULL) { + Py_INCREF(Py_None); + return (Py_None); + } + ret = + PyCapsule_New((void *) reader, + (char *) "xmlTextReaderPtr", NULL); + return (ret); +} + +PyObject * +libxml_xmlTextReaderLocatorPtrWrap(xmlTextReaderLocatorPtr locator) +{ + PyObject *ret; + + if (locator == NULL) { + Py_INCREF(Py_None); + return (Py_None); + } + ret = + PyCapsule_New((void *) locator, + (char *) "xmlTextReaderLocatorPtr", NULL); + return (ret); +} +#endif /* LIBXML_READER_ENABLED */ + +#ifdef LIBXML_RELAXNG_ENABLED +PyObject * +libxml_xmlRelaxNGPtrWrap(xmlRelaxNGPtr ctxt) +{ + PyObject *ret; + + if (ctxt == NULL) { + Py_INCREF(Py_None); + return (Py_None); + } + ret = + PyCapsule_New((void *) ctxt, + (char *) "xmlRelaxNGPtr", NULL); + return (ret); +} + +PyObject * +libxml_xmlRelaxNGParserCtxtPtrWrap(xmlRelaxNGParserCtxtPtr ctxt) +{ + PyObject *ret; + + if (ctxt == NULL) { + Py_INCREF(Py_None); + return (Py_None); + } + ret = + PyCapsule_New((void *) ctxt, + (char *) "xmlRelaxNGParserCtxtPtr", NULL); + return (ret); +} +PyObject * +libxml_xmlRelaxNGValidCtxtPtrWrap(xmlRelaxNGValidCtxtPtr valid) +{ + PyObject *ret; + + if (valid == NULL) { + Py_INCREF(Py_None); + return (Py_None); + } + ret = + PyCapsule_New((void *) valid, + (char *) "xmlRelaxNGValidCtxtPtr", NULL); + return (ret); +} +#endif /* LIBXML_RELAXNG_ENABLED */ + +#ifdef LIBXML_SCHEMAS_ENABLED +PyObject * +libxml_xmlSchemaPtrWrap(xmlSchemaPtr ctxt) +{ + PyObject *ret; + + if (ctxt == NULL) { + Py_INCREF(Py_None); + return (Py_None); + } + ret = + PyCapsule_New((void *) ctxt, + (char *) "xmlSchemaPtr", NULL); + return (ret); +} + +PyObject * +libxml_xmlSchemaParserCtxtPtrWrap(xmlSchemaParserCtxtPtr ctxt) +{ + PyObject *ret; + + if (ctxt == NULL) { + Py_INCREF(Py_None); + return (Py_None); + } + ret = + PyCapsule_New((void *) ctxt, + (char *) "xmlSchemaParserCtxtPtr", NULL); + + return (ret); +} + +PyObject * +libxml_xmlSchemaValidCtxtPtrWrap(xmlSchemaValidCtxtPtr valid) +{ + PyObject *ret; + + if (valid == NULL) { + Py_INCREF(Py_None); + return (Py_None); + } + + ret = + PyCapsule_New((void *) valid, + (char *) "xmlSchemaValidCtxtPtr", NULL); + + return (ret); +} +#endif /* LIBXML_SCHEMAS_ENABLED */ + +static void +libxml_xmlDestructError(PyObject *cap) { + xmlErrorPtr err = (xmlErrorPtr) PyCapsule_GetPointer(cap, "xmlErrorPtr"); + xmlResetError(err); + xmlFree(err); +} + +PyObject * +libxml_xmlErrorPtrWrap(const xmlError *error) +{ + PyObject *ret; + xmlErrorPtr copy; + + if (error == NULL) { + Py_INCREF(Py_None); + return (Py_None); + } + copy = xmlMalloc(sizeof(*copy)); + if (copy == NULL) { + Py_INCREF(Py_None); + return (Py_None); + } + memset(copy, 0, sizeof(*copy)); + xmlCopyError(error, copy); + ret = PyCapsule_New(copy, "xmlErrorPtr", libxml_xmlDestructError); + return (ret); +} diff --git a/libxml2/relaxng.c b/libxml2/relaxng.c new file mode 100644 index 0000000..7fc54ce --- /dev/null +++ b/libxml2/relaxng.c @@ -0,0 +1,10751 @@ +/* + * relaxng.c : implementation of the Relax-NG handling and validity checking + * + * See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +/** + * TODO: + * - add support for DTD compatibility spec + * http://www.oasis-open.org/committees/relax-ng/compatibility-20011203.html + * - report better mem allocations pbms at runtime and abort immediately. + */ + +#define IN_LIBXML +#include "libxml.h" + +#ifdef LIBXML_RELAXNG_ENABLED + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include +#include +#include + +#include "private/error.h" +#include "private/memory.h" +#include "private/regexp.h" +#include "private/string.h" +#include "private/threads.h" + +/* + * The Relax-NG namespace + */ +static const xmlChar *xmlRelaxNGNs = (const xmlChar *) + "http://relaxng.org/ns/structure/1.0"; + +/* + * Default include limit, this can be override with RNG_INCLUDE_LIMIT + * env variable + */ +static const int _xmlRelaxNGIncludeLimit = 1000; + +#define IS_RELAXNG(node, typ) \ + ((node != NULL) && (node->ns != NULL) && \ + (node->type == XML_ELEMENT_NODE) && \ + (xmlStrEqual(node->name, (const xmlChar *) typ)) && \ + (xmlStrEqual(node->ns->href, xmlRelaxNGNs))) + + +#define MAX_ERROR 5 + +typedef struct _xmlRelaxNGSchema xmlRelaxNGSchema; +typedef xmlRelaxNGSchema *xmlRelaxNGSchemaPtr; + +typedef struct _xmlRelaxNGDefine xmlRelaxNGDefine; +typedef xmlRelaxNGDefine *xmlRelaxNGDefinePtr; + +typedef struct _xmlRelaxNGDocument xmlRelaxNGDocument; +typedef xmlRelaxNGDocument *xmlRelaxNGDocumentPtr; + +typedef struct _xmlRelaxNGInclude xmlRelaxNGInclude; +typedef xmlRelaxNGInclude *xmlRelaxNGIncludePtr; + +typedef enum { + XML_RELAXNG_COMBINE_UNDEFINED = 0, /* undefined */ + XML_RELAXNG_COMBINE_CHOICE, /* choice */ + XML_RELAXNG_COMBINE_INTERLEAVE /* interleave */ +} xmlRelaxNGCombine; + +typedef enum { + XML_RELAXNG_CONTENT_ERROR = -1, + XML_RELAXNG_CONTENT_EMPTY = 0, + XML_RELAXNG_CONTENT_SIMPLE, + XML_RELAXNG_CONTENT_COMPLEX +} xmlRelaxNGContentType; + +typedef struct _xmlRelaxNGGrammar xmlRelaxNGGrammar; +typedef xmlRelaxNGGrammar *xmlRelaxNGGrammarPtr; + +struct _xmlRelaxNGGrammar { + xmlRelaxNGGrammarPtr parent; /* the parent grammar if any */ + xmlRelaxNGGrammarPtr children; /* the children grammar if any */ + xmlRelaxNGGrammarPtr next; /* the next grammar if any */ + xmlRelaxNGDefinePtr start; /* content */ + xmlRelaxNGCombine combine; /* the default combine value */ + xmlRelaxNGDefinePtr startList; /* list of definitions */ + xmlHashTablePtr defs; /* define* */ + xmlHashTablePtr refs; /* references */ +}; + + +typedef enum { + XML_RELAXNG_NOOP = -1, /* a no operation from simplification */ + XML_RELAXNG_EMPTY = 0, /* an empty pattern */ + XML_RELAXNG_NOT_ALLOWED, /* not allowed top */ + XML_RELAXNG_EXCEPT, /* except present in nameclass defs */ + XML_RELAXNG_TEXT, /* textual content */ + XML_RELAXNG_ELEMENT, /* an element */ + XML_RELAXNG_DATATYPE, /* external data type definition */ + XML_RELAXNG_PARAM, /* external data type parameter */ + XML_RELAXNG_VALUE, /* value from an external data type definition */ + XML_RELAXNG_LIST, /* a list of patterns */ + XML_RELAXNG_ATTRIBUTE, /* an attribute following a pattern */ + XML_RELAXNG_DEF, /* a definition */ + XML_RELAXNG_REF, /* reference to a definition */ + XML_RELAXNG_EXTERNALREF, /* reference to an external def */ + XML_RELAXNG_PARENTREF, /* reference to a def in the parent grammar */ + XML_RELAXNG_OPTIONAL, /* optional patterns */ + XML_RELAXNG_ZEROORMORE, /* zero or more non empty patterns */ + XML_RELAXNG_ONEORMORE, /* one or more non empty patterns */ + XML_RELAXNG_CHOICE, /* a choice between non empty patterns */ + XML_RELAXNG_GROUP, /* a pair/group of non empty patterns */ + XML_RELAXNG_INTERLEAVE, /* interleaving choice of non-empty patterns */ + XML_RELAXNG_START /* Used to keep track of starts on grammars */ +} xmlRelaxNGType; + +#define IS_NULLABLE (1 << 0) +#define IS_NOT_NULLABLE (1 << 1) +#define IS_INDETERMINIST (1 << 2) +#define IS_MIXED (1 << 3) +#define IS_TRIABLE (1 << 4) +#define IS_PROCESSED (1 << 5) +#define IS_COMPILABLE (1 << 6) +#define IS_NOT_COMPILABLE (1 << 7) +#define IS_EXTERNAL_REF (1 << 8) + +struct _xmlRelaxNGDefine { + xmlRelaxNGType type; /* the type of definition */ + xmlNodePtr node; /* the node in the source */ + xmlChar *name; /* the element local name if present */ + xmlChar *ns; /* the namespace local name if present */ + xmlChar *value; /* value when available */ + void *data; /* data lib or specific pointer */ + xmlRelaxNGDefinePtr content; /* the expected content */ + xmlRelaxNGDefinePtr parent; /* the parent definition, if any */ + xmlRelaxNGDefinePtr next; /* list within grouping sequences */ + xmlRelaxNGDefinePtr attrs; /* list of attributes for elements */ + xmlRelaxNGDefinePtr nameClass; /* the nameClass definition if any */ + xmlRelaxNGDefinePtr nextHash; /* next define in defs/refs hash tables */ + short depth; /* used for the cycle detection */ + short dflags; /* define related flags */ + xmlRegexpPtr contModel; /* a compiled content model if available */ +}; + +/** + * A RelaxNGs definition + */ +struct _xmlRelaxNG { + void *_private; /* unused by the library for users or bindings */ + xmlRelaxNGGrammarPtr topgrammar; + xmlDocPtr doc; + + int idref; /* requires idref checking */ + + xmlHashTablePtr defs; /* define */ + xmlHashTablePtr refs; /* references */ + xmlRelaxNGDocumentPtr documents; /* all the documents loaded */ + xmlRelaxNGIncludePtr includes; /* all the includes loaded */ + int defNr; /* number of defines used */ + xmlRelaxNGDefinePtr *defTab; /* pointer to the allocated definitions */ + +}; + +#define XML_RELAXNG_IN_ATTRIBUTE (1 << 0) +#define XML_RELAXNG_IN_ONEORMORE (1 << 1) +#define XML_RELAXNG_IN_LIST (1 << 2) +#define XML_RELAXNG_IN_DATAEXCEPT (1 << 3) +#define XML_RELAXNG_IN_START (1 << 4) +#define XML_RELAXNG_IN_OOMGROUP (1 << 5) +#define XML_RELAXNG_IN_OOMINTERLEAVE (1 << 6) +#define XML_RELAXNG_IN_EXTERNALREF (1 << 7) +#define XML_RELAXNG_IN_ANYEXCEPT (1 << 8) +#define XML_RELAXNG_IN_NSEXCEPT (1 << 9) + +struct _xmlRelaxNGParserCtxt { + void *userData; /* user specific data block */ + xmlRelaxNGValidityErrorFunc error; /* the callback in case of errors */ + xmlRelaxNGValidityWarningFunc warning; /* the callback in case of warning */ + xmlStructuredErrorFunc serror; + xmlRelaxNGValidErr err; + + xmlRelaxNGPtr schema; /* The schema in use */ + xmlRelaxNGGrammarPtr grammar; /* the current grammar */ + xmlRelaxNGGrammarPtr parentgrammar; /* the parent grammar */ + int flags; /* parser flags */ + int nbErrors; /* number of errors at parse time */ + int nbWarnings; /* number of warnings at parse time */ + const xmlChar *define; /* the current define scope */ + xmlRelaxNGDefinePtr def; /* the current define */ + + int nbInterleaves; + xmlHashTablePtr interleaves; /* keep track of all the interleaves */ + + xmlRelaxNGDocumentPtr documents; /* all the documents loaded */ + xmlRelaxNGIncludePtr includes; /* all the includes loaded */ + xmlChar *URL; + xmlDocPtr document; + + int defNr; /* number of defines used */ + int defMax; /* number of defines allocated */ + xmlRelaxNGDefinePtr *defTab; /* pointer to the allocated definitions */ + + const char *buffer; + int size; + + /* the document stack */ + xmlRelaxNGDocumentPtr doc; /* Current parsed external ref */ + int docNr; /* Depth of the parsing stack */ + int docMax; /* Max depth of the parsing stack */ + xmlRelaxNGDocumentPtr *docTab; /* array of docs */ + + /* the include stack */ + xmlRelaxNGIncludePtr inc; /* Current parsed include */ + int incNr; /* Depth of the include parsing stack */ + int incMax; /* Max depth of the parsing stack */ + xmlRelaxNGIncludePtr *incTab; /* array of incs */ + int incLimit; /* Include limit, to avoid stack-overflow on parse */ + + int idref; /* requires idref checking */ + + /* used to compile content models */ + xmlAutomataPtr am; /* the automata */ + xmlAutomataStatePtr state; /* used to build the automata */ + + int crng; /* compact syntax and other flags */ + int freedoc; /* need to free the document */ + + xmlResourceLoader resourceLoader; + void *resourceCtxt; +}; + +#define FLAGS_IGNORABLE 1 +#define FLAGS_NEGATIVE 2 +#define FLAGS_MIXED_CONTENT 4 +#define FLAGS_NOERROR 8 + +/** + * A RelaxNGs partition set associated to lists of definitions + */ +typedef struct _xmlRelaxNGInterleaveGroup xmlRelaxNGInterleaveGroup; +typedef xmlRelaxNGInterleaveGroup *xmlRelaxNGInterleaveGroupPtr; +struct _xmlRelaxNGInterleaveGroup { + xmlRelaxNGDefinePtr rule; /* the rule to satisfy */ + xmlRelaxNGDefinePtr *defs; /* the array of element definitions */ + xmlRelaxNGDefinePtr *attrs; /* the array of attributes definitions */ +}; + +#define IS_DETERMINIST 1 +#define IS_NEEDCHECK 2 + +/** + * A RelaxNGs partition associated to an interleave group + */ +typedef struct _xmlRelaxNGPartition xmlRelaxNGPartition; +typedef xmlRelaxNGPartition *xmlRelaxNGPartitionPtr; +struct _xmlRelaxNGPartition { + int nbgroups; /* number of groups in the partitions */ + xmlHashTablePtr triage; /* hash table used to direct nodes to the + * right group when possible */ + int flags; /* determinist ? */ + xmlRelaxNGInterleaveGroupPtr *groups; +}; + +/** + * A RelaxNGs validation state + */ +#define MAX_ATTR 20 +typedef struct _xmlRelaxNGValidState xmlRelaxNGValidState; +typedef xmlRelaxNGValidState *xmlRelaxNGValidStatePtr; +struct _xmlRelaxNGValidState { + xmlNodePtr node; /* the current node */ + xmlNodePtr seq; /* the sequence of children left to validate */ + int nbAttrs; /* the number of attributes */ + int maxAttrs; /* the size of attrs */ + int nbAttrLeft; /* the number of attributes left to validate */ + xmlChar *value; /* the value when operating on string */ + xmlChar *endvalue; /* the end value when operating on string */ + xmlAttrPtr *attrs; /* the array of attributes */ +}; + +/** + * A RelaxNGs container for validation state + */ +typedef struct _xmlRelaxNGStates xmlRelaxNGStates; +typedef xmlRelaxNGStates *xmlRelaxNGStatesPtr; +struct _xmlRelaxNGStates { + int nbState; /* the number of states */ + int maxState; /* the size of the array */ + xmlRelaxNGValidStatePtr *tabState; +}; + +#define ERROR_IS_DUP 1 + +/** + * A RelaxNGs validation error + */ +typedef struct _xmlRelaxNGValidError xmlRelaxNGValidError; +typedef xmlRelaxNGValidError *xmlRelaxNGValidErrorPtr; +struct _xmlRelaxNGValidError { + xmlRelaxNGValidErr err; /* the error number */ + int flags; /* flags */ + xmlNodePtr node; /* the current node */ + xmlNodePtr seq; /* the current child */ + const xmlChar *arg1; /* first arg */ + const xmlChar *arg2; /* second arg */ +}; + +/** + * A RelaxNGs validation context + */ + +struct _xmlRelaxNGValidCtxt { + void *userData; /* user specific data block */ + xmlRelaxNGValidityErrorFunc error; /* the callback in case of errors */ + xmlRelaxNGValidityWarningFunc warning; /* the callback in case of warning */ + xmlStructuredErrorFunc serror; + int nbErrors; /* number of errors in validation */ + + xmlRelaxNGPtr schema; /* The schema in use */ + xmlDocPtr doc; /* the document being validated */ + int flags; /* validation flags */ + int depth; /* validation depth */ + int idref; /* requires idref checking */ + int errNo; /* the first error found */ + + /* + * Errors accumulated in branches may have to be stacked to be + * provided back when it's sure they affect validation. + */ + xmlRelaxNGValidErrorPtr err; /* Last error */ + int errNr; /* Depth of the error stack */ + int errMax; /* Max depth of the error stack */ + xmlRelaxNGValidErrorPtr errTab; /* stack of errors */ + + xmlRelaxNGValidStatePtr state; /* the current validation state */ + xmlRelaxNGStatesPtr states; /* the accumulated state list */ + + xmlRelaxNGStatesPtr freeState; /* the pool of free valid states */ + int freeStatesNr; + int freeStatesMax; + xmlRelaxNGStatesPtr *freeStates; /* the pool of free state groups */ + + /* + * This is used for "progressive" validation + */ + xmlRegExecCtxtPtr elem; /* the current element regexp */ + int elemNr; /* the number of element validated */ + int elemMax; /* the max depth of elements */ + xmlRegExecCtxtPtr *elemTab; /* the stack of regexp runtime */ + int pstate; /* progressive state */ + xmlNodePtr pnode; /* the current node */ + xmlRelaxNGDefinePtr pdef; /* the non-streamable definition */ + int perr; /* signal error in content model + * outside the regexp */ +}; + +/** + * Structure associated to a RelaxNGs document element + */ +struct _xmlRelaxNGInclude { + xmlRelaxNGIncludePtr next; /* keep a chain of includes */ + xmlChar *href; /* the normalized href value */ + xmlDocPtr doc; /* the associated XML document */ + xmlRelaxNGDefinePtr content; /* the definitions */ + xmlRelaxNGPtr schema; /* the schema */ +}; + +/** + * Structure associated to a RelaxNGs document element + */ +struct _xmlRelaxNGDocument { + xmlRelaxNGDocumentPtr next; /* keep a chain of documents */ + xmlChar *href; /* the normalized href value */ + xmlDocPtr doc; /* the associated XML document */ + xmlRelaxNGDefinePtr content; /* the definitions */ + xmlRelaxNGPtr schema; /* the schema */ + int externalRef; /* 1 if an external ref */ +}; + + +/************************************************************************ + * * + * Some factorized error routines * + * * + ************************************************************************/ + +/** + * Handle a redefinition of attribute error + * + * @param ctxt an Relax-NG parser context + */ +static void +xmlRngPErrMemory(xmlRelaxNGParserCtxtPtr ctxt) +{ + xmlStructuredErrorFunc schannel = NULL; + xmlGenericErrorFunc channel = NULL; + void *data = NULL; + + if (ctxt != NULL) { + if (ctxt->serror != NULL) + schannel = ctxt->serror; + else + channel = ctxt->error; + data = ctxt->userData; + ctxt->nbErrors++; + } + + xmlRaiseMemoryError(schannel, channel, data, XML_FROM_RELAXNGP, NULL); +} + +/** + * Handle a redefinition of attribute error + * + * @param ctxt a Relax-NG validation context + */ +static void +xmlRngVErrMemory(xmlRelaxNGValidCtxtPtr ctxt) +{ + xmlStructuredErrorFunc schannel = NULL; + xmlGenericErrorFunc channel = NULL; + void *data = NULL; + + if (ctxt != NULL) { + if (ctxt->serror != NULL) + schannel = ctxt->serror; + else + channel = ctxt->error; + data = ctxt->userData; + ctxt->nbErrors++; + } + + xmlRaiseMemoryError(schannel, channel, data, XML_FROM_RELAXNGV, NULL); +} + +/** + * Handle a Relax NG Parsing error + * + * @param ctxt a Relax-NG parser context + * @param node the node raising the error + * @param error the error code + * @param msg message + * @param str1 extra info + * @param str2 extra info + */ +static void LIBXML_ATTR_FORMAT(4,0) +xmlRngPErr(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node, int error, + const char *msg, const xmlChar * str1, const xmlChar * str2) +{ + xmlStructuredErrorFunc schannel = NULL; + xmlGenericErrorFunc channel = NULL; + void *data = NULL; + int res; + + if (ctxt != NULL) { + if (ctxt->serror != NULL) + schannel = ctxt->serror; + else + channel = ctxt->error; + data = ctxt->userData; + ctxt->nbErrors++; + } + + if ((channel == NULL) && (schannel == NULL)) { + channel = xmlGenericError; + data = xmlGenericErrorContext; + } + + res = xmlRaiseError(schannel, channel, data, NULL, node, + XML_FROM_RELAXNGP, error, XML_ERR_ERROR, NULL, 0, + (const char *) str1, (const char *) str2, NULL, 0, 0, + msg, str1, str2); + if (res < 0) + xmlRngPErrMemory(ctxt); +} + +/** + * Handle a Relax NG Validation error + * + * @param ctxt a Relax-NG validation context + * @param node the node raising the error + * @param error the error code + * @param msg message + * @param str1 extra info + * @param str2 extra info + */ +static void LIBXML_ATTR_FORMAT(4,0) +xmlRngVErr(xmlRelaxNGValidCtxtPtr ctxt, xmlNodePtr node, int error, + const char *msg, const xmlChar * str1, const xmlChar * str2) +{ + xmlStructuredErrorFunc schannel = NULL; + xmlGenericErrorFunc channel = NULL; + void *data = NULL; + int res; + + if (ctxt != NULL) { + if (ctxt->serror != NULL) + schannel = ctxt->serror; + else + channel = ctxt->error; + data = ctxt->userData; + ctxt->nbErrors++; + } + + if ((channel == NULL) && (schannel == NULL)) { + channel = xmlGenericError; + data = xmlGenericErrorContext; + } + + res = xmlRaiseError(schannel, channel, data, NULL, node, + XML_FROM_RELAXNGV, error, XML_ERR_ERROR, NULL, 0, + (const char *) str1, (const char *) str2, NULL, 0, 0, + msg, str1, str2); + if (res < 0) + xmlRngVErrMemory(ctxt); +} + +/************************************************************************ + * * + * Preliminary type checking interfaces * + * * + ************************************************************************/ + +/** + * Function provided by a type library to check if a type is exported + * + * @param data data needed for the library + * @param type the type name + * @returns 1 if yes, 0 if no and -1 in case of error. + */ +typedef int (*xmlRelaxNGTypeHave) (void *data, const xmlChar * type); + +/** + * Function provided by a type library to check if a value match a type + * + * @param data data needed for the library + * @param type the type name + * @param value the value to check + * @param result place to store the result if needed + * @returns 1 if yes, 0 if no and -1 in case of error. + */ +typedef int (*xmlRelaxNGTypeCheck) (void *data, const xmlChar * type, + const xmlChar * value, void **result, + xmlNode *node); + +/** + * Function provided by a type library to check a value facet + * + * @param data data needed for the library + * @param type the type name + * @param facet the facet name + * @param val the facet value + * @param strval the string value + * @param value the value to check + * @returns 1 if yes, 0 if no and -1 in case of error. + */ +typedef int (*xmlRelaxNGFacetCheck) (void *data, const xmlChar * type, + const xmlChar * facet, + const xmlChar * val, + const xmlChar * strval, void *value); + +/** + * Function provided by a type library to free a returned result + * + * @param data data needed for the library + * @param result the value to free + */ +typedef void (*xmlRelaxNGTypeFree) (void *data, void *result); + +/** + * Function provided by a type library to compare two values accordingly + * to a type. + * + * @param data data needed for the library + * @param type the type name + * @param value1 the first value + * @param value2 the second value + * @returns 1 if yes, 0 if no and -1 in case of error. + */ +typedef int (*xmlRelaxNGTypeCompare) (void *data, const xmlChar * type, + const xmlChar * value1, + xmlNode *ctxt1, + void *comp1, + const xmlChar * value2, + xmlNode *ctxt2); +typedef struct _xmlRelaxNGTypeLibrary xmlRelaxNGTypeLibrary; +typedef xmlRelaxNGTypeLibrary *xmlRelaxNGTypeLibraryPtr; +struct _xmlRelaxNGTypeLibrary { + const xmlChar *namespace; /* the datatypeLibrary value */ + void *data; /* data needed for the library */ + xmlRelaxNGTypeHave have; /* the export function */ + xmlRelaxNGTypeCheck check; /* the checking function */ + xmlRelaxNGTypeCompare comp; /* the compare function */ + xmlRelaxNGFacetCheck facet; /* the facet check function */ + xmlRelaxNGTypeFree freef; /* the freeing function */ +}; + +/************************************************************************ + * * + * Allocation functions * + * * + ************************************************************************/ +static void xmlRelaxNGFreeGrammar(xmlRelaxNGGrammarPtr grammar); +static void xmlRelaxNGFreeDefine(xmlRelaxNGDefinePtr define); +static void xmlRelaxNGNormExtSpace(xmlChar * value); +static void xmlRelaxNGFreeInnerSchema(xmlRelaxNGPtr schema); +static int xmlRelaxNGEqualValidState(xmlRelaxNGValidCtxtPtr ctxt + ATTRIBUTE_UNUSED, + xmlRelaxNGValidStatePtr state1, + xmlRelaxNGValidStatePtr state2); +static void xmlRelaxNGFreeValidState(xmlRelaxNGValidCtxtPtr ctxt, + xmlRelaxNGValidStatePtr state); + +/** + * Deallocate a RelaxNG document structure. + * + * @param docu a document structure + */ +static void +xmlRelaxNGFreeDocument(xmlRelaxNGDocumentPtr docu) +{ + if (docu == NULL) + return; + + if (docu->href != NULL) + xmlFree(docu->href); + if (docu->doc != NULL) + xmlFreeDoc(docu->doc); + if (docu->schema != NULL) + xmlRelaxNGFreeInnerSchema(docu->schema); + xmlFree(docu); +} + +/** + * Deallocate a RelaxNG document structures. + * + * @param docu a list of document structure + */ +static void +xmlRelaxNGFreeDocumentList(xmlRelaxNGDocumentPtr docu) +{ + xmlRelaxNGDocumentPtr next; + + while (docu != NULL) { + next = docu->next; + xmlRelaxNGFreeDocument(docu); + docu = next; + } +} + +/** + * Deallocate a RelaxNG include structure. + * + * @param incl a include structure + */ +static void +xmlRelaxNGFreeInclude(xmlRelaxNGIncludePtr incl) +{ + if (incl == NULL) + return; + + if (incl->href != NULL) + xmlFree(incl->href); + if (incl->doc != NULL) + xmlFreeDoc(incl->doc); + if (incl->schema != NULL) + xmlRelaxNGFree(incl->schema); + xmlFree(incl); +} + +/** + * Deallocate a RelaxNG include structure. + * + * @param incl a include structure list + */ +static void +xmlRelaxNGFreeIncludeList(xmlRelaxNGIncludePtr incl) +{ + xmlRelaxNGIncludePtr next; + + while (incl != NULL) { + next = incl->next; + xmlRelaxNGFreeInclude(incl); + incl = next; + } +} + +/** + * Allocate a new RelaxNG structure. + * + * @param ctxt a Relax-NG validation context (optional) + * @returns the newly allocated structure or NULL in case or error + */ +static xmlRelaxNGPtr +xmlRelaxNGNewRelaxNG(xmlRelaxNGParserCtxtPtr ctxt) +{ + xmlRelaxNGPtr ret; + + ret = (xmlRelaxNGPtr) xmlMalloc(sizeof(xmlRelaxNG)); + if (ret == NULL) { + xmlRngPErrMemory(ctxt); + return (NULL); + } + memset(ret, 0, sizeof(xmlRelaxNG)); + + return (ret); +} + +/** + * Deallocate a RelaxNG schema structure. + * + * @param schema a schema structure + */ +static void +xmlRelaxNGFreeInnerSchema(xmlRelaxNGPtr schema) +{ + if (schema == NULL) + return; + + if (schema->doc != NULL) + xmlFreeDoc(schema->doc); + if (schema->defTab != NULL) { + int i; + + for (i = 0; i < schema->defNr; i++) + xmlRelaxNGFreeDefine(schema->defTab[i]); + xmlFree(schema->defTab); + } + + xmlFree(schema); +} + +/** + * Deallocate a RelaxNG structure. + * + * @param schema a schema structure + */ +void +xmlRelaxNGFree(xmlRelaxNG *schema) +{ + if (schema == NULL) + return; + + if (schema->topgrammar != NULL) + xmlRelaxNGFreeGrammar(schema->topgrammar); + if (schema->doc != NULL) + xmlFreeDoc(schema->doc); + if (schema->documents != NULL) + xmlRelaxNGFreeDocumentList(schema->documents); + if (schema->includes != NULL) + xmlRelaxNGFreeIncludeList(schema->includes); + if (schema->defTab != NULL) { + int i; + + for (i = 0; i < schema->defNr; i++) + xmlRelaxNGFreeDefine(schema->defTab[i]); + xmlFree(schema->defTab); + } + + xmlFree(schema); +} + +/** + * Allocate a new RelaxNG grammar. + * + * @param ctxt a Relax-NG validation context (optional) + * @returns the newly allocated structure or NULL in case or error + */ +static xmlRelaxNGGrammarPtr +xmlRelaxNGNewGrammar(xmlRelaxNGParserCtxtPtr ctxt) +{ + xmlRelaxNGGrammarPtr ret; + + ret = (xmlRelaxNGGrammarPtr) xmlMalloc(sizeof(xmlRelaxNGGrammar)); + if (ret == NULL) { + xmlRngPErrMemory(ctxt); + return (NULL); + } + memset(ret, 0, sizeof(xmlRelaxNGGrammar)); + + return (ret); +} + +/** + * Deallocate a RelaxNG grammar structure. + * + * @param grammar a grammar structure + */ +static void +xmlRelaxNGFreeGrammar(xmlRelaxNGGrammarPtr grammar) +{ + if (grammar == NULL) + return; + + if (grammar->children != NULL) { + xmlRelaxNGFreeGrammar(grammar->children); + } + if (grammar->next != NULL) { + xmlRelaxNGFreeGrammar(grammar->next); + } + if (grammar->refs != NULL) { + xmlHashFree(grammar->refs, NULL); + } + if (grammar->defs != NULL) { + xmlHashFree(grammar->defs, NULL); + } + + xmlFree(grammar); +} + +/** + * Allocate a new RelaxNG define. + * + * @param ctxt a Relax-NG validation context + * @param node the node in the input document. + * @returns the newly allocated structure or NULL in case or error + */ +static xmlRelaxNGDefinePtr +xmlRelaxNGNewDefine(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node) +{ + xmlRelaxNGDefinePtr ret; + + if (ctxt->defMax == 0) { + ctxt->defMax = 16; + ctxt->defNr = 0; + ctxt->defTab = (xmlRelaxNGDefinePtr *) + xmlMalloc(ctxt->defMax * sizeof(xmlRelaxNGDefinePtr)); + if (ctxt->defTab == NULL) { + xmlRngPErrMemory(ctxt); + return (NULL); + } + } else if (ctxt->defMax <= ctxt->defNr) { + xmlRelaxNGDefinePtr *tmp; + + tmp = (xmlRelaxNGDefinePtr *) xmlGrowArray(ctxt->defTab, + sizeof(xmlRelaxNGDefinePtr), &ctxt->defMax, + 16, XML_MAX_ITEMS); + if (tmp == NULL) { + xmlRngPErrMemory(ctxt); + return (NULL); + } + ctxt->defTab = tmp; + } + ret = (xmlRelaxNGDefinePtr) xmlMalloc(sizeof(xmlRelaxNGDefine)); + if (ret == NULL) { + xmlRngPErrMemory(ctxt); + return (NULL); + } + memset(ret, 0, sizeof(xmlRelaxNGDefine)); + ctxt->defTab[ctxt->defNr++] = ret; + ret->node = node; + ret->depth = -1; + return (ret); +} + +/** + * Deallocate RelaxNG partition set structures. + * + * @param partitions a partition set structure + */ +static void +xmlRelaxNGFreePartition(xmlRelaxNGPartitionPtr partitions) +{ + xmlRelaxNGInterleaveGroupPtr group; + int j; + + if (partitions != NULL) { + if (partitions->groups != NULL) { + for (j = 0; j < partitions->nbgroups; j++) { + group = partitions->groups[j]; + if (group != NULL) { + if (group->defs != NULL) + xmlFree(group->defs); + if (group->attrs != NULL) + xmlFree(group->attrs); + xmlFree(group); + } + } + xmlFree(partitions->groups); + } + if (partitions->triage != NULL) { + xmlHashFree(partitions->triage, NULL); + } + xmlFree(partitions); + } +} + +/** + * Deallocate a RelaxNG define structure. + * + * @param define a define structure + */ +static void +xmlRelaxNGFreeDefine(xmlRelaxNGDefinePtr define) +{ + if (define == NULL) + return; + + if ((define->type == XML_RELAXNG_VALUE) && (define->attrs != NULL)) { + xmlRelaxNGTypeLibraryPtr lib; + + lib = (xmlRelaxNGTypeLibraryPtr) define->data; + if ((lib != NULL) && (lib->freef != NULL)) + lib->freef(lib->data, (void *) define->attrs); + } + if ((define->data != NULL) && (define->type == XML_RELAXNG_INTERLEAVE)) + xmlRelaxNGFreePartition((xmlRelaxNGPartitionPtr) define->data); + if ((define->data != NULL) && (define->type == XML_RELAXNG_CHOICE)) + xmlHashFree((xmlHashTablePtr) define->data, NULL); + if (define->name != NULL) + xmlFree(define->name); + if (define->ns != NULL) + xmlFree(define->ns); + if (define->value != NULL) + xmlFree(define->value); + if (define->contModel != NULL) + xmlRegFreeRegexp(define->contModel); + xmlFree(define); +} + +/** + * Allocate a new RelaxNG validation state container + * + * @param ctxt a Relax-NG validation context + * @param size the default size for the container + * @returns the newly allocated structure or NULL in case or error + */ +static xmlRelaxNGStatesPtr +xmlRelaxNGNewStates(xmlRelaxNGValidCtxtPtr ctxt, int size) +{ + xmlRelaxNGStatesPtr ret; + + if ((ctxt != NULL) && + (ctxt->freeStates != NULL) && (ctxt->freeStatesNr > 0)) { + ctxt->freeStatesNr--; + ret = ctxt->freeStates[ctxt->freeStatesNr]; + ret->nbState = 0; + return (ret); + } + if (size < 16) + size = 16; + + ret = (xmlRelaxNGStatesPtr) xmlMalloc(sizeof(xmlRelaxNGStates) + + (size - + 1) * + sizeof(xmlRelaxNGValidStatePtr)); + if (ret == NULL) { + xmlRngVErrMemory(ctxt); + return (NULL); + } + ret->nbState = 0; + ret->maxState = size; + ret->tabState = (xmlRelaxNGValidStatePtr *) xmlMalloc((size) * + sizeof + (xmlRelaxNGValidStatePtr)); + if (ret->tabState == NULL) { + xmlRngVErrMemory(ctxt); + xmlFree(ret); + return (NULL); + } + return (ret); +} + +/** + * Add a RelaxNG validation state to the container without checking + * for unicity. + * + * @param ctxt a Relax-NG validation context + * @param states the states container + * @param state the validation state + * @returns 1 in case of success and 0 if this is a duplicate and -1 on error + */ +static int +xmlRelaxNGAddStatesUniq(xmlRelaxNGValidCtxtPtr ctxt, + xmlRelaxNGStatesPtr states, + xmlRelaxNGValidStatePtr state) +{ + if (state == NULL) { + return (-1); + } + if (states->nbState >= states->maxState) { + xmlRelaxNGValidStatePtr *tmp; + + tmp = (xmlRelaxNGValidStatePtr *) xmlGrowArray(states->tabState, + sizeof(xmlRelaxNGValidStatePtr), &states->maxState, + 4, XML_MAX_ITEMS); + if (tmp == NULL) { + xmlRngVErrMemory(ctxt); + return (-1); + } + states->tabState = tmp; + } + states->tabState[states->nbState++] = state; + return (1); +} + +/** + * Add a RelaxNG validation state to the container + * + * @param ctxt a Relax-NG validation context + * @param states the states container + * @param state the validation state + * @returns 1 in case of success and 0 if this is a duplicate and -1 on error + */ +static int +xmlRelaxNGAddStates(xmlRelaxNGValidCtxtPtr ctxt, + xmlRelaxNGStatesPtr states, + xmlRelaxNGValidStatePtr state) +{ + int i; + + if (state == NULL || states == NULL) { + return (-1); + } + if (states->nbState >= states->maxState) { + xmlRelaxNGValidStatePtr *tmp; + + tmp = (xmlRelaxNGValidStatePtr *) xmlGrowArray(states->tabState, + sizeof(xmlRelaxNGValidStatePtr), &states->maxState, + 4, XML_MAX_ITEMS); + if (tmp == NULL) { + xmlRngVErrMemory(ctxt); + return (-1); + } + states->tabState = tmp; + } + for (i = 0; i < states->nbState; i++) { + if (xmlRelaxNGEqualValidState(ctxt, state, states->tabState[i])) { + xmlRelaxNGFreeValidState(ctxt, state); + return (0); + } + } + states->tabState[states->nbState++] = state; + return (1); +} + +/** + * Free a RelaxNG validation state container + * + * @param ctxt a Relax-NG validation context + * @param states the container + */ +static void +xmlRelaxNGFreeStates(xmlRelaxNGValidCtxtPtr ctxt, + xmlRelaxNGStatesPtr states) +{ + if (states == NULL) + return; + if ((ctxt != NULL) && (ctxt->freeStates == NULL)) { + ctxt->freeStatesMax = 40; + ctxt->freeStatesNr = 0; + ctxt->freeStates = (xmlRelaxNGStatesPtr *) + xmlMalloc(ctxt->freeStatesMax * sizeof(xmlRelaxNGStatesPtr)); + if (ctxt->freeStates == NULL) { + xmlRngVErrMemory(ctxt); + } + } else if ((ctxt != NULL) + && (ctxt->freeStatesNr >= ctxt->freeStatesMax)) { + xmlRelaxNGStatesPtr *tmp; + + tmp = (xmlRelaxNGStatesPtr *) xmlGrowArray(ctxt->freeStates, + sizeof(xmlRelaxNGStatesPtr), &ctxt->freeStatesMax, + 40, XML_MAX_ITEMS); + if (tmp == NULL) { + xmlRngVErrMemory(ctxt); + xmlFree(states->tabState); + xmlFree(states); + return; + } + ctxt->freeStates = tmp; + } + if ((ctxt == NULL) || (ctxt->freeStates == NULL)) { + xmlFree(states->tabState); + xmlFree(states); + } else { + ctxt->freeStates[ctxt->freeStatesNr++] = states; + } +} + +/** + * Allocate a new RelaxNG validation state + * + * @param ctxt a Relax-NG validation context + * @param node the current node or NULL for the document + * @returns the newly allocated structure or NULL in case or error + */ +static xmlRelaxNGValidStatePtr +xmlRelaxNGNewValidState(xmlRelaxNGValidCtxtPtr ctxt, xmlNodePtr node) +{ + xmlRelaxNGValidStatePtr ret; + xmlAttrPtr attr; + xmlAttrPtr attrs[MAX_ATTR]; + int nbAttrs = 0; + xmlNodePtr root = NULL; + + if (node == NULL) { + root = xmlDocGetRootElement(ctxt->doc); + if (root == NULL) + return (NULL); + } else { + attr = node->properties; + while (attr != NULL) { + if (nbAttrs < MAX_ATTR) + attrs[nbAttrs++] = attr; + else + nbAttrs++; + attr = attr->next; + } + } + if ((ctxt->freeState != NULL) && (ctxt->freeState->nbState > 0)) { + ctxt->freeState->nbState--; + ret = ctxt->freeState->tabState[ctxt->freeState->nbState]; + } else { + ret = + (xmlRelaxNGValidStatePtr) + xmlMalloc(sizeof(xmlRelaxNGValidState)); + if (ret == NULL) { + xmlRngVErrMemory(ctxt); + return (NULL); + } + memset(ret, 0, sizeof(xmlRelaxNGValidState)); + } + ret->value = NULL; + ret->endvalue = NULL; + if (node == NULL) { + ret->node = (xmlNodePtr) ctxt->doc; + ret->seq = root; + } else { + ret->node = node; + ret->seq = node->children; + } + ret->nbAttrs = 0; + if (nbAttrs > 0) { + if (ret->attrs == NULL) { + if (nbAttrs < 4) + ret->maxAttrs = 4; + else + ret->maxAttrs = nbAttrs; + ret->attrs = (xmlAttrPtr *) xmlMalloc(ret->maxAttrs * + sizeof(xmlAttrPtr)); + if (ret->attrs == NULL) { + xmlRngVErrMemory(ctxt); + return (ret); + } + } else if (ret->maxAttrs < nbAttrs) { + xmlAttrPtr *tmp; + + tmp = (xmlAttrPtr *) xmlRealloc(ret->attrs, nbAttrs * + sizeof(xmlAttrPtr)); + if (tmp == NULL) { + xmlRngVErrMemory(ctxt); + return (ret); + } + ret->attrs = tmp; + ret->maxAttrs = nbAttrs; + } + ret->nbAttrs = nbAttrs; + if (nbAttrs < MAX_ATTR) { + memcpy(ret->attrs, attrs, sizeof(xmlAttrPtr) * nbAttrs); + } else { + attr = node->properties; + nbAttrs = 0; + while (attr != NULL) { + ret->attrs[nbAttrs++] = attr; + attr = attr->next; + } + } + } + ret->nbAttrLeft = ret->nbAttrs; + return (ret); +} + +/** + * Copy the validation state + * + * @param ctxt a Relax-NG validation context + * @param state a validation state + * @returns the newly allocated structure or NULL in case or error + */ +static xmlRelaxNGValidStatePtr +xmlRelaxNGCopyValidState(xmlRelaxNGValidCtxtPtr ctxt, + xmlRelaxNGValidStatePtr state) +{ + xmlRelaxNGValidStatePtr ret; + unsigned int maxAttrs; + xmlAttrPtr *attrs; + + if (state == NULL) + return (NULL); + if ((ctxt->freeState != NULL) && (ctxt->freeState->nbState > 0)) { + ctxt->freeState->nbState--; + ret = ctxt->freeState->tabState[ctxt->freeState->nbState]; + } else { + ret = + (xmlRelaxNGValidStatePtr) + xmlMalloc(sizeof(xmlRelaxNGValidState)); + if (ret == NULL) { + xmlRngVErrMemory(ctxt); + return (NULL); + } + memset(ret, 0, sizeof(xmlRelaxNGValidState)); + } + attrs = ret->attrs; + maxAttrs = ret->maxAttrs; + memcpy(ret, state, sizeof(xmlRelaxNGValidState)); + ret->attrs = attrs; + ret->maxAttrs = maxAttrs; + if (state->nbAttrs > 0) { + if (ret->attrs == NULL) { + ret->maxAttrs = state->maxAttrs; + ret->attrs = (xmlAttrPtr *) xmlMalloc(ret->maxAttrs * + sizeof(xmlAttrPtr)); + if (ret->attrs == NULL) { + xmlRngVErrMemory(ctxt); + ret->nbAttrs = 0; + return (ret); + } + } else if (ret->maxAttrs < state->nbAttrs) { + xmlAttrPtr *tmp; + + tmp = (xmlAttrPtr *) xmlRealloc(ret->attrs, state->maxAttrs * + sizeof(xmlAttrPtr)); + if (tmp == NULL) { + xmlRngVErrMemory(ctxt); + ret->nbAttrs = 0; + return (ret); + } + ret->maxAttrs = state->maxAttrs; + ret->attrs = tmp; + } + memcpy(ret->attrs, state->attrs, + state->nbAttrs * sizeof(xmlAttrPtr)); + } + return (ret); +} + +/** + * Compare the validation states for equality + * + * @param ctxt a Relax-NG validation context + * @param state1 a validation state + * @param state2 a validation state + * @returns 1 if equal, 0 otherwise + */ +static int +xmlRelaxNGEqualValidState(xmlRelaxNGValidCtxtPtr ctxt ATTRIBUTE_UNUSED, + xmlRelaxNGValidStatePtr state1, + xmlRelaxNGValidStatePtr state2) +{ + int i; + + if ((state1 == NULL) || (state2 == NULL)) + return (0); + if (state1 == state2) + return (1); + if (state1->node != state2->node) + return (0); + if (state1->seq != state2->seq) + return (0); + if (state1->nbAttrLeft != state2->nbAttrLeft) + return (0); + if (state1->nbAttrs != state2->nbAttrs) + return (0); + if (state1->endvalue != state2->endvalue) + return (0); + if ((state1->value != state2->value) && + (!xmlStrEqual(state1->value, state2->value))) + return (0); + for (i = 0; i < state1->nbAttrs; i++) { + if (state1->attrs[i] != state2->attrs[i]) + return (0); + } + return (1); +} + +/** + * Deallocate a RelaxNG validation state structure. + * + * @param ctxt validation context + * @param state a validation state structure + */ +static void +xmlRelaxNGFreeValidState(xmlRelaxNGValidCtxtPtr ctxt, + xmlRelaxNGValidStatePtr state) +{ + if (state == NULL) + return; + + if ((ctxt != NULL) && (ctxt->freeState == NULL)) { + ctxt->freeState = xmlRelaxNGNewStates(ctxt, 40); + } + if ((ctxt == NULL) || (ctxt->freeState == NULL)) { + if (state->attrs != NULL) + xmlFree(state->attrs); + xmlFree(state); + } else { + xmlRelaxNGAddStatesUniq(ctxt, ctxt->freeState, state); + } +} + +/************************************************************************ + * * + * Semi internal functions * + * * + ************************************************************************/ + +/** + * Semi private function used to pass information to a parser context + * which are a combination of xmlRelaxNGParserFlag . + * + * @param ctxt a RelaxNG parser context + * @param flags a set of flags values + * @returns 0 if success and -1 in case of error + */ +int +xmlRelaxParserSetFlag(xmlRelaxNGParserCtxt *ctxt, int flags) +{ + if (ctxt == NULL) return(-1); + if (flags & XML_RELAXNGP_FREE_DOC) { + ctxt->crng |= XML_RELAXNGP_FREE_DOC; + flags -= XML_RELAXNGP_FREE_DOC; + } + if (flags & XML_RELAXNGP_CRNG) { + ctxt->crng |= XML_RELAXNGP_CRNG; + flags -= XML_RELAXNGP_CRNG; + } + if (flags != 0) return(-1); + return(0); +} + +/** + * Semi private function used to set the include recursion limit to a + * parser context. Set to 0 to use the default value. + * + * @param ctxt a RelaxNG parser context + * @param limit the new include depth limit + * @returns 0 if success and -1 in case of error + */ +int +xmlRelaxParserSetIncLImit(xmlRelaxNGParserCtxt *ctxt, int limit) +{ + if (ctxt == NULL) return(-1); + if (limit < 0) return(-1); + ctxt->incLimit = limit; + return(0); +} + +/************************************************************************ + * * + * Document functions * + * * + ************************************************************************/ +static xmlDocPtr xmlRelaxNGCleanupDoc(xmlRelaxNGParserCtxtPtr ctxt, + xmlDocPtr doc); + +static xmlDoc * +xmlRelaxReadFile(xmlRelaxNGParserCtxtPtr ctxt, const char *filename) { + xmlParserCtxtPtr pctxt; + xmlDocPtr doc; + + pctxt = xmlNewParserCtxt(); + if (pctxt == NULL) { + xmlRngPErrMemory(ctxt); + return(NULL); + } + if (ctxt->serror != NULL) + xmlCtxtSetErrorHandler(pctxt, ctxt->serror, ctxt->userData); + if (ctxt->resourceLoader != NULL) + xmlCtxtSetResourceLoader(pctxt, ctxt->resourceLoader, + ctxt->resourceCtxt); + doc = xmlCtxtReadFile(pctxt, filename, NULL, 0); + xmlFreeParserCtxt(pctxt); + + return(doc); +} + +static xmlDoc * +xmlRelaxReadMemory(xmlRelaxNGParserCtxtPtr ctxt, const char *buf, int size) { + xmlParserCtxtPtr pctxt; + xmlDocPtr doc; + + pctxt = xmlNewParserCtxt(); + if (pctxt == NULL) { + xmlRngPErrMemory(ctxt); + return(NULL); + } + if (ctxt->serror != NULL) + xmlCtxtSetErrorHandler(pctxt, ctxt->serror, ctxt->userData); + if (ctxt->resourceLoader != NULL) + xmlCtxtSetResourceLoader(pctxt, ctxt->resourceLoader, + ctxt->resourceCtxt); + doc = xmlCtxtReadMemory(pctxt, buf, size, NULL, NULL, 0); + xmlFreeParserCtxt(pctxt); + + return(doc); +} + +/** + * Pushes a new include on top of the include stack + * + * @param ctxt the parser context + * @param value the element doc + * @returns -1 in case of error, the index in the stack otherwise + */ +static int +xmlRelaxNGIncludePush(xmlRelaxNGParserCtxtPtr ctxt, + xmlRelaxNGIncludePtr value) +{ + if (ctxt->incTab == NULL) { + ctxt->incMax = 4; + ctxt->incNr = 0; + ctxt->incTab = + (xmlRelaxNGIncludePtr *) xmlMalloc(ctxt->incMax * + sizeof(ctxt->incTab[0])); + if (ctxt->incTab == NULL) { + xmlRngPErrMemory(ctxt); + return (-1); + } + } + if (ctxt->incNr >= ctxt->incLimit) { + xmlRngPErr(ctxt, (xmlNodePtr)value->doc, XML_RNGP_PARSE_ERROR, + "xmlRelaxNG: inclusion recursion limit reached\n", NULL, NULL); + return(-1); + } + + if (ctxt->incNr >= ctxt->incMax) { + xmlRelaxNGIncludePtr *tmp; + + tmp = (xmlRelaxNGIncludePtr *) xmlGrowArray(ctxt->incTab, + sizeof(xmlRelaxNGIncludePtr), &ctxt->incMax, + 4, XML_MAX_ITEMS); + if (tmp == NULL) { + xmlRngPErrMemory(ctxt); + return (-1); + } + ctxt->incTab = tmp; + } + ctxt->incTab[ctxt->incNr] = value; + ctxt->inc = value; + return (ctxt->incNr++); +} + +/** + * Pops the top include from the include stack + * + * @param ctxt the parser context + * @returns the include just removed + */ +static xmlRelaxNGIncludePtr +xmlRelaxNGIncludePop(xmlRelaxNGParserCtxtPtr ctxt) +{ + xmlRelaxNGIncludePtr ret; + + if (ctxt->incNr <= 0) + return (NULL); + ctxt->incNr--; + if (ctxt->incNr > 0) + ctxt->inc = ctxt->incTab[ctxt->incNr - 1]; + else + ctxt->inc = NULL; + ret = ctxt->incTab[ctxt->incNr]; + ctxt->incTab[ctxt->incNr] = NULL; + return (ret); +} + +/** + * Applies the elimination algorithm of 4.7 + * + * @param ctxt the parser context + * @param URL the normalized URL + * @param target the included target + * @param name the define name to eliminate + * @returns 0 in case of error, 1 in case of success. + */ +static int +xmlRelaxNGRemoveRedefine(xmlRelaxNGParserCtxtPtr ctxt, + const xmlChar * URL ATTRIBUTE_UNUSED, + xmlNodePtr target, const xmlChar * name) +{ + int found = 0; + xmlNodePtr tmp, tmp2; + xmlChar *name2; + + tmp = target; + while (tmp != NULL) { + tmp2 = tmp->next; + if ((name == NULL) && (IS_RELAXNG(tmp, "start"))) { + found = 1; + xmlUnlinkNode(tmp); + xmlFreeNode(tmp); + } else if ((name != NULL) && (IS_RELAXNG(tmp, "define"))) { + name2 = xmlGetProp(tmp, BAD_CAST "name"); + xmlRelaxNGNormExtSpace(name2); + if (name2 != NULL) { + if (xmlStrEqual(name, name2)) { + found = 1; + xmlUnlinkNode(tmp); + xmlFreeNode(tmp); + } + xmlFree(name2); + } + } else if (IS_RELAXNG(tmp, "include")) { + xmlChar *href = NULL; + xmlRelaxNGDocumentPtr inc = tmp->psvi; + + if ((inc != NULL) && (inc->doc != NULL) && + (inc->doc->children != NULL)) { + + if (xmlStrEqual + (inc->doc->children->name, BAD_CAST "grammar")) { + if (xmlRelaxNGRemoveRedefine(ctxt, href, + xmlDocGetRootElement(inc->doc)->children, + name) == 1) { + found = 1; + } + } + } + if (xmlRelaxNGRemoveRedefine(ctxt, URL, tmp->children, name) == 1) { + found = 1; + } + } + tmp = tmp2; + } + return (found); +} + +/** + * First lookup if the document is already loaded into the parser context, + * check against recursion. If not found the resource is loaded and + * the content is preprocessed before being returned back to the caller. + * + * @param ctxt the parser context + * @param URL the normalized URL + * @param node the include node. + * @param ns the namespace passed from the context. + * @returns the xmlRelaxNGInclude or NULL in case of error + */ +static xmlRelaxNGIncludePtr +xmlRelaxNGLoadInclude(xmlRelaxNGParserCtxtPtr ctxt, const xmlChar * URL, + xmlNodePtr node, const xmlChar * ns) +{ + xmlRelaxNGIncludePtr ret = NULL; + xmlDocPtr doc; + int i; + xmlNodePtr root, cur; + + /* + * check against recursion in the stack + */ + for (i = 0; i < ctxt->incNr; i++) { + if (xmlStrEqual(ctxt->incTab[i]->href, URL)) { + xmlRngPErr(ctxt, NULL, XML_RNGP_INCLUDE_RECURSE, + "Detected an Include recursion for %s\n", URL, + NULL); + return (NULL); + } + } + + /* + * load the document + */ + doc = xmlRelaxReadFile(ctxt, (const char *) URL); + if (doc == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_PARSE_ERROR, + "xmlRelaxNG: could not load %s\n", URL, NULL); + return (NULL); + } + + /* + * Allocate the document structures and register it first. + */ + ret = (xmlRelaxNGIncludePtr) xmlMalloc(sizeof(xmlRelaxNGInclude)); + if (ret == NULL) { + xmlRngPErrMemory(ctxt); + xmlFreeDoc(doc); + return (NULL); + } + memset(ret, 0, sizeof(xmlRelaxNGInclude)); + ret->doc = doc; + ret->href = xmlStrdup(URL); + ret->next = ctxt->includes; + ctxt->includes = ret; + + /* + * transmit the ns if needed + */ + if (ns != NULL) { + root = xmlDocGetRootElement(doc); + if (root != NULL) { + if (xmlHasProp(root, BAD_CAST "ns") == NULL) { + xmlSetProp(root, BAD_CAST "ns", ns); + } + } + } + + /* + * push it on the stack + */ + if (xmlRelaxNGIncludePush(ctxt, ret) < 0) { + return (NULL); + } + + /* + * Some preprocessing of the document content, this include recursing + * in the include stack. + */ + + doc = xmlRelaxNGCleanupDoc(ctxt, doc); + if (doc == NULL) { + ctxt->inc = NULL; + return (NULL); + } + + /* + * Pop up the include from the stack + */ + xmlRelaxNGIncludePop(ctxt); + + /* + * Check that the top element is a grammar + */ + root = xmlDocGetRootElement(doc); + if (root == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_EMPTY, + "xmlRelaxNG: included document is empty %s\n", URL, + NULL); + return (NULL); + } + if (!IS_RELAXNG(root, "grammar")) { + xmlRngPErr(ctxt, node, XML_RNGP_GRAMMAR_MISSING, + "xmlRelaxNG: included document %s root is not a grammar\n", + URL, NULL); + return (NULL); + } + + /* + * Elimination of redefined rules in the include. + */ + cur = node->children; + while (cur != NULL) { + if (IS_RELAXNG(cur, "start")) { + int found = 0; + + found = + xmlRelaxNGRemoveRedefine(ctxt, URL, root->children, NULL); + if (!found) { + xmlRngPErr(ctxt, node, XML_RNGP_START_MISSING, + "xmlRelaxNG: include %s has a start but not the included grammar\n", + URL, NULL); + } + } else if (IS_RELAXNG(cur, "define")) { + xmlChar *name; + + name = xmlGetProp(cur, BAD_CAST "name"); + if (name == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_NAME_MISSING, + "xmlRelaxNG: include %s has define without name\n", + URL, NULL); + } else { + int found; + + xmlRelaxNGNormExtSpace(name); + found = xmlRelaxNGRemoveRedefine(ctxt, URL, + root->children, name); + if (!found) { + xmlRngPErr(ctxt, node, XML_RNGP_DEFINE_MISSING, + "xmlRelaxNG: include %s has a define %s but not the included grammar\n", + URL, name); + } + xmlFree(name); + } + } + if (IS_RELAXNG(cur, "div") && cur->children != NULL) { + cur = cur->children; + } else { + if (cur->next != NULL) { + cur = cur->next; + } else { + while (cur->parent != node && cur->parent->next == NULL) { + cur = cur->parent; + } + cur = cur->parent != node ? cur->parent->next : NULL; + } + } + } + + + return (ret); +} + +/** + * Pushes a new error on top of the error stack + * + * @param ctxt the validation context + * @param err the error code + * @param arg1 the first string argument + * @param arg2 the second string argument + * @param dup arg need to be duplicated + * @returns 0 in case of error, the index in the stack otherwise + */ +static int +xmlRelaxNGValidErrorPush(xmlRelaxNGValidCtxtPtr ctxt, + xmlRelaxNGValidErr err, const xmlChar * arg1, + const xmlChar * arg2, int dup) +{ + xmlRelaxNGValidErrorPtr cur; + + if (ctxt->errTab == NULL) { + ctxt->errMax = 8; + ctxt->errNr = 0; + ctxt->errTab = + (xmlRelaxNGValidErrorPtr) xmlMalloc(ctxt->errMax * + sizeof + (xmlRelaxNGValidError)); + if (ctxt->errTab == NULL) { + xmlRngVErrMemory(ctxt); + return (0); + } + ctxt->err = NULL; + } + if (ctxt->errNr >= ctxt->errMax) { + xmlRelaxNGValidErrorPtr tmp; + + tmp = (xmlRelaxNGValidErrorPtr) xmlGrowArray(ctxt->errTab, + sizeof(xmlRelaxNGValidError), &ctxt->errMax, + 8, XML_MAX_ITEMS); + if (tmp == NULL) { + xmlRngVErrMemory(ctxt); + return (0); + } + ctxt->errTab = tmp; + ctxt->err = &ctxt->errTab[ctxt->errNr - 1]; + } + if ((ctxt->err != NULL) && (ctxt->state != NULL) && + (ctxt->err->node == ctxt->state->node) && (ctxt->err->err == err)) + return (ctxt->errNr); + cur = &ctxt->errTab[ctxt->errNr]; + cur->err = err; + if (dup) { + cur->arg1 = xmlStrdup(arg1); + cur->arg2 = xmlStrdup(arg2); + cur->flags = ERROR_IS_DUP; + } else { + cur->arg1 = arg1; + cur->arg2 = arg2; + cur->flags = 0; + } + if (ctxt->state != NULL) { + cur->node = ctxt->state->node; + cur->seq = ctxt->state->seq; + } else { + cur->node = NULL; + cur->seq = NULL; + } + ctxt->err = cur; + return (ctxt->errNr++); +} + +/** + * Pops the top error from the error stack + * + * @param ctxt the validation context + */ +static void +xmlRelaxNGValidErrorPop(xmlRelaxNGValidCtxtPtr ctxt) +{ + xmlRelaxNGValidErrorPtr cur; + + if (ctxt->errNr <= 0) { + ctxt->err = NULL; + return; + } + ctxt->errNr--; + if (ctxt->errNr > 0) + ctxt->err = &ctxt->errTab[ctxt->errNr - 1]; + else + ctxt->err = NULL; + cur = &ctxt->errTab[ctxt->errNr]; + if (cur->flags & ERROR_IS_DUP) { + if (cur->arg1 != NULL) + xmlFree((xmlChar *) cur->arg1); + cur->arg1 = NULL; + if (cur->arg2 != NULL) + xmlFree((xmlChar *) cur->arg2); + cur->arg2 = NULL; + cur->flags = 0; + } +} + +/** + * Pushes a new doc on top of the doc stack + * + * @param ctxt the parser context + * @param value the element doc + * @returns 0 in case of error, the index in the stack otherwise + */ +static int +xmlRelaxNGDocumentPush(xmlRelaxNGParserCtxtPtr ctxt, + xmlRelaxNGDocumentPtr value) +{ + if (ctxt->docTab == NULL) { + ctxt->docMax = 4; + ctxt->docNr = 0; + ctxt->docTab = + (xmlRelaxNGDocumentPtr *) xmlMalloc(ctxt->docMax * + sizeof(ctxt->docTab[0])); + if (ctxt->docTab == NULL) { + xmlRngPErrMemory(ctxt); + return (0); + } + } + if (ctxt->docNr >= ctxt->docMax) { + xmlRelaxNGDocumentPtr *tmp; + + tmp = (xmlRelaxNGDocumentPtr *) xmlGrowArray(ctxt->docTab, + sizeof(xmlRelaxNGDocumentPtr), &ctxt->docMax, + 4, XML_MAX_ITEMS); + if (tmp == NULL) { + xmlRngPErrMemory(ctxt); + return (0); + } + ctxt->docTab = tmp; + } + ctxt->docTab[ctxt->docNr] = value; + ctxt->doc = value; + return (ctxt->docNr++); +} + +/** + * Pops the top doc from the doc stack + * + * @param ctxt the parser context + * @returns the doc just removed + */ +static xmlRelaxNGDocumentPtr +xmlRelaxNGDocumentPop(xmlRelaxNGParserCtxtPtr ctxt) +{ + xmlRelaxNGDocumentPtr ret; + + if (ctxt->docNr <= 0) + return (NULL); + ctxt->docNr--; + if (ctxt->docNr > 0) + ctxt->doc = ctxt->docTab[ctxt->docNr - 1]; + else + ctxt->doc = NULL; + ret = ctxt->docTab[ctxt->docNr]; + ctxt->docTab[ctxt->docNr] = NULL; + return (ret); +} + +/** + * First lookup if the document is already loaded into the parser context, + * check against recursion. If not found the resource is loaded and + * the content is preprocessed before being returned back to the caller. + * + * @param ctxt the parser context + * @param URL the normalized URL + * @param ns the inherited ns if any + * @returns the xmlRelaxNGDocument or NULL in case of error + */ +static xmlRelaxNGDocumentPtr +xmlRelaxNGLoadExternalRef(xmlRelaxNGParserCtxtPtr ctxt, + const xmlChar * URL, const xmlChar * ns) +{ + xmlRelaxNGDocumentPtr ret = NULL; + xmlDocPtr doc; + xmlNodePtr root; + int i; + + /* + * check against recursion in the stack + */ + for (i = 0; i < ctxt->docNr; i++) { + if (xmlStrEqual(ctxt->docTab[i]->href, URL)) { + xmlRngPErr(ctxt, NULL, XML_RNGP_EXTERNALREF_RECURSE, + "Detected an externalRef recursion for %s\n", URL, + NULL); + return (NULL); + } + } + + /* + * load the document + */ + doc = xmlRelaxReadFile(ctxt, (const char *) URL); + if (doc == NULL) { + xmlRngPErr(ctxt, NULL, XML_RNGP_PARSE_ERROR, + "xmlRelaxNG: could not load %s\n", URL, NULL); + return (NULL); + } + + /* + * Allocate the document structures and register it first. + */ + ret = (xmlRelaxNGDocumentPtr) xmlMalloc(sizeof(xmlRelaxNGDocument)); + if (ret == NULL) { + xmlRngPErrMemory(ctxt); + xmlFreeDoc(doc); + return (NULL); + } + memset(ret, 0, sizeof(xmlRelaxNGDocument)); + ret->doc = doc; + ret->href = xmlStrdup(URL); + ret->next = ctxt->documents; + ret->externalRef = 1; + ctxt->documents = ret; + + /* + * transmit the ns if needed + */ + if (ns != NULL) { + root = xmlDocGetRootElement(doc); + if (root != NULL) { + if (xmlHasProp(root, BAD_CAST "ns") == NULL) { + xmlSetProp(root, BAD_CAST "ns", ns); + } + } + } + + /* + * push it on the stack and register it in the hash table + */ + xmlRelaxNGDocumentPush(ctxt, ret); + + /* + * Some preprocessing of the document content + */ + doc = xmlRelaxNGCleanupDoc(ctxt, doc); + if (doc == NULL) { + ctxt->doc = NULL; + return (NULL); + } + + xmlRelaxNGDocumentPop(ctxt); + + return (ret); +} + +/************************************************************************ + * * + * Error functions * + * * + ************************************************************************/ + +#define VALID_ERR(a) xmlRelaxNGAddValidError(ctxt, a, NULL, NULL, 0); +#define VALID_ERR2(a, b) xmlRelaxNGAddValidError(ctxt, a, b, NULL, 0); +#define VALID_ERR3(a, b, c) xmlRelaxNGAddValidError(ctxt, a, b, c, 0); +#define VALID_ERR2P(a, b) xmlRelaxNGAddValidError(ctxt, a, b, NULL, 1); +#define VALID_ERR3P(a, b, c) xmlRelaxNGAddValidError(ctxt, a, b, c, 1); + +static const char * +xmlRelaxNGDefName(xmlRelaxNGDefinePtr def) +{ + if (def == NULL) + return ("none"); + switch (def->type) { + case XML_RELAXNG_EMPTY: + return ("empty"); + case XML_RELAXNG_NOT_ALLOWED: + return ("notAllowed"); + case XML_RELAXNG_EXCEPT: + return ("except"); + case XML_RELAXNG_TEXT: + return ("text"); + case XML_RELAXNG_ELEMENT: + return ("element"); + case XML_RELAXNG_DATATYPE: + return ("datatype"); + case XML_RELAXNG_VALUE: + return ("value"); + case XML_RELAXNG_LIST: + return ("list"); + case XML_RELAXNG_ATTRIBUTE: + return ("attribute"); + case XML_RELAXNG_DEF: + return ("def"); + case XML_RELAXNG_REF: + return ("ref"); + case XML_RELAXNG_EXTERNALREF: + return ("externalRef"); + case XML_RELAXNG_PARENTREF: + return ("parentRef"); + case XML_RELAXNG_OPTIONAL: + return ("optional"); + case XML_RELAXNG_ZEROORMORE: + return ("zeroOrMore"); + case XML_RELAXNG_ONEORMORE: + return ("oneOrMore"); + case XML_RELAXNG_CHOICE: + return ("choice"); + case XML_RELAXNG_GROUP: + return ("group"); + case XML_RELAXNG_INTERLEAVE: + return ("interleave"); + case XML_RELAXNG_START: + return ("start"); + case XML_RELAXNG_NOOP: + return ("noop"); + case XML_RELAXNG_PARAM: + return ("param"); + } + return ("unknown"); +} + +/** + * computes a formatted error string for the given error code and args + * + * @param err the error code + * @param arg1 the first string argument + * @param arg2 the second string argument + * @returns the error string, it must be deallocated by the caller + */ +static xmlChar * +xmlRelaxNGGetErrorString(xmlRelaxNGValidErr err, const xmlChar * arg1, + const xmlChar * arg2) +{ + char msg[1000]; + xmlChar *result; + + if (arg1 == NULL) + arg1 = BAD_CAST ""; + if (arg2 == NULL) + arg2 = BAD_CAST ""; + + msg[0] = 0; + switch (err) { + case XML_RELAXNG_OK: + return (NULL); + case XML_RELAXNG_ERR_MEMORY: + return (xmlCharStrdup("out of memory\n")); + case XML_RELAXNG_ERR_TYPE: + snprintf(msg, 1000, "failed to validate type %s\n", arg1); + break; + case XML_RELAXNG_ERR_TYPEVAL: + snprintf(msg, 1000, "Type %s doesn't allow value '%s'\n", arg1, + arg2); + break; + case XML_RELAXNG_ERR_DUPID: + snprintf(msg, 1000, "ID %s redefined\n", arg1); + break; + case XML_RELAXNG_ERR_TYPECMP: + snprintf(msg, 1000, "failed to compare type %s\n", arg1); + break; + case XML_RELAXNG_ERR_NOSTATE: + return (xmlCharStrdup("Internal error: no state\n")); + case XML_RELAXNG_ERR_NODEFINE: + return (xmlCharStrdup("Internal error: no define\n")); + case XML_RELAXNG_ERR_INTERNAL: + snprintf(msg, 1000, "Internal error: %s\n", arg1); + break; + case XML_RELAXNG_ERR_LISTEXTRA: + snprintf(msg, 1000, "Extra data in list: %s\n", arg1); + break; + case XML_RELAXNG_ERR_INTERNODATA: + return (xmlCharStrdup + ("Internal: interleave block has no data\n")); + case XML_RELAXNG_ERR_INTERSEQ: + return (xmlCharStrdup("Invalid sequence in interleave\n")); + case XML_RELAXNG_ERR_INTEREXTRA: + snprintf(msg, 1000, "Extra element %s in interleave\n", arg1); + break; + case XML_RELAXNG_ERR_ELEMNAME: + snprintf(msg, 1000, "Expecting element %s, got %s\n", arg1, + arg2); + break; + case XML_RELAXNG_ERR_ELEMNONS: + snprintf(msg, 1000, "Expecting a namespace for element %s\n", + arg1); + break; + case XML_RELAXNG_ERR_ELEMWRONGNS: + snprintf(msg, 1000, + "Element %s has wrong namespace: expecting %s\n", arg1, + arg2); + break; + case XML_RELAXNG_ERR_ELEMWRONG: + snprintf(msg, 1000, "Did not expect element %s there\n", arg1); + break; + case XML_RELAXNG_ERR_TEXTWRONG: + snprintf(msg, 1000, + "Did not expect text in element %s content\n", arg1); + break; + case XML_RELAXNG_ERR_ELEMEXTRANS: + snprintf(msg, 1000, "Expecting no namespace for element %s\n", + arg1); + break; + case XML_RELAXNG_ERR_ELEMNOTEMPTY: + snprintf(msg, 1000, "Expecting element %s to be empty\n", arg1); + break; + case XML_RELAXNG_ERR_NOELEM: + snprintf(msg, 1000, "Expecting an element %s, got nothing\n", + arg1); + break; + case XML_RELAXNG_ERR_NOTELEM: + return (xmlCharStrdup("Expecting an element got text\n")); + case XML_RELAXNG_ERR_ATTRVALID: + snprintf(msg, 1000, "Element %s failed to validate attributes\n", + arg1); + break; + case XML_RELAXNG_ERR_CONTENTVALID: + snprintf(msg, 1000, "Element %s failed to validate content\n", + arg1); + break; + case XML_RELAXNG_ERR_EXTRACONTENT: + snprintf(msg, 1000, "Element %s has extra content: %s\n", + arg1, arg2); + break; + case XML_RELAXNG_ERR_INVALIDATTR: + snprintf(msg, 1000, "Invalid attribute %s for element %s\n", + arg1, arg2); + break; + case XML_RELAXNG_ERR_LACKDATA: + snprintf(msg, 1000, "Datatype element %s contains no data\n", + arg1); + break; + case XML_RELAXNG_ERR_DATAELEM: + snprintf(msg, 1000, "Datatype element %s has child elements\n", + arg1); + break; + case XML_RELAXNG_ERR_VALELEM: + snprintf(msg, 1000, "Value element %s has child elements\n", + arg1); + break; + case XML_RELAXNG_ERR_LISTELEM: + snprintf(msg, 1000, "List element %s has child elements\n", + arg1); + break; + case XML_RELAXNG_ERR_DATATYPE: + snprintf(msg, 1000, "Error validating datatype %s\n", arg1); + break; + case XML_RELAXNG_ERR_VALUE: + snprintf(msg, 1000, "Error validating value %s\n", arg1); + break; + case XML_RELAXNG_ERR_LIST: + return (xmlCharStrdup("Error validating list\n")); + case XML_RELAXNG_ERR_NOGRAMMAR: + return (xmlCharStrdup("No top grammar defined\n")); + case XML_RELAXNG_ERR_EXTRADATA: + return (xmlCharStrdup("Extra data in the document\n")); + default: + return (xmlCharStrdup("Unknown error !\n")); + } + if (msg[0] == 0) { + snprintf(msg, 1000, "Unknown error code %d\n", err); + } + msg[1000 - 1] = 0; + result = xmlCharStrdup(msg); + return (xmlEscapeFormatString(&result)); +} + +/** + * Show a validation error. + * + * @param ctxt the validation context + * @param err the error number + * @param node the node + * @param child the node child generating the problem. + * @param arg1 the first argument + * @param arg2 the second argument + */ +static void +xmlRelaxNGShowValidError(xmlRelaxNGValidCtxtPtr ctxt, + xmlRelaxNGValidErr err, xmlNodePtr node, + xmlNodePtr child, const xmlChar * arg1, + const xmlChar * arg2) +{ + xmlChar *msg; + + if (ctxt->flags & FLAGS_NOERROR) + return; + + msg = xmlRelaxNGGetErrorString(err, arg1, arg2); + if (msg == NULL) + return; + + if (ctxt->errNo == XML_RELAXNG_OK) + ctxt->errNo = err; + xmlRngVErr(ctxt, (child == NULL ? node : child), err, + (const char *) msg, arg1, arg2); + xmlFree(msg); +} + +/** + * pop and discard all errors until the given level is reached + * + * @param ctxt the validation context + * @param level the error level in the stack + */ +static void +xmlRelaxNGPopErrors(xmlRelaxNGValidCtxtPtr ctxt, int level) +{ + int i; + xmlRelaxNGValidErrorPtr err; + + for (i = level; i < ctxt->errNr; i++) { + err = &ctxt->errTab[i]; + if (err->flags & ERROR_IS_DUP) { + if (err->arg1 != NULL) + xmlFree((xmlChar *) err->arg1); + err->arg1 = NULL; + if (err->arg2 != NULL) + xmlFree((xmlChar *) err->arg2); + err->arg2 = NULL; + err->flags = 0; + } + } + ctxt->errNr = level; + if (ctxt->errNr <= 0) + ctxt->err = NULL; +} + +/** + * Show all validation error over a given index. + * + * @param ctxt the validation context + */ +static void +xmlRelaxNGDumpValidError(xmlRelaxNGValidCtxtPtr ctxt) +{ + int i, j, k; + xmlRelaxNGValidErrorPtr err, dup; + + for (i = 0, k = 0; i < ctxt->errNr; i++) { + err = &ctxt->errTab[i]; + if (k < MAX_ERROR) { + for (j = 0; j < i; j++) { + dup = &ctxt->errTab[j]; + if ((err->err == dup->err) && (err->node == dup->node) && + (xmlStrEqual(err->arg1, dup->arg1)) && + (xmlStrEqual(err->arg2, dup->arg2))) { + goto skip; + } + } + xmlRelaxNGShowValidError(ctxt, err->err, err->node, err->seq, + err->arg1, err->arg2); + k++; + } + skip: + if (err->flags & ERROR_IS_DUP) { + if (err->arg1 != NULL) + xmlFree((xmlChar *) err->arg1); + err->arg1 = NULL; + if (err->arg2 != NULL) + xmlFree((xmlChar *) err->arg2); + err->arg2 = NULL; + err->flags = 0; + } + } + ctxt->errNr = 0; +} + +/** + * Register a validation error, either generating it if it's sure + * or stacking it for later handling if unsure. + * + * @param ctxt the validation context + * @param err the error number + * @param arg1 the first argument + * @param arg2 the second argument + * @param dup need to dup the args + */ +static void +xmlRelaxNGAddValidError(xmlRelaxNGValidCtxtPtr ctxt, + xmlRelaxNGValidErr err, const xmlChar * arg1, + const xmlChar * arg2, int dup) +{ + if (ctxt == NULL) + return; + if (ctxt->flags & FLAGS_NOERROR) + return; + + /* + * generate the error directly + */ + if (((ctxt->flags & FLAGS_IGNORABLE) == 0) || + (ctxt->flags & FLAGS_NEGATIVE)) { + xmlNodePtr node, seq; + + /* + * Flush first any stacked error which might be the + * real cause of the problem. + */ + if (ctxt->errNr != 0) + xmlRelaxNGDumpValidError(ctxt); + if (ctxt->state != NULL) { + node = ctxt->state->node; + seq = ctxt->state->seq; + } else { + node = seq = NULL; + } + if ((node == NULL) && (seq == NULL)) { + node = ctxt->pnode; + } + xmlRelaxNGShowValidError(ctxt, err, node, seq, arg1, arg2); + } + /* + * Stack the error for later processing if needed + */ + else { + xmlRelaxNGValidErrorPush(ctxt, err, arg1, arg2, dup); + } +} + + +/************************************************************************ + * * + * Type library hooks * + * * + ************************************************************************/ +static xmlChar *xmlRelaxNGNormalize(xmlRelaxNGValidCtxtPtr ctxt, + const xmlChar * str); + +/** + * Check if the given type is provided by + * the W3C XMLSchema Datatype library. + * + * @param data data needed for the library + * @param type the type name + * @returns 1 if yes, 0 if no and -1 in case of error. + */ +static int +xmlRelaxNGSchemaTypeHave(void *data ATTRIBUTE_UNUSED, const xmlChar * type) +{ + xmlSchemaTypePtr typ; + + if (type == NULL) + return (-1); + typ = xmlSchemaGetPredefinedType(type, + BAD_CAST + "http://www.w3.org/2001/XMLSchema"); + if (typ == NULL) + return (0); + return (1); +} + +/** + * Check if the given type and value are validated by + * the W3C XMLSchema Datatype library. + * + * @param data data needed for the library + * @param type the type name + * @param value the value to check + * @param result pointer to result + * @param node the node + * @returns 1 if yes, 0 if no and -1 in case of error. + */ +static int +xmlRelaxNGSchemaTypeCheck(void *data ATTRIBUTE_UNUSED, + const xmlChar * type, + const xmlChar * value, + void **result, xmlNodePtr node) +{ + xmlSchemaTypePtr typ; + int ret; + + if ((type == NULL) || (value == NULL)) + return (-1); + typ = xmlSchemaGetPredefinedType(type, + BAD_CAST + "http://www.w3.org/2001/XMLSchema"); + if (typ == NULL) + return (-1); + ret = xmlSchemaValPredefTypeNode(typ, value, + (xmlSchemaValPtr *) result, node); + if (ret == 2) /* special ID error code */ + return (2); + if (ret == 0) + return (1); + if (ret > 0) + return (0); + return (-1); +} + +/** + * Function provided by a type library to check a value facet + * + * @param data data needed for the library + * @param type the type name + * @param facetname the facet name + * @param val the facet value + * @param strval the string value + * @param value the value to check + * @returns 1 if yes, 0 if no and -1 in case of error. + */ +static int +xmlRelaxNGSchemaFacetCheck(void *data ATTRIBUTE_UNUSED, + const xmlChar * type, const xmlChar * facetname, + const xmlChar * val, const xmlChar * strval, + void *value) +{ + xmlSchemaFacetPtr facet; + xmlSchemaTypePtr typ; + int ret; + + if ((type == NULL) || (strval == NULL)) + return (-1); + typ = xmlSchemaGetPredefinedType(type, + BAD_CAST + "http://www.w3.org/2001/XMLSchema"); + if (typ == NULL) + return (-1); + + facet = xmlSchemaNewFacet(); + if (facet == NULL) + return (-1); + + if (xmlStrEqual(facetname, BAD_CAST "minInclusive")) { + facet->type = XML_SCHEMA_FACET_MININCLUSIVE; + } else if (xmlStrEqual(facetname, BAD_CAST "minExclusive")) { + facet->type = XML_SCHEMA_FACET_MINEXCLUSIVE; + } else if (xmlStrEqual(facetname, BAD_CAST "maxInclusive")) { + facet->type = XML_SCHEMA_FACET_MAXINCLUSIVE; + } else if (xmlStrEqual(facetname, BAD_CAST "maxExclusive")) { + facet->type = XML_SCHEMA_FACET_MAXEXCLUSIVE; + } else if (xmlStrEqual(facetname, BAD_CAST "totalDigits")) { + facet->type = XML_SCHEMA_FACET_TOTALDIGITS; + } else if (xmlStrEqual(facetname, BAD_CAST "fractionDigits")) { + facet->type = XML_SCHEMA_FACET_FRACTIONDIGITS; + } else if (xmlStrEqual(facetname, BAD_CAST "pattern")) { + facet->type = XML_SCHEMA_FACET_PATTERN; + } else if (xmlStrEqual(facetname, BAD_CAST "enumeration")) { + facet->type = XML_SCHEMA_FACET_ENUMERATION; + } else if (xmlStrEqual(facetname, BAD_CAST "whiteSpace")) { + facet->type = XML_SCHEMA_FACET_WHITESPACE; + } else if (xmlStrEqual(facetname, BAD_CAST "length")) { + facet->type = XML_SCHEMA_FACET_LENGTH; + } else if (xmlStrEqual(facetname, BAD_CAST "maxLength")) { + facet->type = XML_SCHEMA_FACET_MAXLENGTH; + } else if (xmlStrEqual(facetname, BAD_CAST "minLength")) { + facet->type = XML_SCHEMA_FACET_MINLENGTH; + } else { + xmlSchemaFreeFacet(facet); + return (-1); + } + facet->value = val; + ret = xmlSchemaCheckFacet(facet, typ, NULL, type); + if (ret != 0) { + xmlSchemaFreeFacet(facet); + return (-1); + } + ret = xmlSchemaValidateFacet(typ, facet, strval, value); + xmlSchemaFreeFacet(facet); + if (ret != 0) + return (-1); + return (0); +} + +/** + * Function provided by a type library to free a Schemas value + * + * @param data data needed for the library + * @param value the value to free + * @returns 1 if yes, 0 if no and -1 in case of error. + */ +static void +xmlRelaxNGSchemaFreeValue(void *data ATTRIBUTE_UNUSED, void *value) +{ + xmlSchemaFreeValue(value); +} + +/** + * Compare two values for equality accordingly a type from the W3C XMLSchema + * Datatype library. + * + * @param data data needed for the library + * @param type the type name + * @param value1 the first value + * @param ctxt1 the first context node + * @param comp1 value to compare with + * @param value2 the second value + * @param ctxt2 the second context node + * @returns 1 if equal, 0 if no and -1 in case of error. + */ +static int +xmlRelaxNGSchemaTypeCompare(void *data ATTRIBUTE_UNUSED, + const xmlChar * type, + const xmlChar * value1, + xmlNodePtr ctxt1, + void *comp1, + const xmlChar * value2, xmlNodePtr ctxt2) +{ + int ret; + xmlSchemaTypePtr typ; + xmlSchemaValPtr res1 = NULL, res2 = NULL; + + if ((type == NULL) || (value1 == NULL) || (value2 == NULL)) + return (-1); + typ = xmlSchemaGetPredefinedType(type, + BAD_CAST + "http://www.w3.org/2001/XMLSchema"); + if (typ == NULL) + return (-1); + if (comp1 == NULL) { + ret = xmlSchemaValPredefTypeNode(typ, value1, &res1, ctxt1); + if (ret != 0) + return (-1); + if (res1 == NULL) + return (-1); + } else { + res1 = (xmlSchemaValPtr) comp1; + } + ret = xmlSchemaValPredefTypeNode(typ, value2, &res2, ctxt2); + if (ret != 0) { + if (res1 != (xmlSchemaValPtr) comp1) + xmlSchemaFreeValue(res1); + return (-1); + } + ret = xmlSchemaCompareValues(res1, res2); + if (res1 != (xmlSchemaValPtr) comp1) + xmlSchemaFreeValue(res1); + xmlSchemaFreeValue(res2); + if (ret == -2) + return (-1); + if (ret == 0) + return (1); + return (0); +} + +/** + * Check if the given type is provided by + * the default datatype library. + * + * @param data data needed for the library + * @param type the type name + * @returns 1 if yes, 0 if no and -1 in case of error. + */ +static int +xmlRelaxNGDefaultTypeHave(void *data ATTRIBUTE_UNUSED, + const xmlChar * type) +{ + if (type == NULL) + return (-1); + if (xmlStrEqual(type, BAD_CAST "string")) + return (1); + if (xmlStrEqual(type, BAD_CAST "token")) + return (1); + return (0); +} + +/** + * Check if the given type and value are validated by + * the default datatype library. + * + * @param data data needed for the library + * @param type the type name + * @param value the value to check + * @param result pointer to result + * @param node the node + * @returns 1 if yes, 0 if no and -1 in case of error. + */ +static int +xmlRelaxNGDefaultTypeCheck(void *data ATTRIBUTE_UNUSED, + const xmlChar * type ATTRIBUTE_UNUSED, + const xmlChar * value ATTRIBUTE_UNUSED, + void **result ATTRIBUTE_UNUSED, + xmlNodePtr node ATTRIBUTE_UNUSED) +{ + if (value == NULL) + return (-1); + if (xmlStrEqual(type, BAD_CAST "string")) + return (1); + if (xmlStrEqual(type, BAD_CAST "token")) { + return (1); + } + + return (0); +} + +/** + * Compare two values accordingly a type from the default + * datatype library. + * + * @param data data needed for the library + * @param type the type name + * @param value1 the first value + * @param ctxt1 the first context node + * @param comp1 value to compare with + * @param value2 the second value + * @param ctxt2 the second context node + * @returns 1 if yes, 0 if no and -1 in case of error. + */ +static int +xmlRelaxNGDefaultTypeCompare(void *data ATTRIBUTE_UNUSED, + const xmlChar * type, + const xmlChar * value1, + xmlNodePtr ctxt1 ATTRIBUTE_UNUSED, + void *comp1 ATTRIBUTE_UNUSED, + const xmlChar * value2, + xmlNodePtr ctxt2 ATTRIBUTE_UNUSED) +{ + int ret = -1; + + if (xmlStrEqual(type, BAD_CAST "string")) { + ret = xmlStrEqual(value1, value2); + } else if (xmlStrEqual(type, BAD_CAST "token")) { + if (!xmlStrEqual(value1, value2)) { + xmlChar *nval, *nvalue; + + /* + * TODO: trivial optimizations are possible by + * computing at compile-time + */ + nval = xmlRelaxNGNormalize(NULL, value1); + nvalue = xmlRelaxNGNormalize(NULL, value2); + + if ((nval == NULL) || (nvalue == NULL)) + ret = -1; + else if (xmlStrEqual(nval, nvalue)) + ret = 1; + else + ret = 0; + if (nval != NULL) + xmlFree(nval); + if (nvalue != NULL) + xmlFree(nvalue); + } else + ret = 1; + } + return (ret); +} + +static int xmlRelaxNGTypeInitialized = 0; +static xmlHashTablePtr xmlRelaxNGRegisteredTypes = NULL; + +/** + * Free the structure associated to the type library + * + * @param payload the type library structure + * @param namespace the URI bound to the library + */ +static void +xmlRelaxNGFreeTypeLibrary(void *payload, + const xmlChar * namespace ATTRIBUTE_UNUSED) +{ + xmlRelaxNGTypeLibraryPtr lib = (xmlRelaxNGTypeLibraryPtr) payload; + if (lib == NULL) + return; + if (lib->namespace != NULL) + xmlFree((xmlChar *) lib->namespace); + xmlFree(lib); +} + +/** + * Register a new type library + * + * @param namespace the URI bound to the library + * @param data data associated to the library + * @param have the provide function + * @param check the checking function + * @param comp the comparison function + * @param facet facet check function + * @param freef free function + * @returns 0 in case of success and -1 in case of error. + */ +static int +xmlRelaxNGRegisterTypeLibrary(const xmlChar * namespace, void *data, + xmlRelaxNGTypeHave have, + xmlRelaxNGTypeCheck check, + xmlRelaxNGTypeCompare comp, + xmlRelaxNGFacetCheck facet, + xmlRelaxNGTypeFree freef) +{ + xmlRelaxNGTypeLibraryPtr lib; + int ret; + + if ((xmlRelaxNGRegisteredTypes == NULL) || (namespace == NULL) || + (check == NULL) || (comp == NULL)) + return (-1); + if (xmlHashLookup(xmlRelaxNGRegisteredTypes, namespace) != NULL) + return (-1); + lib = + (xmlRelaxNGTypeLibraryPtr) + xmlMalloc(sizeof(xmlRelaxNGTypeLibrary)); + if (lib == NULL) { + xmlRngVErrMemory(NULL); + return (-1); + } + memset(lib, 0, sizeof(xmlRelaxNGTypeLibrary)); + lib->namespace = xmlStrdup(namespace); + lib->data = data; + lib->have = have; + lib->comp = comp; + lib->check = check; + lib->facet = facet; + lib->freef = freef; + ret = xmlHashAddEntry(xmlRelaxNGRegisteredTypes, namespace, lib); + if (ret < 0) { + xmlRelaxNGFreeTypeLibrary(lib, namespace); + return (-1); + } + return (0); +} + +static xmlMutex xmlRelaxNGMutex; + +void +xmlInitRelaxNGInternal(void) +{ + xmlInitMutex(&xmlRelaxNGMutex); +} + +void +xmlCleanupRelaxNGInternal(void) +{ + xmlCleanupMutex(&xmlRelaxNGMutex); +} + +/** + * Initialize the default type libraries. + * + * @returns 0 in case of success and -1 in case of error. + */ +int +xmlRelaxNGInitTypes(void) +{ + xmlInitParser(); + + xmlMutexLock(&xmlRelaxNGMutex); + if (xmlRelaxNGTypeInitialized != 0) { + xmlMutexUnlock(&xmlRelaxNGMutex); + return (0); + } + + xmlRelaxNGRegisteredTypes = xmlHashCreate(10); + if (xmlRelaxNGRegisteredTypes == NULL) { + xmlMutexUnlock(&xmlRelaxNGMutex); + return (-1); + } + xmlRelaxNGRegisterTypeLibrary(BAD_CAST + "http://www.w3.org/2001/XMLSchema-datatypes", + NULL, xmlRelaxNGSchemaTypeHave, + xmlRelaxNGSchemaTypeCheck, + xmlRelaxNGSchemaTypeCompare, + xmlRelaxNGSchemaFacetCheck, + xmlRelaxNGSchemaFreeValue); + xmlRelaxNGRegisterTypeLibrary(xmlRelaxNGNs, NULL, + xmlRelaxNGDefaultTypeHave, + xmlRelaxNGDefaultTypeCheck, + xmlRelaxNGDefaultTypeCompare, NULL, + NULL); + xmlRelaxNGTypeInitialized = 1; + xmlMutexUnlock(&xmlRelaxNGMutex); + return (0); +} + +/** + * Cleanup the default Schemas type library associated to RelaxNG + * + * @deprecated This function will be made private. Call #xmlCleanupParser + * to free global state but see the warnings there. #xmlCleanupParser + * should be only called once at program exit. In most cases, you don't + * have call cleanup functions at all. + * + */ +void +xmlRelaxNGCleanupTypes(void) +{ + xmlSchemaCleanupTypes(); + xmlMutexLock(&xmlRelaxNGMutex); + if (xmlRelaxNGTypeInitialized == 0) { + xmlMutexUnlock(&xmlRelaxNGMutex); + return; + } + xmlHashFree(xmlRelaxNGRegisteredTypes, xmlRelaxNGFreeTypeLibrary); + xmlRelaxNGTypeInitialized = 0; + xmlMutexUnlock(&xmlRelaxNGMutex); +} + +/************************************************************************ + * * + * Compiling element content into regexp * + * * + * Sometime the element content can be compiled into a pure regexp, * + * This allows a faster execution and streamability at that level * + * * + ************************************************************************/ + +static int xmlRelaxNGTryCompile(xmlRelaxNGParserCtxtPtr ctxt, + xmlRelaxNGDefinePtr def); + +/** + * Check if a definition is nullable. + * + * @param def the definition to check + * @returns 1 if yes, 0 if no and -1 in case of error + */ +static int +xmlRelaxNGIsCompilable(xmlRelaxNGDefinePtr def) +{ + int ret = -1; + + if (def == NULL) { + return (-1); + } + if ((def->type != XML_RELAXNG_ELEMENT) && + (def->dflags & IS_COMPILABLE)) + return (1); + if ((def->type != XML_RELAXNG_ELEMENT) && + (def->dflags & IS_NOT_COMPILABLE)) + return (0); + switch (def->type) { + case XML_RELAXNG_NOOP: + ret = xmlRelaxNGIsCompilable(def->content); + break; + case XML_RELAXNG_TEXT: + case XML_RELAXNG_EMPTY: + ret = 1; + break; + case XML_RELAXNG_ELEMENT: + /* + * Check if the element content is compilable + */ + if (((def->dflags & IS_NOT_COMPILABLE) == 0) && + ((def->dflags & IS_COMPILABLE) == 0)) { + xmlRelaxNGDefinePtr list; + + list = def->content; + while (list != NULL) { + ret = xmlRelaxNGIsCompilable(list); + if (ret != 1) + break; + list = list->next; + } + /* + * Because the routine is recursive, we must guard against + * discovering both COMPILABLE and NOT_COMPILABLE + */ + if (ret == 0) { + def->dflags &= ~IS_COMPILABLE; + def->dflags |= IS_NOT_COMPILABLE; + } + if ((ret == 1) && !(def->dflags &= IS_NOT_COMPILABLE)) + def->dflags |= IS_COMPILABLE; + } + /* + * All elements return a compilable status unless they + * are generic like anyName + */ + if ((def->nameClass != NULL) || (def->name == NULL)) + ret = 0; + else + ret = 1; + return (ret); + case XML_RELAXNG_REF: + case XML_RELAXNG_EXTERNALREF: + case XML_RELAXNG_PARENTREF: + if (def->depth == -20) { + return (1); + } else { + xmlRelaxNGDefinePtr list; + + def->depth = -20; + list = def->content; + while (list != NULL) { + ret = xmlRelaxNGIsCompilable(list); + if (ret != 1) + break; + list = list->next; + } + } + break; + case XML_RELAXNG_START: + case XML_RELAXNG_OPTIONAL: + case XML_RELAXNG_ZEROORMORE: + case XML_RELAXNG_ONEORMORE: + case XML_RELAXNG_CHOICE: + case XML_RELAXNG_GROUP: + case XML_RELAXNG_DEF:{ + xmlRelaxNGDefinePtr list; + + list = def->content; + while (list != NULL) { + ret = xmlRelaxNGIsCompilable(list); + if (ret != 1) + break; + list = list->next; + } + break; + } + case XML_RELAXNG_EXCEPT: + case XML_RELAXNG_ATTRIBUTE: + case XML_RELAXNG_INTERLEAVE: + case XML_RELAXNG_DATATYPE: + case XML_RELAXNG_LIST: + case XML_RELAXNG_PARAM: + case XML_RELAXNG_VALUE: + case XML_RELAXNG_NOT_ALLOWED: + ret = 0; + break; + } + if (ret == 0) + def->dflags |= IS_NOT_COMPILABLE; + if (ret == 1) + def->dflags |= IS_COMPILABLE; + return (ret); +} + +/** + * Compile the set of definitions, it works recursively, till the + * element boundaries, where it tries to compile the content if possible + * + * @param ctxt the RelaxNG parser context + * @param def the definition tree to compile + * @returns 0 if success and -1 in case of error + */ +static int +xmlRelaxNGCompile(xmlRelaxNGParserCtxtPtr ctxt, xmlRelaxNGDefinePtr def) +{ + int ret = 0; + xmlRelaxNGDefinePtr list; + + if ((ctxt == NULL) || (def == NULL)) + return (-1); + + switch (def->type) { + case XML_RELAXNG_START: + if ((xmlRelaxNGIsCompilable(def) == 1) && (def->depth != -25)) { + xmlAutomataPtr oldam = ctxt->am; + xmlAutomataStatePtr oldstate = ctxt->state; + + def->depth = -25; + + list = def->content; + ctxt->am = xmlNewAutomata(); + if (ctxt->am == NULL) + return (-1); + + /* + * assume identical strings but not same pointer are different + * atoms, needed for non-determinism detection + * That way if 2 elements with the same name are in a choice + * branch the automata is found non-deterministic and + * we fallback to the normal validation which does the right + * thing of exploring both choices. + */ + xmlAutomataSetFlags(ctxt->am, 1); + + ctxt->state = xmlAutomataGetInitState(ctxt->am); + while (list != NULL) { + xmlRelaxNGCompile(ctxt, list); + list = list->next; + } + xmlAutomataSetFinalState(ctxt->am, ctxt->state); + if (xmlAutomataIsDeterminist(ctxt->am)) + def->contModel = xmlAutomataCompile(ctxt->am); + + xmlFreeAutomata(ctxt->am); + ctxt->state = oldstate; + ctxt->am = oldam; + } + break; + case XML_RELAXNG_ELEMENT: + if ((ctxt->am != NULL) && (def->name != NULL)) { + ctxt->state = xmlAutomataNewTransition2(ctxt->am, + ctxt->state, NULL, + def->name, def->ns, + def); + } + if ((def->dflags & IS_COMPILABLE) && (def->depth != -25)) { + xmlAutomataPtr oldam = ctxt->am; + xmlAutomataStatePtr oldstate = ctxt->state; + + def->depth = -25; + + list = def->content; + ctxt->am = xmlNewAutomata(); + if (ctxt->am == NULL) + return (-1); + xmlAutomataSetFlags(ctxt->am, 1); + ctxt->state = xmlAutomataGetInitState(ctxt->am); + while (list != NULL) { + xmlRelaxNGCompile(ctxt, list); + list = list->next; + } + xmlAutomataSetFinalState(ctxt->am, ctxt->state); + def->contModel = xmlAutomataCompile(ctxt->am); + if (!xmlRegexpIsDeterminist(def->contModel)) { + /* + * we can only use the automata if it is determinist + */ + xmlRegFreeRegexp(def->contModel); + def->contModel = NULL; + } + xmlFreeAutomata(ctxt->am); + ctxt->state = oldstate; + ctxt->am = oldam; + } else { + xmlAutomataPtr oldam = ctxt->am; + + /* + * we can't build the content model for this element content + * but it still might be possible to build it for some of its + * children, recurse. + */ + ret = xmlRelaxNGTryCompile(ctxt, def); + ctxt->am = oldam; + } + break; + case XML_RELAXNG_NOOP: + ret = xmlRelaxNGCompile(ctxt, def->content); + break; + case XML_RELAXNG_OPTIONAL:{ + xmlAutomataStatePtr oldstate = ctxt->state; + + list = def->content; + while (list != NULL) { + xmlRelaxNGCompile(ctxt, list); + list = list->next; + } + xmlAutomataNewEpsilon(ctxt->am, oldstate, ctxt->state); + break; + } + case XML_RELAXNG_ZEROORMORE:{ + xmlAutomataStatePtr oldstate; + + ctxt->state = + xmlAutomataNewEpsilon(ctxt->am, ctxt->state, NULL); + oldstate = ctxt->state; + list = def->content; + while (list != NULL) { + xmlRelaxNGCompile(ctxt, list); + list = list->next; + } + xmlAutomataNewEpsilon(ctxt->am, ctxt->state, oldstate); + ctxt->state = + xmlAutomataNewEpsilon(ctxt->am, oldstate, NULL); + break; + } + case XML_RELAXNG_ONEORMORE:{ + xmlAutomataStatePtr oldstate; + + list = def->content; + while (list != NULL) { + xmlRelaxNGCompile(ctxt, list); + list = list->next; + } + oldstate = ctxt->state; + list = def->content; + while (list != NULL) { + xmlRelaxNGCompile(ctxt, list); + list = list->next; + } + xmlAutomataNewEpsilon(ctxt->am, ctxt->state, oldstate); + ctxt->state = + xmlAutomataNewEpsilon(ctxt->am, oldstate, NULL); + break; + } + case XML_RELAXNG_CHOICE:{ + xmlAutomataStatePtr target = NULL; + xmlAutomataStatePtr oldstate = ctxt->state; + + list = def->content; + while (list != NULL) { + ctxt->state = oldstate; + ret = xmlRelaxNGCompile(ctxt, list); + if (ret != 0) + break; + if (target == NULL) + target = ctxt->state; + else { + xmlAutomataNewEpsilon(ctxt->am, ctxt->state, + target); + } + list = list->next; + } + ctxt->state = target; + + break; + } + case XML_RELAXNG_REF: + case XML_RELAXNG_EXTERNALREF: + case XML_RELAXNG_PARENTREF: + case XML_RELAXNG_GROUP: + case XML_RELAXNG_DEF: + list = def->content; + while (list != NULL) { + ret = xmlRelaxNGCompile(ctxt, list); + if (ret != 0) + break; + list = list->next; + } + break; + case XML_RELAXNG_TEXT:{ + xmlAutomataStatePtr oldstate; + + ctxt->state = + xmlAutomataNewEpsilon(ctxt->am, ctxt->state, NULL); + oldstate = ctxt->state; + xmlRelaxNGCompile(ctxt, def->content); + xmlAutomataNewTransition(ctxt->am, ctxt->state, + ctxt->state, BAD_CAST "#text", + NULL); + ctxt->state = + xmlAutomataNewEpsilon(ctxt->am, oldstate, NULL); + break; + } + case XML_RELAXNG_EMPTY: + ctxt->state = + xmlAutomataNewEpsilon(ctxt->am, ctxt->state, NULL); + break; + case XML_RELAXNG_EXCEPT: + case XML_RELAXNG_ATTRIBUTE: + case XML_RELAXNG_INTERLEAVE: + case XML_RELAXNG_NOT_ALLOWED: + case XML_RELAXNG_DATATYPE: + case XML_RELAXNG_LIST: + case XML_RELAXNG_PARAM: + case XML_RELAXNG_VALUE: + xmlRngPErr(ctxt, NULL, XML_ERR_INTERNAL_ERROR, + "RNG internal error trying to compile %s\n", + BAD_CAST xmlRelaxNGDefName(def), NULL); + break; + } + return (ret); +} + +/** + * Try to compile the set of definitions, it works recursively, + * possibly ignoring parts which cannot be compiled. + * + * @param ctxt the RelaxNG parser context + * @param def the definition tree to compile + * @returns 0 if success and -1 in case of error + */ +static int +xmlRelaxNGTryCompile(xmlRelaxNGParserCtxtPtr ctxt, xmlRelaxNGDefinePtr def) +{ + int ret = 0; + xmlRelaxNGDefinePtr list; + + if ((ctxt == NULL) || (def == NULL)) + return (-1); + + if ((def->type == XML_RELAXNG_START) || + (def->type == XML_RELAXNG_ELEMENT)) { + ret = xmlRelaxNGIsCompilable(def); + if ((def->dflags & IS_COMPILABLE) && (def->depth != -25)) { + ctxt->am = NULL; + ret = xmlRelaxNGCompile(ctxt, def); + return (ret); + } + } + switch (def->type) { + case XML_RELAXNG_NOOP: + ret = xmlRelaxNGTryCompile(ctxt, def->content); + break; + case XML_RELAXNG_TEXT: + case XML_RELAXNG_DATATYPE: + case XML_RELAXNG_LIST: + case XML_RELAXNG_PARAM: + case XML_RELAXNG_VALUE: + case XML_RELAXNG_EMPTY: + case XML_RELAXNG_ELEMENT: + ret = 0; + break; + case XML_RELAXNG_OPTIONAL: + case XML_RELAXNG_ZEROORMORE: + case XML_RELAXNG_ONEORMORE: + case XML_RELAXNG_CHOICE: + case XML_RELAXNG_GROUP: + case XML_RELAXNG_DEF: + case XML_RELAXNG_START: + case XML_RELAXNG_REF: + case XML_RELAXNG_EXTERNALREF: + case XML_RELAXNG_PARENTREF: + list = def->content; + while (list != NULL) { + ret = xmlRelaxNGTryCompile(ctxt, list); + if (ret != 0) + break; + list = list->next; + } + break; + case XML_RELAXNG_EXCEPT: + case XML_RELAXNG_ATTRIBUTE: + case XML_RELAXNG_INTERLEAVE: + case XML_RELAXNG_NOT_ALLOWED: + ret = 0; + break; + } + return (ret); +} + +/************************************************************************ + * * + * Parsing functions * + * * + ************************************************************************/ + +static xmlRelaxNGDefinePtr xmlRelaxNGParseAttribute(xmlRelaxNGParserCtxtPtr + ctxt, xmlNodePtr node); +static xmlRelaxNGDefinePtr xmlRelaxNGParseElement(xmlRelaxNGParserCtxtPtr + ctxt, xmlNodePtr node); +static xmlRelaxNGDefinePtr xmlRelaxNGParsePatterns(xmlRelaxNGParserCtxtPtr + ctxt, xmlNodePtr nodes, + int group); +static xmlRelaxNGDefinePtr xmlRelaxNGParsePattern(xmlRelaxNGParserCtxtPtr + ctxt, xmlNodePtr node); +static xmlRelaxNGPtr xmlRelaxNGParseDocument(xmlRelaxNGParserCtxtPtr ctxt, + xmlNodePtr node); +static int xmlRelaxNGParseGrammarContent(xmlRelaxNGParserCtxtPtr ctxt, + xmlNodePtr nodes); +static xmlRelaxNGDefinePtr xmlRelaxNGParseNameClass(xmlRelaxNGParserCtxtPtr + ctxt, xmlNodePtr node, + xmlRelaxNGDefinePtr + def); +static xmlRelaxNGGrammarPtr xmlRelaxNGParseGrammar(xmlRelaxNGParserCtxtPtr + ctxt, xmlNodePtr nodes); +static int xmlRelaxNGElementMatch(xmlRelaxNGValidCtxtPtr ctxt, + xmlRelaxNGDefinePtr define, + xmlNodePtr elem); + + +#define IS_BLANK_NODE(n) (xmlRelaxNGIsBlank((n)->content)) + +/** + * Check if a definition is nullable. + * + * @param define the definition to verify + * @returns 1 if yes, 0 if no and -1 in case of error + */ +static int +xmlRelaxNGIsNullable(xmlRelaxNGDefinePtr define) +{ + int ret; + + if (define == NULL) + return (-1); + + if (define->dflags & IS_NULLABLE) + return (1); + if (define->dflags & IS_NOT_NULLABLE) + return (0); + switch (define->type) { + case XML_RELAXNG_EMPTY: + case XML_RELAXNG_TEXT: + ret = 1; + break; + case XML_RELAXNG_NOOP: + case XML_RELAXNG_DEF: + case XML_RELAXNG_REF: + case XML_RELAXNG_EXTERNALREF: + case XML_RELAXNG_PARENTREF: + case XML_RELAXNG_ONEORMORE: + ret = xmlRelaxNGIsNullable(define->content); + break; + case XML_RELAXNG_EXCEPT: + case XML_RELAXNG_NOT_ALLOWED: + case XML_RELAXNG_ELEMENT: + case XML_RELAXNG_DATATYPE: + case XML_RELAXNG_PARAM: + case XML_RELAXNG_VALUE: + case XML_RELAXNG_LIST: + case XML_RELAXNG_ATTRIBUTE: + ret = 0; + break; + case XML_RELAXNG_CHOICE:{ + xmlRelaxNGDefinePtr list = define->content; + + while (list != NULL) { + ret = xmlRelaxNGIsNullable(list); + if (ret != 0) + goto done; + list = list->next; + } + ret = 0; + break; + } + case XML_RELAXNG_START: + case XML_RELAXNG_INTERLEAVE: + case XML_RELAXNG_GROUP:{ + xmlRelaxNGDefinePtr list = define->content; + + while (list != NULL) { + ret = xmlRelaxNGIsNullable(list); + if (ret != 1) + goto done; + list = list->next; + } + return (1); + } + default: + return (-1); + } + done: + if (ret == 0) + define->dflags |= IS_NOT_NULLABLE; + if (ret == 1) + define->dflags |= IS_NULLABLE; + return (ret); +} + +/** + * Check if a string is ignorable c.f. 4.2. Whitespace + * + * @param str a string + * @returns 1 if the string is NULL or made of blanks chars, 0 otherwise + */ +static int +xmlRelaxNGIsBlank(xmlChar * str) +{ + if (str == NULL) + return (1); + while (*str != 0) { + if (!(IS_BLANK_CH(*str))) + return (0); + str++; + } + return (1); +} + +/** + * Applies algorithm from 4.3. datatypeLibrary attribute + * + * @param ctxt a Relax-NG parser context + * @param node the current data or value element + * @returns the datatypeLibrary value or NULL if not found + */ +static xmlChar * +xmlRelaxNGGetDataTypeLibrary(xmlRelaxNGParserCtxtPtr ctxt ATTRIBUTE_UNUSED, + xmlNodePtr node) +{ + xmlChar *ret, *escape; + + if (node == NULL) + return(NULL); + + if ((IS_RELAXNG(node, "data")) || (IS_RELAXNG(node, "value"))) { + ret = xmlGetProp(node, BAD_CAST "datatypeLibrary"); + if (ret != NULL) { + if (ret[0] == 0) { + xmlFree(ret); + return (NULL); + } + escape = xmlURIEscapeStr(ret, BAD_CAST ":/#?"); + if (escape == NULL) { + return (ret); + } + xmlFree(ret); + return (escape); + } + } + node = node->parent; + while ((node != NULL) && (node->type == XML_ELEMENT_NODE)) { + ret = xmlGetProp(node, BAD_CAST "datatypeLibrary"); + if (ret != NULL) { + if (ret[0] == 0) { + xmlFree(ret); + return (NULL); + } + escape = xmlURIEscapeStr(ret, BAD_CAST ":/#?"); + if (escape == NULL) { + return (ret); + } + xmlFree(ret); + return (escape); + } + node = node->parent; + } + return (NULL); +} + +/** + * parse the content of a RelaxNG value node. + * + * @param ctxt a Relax-NG parser context + * @param node the data node. + * @returns the definition pointer or NULL in case of error + */ +static xmlRelaxNGDefinePtr +xmlRelaxNGParseValue(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node) +{ + xmlRelaxNGDefinePtr def = NULL; + xmlRelaxNGTypeLibraryPtr lib = NULL; + xmlChar *type; + xmlChar *library; + int success = 0; + + def = xmlRelaxNGNewDefine(ctxt, node); + if (def == NULL) + return (NULL); + def->type = XML_RELAXNG_VALUE; + + type = xmlGetProp(node, BAD_CAST "type"); + if (type != NULL) { + xmlRelaxNGNormExtSpace(type); + if (xmlValidateNCName(type, 0)) { + xmlRngPErr(ctxt, node, XML_RNGP_TYPE_VALUE, + "value type '%s' is not an NCName\n", type, NULL); + } + library = xmlRelaxNGGetDataTypeLibrary(ctxt, node); + if (library == NULL) + library = + xmlStrdup(BAD_CAST "http://relaxng.org/ns/structure/1.0"); + + def->name = type; + def->ns = library; + + lib = (xmlRelaxNGTypeLibraryPtr) + xmlHashLookup(xmlRelaxNGRegisteredTypes, library); + if (lib == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_UNKNOWN_TYPE_LIB, + "Use of unregistered type library '%s'\n", library, + NULL); + def->data = NULL; + } else { + def->data = lib; + if (lib->have == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_ERROR_TYPE_LIB, + "Internal error with type library '%s': no 'have'\n", + library, NULL); + } else { + success = lib->have(lib->data, def->name); + if (success != 1) { + xmlRngPErr(ctxt, node, XML_RNGP_TYPE_NOT_FOUND, + "Error type '%s' is not exported by type library '%s'\n", + def->name, library); + } + } + } + } + if (node->children == NULL) { + def->value = xmlStrdup(BAD_CAST ""); + } else if (((node->children->type != XML_TEXT_NODE) && + (node->children->type != XML_CDATA_SECTION_NODE)) || + (node->children->next != NULL)) { + xmlRngPErr(ctxt, node, XML_RNGP_TEXT_EXPECTED, + "Expecting a single text value for content\n", + NULL, NULL); + } else if (def != NULL) { + def->value = xmlNodeGetContent(node); + if (def->value == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_VALUE_NO_CONTENT, + "Element has no content\n", NULL, NULL); + } else if ((lib != NULL) && (lib->check != NULL) && (success == 1)) { + void *val = NULL; + + success = + lib->check(lib->data, def->name, def->value, &val, node); + if (success != 1) { + xmlRngPErr(ctxt, node, XML_RNGP_INVALID_VALUE, + "Value '%s' is not acceptable for type '%s'\n", + def->value, def->name); + } else { + if (val != NULL) + def->attrs = val; + } + } + } + return (def); +} + +/** + * parse the content of a RelaxNG data node. + * + * @param ctxt a Relax-NG parser context + * @param node the data node. + * @returns the definition pointer or NULL in case of error + */ +static xmlRelaxNGDefinePtr +xmlRelaxNGParseData(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node) +{ + xmlRelaxNGDefinePtr def = NULL, except; + xmlRelaxNGDefinePtr param, lastparam = NULL; + xmlRelaxNGTypeLibraryPtr lib; + xmlChar *type; + xmlChar *library; + xmlNodePtr content; + int tmp; + + type = xmlGetProp(node, BAD_CAST "type"); + if (type == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_TYPE_MISSING, "data has no type\n", NULL, + NULL); + return (NULL); + } + xmlRelaxNGNormExtSpace(type); + if (xmlValidateNCName(type, 0)) { + xmlRngPErr(ctxt, node, XML_RNGP_TYPE_VALUE, + "data type '%s' is not an NCName\n", type, NULL); + } + library = xmlRelaxNGGetDataTypeLibrary(ctxt, node); + if (library == NULL) + library = + xmlStrdup(BAD_CAST "http://relaxng.org/ns/structure/1.0"); + + def = xmlRelaxNGNewDefine(ctxt, node); + if (def == NULL) { + xmlFree(library); + xmlFree(type); + return (NULL); + } + def->type = XML_RELAXNG_DATATYPE; + def->name = type; + def->ns = library; + + lib = (xmlRelaxNGTypeLibraryPtr) + xmlHashLookup(xmlRelaxNGRegisteredTypes, library); + if (lib == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_UNKNOWN_TYPE_LIB, + "Use of unregistered type library '%s'\n", library, + NULL); + def->data = NULL; + } else { + def->data = lib; + if (lib->have == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_ERROR_TYPE_LIB, + "Internal error with type library '%s': no 'have'\n", + library, NULL); + } else { + tmp = lib->have(lib->data, def->name); + if (tmp != 1) { + xmlRngPErr(ctxt, node, XML_RNGP_TYPE_NOT_FOUND, + "Error type '%s' is not exported by type library '%s'\n", + def->name, library); + } else + if ((xmlStrEqual + (library, + BAD_CAST + "http://www.w3.org/2001/XMLSchema-datatypes")) + && ((xmlStrEqual(def->name, BAD_CAST "IDREF")) + || (xmlStrEqual(def->name, BAD_CAST "IDREFS")))) { + ctxt->idref = 1; + } + } + } + content = node->children; + + /* + * Handle optional params + */ + while (content != NULL) { + if (!xmlStrEqual(content->name, BAD_CAST "param")) + break; + if (xmlStrEqual(library, + BAD_CAST "http://relaxng.org/ns/structure/1.0")) { + xmlRngPErr(ctxt, node, XML_RNGP_PARAM_FORBIDDEN, + "Type library '%s' does not allow type parameters\n", + library, NULL); + content = content->next; + while ((content != NULL) && + (xmlStrEqual(content->name, BAD_CAST "param"))) + content = content->next; + } else { + param = xmlRelaxNGNewDefine(ctxt, node); + if (param != NULL) { + param->type = XML_RELAXNG_PARAM; + param->name = xmlGetProp(content, BAD_CAST "name"); + if (param->name == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_PARAM_NAME_MISSING, + "param has no name\n", NULL, NULL); + } + param->value = xmlNodeGetContent(content); + if (lastparam == NULL) { + def->attrs = lastparam = param; + } else { + lastparam->next = param; + lastparam = param; + } + if (lib != NULL) { + } + } + content = content->next; + } + } + /* + * Handle optional except + */ + if ((content != NULL) + && (xmlStrEqual(content->name, BAD_CAST "except"))) { + xmlNodePtr child; + xmlRelaxNGDefinePtr tmp2, last = NULL; + + except = xmlRelaxNGNewDefine(ctxt, node); + if (except == NULL) { + return (def); + } + except->type = XML_RELAXNG_EXCEPT; + child = content->children; + def->content = except; + if (child == NULL) { + xmlRngPErr(ctxt, content, XML_RNGP_EXCEPT_NO_CONTENT, + "except has no content\n", NULL, NULL); + } + while (child != NULL) { + tmp2 = xmlRelaxNGParsePattern(ctxt, child); + if (tmp2 != NULL) { + if (last == NULL) { + except->content = last = tmp2; + } else { + last->next = tmp2; + last = tmp2; + } + } + child = child->next; + } + content = content->next; + } + /* + * Check there is no unhandled data + */ + if (content != NULL) { + xmlRngPErr(ctxt, content, XML_RNGP_DATA_CONTENT, + "Element data has unexpected content %s\n", + content->name, NULL); + } + + return (def); +} + +static const xmlChar *invalidName = BAD_CAST "\1"; + +/** + * Compare the 2 lists of element definitions. The comparison is + * that if both lists do not accept the same QNames, it returns 1 + * If the 2 lists can accept the same QName the comparison returns 0 + * + * @param def1 the first element/attribute defs + * @param def2 the second element/attribute defs + * @returns 1 distinct, 0 if equal + */ +static int +xmlRelaxNGCompareNameClasses(xmlRelaxNGDefinePtr def1, + xmlRelaxNGDefinePtr def2) +{ + int ret = 1; + xmlNode node; + xmlNs ns; + xmlRelaxNGValidCtxt ctxt; + + memset(&ctxt, 0, sizeof(xmlRelaxNGValidCtxt)); + + ctxt.flags = FLAGS_IGNORABLE | FLAGS_NOERROR; + + if ((def1->type == XML_RELAXNG_ELEMENT) || + (def1->type == XML_RELAXNG_ATTRIBUTE)) { + if (def2->type == XML_RELAXNG_TEXT) + return (1); + if (def1->name != NULL) { + node.name = def1->name; + } else { + node.name = invalidName; + } + if (def1->ns != NULL) { + if (def1->ns[0] == 0) { + node.ns = NULL; + } else { + node.ns = &ns; + ns.href = def1->ns; + } + } else { + node.ns = NULL; + } + if (xmlRelaxNGElementMatch(&ctxt, def2, &node)) { + if (def1->nameClass != NULL) { + ret = xmlRelaxNGCompareNameClasses(def1->nameClass, def2); + } else { + ret = 0; + } + } else { + ret = 1; + } + } else if (def1->type == XML_RELAXNG_TEXT) { + if (def2->type == XML_RELAXNG_TEXT) + return (0); + return (1); + } else if (def1->type == XML_RELAXNG_EXCEPT) { + ret = xmlRelaxNGCompareNameClasses(def1->content, def2); + if (ret == 0) + ret = 1; + else if (ret == 1) + ret = 0; + } else { + /* TODO */ + ret = 0; + } + if (ret == 0) + return (ret); + if ((def2->type == XML_RELAXNG_ELEMENT) || + (def2->type == XML_RELAXNG_ATTRIBUTE)) { + if (def2->name != NULL) { + node.name = def2->name; + } else { + node.name = invalidName; + } + node.ns = &ns; + if (def2->ns != NULL) { + if (def2->ns[0] == 0) { + node.ns = NULL; + } else { + ns.href = def2->ns; + } + } else { + ns.href = invalidName; + } + if (xmlRelaxNGElementMatch(&ctxt, def1, &node)) { + if (def2->nameClass != NULL) { + ret = xmlRelaxNGCompareNameClasses(def2->nameClass, def1); + } else { + ret = 0; + } + } else { + ret = 1; + } + } else { + /* TODO */ + ret = 0; + } + + return (ret); +} + +/** + * Compare the 2 lists of element or attribute definitions. The comparison + * is that if both lists do not accept the same QNames, it returns 1 + * If the 2 lists can accept the same QName the comparison returns 0 + * + * @param ctxt a Relax-NG parser context + * @param def1 the first list of element/attribute defs + * @param def2 the second list of element/attribute defs + * @returns 1 distinct, 0 if equal + */ +static int +xmlRelaxNGCompareElemDefLists(xmlRelaxNGParserCtxtPtr ctxt + ATTRIBUTE_UNUSED, xmlRelaxNGDefinePtr * def1, + xmlRelaxNGDefinePtr * def2) +{ + xmlRelaxNGDefinePtr *basedef2 = def2; + + if ((def1 == NULL) || (def2 == NULL)) + return (1); + if ((*def1 == NULL) || (*def2 == NULL)) + return (1); + while (*def1 != NULL) { + while ((*def2) != NULL) { + if (xmlRelaxNGCompareNameClasses(*def1, *def2) == 0) + return (0); + def2++; + } + def2 = basedef2; + def1++; + } + return (1); +} + +/** + * Check if the definition can only generate attributes + * + * @param ctxt a Relax-NG parser context + * @param def the definition definition + * @returns 1 if yes, 0 if no and -1 in case of error. + */ +static int +xmlRelaxNGGenerateAttributes(xmlRelaxNGParserCtxtPtr ctxt, + xmlRelaxNGDefinePtr def) +{ + xmlRelaxNGDefinePtr parent, cur, tmp; + + /* + * Don't run that check in case of error. Infinite recursion + * becomes possible. + */ + if (ctxt->nbErrors != 0) + return (-1); + + parent = NULL; + cur = def; + while (cur != NULL) { + if ((cur->type == XML_RELAXNG_ELEMENT) || + (cur->type == XML_RELAXNG_TEXT) || + (cur->type == XML_RELAXNG_DATATYPE) || + (cur->type == XML_RELAXNG_PARAM) || + (cur->type == XML_RELAXNG_LIST) || + (cur->type == XML_RELAXNG_VALUE) || + (cur->type == XML_RELAXNG_EMPTY)) + return (0); + if ((cur->type == XML_RELAXNG_CHOICE) || + (cur->type == XML_RELAXNG_INTERLEAVE) || + (cur->type == XML_RELAXNG_GROUP) || + (cur->type == XML_RELAXNG_ONEORMORE) || + (cur->type == XML_RELAXNG_ZEROORMORE) || + (cur->type == XML_RELAXNG_OPTIONAL) || + (cur->type == XML_RELAXNG_PARENTREF) || + (cur->type == XML_RELAXNG_EXTERNALREF) || + (cur->type == XML_RELAXNG_REF) || + (cur->type == XML_RELAXNG_DEF)) { + if (cur->content != NULL) { + parent = cur; + cur = cur->content; + tmp = cur; + while (tmp != NULL) { + tmp->parent = parent; + tmp = tmp->next; + } + continue; + } + } + if (cur == def) + break; + if (cur->next != NULL) { + cur = cur->next; + continue; + } + do { + cur = cur->parent; + if (cur == NULL) + break; + if (cur == def) + return (1); + if (cur->next != NULL) { + cur = cur->next; + break; + } + } while (cur != NULL); + } + return (1); +} + +/** + * Compute the list of top elements a definition can generate + * + * @param ctxt a Relax-NG parser context + * @param def the definition definition + * @param eora gather elements (0), attributes (1) or elements and text (2) + * @returns a list of elements or NULL if none was found. + */ +static xmlRelaxNGDefinePtr * +xmlRelaxNGGetElements(xmlRelaxNGParserCtxtPtr ctxt, + xmlRelaxNGDefinePtr def, int eora) +{ + xmlRelaxNGDefinePtr *ret = NULL, parent, cur, tmp; + int len = 0; + int max = 0; + + /* + * Don't run that check in case of error. Infinite recursion + * becomes possible. + */ + if (ctxt->nbErrors != 0) + return (NULL); + + parent = NULL; + cur = def; + while (cur != NULL) { + if (((eora == 0) && ((cur->type == XML_RELAXNG_ELEMENT) || + (cur->type == XML_RELAXNG_TEXT))) || + ((eora == 1) && (cur->type == XML_RELAXNG_ATTRIBUTE)) || + ((eora == 2) && ((cur->type == XML_RELAXNG_DATATYPE) || + (cur->type == XML_RELAXNG_ELEMENT) || + (cur->type == XML_RELAXNG_LIST) || + (cur->type == XML_RELAXNG_TEXT) || + (cur->type == XML_RELAXNG_VALUE)))) { + if (ret == NULL) { + max = 10; + ret = (xmlRelaxNGDefinePtr *) + xmlMalloc(max * sizeof(xmlRelaxNGDefinePtr)); + if (ret == NULL) { + xmlRngPErrMemory(ctxt); + return (NULL); + } + } else if (max <= len + 1) { + xmlRelaxNGDefinePtr *temp; + + temp = xmlGrowArray(ret, sizeof(xmlRelaxNGDefinePtr), + &max, 10, XML_MAX_ITEMS); + if (temp == NULL) { + xmlRngPErrMemory(ctxt); + xmlFree(ret); + return (NULL); + } + ret = temp; + } + ret[len++] = cur; + ret[len] = NULL; + } else if ((cur->type == XML_RELAXNG_CHOICE) || + (cur->type == XML_RELAXNG_INTERLEAVE) || + (cur->type == XML_RELAXNG_GROUP) || + (cur->type == XML_RELAXNG_ONEORMORE) || + (cur->type == XML_RELAXNG_ZEROORMORE) || + (cur->type == XML_RELAXNG_OPTIONAL) || + (cur->type == XML_RELAXNG_PARENTREF) || + (cur->type == XML_RELAXNG_REF) || + (cur->type == XML_RELAXNG_DEF) || + (cur->type == XML_RELAXNG_EXTERNALREF)) { + /* + * Don't go within elements or attributes or string values. + * Just gather the element top list + */ + if (cur->content != NULL) { + parent = cur; + cur = cur->content; + tmp = cur; + while (tmp != NULL) { + tmp->parent = parent; + tmp = tmp->next; + } + continue; + } + } + if (cur == def) + break; + if (cur->next != NULL) { + cur = cur->next; + continue; + } + do { + cur = cur->parent; + if (cur == NULL) + break; + if (cur == def) + return (ret); + if (cur->next != NULL) { + cur = cur->next; + break; + } + } while (cur != NULL); + } + return (ret); +} + +/** + * Also used to find indeterministic pattern in choice + * + * @param ctxt a Relax-NG parser context + * @param def the choice definition + */ +static void +xmlRelaxNGCheckChoiceDeterminism(xmlRelaxNGParserCtxtPtr ctxt, + xmlRelaxNGDefinePtr def) +{ + xmlRelaxNGDefinePtr **list; + xmlRelaxNGDefinePtr cur; + int nbchild = 0, i, j, ret; + int is_nullable = 0; + int is_indeterminist = 0; + xmlHashTablePtr triage = NULL; + int is_triable = 1; + + if ((def == NULL) || (def->type != XML_RELAXNG_CHOICE)) + return; + + if (def->dflags & IS_PROCESSED) + return; + + /* + * Don't run that check in case of error. Infinite recursion + * becomes possible. + */ + if (ctxt->nbErrors != 0) + return; + + is_nullable = xmlRelaxNGIsNullable(def); + + cur = def->content; + while (cur != NULL) { + nbchild++; + cur = cur->next; + } + + list = (xmlRelaxNGDefinePtr **) xmlMalloc(nbchild * + sizeof(xmlRelaxNGDefinePtr + *)); + if (list == NULL) { + xmlRngPErrMemory(ctxt); + return; + } + i = 0; + /* + * a bit strong but safe + */ + if (is_nullable == 0) { + triage = xmlHashCreate(10); + } else { + is_triable = 0; + } + cur = def->content; + while (cur != NULL) { + list[i] = xmlRelaxNGGetElements(ctxt, cur, 0); + if ((list[i] == NULL) || (list[i][0] == NULL)) { + is_triable = 0; + } else if (is_triable == 1) { + xmlRelaxNGDefinePtr *tmp; + int res; + + tmp = list[i]; + while ((*tmp != NULL) && (is_triable == 1)) { + if ((*tmp)->type == XML_RELAXNG_TEXT) { + res = xmlHashAddEntry2(triage, + BAD_CAST "#text", NULL, + (void *) cur); + if (res != 0) + is_triable = -1; + } else if (((*tmp)->type == XML_RELAXNG_ELEMENT) && + ((*tmp)->name != NULL)) { + if (((*tmp)->ns == NULL) || ((*tmp)->ns[0] == 0)) + res = xmlHashAddEntry2(triage, + (*tmp)->name, NULL, + (void *) cur); + else + res = xmlHashAddEntry2(triage, + (*tmp)->name, (*tmp)->ns, + (void *) cur); + if (res != 0) + is_triable = -1; + } else if ((*tmp)->type == XML_RELAXNG_ELEMENT) { + if (((*tmp)->ns == NULL) || ((*tmp)->ns[0] == 0)) + res = xmlHashAddEntry2(triage, + BAD_CAST "#any", NULL, + (void *) cur); + else + res = xmlHashAddEntry2(triage, + BAD_CAST "#any", (*tmp)->ns, + (void *) cur); + if (res != 0) + is_triable = -1; + } else { + is_triable = -1; + } + tmp++; + } + } + i++; + cur = cur->next; + } + + for (i = 0; i < nbchild; i++) { + if (list[i] == NULL) + continue; + for (j = 0; j < i; j++) { + if (list[j] == NULL) + continue; + ret = xmlRelaxNGCompareElemDefLists(ctxt, list[i], list[j]); + if (ret == 0) { + is_indeterminist = 1; + } + } + } + for (i = 0; i < nbchild; i++) { + if (list[i] != NULL) + xmlFree(list[i]); + } + + xmlFree(list); + if (is_indeterminist) { + def->dflags |= IS_INDETERMINIST; + } + if (is_triable == 1) { + def->dflags |= IS_TRIABLE; + def->data = triage; + } else if (triage != NULL) { + xmlHashFree(triage, NULL); + } + def->dflags |= IS_PROCESSED; +} + +/** + * Detects violations of rule 7.3 + * + * @param ctxt a Relax-NG parser context + * @param def the group definition + */ +static void +xmlRelaxNGCheckGroupAttrs(xmlRelaxNGParserCtxtPtr ctxt, + xmlRelaxNGDefinePtr def) +{ + xmlRelaxNGDefinePtr **list; + xmlRelaxNGDefinePtr cur; + int nbchild = 0, i, j, ret; + + if ((def == NULL) || + ((def->type != XML_RELAXNG_GROUP) && + (def->type != XML_RELAXNG_ELEMENT))) + return; + + if (def->dflags & IS_PROCESSED) + return; + + /* + * Don't run that check in case of error. Infinite recursion + * becomes possible. + */ + if (ctxt->nbErrors != 0) + return; + + cur = def->attrs; + while (cur != NULL) { + nbchild++; + cur = cur->next; + } + cur = def->content; + while (cur != NULL) { + nbchild++; + cur = cur->next; + } + + list = (xmlRelaxNGDefinePtr **) xmlMalloc(nbchild * + sizeof(xmlRelaxNGDefinePtr + *)); + if (list == NULL) { + xmlRngPErrMemory(ctxt); + return; + } + i = 0; + cur = def->attrs; + while (cur != NULL) { + list[i] = xmlRelaxNGGetElements(ctxt, cur, 1); + i++; + cur = cur->next; + } + cur = def->content; + while (cur != NULL) { + list[i] = xmlRelaxNGGetElements(ctxt, cur, 1); + i++; + cur = cur->next; + } + + for (i = 0; i < nbchild; i++) { + if (list[i] == NULL) + continue; + for (j = 0; j < i; j++) { + if (list[j] == NULL) + continue; + ret = xmlRelaxNGCompareElemDefLists(ctxt, list[i], list[j]); + if (ret == 0) { + xmlRngPErr(ctxt, def->node, XML_RNGP_GROUP_ATTR_CONFLICT, + "Attributes conflicts in group\n", NULL, NULL); + } + } + } + for (i = 0; i < nbchild; i++) { + if (list[i] != NULL) + xmlFree(list[i]); + } + + xmlFree(list); + def->dflags |= IS_PROCESSED; +} + +/** + * A lot of work for preprocessing interleave definitions + * is potentially needed to get a decent execution speed at runtime + * - trying to get a total order on the element nodes generated + * by the interleaves, order the list of interleave definitions + * following that order. + * - if `` is used to handle mixed content, it is better to + * flag this in the define and simplify the runtime checking + * algorithm + * + * @param payload the interleave definition + * @param data a Relax-NG parser context + * @param name the definition name + */ +static void +xmlRelaxNGComputeInterleaves(void *payload, void *data, + const xmlChar * name ATTRIBUTE_UNUSED) +{ + xmlRelaxNGDefinePtr def = (xmlRelaxNGDefinePtr) payload; + xmlRelaxNGParserCtxtPtr ctxt = (xmlRelaxNGParserCtxtPtr) data; + xmlRelaxNGDefinePtr cur, *tmp; + + xmlRelaxNGPartitionPtr partitions = NULL; + xmlRelaxNGInterleaveGroupPtr *groups = NULL; + xmlRelaxNGInterleaveGroupPtr group; + int i, j, ret, res; + int nbgroups = 0; + int nbchild = 0; + int is_mixed = 0; + int is_determinist = 1; + + /* + * Don't run that check in case of error. Infinite recursion + * becomes possible. + */ + if (ctxt->nbErrors != 0) + return; + + cur = def->content; + while (cur != NULL) { + nbchild++; + cur = cur->next; + } + + groups = (xmlRelaxNGInterleaveGroupPtr *) + xmlMalloc(nbchild * sizeof(xmlRelaxNGInterleaveGroupPtr)); + if (groups == NULL) + goto error; + cur = def->content; + while (cur != NULL) { + groups[nbgroups] = (xmlRelaxNGInterleaveGroupPtr) + xmlMalloc(sizeof(xmlRelaxNGInterleaveGroup)); + if (groups[nbgroups] == NULL) + goto error; + if (cur->type == XML_RELAXNG_TEXT) + is_mixed++; + groups[nbgroups]->rule = cur; + groups[nbgroups]->defs = xmlRelaxNGGetElements(ctxt, cur, 2); + groups[nbgroups]->attrs = xmlRelaxNGGetElements(ctxt, cur, 1); + nbgroups++; + cur = cur->next; + } + + /* + * Let's check that all rules makes a partitions according to 7.4 + */ + partitions = (xmlRelaxNGPartitionPtr) + xmlMalloc(sizeof(xmlRelaxNGPartition)); + if (partitions == NULL) + goto error; + memset(partitions, 0, sizeof(xmlRelaxNGPartition)); + partitions->nbgroups = nbgroups; + partitions->triage = xmlHashCreate(nbgroups); + for (i = 0; i < nbgroups; i++) { + group = groups[i]; + for (j = i + 1; j < nbgroups; j++) { + if (groups[j] == NULL) + continue; + + ret = xmlRelaxNGCompareElemDefLists(ctxt, group->defs, + groups[j]->defs); + if (ret == 0) { + xmlRngPErr(ctxt, def->node, XML_RNGP_ELEM_TEXT_CONFLICT, + "Element or text conflicts in interleave\n", + NULL, NULL); + } + ret = xmlRelaxNGCompareElemDefLists(ctxt, group->attrs, + groups[j]->attrs); + if (ret == 0) { + xmlRngPErr(ctxt, def->node, XML_RNGP_ATTR_CONFLICT, + "Attributes conflicts in interleave\n", NULL, + NULL); + } + } + tmp = group->defs; + if ((tmp != NULL) && (*tmp != NULL)) { + while (*tmp != NULL) { + if ((*tmp)->type == XML_RELAXNG_TEXT) { + res = xmlHashAddEntry2(partitions->triage, + BAD_CAST "#text", NULL, + XML_INT_TO_PTR(i + 1)); + if (res != 0) + is_determinist = -1; + } else if (((*tmp)->type == XML_RELAXNG_ELEMENT) && + ((*tmp)->name != NULL)) { + if (((*tmp)->ns == NULL) || ((*tmp)->ns[0] == 0)) + res = xmlHashAddEntry2(partitions->triage, + (*tmp)->name, NULL, + XML_INT_TO_PTR(i + 1)); + else + res = xmlHashAddEntry2(partitions->triage, + (*tmp)->name, (*tmp)->ns, + XML_INT_TO_PTR(i + 1)); + if (res != 0) + is_determinist = -1; + } else if ((*tmp)->type == XML_RELAXNG_ELEMENT) { + if (((*tmp)->ns == NULL) || ((*tmp)->ns[0] == 0)) + res = xmlHashAddEntry2(partitions->triage, + BAD_CAST "#any", NULL, + XML_INT_TO_PTR(i + 1)); + else + res = xmlHashAddEntry2(partitions->triage, + BAD_CAST "#any", (*tmp)->ns, + XML_INT_TO_PTR(i + 1)); + if ((*tmp)->nameClass != NULL) + is_determinist = 2; + if (res != 0) + is_determinist = -1; + } else { + is_determinist = -1; + } + tmp++; + } + } else { + is_determinist = 0; + } + } + partitions->groups = groups; + + /* + * and save the partition list back in the def + */ + def->data = partitions; + if (is_mixed != 0) + def->dflags |= IS_MIXED; + if (is_determinist == 1) + partitions->flags = IS_DETERMINIST; + if (is_determinist == 2) + partitions->flags = IS_DETERMINIST | IS_NEEDCHECK; + return; + + error: + xmlRngPErrMemory(ctxt); + if (groups != NULL) { + for (i = 0; i < nbgroups; i++) + if (groups[i] != NULL) { + if (groups[i]->defs != NULL) + xmlFree(groups[i]->defs); + xmlFree(groups[i]); + } + xmlFree(groups); + } + xmlRelaxNGFreePartition(partitions); +} + +/** + * parse the content of a RelaxNG interleave node. + * + * @param ctxt a Relax-NG parser context + * @param node the data node. + * @returns the definition pointer or NULL in case of error + */ +static xmlRelaxNGDefinePtr +xmlRelaxNGParseInterleave(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node) +{ + xmlRelaxNGDefinePtr def = NULL; + xmlRelaxNGDefinePtr last = NULL, cur; + xmlNodePtr child; + + def = xmlRelaxNGNewDefine(ctxt, node); + if (def == NULL) { + return (NULL); + } + def->type = XML_RELAXNG_INTERLEAVE; + + if (ctxt->interleaves == NULL) + ctxt->interleaves = xmlHashCreate(10); + if (ctxt->interleaves == NULL) { + xmlRngPErrMemory(ctxt); + } else { + char name[32]; + + snprintf(name, 32, "interleave%d", ctxt->nbInterleaves++); + if (xmlHashAddEntry(ctxt->interleaves, BAD_CAST name, def) < 0) { + xmlRngPErr(ctxt, node, XML_RNGP_INTERLEAVE_ADD, + "Failed to add %s to hash table\n", + (const xmlChar *) name, NULL); + } + } + child = node->children; + if (child == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_INTERLEAVE_NO_CONTENT, + "Element interleave is empty\n", NULL, NULL); + } + while (child != NULL) { + if (IS_RELAXNG(child, "element")) { + cur = xmlRelaxNGParseElement(ctxt, child); + } else { + cur = xmlRelaxNGParsePattern(ctxt, child); + } + if (cur != NULL) { + cur->parent = def; + if (last == NULL) { + def->content = last = cur; + } else { + last->next = cur; + last = cur; + } + } + child = child->next; + } + + return (def); +} + +/** + * Integrate the content of an include node in the current grammar + * + * @param ctxt a Relax-NG parser context + * @param node the include node + * @returns 0 in case of success or -1 in case of error + */ +static int +xmlRelaxNGParseInclude(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node) +{ + xmlRelaxNGIncludePtr incl; + xmlNodePtr root; + int ret = 0, tmp; + + incl = node->psvi; + if (incl == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_INCLUDE_EMPTY, + "Include node has no data\n", NULL, NULL); + return (-1); + } + root = xmlDocGetRootElement(incl->doc); + if (root == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_EMPTY, "Include document is empty\n", + NULL, NULL); + return (-1); + } + if (!xmlStrEqual(root->name, BAD_CAST "grammar")) { + xmlRngPErr(ctxt, node, XML_RNGP_GRAMMAR_MISSING, + "Include document root is not a grammar\n", NULL, NULL); + return (-1); + } + + /* + * Merge the definition from both the include and the internal list + */ + if (root->children != NULL) { + tmp = xmlRelaxNGParseGrammarContent(ctxt, root->children); + if (tmp != 0) + ret = -1; + } + if (node->children != NULL) { + tmp = xmlRelaxNGParseGrammarContent(ctxt, node->children); + if (tmp != 0) + ret = -1; + } + return (ret); +} + +/** + * parse the content of a RelaxNG define element node. + * + * @param ctxt a Relax-NG parser context + * @param node the define node + * @returns 0 in case of success or -1 in case of error + */ +static int +xmlRelaxNGParseDefine(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node) +{ + xmlChar *name; + int ret = 0, tmp; + xmlRelaxNGDefinePtr def; + const xmlChar *olddefine; + + name = xmlGetProp(node, BAD_CAST "name"); + if (name == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_DEFINE_NAME_MISSING, + "define has no name\n", NULL, NULL); + } else { + xmlRelaxNGNormExtSpace(name); + if (xmlValidateNCName(name, 0)) { + xmlRngPErr(ctxt, node, XML_RNGP_INVALID_DEFINE_NAME, + "define name '%s' is not an NCName\n", name, NULL); + } + def = xmlRelaxNGNewDefine(ctxt, node); + if (def == NULL) { + xmlFree(name); + return (-1); + } + def->type = XML_RELAXNG_DEF; + def->name = name; + if (node->children == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_DEFINE_EMPTY, + "define has no children\n", NULL, NULL); + } else { + olddefine = ctxt->define; + ctxt->define = name; + def->content = + xmlRelaxNGParsePatterns(ctxt, node->children, 0); + ctxt->define = olddefine; + } + if (ctxt->grammar->defs == NULL) + ctxt->grammar->defs = xmlHashCreate(10); + if (ctxt->grammar->defs == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_DEFINE_CREATE_FAILED, + "Could not create definition hash\n", NULL, NULL); + ret = -1; + } else { + tmp = xmlHashAddEntry(ctxt->grammar->defs, name, def); + if (tmp < 0) { + xmlRelaxNGDefinePtr prev; + + prev = xmlHashLookup(ctxt->grammar->defs, name); + if (prev == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_DEFINE_CREATE_FAILED, + "Internal error on define aggregation of %s\n", + name, NULL); + ret = -1; + } else { + while (prev->nextHash != NULL) + prev = prev->nextHash; + prev->nextHash = def; + } + } + } + } + return (ret); +} + +/** + * Import import one references into the current grammar + * + * @param payload the parser context + * @param data the current grammar + * @param name the reference name + */ +static void +xmlRelaxNGParseImportRef(void *payload, void *data, const xmlChar *name) { + xmlRelaxNGParserCtxtPtr ctxt = (xmlRelaxNGParserCtxtPtr) data; + xmlRelaxNGDefinePtr def = (xmlRelaxNGDefinePtr) payload; + int tmp; + + def->dflags |= IS_EXTERNAL_REF; + + tmp = xmlHashAddEntry(ctxt->grammar->refs, name, def); + if (tmp < 0) { + xmlRelaxNGDefinePtr prev; + + prev = (xmlRelaxNGDefinePtr) + xmlHashLookup(ctxt->grammar->refs, def->name); + if (prev == NULL) { + if (def->name != NULL) { + xmlRngPErr(ctxt, NULL, XML_RNGP_REF_CREATE_FAILED, + "Error refs definitions '%s'\n", + def->name, NULL); + } else { + xmlRngPErr(ctxt, NULL, XML_RNGP_REF_CREATE_FAILED, + "Error refs definitions\n", + NULL, NULL); + } + } else { + def->nextHash = prev->nextHash; + prev->nextHash = def; + } + } +} + +/** + * Import references from the subgrammar into the current grammar + * + * @param ctxt the parser context + * @param grammar the sub grammar + * @returns 0 in case of success, -1 in case of failure + */ +static int +xmlRelaxNGParseImportRefs(xmlRelaxNGParserCtxtPtr ctxt, + xmlRelaxNGGrammarPtr grammar) { + if ((ctxt == NULL) || (grammar == NULL) || (ctxt->grammar == NULL)) + return(-1); + if (grammar->refs == NULL) + return(0); + if (ctxt->grammar->refs == NULL) + ctxt->grammar->refs = xmlHashCreate(10); + if (ctxt->grammar->refs == NULL) { + xmlRngPErr(ctxt, NULL, XML_RNGP_REF_CREATE_FAILED, + "Could not create references hash\n", NULL, NULL); + return(-1); + } + xmlHashScan(grammar->refs, xmlRelaxNGParseImportRef, ctxt); + return(0); +} + +/** + * Process and compile an externalRef node + * + * @param ctxt the parser context + * @param node the externalRef node + * @returns the xmlRelaxNGDefine or NULL in case of error + */ +static xmlRelaxNGDefinePtr +xmlRelaxNGProcessExternalRef(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node) +{ + xmlRelaxNGDocumentPtr docu; + xmlNodePtr root, tmp; + xmlChar *ns; + int newNs = 0, oldflags; + xmlRelaxNGDefinePtr def; + + docu = node->psvi; + if (docu != NULL) { + def = xmlRelaxNGNewDefine(ctxt, node); + if (def == NULL) + return (NULL); + def->type = XML_RELAXNG_EXTERNALREF; + + if (docu->content == NULL) { + /* + * Then do the parsing for good + */ + root = xmlDocGetRootElement(docu->doc); + if (root == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_EXTERNALREF_EMTPY, + "xmlRelaxNGParse: %s is empty\n", ctxt->URL, + NULL); + return (NULL); + } + /* + * ns transmission rules + */ + ns = xmlGetProp(root, BAD_CAST "ns"); + if (ns == NULL) { + tmp = node; + while ((tmp != NULL) && (tmp->type == XML_ELEMENT_NODE)) { + ns = xmlGetProp(tmp, BAD_CAST "ns"); + if (ns != NULL) { + break; + } + tmp = tmp->parent; + } + if (ns != NULL) { + xmlSetProp(root, BAD_CAST "ns", ns); + newNs = 1; + xmlFree(ns); + } + } else { + xmlFree(ns); + } + + /* + * Parsing to get a precompiled schemas. + */ + oldflags = ctxt->flags; + ctxt->flags |= XML_RELAXNG_IN_EXTERNALREF; + docu->schema = xmlRelaxNGParseDocument(ctxt, root); + ctxt->flags = oldflags; + if ((docu->schema != NULL) && + (docu->schema->topgrammar != NULL)) { + docu->content = docu->schema->topgrammar->start; + if (docu->schema->topgrammar->refs) + xmlRelaxNGParseImportRefs(ctxt, docu->schema->topgrammar); + } + + /* + * the externalRef may be reused in a different ns context + */ + if (newNs == 1) { + xmlUnsetProp(root, BAD_CAST "ns"); + } + } + def->content = docu->content; + } else { + def = NULL; + } + return (def); +} + +/** + * parse the content of a RelaxNG pattern node. + * + * @param ctxt a Relax-NG parser context + * @param node the pattern node. + * @returns the definition pointer or NULL in case of error or if no + * pattern is generated. + */ +static xmlRelaxNGDefinePtr +xmlRelaxNGParsePattern(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node) +{ + xmlRelaxNGDefinePtr def = NULL; + + if (node == NULL) { + return (NULL); + } + if (IS_RELAXNG(node, "element")) { + def = xmlRelaxNGParseElement(ctxt, node); + } else if (IS_RELAXNG(node, "attribute")) { + def = xmlRelaxNGParseAttribute(ctxt, node); + } else if (IS_RELAXNG(node, "empty")) { + def = xmlRelaxNGNewDefine(ctxt, node); + if (def == NULL) + return (NULL); + def->type = XML_RELAXNG_EMPTY; + if (node->children != NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_EMPTY_NOT_EMPTY, + "empty: had a child node\n", NULL, NULL); + } + } else if (IS_RELAXNG(node, "text")) { + def = xmlRelaxNGNewDefine(ctxt, node); + if (def == NULL) + return (NULL); + def->type = XML_RELAXNG_TEXT; + if (node->children != NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_TEXT_HAS_CHILD, + "text: had a child node\n", NULL, NULL); + } + } else if (IS_RELAXNG(node, "zeroOrMore")) { + def = xmlRelaxNGNewDefine(ctxt, node); + if (def == NULL) + return (NULL); + def->type = XML_RELAXNG_ZEROORMORE; + if (node->children == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_EMPTY_CONSTRUCT, + "Element %s is empty\n", node->name, NULL); + } else { + def->content = + xmlRelaxNGParsePatterns(ctxt, node->children, 1); + } + } else if (IS_RELAXNG(node, "oneOrMore")) { + def = xmlRelaxNGNewDefine(ctxt, node); + if (def == NULL) + return (NULL); + def->type = XML_RELAXNG_ONEORMORE; + if (node->children == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_EMPTY_CONSTRUCT, + "Element %s is empty\n", node->name, NULL); + } else { + def->content = + xmlRelaxNGParsePatterns(ctxt, node->children, 1); + } + } else if (IS_RELAXNG(node, "optional")) { + def = xmlRelaxNGNewDefine(ctxt, node); + if (def == NULL) + return (NULL); + def->type = XML_RELAXNG_OPTIONAL; + if (node->children == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_EMPTY_CONSTRUCT, + "Element %s is empty\n", node->name, NULL); + } else { + def->content = + xmlRelaxNGParsePatterns(ctxt, node->children, 1); + } + } else if (IS_RELAXNG(node, "choice")) { + def = xmlRelaxNGNewDefine(ctxt, node); + if (def == NULL) + return (NULL); + def->type = XML_RELAXNG_CHOICE; + if (node->children == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_EMPTY_CONSTRUCT, + "Element %s is empty\n", node->name, NULL); + } else { + ctxt->def = def; + def->content = + xmlRelaxNGParsePatterns(ctxt, node->children, 0); + } + } else if (IS_RELAXNG(node, "group")) { + def = xmlRelaxNGNewDefine(ctxt, node); + if (def == NULL) + return (NULL); + def->type = XML_RELAXNG_GROUP; + if (node->children == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_EMPTY_CONSTRUCT, + "Element %s is empty\n", node->name, NULL); + } else { + def->content = + xmlRelaxNGParsePatterns(ctxt, node->children, 0); + } + } else if (IS_RELAXNG(node, "ref")) { + def = xmlRelaxNGNewDefine(ctxt, node); + if (def == NULL) + return (NULL); + def->type = XML_RELAXNG_REF; + def->name = xmlGetProp(node, BAD_CAST "name"); + if (def->name == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_REF_NO_NAME, "ref has no name\n", + NULL, NULL); + } else { + xmlRelaxNGNormExtSpace(def->name); + if (xmlValidateNCName(def->name, 0)) { + xmlRngPErr(ctxt, node, XML_RNGP_REF_NAME_INVALID, + "ref name '%s' is not an NCName\n", def->name, + NULL); + } + } + if (node->children != NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_REF_NOT_EMPTY, "ref is not empty\n", + NULL, NULL); + } + if (ctxt->grammar->refs == NULL) + ctxt->grammar->refs = xmlHashCreate(10); + if (ctxt->grammar->refs == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_REF_CREATE_FAILED, + "Could not create references hash\n", NULL, NULL); + def = NULL; + } else { + int tmp; + + tmp = xmlHashAddEntry(ctxt->grammar->refs, def->name, def); + if (tmp < 0) { + xmlRelaxNGDefinePtr prev; + + prev = (xmlRelaxNGDefinePtr) + xmlHashLookup(ctxt->grammar->refs, def->name); + if (prev == NULL) { + if (def->name != NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_REF_CREATE_FAILED, + "Error refs definitions '%s'\n", + def->name, NULL); + } else { + xmlRngPErr(ctxt, node, XML_RNGP_REF_CREATE_FAILED, + "Error refs definitions\n", + NULL, NULL); + } + def = NULL; + } else { + def->nextHash = prev->nextHash; + prev->nextHash = def; + } + } + } + } else if (IS_RELAXNG(node, "data")) { + def = xmlRelaxNGParseData(ctxt, node); + } else if (IS_RELAXNG(node, "value")) { + def = xmlRelaxNGParseValue(ctxt, node); + } else if (IS_RELAXNG(node, "list")) { + def = xmlRelaxNGNewDefine(ctxt, node); + if (def == NULL) + return (NULL); + def->type = XML_RELAXNG_LIST; + if (node->children == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_EMPTY_CONSTRUCT, + "Element %s is empty\n", node->name, NULL); + } else { + def->content = + xmlRelaxNGParsePatterns(ctxt, node->children, 0); + } + } else if (IS_RELAXNG(node, "interleave")) { + def = xmlRelaxNGParseInterleave(ctxt, node); + } else if (IS_RELAXNG(node, "externalRef")) { + def = xmlRelaxNGProcessExternalRef(ctxt, node); + } else if (IS_RELAXNG(node, "notAllowed")) { + def = xmlRelaxNGNewDefine(ctxt, node); + if (def == NULL) + return (NULL); + def->type = XML_RELAXNG_NOT_ALLOWED; + if (node->children != NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_NOTALLOWED_NOT_EMPTY, + "xmlRelaxNGParse: notAllowed element is not empty\n", + NULL, NULL); + } + } else if (IS_RELAXNG(node, "grammar")) { + xmlRelaxNGGrammarPtr grammar, old; + xmlRelaxNGGrammarPtr oldparent; + + oldparent = ctxt->parentgrammar; + old = ctxt->grammar; + ctxt->parentgrammar = old; + grammar = xmlRelaxNGParseGrammar(ctxt, node->children); + if (old != NULL) { + ctxt->grammar = old; + ctxt->parentgrammar = oldparent; +#if 0 + if (grammar != NULL) { + grammar->next = old->next; + old->next = grammar; + } +#endif + } + if (grammar != NULL) + def = grammar->start; + else + def = NULL; + } else if (IS_RELAXNG(node, "parentRef")) { + if (ctxt->parentgrammar == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_PARENTREF_NO_PARENT, + "Use of parentRef without a parent grammar\n", NULL, + NULL); + return (NULL); + } + def = xmlRelaxNGNewDefine(ctxt, node); + if (def == NULL) + return (NULL); + def->type = XML_RELAXNG_PARENTREF; + def->name = xmlGetProp(node, BAD_CAST "name"); + if (def->name == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_PARENTREF_NO_NAME, + "parentRef has no name\n", NULL, NULL); + } else { + xmlRelaxNGNormExtSpace(def->name); + if (xmlValidateNCName(def->name, 0)) { + xmlRngPErr(ctxt, node, XML_RNGP_PARENTREF_NAME_INVALID, + "parentRef name '%s' is not an NCName\n", + def->name, NULL); + } + } + if (node->children != NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_PARENTREF_NOT_EMPTY, + "parentRef is not empty\n", NULL, NULL); + } + if (ctxt->parentgrammar->refs == NULL) + ctxt->parentgrammar->refs = xmlHashCreate(10); + if (ctxt->parentgrammar->refs == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_PARENTREF_CREATE_FAILED, + "Could not create references hash\n", NULL, NULL); + def = NULL; + } else if (def->name != NULL) { + int tmp; + + tmp = + xmlHashAddEntry(ctxt->parentgrammar->refs, def->name, def); + if (tmp < 0) { + xmlRelaxNGDefinePtr prev; + + prev = (xmlRelaxNGDefinePtr) + xmlHashLookup(ctxt->parentgrammar->refs, def->name); + if (prev == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_PARENTREF_CREATE_FAILED, + "Internal error parentRef definitions '%s'\n", + def->name, NULL); + def = NULL; + } else { + def->nextHash = prev->nextHash; + prev->nextHash = def; + } + } + } + } else if (IS_RELAXNG(node, "mixed")) { + if (node->children == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_EMPTY_CONSTRUCT, "Mixed is empty\n", + NULL, NULL); + def = NULL; + } else { + def = xmlRelaxNGParseInterleave(ctxt, node); + if (def != NULL) { + xmlRelaxNGDefinePtr tmp; + + if ((def->content != NULL) && (def->content->next != NULL)) { + tmp = xmlRelaxNGNewDefine(ctxt, node); + if (tmp != NULL) { + tmp->type = XML_RELAXNG_GROUP; + tmp->content = def->content; + def->content = tmp; + } + } + + tmp = xmlRelaxNGNewDefine(ctxt, node); + if (tmp == NULL) + return (def); + tmp->type = XML_RELAXNG_TEXT; + tmp->next = def->content; + def->content = tmp; + } + } + } else { + xmlRngPErr(ctxt, node, XML_RNGP_UNKNOWN_CONSTRUCT, + "Unexpected node %s is not a pattern\n", node->name, + NULL); + def = NULL; + } + return (def); +} + +/** + * parse the content of a RelaxNG attribute node. + * + * @param ctxt a Relax-NG parser context + * @param node the element node + * @returns the definition pointer or NULL in case of error. + */ +static xmlRelaxNGDefinePtr +xmlRelaxNGParseAttribute(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node) +{ + xmlRelaxNGDefinePtr ret, cur; + xmlNodePtr child; + int old_flags; + + ret = xmlRelaxNGNewDefine(ctxt, node); + if (ret == NULL) + return (NULL); + ret->type = XML_RELAXNG_ATTRIBUTE; + ret->parent = ctxt->def; + child = node->children; + if (child == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_ATTRIBUTE_EMPTY, + "xmlRelaxNGParseattribute: attribute has no children\n", + NULL, NULL); + return (ret); + } + old_flags = ctxt->flags; + ctxt->flags |= XML_RELAXNG_IN_ATTRIBUTE; + cur = xmlRelaxNGParseNameClass(ctxt, child, ret); + if (cur != NULL) + child = child->next; + + if (child != NULL) { + cur = xmlRelaxNGParsePattern(ctxt, child); + if (cur != NULL) { + switch (cur->type) { + case XML_RELAXNG_EMPTY: + case XML_RELAXNG_NOT_ALLOWED: + case XML_RELAXNG_TEXT: + case XML_RELAXNG_ELEMENT: + case XML_RELAXNG_DATATYPE: + case XML_RELAXNG_VALUE: + case XML_RELAXNG_LIST: + case XML_RELAXNG_REF: + case XML_RELAXNG_PARENTREF: + case XML_RELAXNG_EXTERNALREF: + case XML_RELAXNG_DEF: + case XML_RELAXNG_ONEORMORE: + case XML_RELAXNG_ZEROORMORE: + case XML_RELAXNG_OPTIONAL: + case XML_RELAXNG_CHOICE: + case XML_RELAXNG_GROUP: + case XML_RELAXNG_INTERLEAVE: + case XML_RELAXNG_ATTRIBUTE: + ret->content = cur; + cur->parent = ret; + break; + case XML_RELAXNG_START: + case XML_RELAXNG_PARAM: + case XML_RELAXNG_EXCEPT: + xmlRngPErr(ctxt, node, XML_RNGP_ATTRIBUTE_CONTENT, + "attribute has invalid content\n", NULL, + NULL); + break; + case XML_RELAXNG_NOOP: + xmlRngPErr(ctxt, node, XML_RNGP_ATTRIBUTE_NOOP, + "RNG Internal error, noop found in attribute\n", + NULL, NULL); + break; + } + } + child = child->next; + } + if (child != NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_ATTRIBUTE_CHILDREN, + "attribute has multiple children\n", NULL, NULL); + } + ctxt->flags = old_flags; + return (ret); +} + +/** + * parse the content of a RelaxNG nameClass node. + * + * @param ctxt a Relax-NG parser context + * @param node the except node + * @param attr 1 if within an attribute, 0 if within an element + * @returns the definition pointer or NULL in case of error. + */ +static xmlRelaxNGDefinePtr +xmlRelaxNGParseExceptNameClass(xmlRelaxNGParserCtxtPtr ctxt, + xmlNodePtr node, int attr) +{ + xmlRelaxNGDefinePtr ret, cur, last = NULL; + xmlNodePtr child; + + if (!IS_RELAXNG(node, "except")) { + xmlRngPErr(ctxt, node, XML_RNGP_EXCEPT_MISSING, + "Expecting an except node\n", NULL, NULL); + return (NULL); + } + if (node->next != NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_EXCEPT_MULTIPLE, + "exceptNameClass allows only a single except node\n", + NULL, NULL); + } + if (node->children == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_EXCEPT_EMPTY, "except has no content\n", + NULL, NULL); + return (NULL); + } + + ret = xmlRelaxNGNewDefine(ctxt, node); + if (ret == NULL) + return (NULL); + ret->type = XML_RELAXNG_EXCEPT; + child = node->children; + while (child != NULL) { + cur = xmlRelaxNGNewDefine(ctxt, child); + if (cur == NULL) + break; + if (attr) + cur->type = XML_RELAXNG_ATTRIBUTE; + else + cur->type = XML_RELAXNG_ELEMENT; + + if (xmlRelaxNGParseNameClass(ctxt, child, cur) != NULL) { + if (last == NULL) { + ret->content = cur; + } else { + last->next = cur; + } + last = cur; + } + child = child->next; + } + + return (ret); +} + +/** + * parse the content of a RelaxNG nameClass node. + * + * @param ctxt a Relax-NG parser context + * @param node the nameClass node + * @param def the current definition + * @returns the definition pointer or NULL in case of error. + */ +static xmlRelaxNGDefinePtr +xmlRelaxNGParseNameClass(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node, + xmlRelaxNGDefinePtr def) +{ + xmlRelaxNGDefinePtr ret, tmp; + xmlChar *val; + + ret = def; + if ((IS_RELAXNG(node, "name")) || (IS_RELAXNG(node, "anyName")) || + (IS_RELAXNG(node, "nsName"))) { + if ((def->type != XML_RELAXNG_ELEMENT) && + (def->type != XML_RELAXNG_ATTRIBUTE)) { + ret = xmlRelaxNGNewDefine(ctxt, node); + if (ret == NULL) + return (NULL); + ret->parent = def; + if (ctxt->flags & XML_RELAXNG_IN_ATTRIBUTE) + ret->type = XML_RELAXNG_ATTRIBUTE; + else + ret->type = XML_RELAXNG_ELEMENT; + } + } + if (IS_RELAXNG(node, "name")) { + val = xmlNodeGetContent(node); + xmlRelaxNGNormExtSpace(val); + if (xmlValidateNCName(val, 0)) { + if (node->parent != NULL) + xmlRngPErr(ctxt, node, XML_RNGP_ELEMENT_NAME, + "Element %s name '%s' is not an NCName\n", + node->parent->name, val); + else + xmlRngPErr(ctxt, node, XML_RNGP_ELEMENT_NAME, + "name '%s' is not an NCName\n", + val, NULL); + } + ret->name = val; + val = xmlGetProp(node, BAD_CAST "ns"); + ret->ns = val; + if ((ctxt->flags & XML_RELAXNG_IN_ATTRIBUTE) && + (val != NULL) && + (xmlStrEqual(val, BAD_CAST "http://www.w3.org/2000/xmlns"))) { + xmlRngPErr(ctxt, node, XML_RNGP_XML_NS, + "Attribute with namespace '%s' is not allowed\n", + val, NULL); + } + if ((ctxt->flags & XML_RELAXNG_IN_ATTRIBUTE) && + (val != NULL) && + (val[0] == 0) && (xmlStrEqual(ret->name, BAD_CAST "xmlns"))) { + xmlRngPErr(ctxt, node, XML_RNGP_XMLNS_NAME, + "Attribute with QName 'xmlns' is not allowed\n", + val, NULL); + } + } else if (IS_RELAXNG(node, "anyName")) { + ret->name = NULL; + ret->ns = NULL; + if (node->children != NULL) { + ret->nameClass = + xmlRelaxNGParseExceptNameClass(ctxt, node->children, + (def->type == + XML_RELAXNG_ATTRIBUTE)); + } + } else if (IS_RELAXNG(node, "nsName")) { + ret->name = NULL; + ret->ns = xmlGetProp(node, BAD_CAST "ns"); + if (ret->ns == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_NSNAME_NO_NS, + "nsName has no ns attribute\n", NULL, NULL); + } + if ((ctxt->flags & XML_RELAXNG_IN_ATTRIBUTE) && + (ret->ns != NULL) && + (xmlStrEqual + (ret->ns, BAD_CAST "http://www.w3.org/2000/xmlns"))) { + xmlRngPErr(ctxt, node, XML_RNGP_XML_NS, + "Attribute with namespace '%s' is not allowed\n", + ret->ns, NULL); + } + if (node->children != NULL) { + ret->nameClass = + xmlRelaxNGParseExceptNameClass(ctxt, node->children, + (def->type == + XML_RELAXNG_ATTRIBUTE)); + } + } else if (IS_RELAXNG(node, "choice")) { + xmlNodePtr child; + xmlRelaxNGDefinePtr last = NULL; + + if (def->type == XML_RELAXNG_CHOICE) { + ret = def; + } else { + ret = xmlRelaxNGNewDefine(ctxt, node); + if (ret == NULL) + return (NULL); + ret->parent = def; + ret->type = XML_RELAXNG_CHOICE; + } + + if (node->children == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_CHOICE_EMPTY, + "Element choice is empty\n", NULL, NULL); + } else { + + child = node->children; + while (child != NULL) { + tmp = xmlRelaxNGParseNameClass(ctxt, child, ret); + if (tmp != NULL) { + if (last == NULL) { + last = tmp; + } else if (tmp != ret) { + last->next = tmp; + last = tmp; + } + } + child = child->next; + } + } + } else { + xmlRngPErr(ctxt, node, XML_RNGP_CHOICE_CONTENT, + "expecting name, anyName, nsName or choice : got %s\n", + (node == NULL ? (const xmlChar *) "nothing" : node->name), + NULL); + return (NULL); + } + if (ret != def) { + if (def->nameClass == NULL) { + def->nameClass = ret; + } else { + tmp = def->nameClass; + while (tmp->next != NULL) { + tmp = tmp->next; + } + tmp->next = ret; + } + } + return (ret); +} + +/** + * parse the content of a RelaxNG element node. + * + * @param ctxt a Relax-NG parser context + * @param node the element node + * @returns the definition pointer or NULL in case of error. + */ +static xmlRelaxNGDefinePtr +xmlRelaxNGParseElement(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node) +{ + xmlRelaxNGDefinePtr ret, cur, last; + xmlNodePtr child; + const xmlChar *olddefine; + + ret = xmlRelaxNGNewDefine(ctxt, node); + if (ret == NULL) + return (NULL); + ret->type = XML_RELAXNG_ELEMENT; + ret->parent = ctxt->def; + child = node->children; + if (child == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_ELEMENT_EMPTY, + "xmlRelaxNGParseElement: element has no children\n", + NULL, NULL); + return (ret); + } + cur = xmlRelaxNGParseNameClass(ctxt, child, ret); + if (cur != NULL) + child = child->next; + + if (child == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_ELEMENT_NO_CONTENT, + "xmlRelaxNGParseElement: element has no content\n", + NULL, NULL); + return (ret); + } + olddefine = ctxt->define; + ctxt->define = NULL; + last = NULL; + while (child != NULL) { + cur = xmlRelaxNGParsePattern(ctxt, child); + if (cur != NULL) { + cur->parent = ret; + switch (cur->type) { + case XML_RELAXNG_EMPTY: + case XML_RELAXNG_NOT_ALLOWED: + case XML_RELAXNG_TEXT: + case XML_RELAXNG_ELEMENT: + case XML_RELAXNG_DATATYPE: + case XML_RELAXNG_VALUE: + case XML_RELAXNG_LIST: + case XML_RELAXNG_REF: + case XML_RELAXNG_PARENTREF: + case XML_RELAXNG_EXTERNALREF: + case XML_RELAXNG_DEF: + case XML_RELAXNG_ZEROORMORE: + case XML_RELAXNG_ONEORMORE: + case XML_RELAXNG_OPTIONAL: + case XML_RELAXNG_CHOICE: + case XML_RELAXNG_GROUP: + case XML_RELAXNG_INTERLEAVE: + if (last == NULL) { + ret->content = last = cur; + } else { + if ((last->type == XML_RELAXNG_ELEMENT) && + (ret->content == last)) { + ret->content = xmlRelaxNGNewDefine(ctxt, node); + if (ret->content != NULL) { + ret->content->type = XML_RELAXNG_GROUP; + ret->content->content = last; + } else { + ret->content = last; + } + } + last->next = cur; + last = cur; + } + break; + case XML_RELAXNG_ATTRIBUTE: + cur->next = ret->attrs; + ret->attrs = cur; + break; + case XML_RELAXNG_START: + xmlRngPErr(ctxt, node, XML_RNGP_ELEMENT_CONTENT, + "RNG Internal error, start found in element\n", + NULL, NULL); + break; + case XML_RELAXNG_PARAM: + xmlRngPErr(ctxt, node, XML_RNGP_ELEMENT_CONTENT, + "RNG Internal error, param found in element\n", + NULL, NULL); + break; + case XML_RELAXNG_EXCEPT: + xmlRngPErr(ctxt, node, XML_RNGP_ELEMENT_CONTENT, + "RNG Internal error, except found in element\n", + NULL, NULL); + break; + case XML_RELAXNG_NOOP: + xmlRngPErr(ctxt, node, XML_RNGP_ELEMENT_CONTENT, + "RNG Internal error, noop found in element\n", + NULL, NULL); + break; + } + } + child = child->next; + } + ctxt->define = olddefine; + return (ret); +} + +/** + * parse the content of a RelaxNG start node. + * + * @param ctxt a Relax-NG parser context + * @param nodes list of nodes + * @param group use an implicit `` for elements + * @returns the definition pointer or NULL in case of error. + */ +static xmlRelaxNGDefinePtr +xmlRelaxNGParsePatterns(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr nodes, + int group) +{ + xmlRelaxNGDefinePtr def = NULL, last = NULL, cur, parent; + + parent = ctxt->def; + while (nodes != NULL) { + if (IS_RELAXNG(nodes, "element")) { + cur = xmlRelaxNGParseElement(ctxt, nodes); + if (cur == NULL) + return (NULL); + if (def == NULL) { + def = last = cur; + } else { + if ((group == 1) && (def->type == XML_RELAXNG_ELEMENT) && + (def == last)) { + def = xmlRelaxNGNewDefine(ctxt, nodes); + if (def == NULL) + return (NULL); + def->type = XML_RELAXNG_GROUP; + def->content = last; + } + last->next = cur; + last = cur; + } + cur->parent = parent; + } else { + cur = xmlRelaxNGParsePattern(ctxt, nodes); + if (cur != NULL) { + if (def == NULL) { + def = last = cur; + } else { + last->next = cur; + last = cur; + } + cur->parent = parent; + } + } + nodes = nodes->next; + } + return (def); +} + +/** + * parse the content of a RelaxNG start node. + * + * @param ctxt a Relax-NG parser context + * @param nodes start children nodes + * @returns 0 in case of success, -1 in case of error + */ +static int +xmlRelaxNGParseStart(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr nodes) +{ + int ret = 0; + xmlRelaxNGDefinePtr def = NULL, last; + + if (nodes == NULL) { + xmlRngPErr(ctxt, nodes, XML_RNGP_START_EMPTY, "start has no children\n", + NULL, NULL); + return (-1); + } + if (IS_RELAXNG(nodes, "empty")) { + def = xmlRelaxNGNewDefine(ctxt, nodes); + if (def == NULL) + return (-1); + def->type = XML_RELAXNG_EMPTY; + if (nodes->children != NULL) { + xmlRngPErr(ctxt, nodes, XML_RNGP_EMPTY_CONTENT, + "element empty is not empty\n", NULL, NULL); + } + } else if (IS_RELAXNG(nodes, "notAllowed")) { + def = xmlRelaxNGNewDefine(ctxt, nodes); + if (def == NULL) + return (-1); + def->type = XML_RELAXNG_NOT_ALLOWED; + if (nodes->children != NULL) { + xmlRngPErr(ctxt, nodes, XML_RNGP_NOTALLOWED_NOT_EMPTY, + "element notAllowed is not empty\n", NULL, NULL); + } + } else { + def = xmlRelaxNGParsePatterns(ctxt, nodes, 1); + } + if (ctxt->grammar->start != NULL) { + last = ctxt->grammar->start; + while (last->next != NULL) + last = last->next; + last->next = def; + } else { + ctxt->grammar->start = def; + } + nodes = nodes->next; + if (nodes != NULL) { + xmlRngPErr(ctxt, nodes, XML_RNGP_START_CONTENT, + "start more than one children\n", NULL, NULL); + return (-1); + } + return (ret); +} + +/** + * parse the content of a RelaxNG grammar node. + * + * @param ctxt a Relax-NG parser context + * @param nodes grammar children nodes + * @returns 0 in case of success, -1 in case of error + */ +static int +xmlRelaxNGParseGrammarContent(xmlRelaxNGParserCtxtPtr ctxt, + xmlNodePtr nodes) +{ + int ret = 0, tmp; + + if (nodes == NULL) { + xmlRngPErr(ctxt, nodes, XML_RNGP_GRAMMAR_EMPTY, + "grammar has no children\n", NULL, NULL); + return (-1); + } + while (nodes != NULL) { + if (IS_RELAXNG(nodes, "start")) { + if (nodes->children == NULL) { + xmlRngPErr(ctxt, nodes, XML_RNGP_START_EMPTY, + "start has no children\n", NULL, NULL); + } else { + tmp = xmlRelaxNGParseStart(ctxt, nodes->children); + if (tmp != 0) + ret = -1; + } + } else if (IS_RELAXNG(nodes, "define")) { + tmp = xmlRelaxNGParseDefine(ctxt, nodes); + if (tmp != 0) + ret = -1; + } else if (IS_RELAXNG(nodes, "include")) { + tmp = xmlRelaxNGParseInclude(ctxt, nodes); + if (tmp != 0) + ret = -1; + } else { + xmlRngPErr(ctxt, nodes, XML_RNGP_GRAMMAR_CONTENT, + "grammar has unexpected child %s\n", nodes->name, + NULL); + ret = -1; + } + nodes = nodes->next; + } + return (ret); +} + +/** + * Applies the 4.17. combine attribute rule for all the define + * element of a given grammar using the same name. + * + * @param payload the ref + * @param data a Relax-NG parser context + * @param name the name associated to the defines + */ +static void +xmlRelaxNGCheckReference(void *payload, void *data, const xmlChar * name) +{ + xmlRelaxNGDefinePtr ref = (xmlRelaxNGDefinePtr) payload; + xmlRelaxNGParserCtxtPtr ctxt = (xmlRelaxNGParserCtxtPtr) data; + xmlRelaxNGGrammarPtr grammar; + xmlRelaxNGDefinePtr def, cur; + + /* + * Those rules don't apply to imported ref from xmlRelaxNGParseImportRef + */ + if (ref->dflags & IS_EXTERNAL_REF) + return; + + grammar = ctxt->grammar; + if (grammar == NULL) { + xmlRngPErr(ctxt, ref->node, XML_ERR_INTERNAL_ERROR, + "Internal error: no grammar in CheckReference %s\n", + name, NULL); + return; + } + if (ref->content != NULL) { + xmlRngPErr(ctxt, ref->node, XML_ERR_INTERNAL_ERROR, + "Internal error: reference has content in CheckReference %s\n", + name, NULL); + return; + } + if (grammar->defs != NULL) { + def = xmlHashLookup(grammar->defs, name); + if (def != NULL) { + cur = ref; + while (cur != NULL) { + cur->content = def; + cur = cur->nextHash; + } + } else { + xmlRngPErr(ctxt, ref->node, XML_RNGP_REF_NO_DEF, + "Reference %s has no matching definition\n", name, + NULL); + } + } else { + xmlRngPErr(ctxt, ref->node, XML_RNGP_REF_NO_DEF, + "Reference %s has no matching definition\n", name, + NULL); + } +} + +/** + * Applies the 4.17. combine attribute rule for all the define + * element of a given grammar using the same name. + * + * @param payload the define(s) list + * @param data a Relax-NG parser context + * @param name the name associated to the defines + */ +static void +xmlRelaxNGCheckCombine(void *payload, void *data, const xmlChar * name) +{ + xmlRelaxNGDefinePtr define = (xmlRelaxNGDefinePtr) payload; + xmlRelaxNGParserCtxtPtr ctxt = (xmlRelaxNGParserCtxtPtr) data; + xmlChar *combine; + int choiceOrInterleave = -1; + int missing = 0; + xmlRelaxNGDefinePtr cur, last, tmp, tmp2; + + if (define->nextHash == NULL) + return; + cur = define; + while (cur != NULL) { + combine = xmlGetProp(cur->node, BAD_CAST "combine"); + if (combine != NULL) { + if (xmlStrEqual(combine, BAD_CAST "choice")) { + if (choiceOrInterleave == -1) + choiceOrInterleave = 1; + else if (choiceOrInterleave == 0) { + xmlRngPErr(ctxt, define->node, XML_RNGP_DEF_CHOICE_AND_INTERLEAVE, + "Defines for %s use both 'choice' and 'interleave'\n", + name, NULL); + } + } else if (xmlStrEqual(combine, BAD_CAST "interleave")) { + if (choiceOrInterleave == -1) + choiceOrInterleave = 0; + else if (choiceOrInterleave == 1) { + xmlRngPErr(ctxt, define->node, XML_RNGP_DEF_CHOICE_AND_INTERLEAVE, + "Defines for %s use both 'choice' and 'interleave'\n", + name, NULL); + } + } else { + xmlRngPErr(ctxt, define->node, XML_RNGP_UNKNOWN_COMBINE, + "Defines for %s use unknown combine value '%s''\n", + name, combine); + } + xmlFree(combine); + } else { + if (missing == 0) + missing = 1; + else { + xmlRngPErr(ctxt, define->node, XML_RNGP_NEED_COMBINE, + "Some defines for %s needs the combine attribute\n", + name, NULL); + } + } + + cur = cur->nextHash; + } + if (choiceOrInterleave == -1) + choiceOrInterleave = 0; + cur = xmlRelaxNGNewDefine(ctxt, define->node); + if (cur == NULL) + return; + if (choiceOrInterleave == 0) + cur->type = XML_RELAXNG_INTERLEAVE; + else + cur->type = XML_RELAXNG_CHOICE; + tmp = define; + last = NULL; + while (tmp != NULL) { + if (tmp->content != NULL) { + if (tmp->content->next != NULL) { + /* + * we need first to create a wrapper. + */ + tmp2 = xmlRelaxNGNewDefine(ctxt, tmp->content->node); + if (tmp2 == NULL) + break; + tmp2->type = XML_RELAXNG_GROUP; + tmp2->content = tmp->content; + } else { + tmp2 = tmp->content; + } + if (last == NULL) { + cur->content = tmp2; + } else { + last->next = tmp2; + } + last = tmp2; + } + tmp->content = cur; + tmp = tmp->nextHash; + } + define->content = cur; + if (choiceOrInterleave == 0) { + if (ctxt->interleaves == NULL) + ctxt->interleaves = xmlHashCreate(10); + if (ctxt->interleaves == NULL) { + xmlRngPErr(ctxt, define->node, XML_RNGP_INTERLEAVE_CREATE_FAILED, + "Failed to create interleaves hash table\n", NULL, + NULL); + } else { + char tmpname[32]; + + snprintf(tmpname, 32, "interleave%d", ctxt->nbInterleaves++); + if (xmlHashAddEntry(ctxt->interleaves, BAD_CAST tmpname, cur) < + 0) { + xmlRngPErr(ctxt, define->node, XML_RNGP_INTERLEAVE_CREATE_FAILED, + "Failed to add %s to hash table\n", + (const xmlChar *) tmpname, NULL); + } + } + } +} + +/** + * Applies the 4.17. combine rule for all the start + * element of a given grammar. + * + * @param ctxt a Relax-NG parser context + * @param grammar the grammar + */ +static void +xmlRelaxNGCombineStart(xmlRelaxNGParserCtxtPtr ctxt, + xmlRelaxNGGrammarPtr grammar) +{ + xmlRelaxNGDefinePtr starts; + xmlChar *combine; + int choiceOrInterleave = -1; + int missing = 0; + xmlRelaxNGDefinePtr cur; + + starts = grammar->start; + if ((starts == NULL) || (starts->next == NULL)) + return; + cur = starts; + while (cur != NULL) { + if ((cur->node == NULL) || (cur->node->parent == NULL) || + (!xmlStrEqual(cur->node->parent->name, BAD_CAST "start"))) { + combine = NULL; + xmlRngPErr(ctxt, cur->node, XML_RNGP_START_MISSING, + "Internal error: start element not found\n", NULL, + NULL); + } else { + combine = xmlGetProp(cur->node->parent, BAD_CAST "combine"); + } + + if (combine != NULL) { + if (xmlStrEqual(combine, BAD_CAST "choice")) { + if (choiceOrInterleave == -1) + choiceOrInterleave = 1; + else if (choiceOrInterleave == 0) { + xmlRngPErr(ctxt, cur->node, XML_RNGP_START_CHOICE_AND_INTERLEAVE, + " use both 'choice' and 'interleave'\n", + NULL, NULL); + } + } else if (xmlStrEqual(combine, BAD_CAST "interleave")) { + if (choiceOrInterleave == -1) + choiceOrInterleave = 0; + else if (choiceOrInterleave == 1) { + xmlRngPErr(ctxt, cur->node, XML_RNGP_START_CHOICE_AND_INTERLEAVE, + " use both 'choice' and 'interleave'\n", + NULL, NULL); + } + } else { + xmlRngPErr(ctxt, cur->node, XML_RNGP_UNKNOWN_COMBINE, + " uses unknown combine value '%s''\n", + combine, NULL); + } + xmlFree(combine); + } else { + if (missing == 0) + missing = 1; + else { + xmlRngPErr(ctxt, cur->node, XML_RNGP_NEED_COMBINE, + "Some element miss the combine attribute\n", + NULL, NULL); + } + } + + cur = cur->next; + } + if (choiceOrInterleave == -1) + choiceOrInterleave = 0; + cur = xmlRelaxNGNewDefine(ctxt, starts->node); + if (cur == NULL) + return; + if (choiceOrInterleave == 0) + cur->type = XML_RELAXNG_INTERLEAVE; + else + cur->type = XML_RELAXNG_CHOICE; + cur->content = grammar->start; + grammar->start = cur; + if (choiceOrInterleave == 0) { + if (ctxt->interleaves == NULL) + ctxt->interleaves = xmlHashCreate(10); + if (ctxt->interleaves == NULL) { + xmlRngPErr(ctxt, cur->node, XML_RNGP_INTERLEAVE_CREATE_FAILED, + "Failed to create interleaves hash table\n", NULL, + NULL); + } else { + char tmpname[32]; + + snprintf(tmpname, 32, "interleave%d", ctxt->nbInterleaves++); + if (xmlHashAddEntry(ctxt->interleaves, BAD_CAST tmpname, cur) < + 0) { + xmlRngPErr(ctxt, cur->node, XML_RNGP_INTERLEAVE_CREATE_FAILED, + "Failed to add %s to hash table\n", + (const xmlChar *) tmpname, NULL); + } + } + } +} + +/** + * Check for cycles. + * + * @param ctxt a Relax-NG parser context + * @param cur grammar children nodes + * @param depth the counter + * @returns 0 if check passed, and -1 in case of error + */ +static int +xmlRelaxNGCheckCycles(xmlRelaxNGParserCtxtPtr ctxt, + xmlRelaxNGDefinePtr cur, int depth) +{ + int ret = 0; + + while ((ret == 0) && (cur != NULL)) { + if ((cur->type == XML_RELAXNG_REF) || + (cur->type == XML_RELAXNG_PARENTREF)) { + if (cur->depth == -1) { + cur->depth = depth; + ret = xmlRelaxNGCheckCycles(ctxt, cur->content, depth); + cur->depth = -2; + } else if (depth == cur->depth) { + xmlRngPErr(ctxt, cur->node, XML_RNGP_REF_CYCLE, + "Detected a cycle in %s references\n", + cur->name, NULL); + return (-1); + } + } else if (cur->type == XML_RELAXNG_ELEMENT) { + ret = xmlRelaxNGCheckCycles(ctxt, cur->content, depth + 1); + } else { + ret = xmlRelaxNGCheckCycles(ctxt, cur->content, depth); + } + cur = cur->next; + } + return (ret); +} + +/** + * Try to unlink a definition. If not possible make it a NOOP + * + * @param ctxt a Relax-NG parser context + * @param cur the definition to unlink + * @param parent the parent definition + * @param prev the previous sibling definition + * @returns the new prev definition + */ +static xmlRelaxNGDefinePtr +xmlRelaxNGTryUnlink(xmlRelaxNGParserCtxtPtr ctxt ATTRIBUTE_UNUSED, + xmlRelaxNGDefinePtr cur, + xmlRelaxNGDefinePtr parent, xmlRelaxNGDefinePtr prev) +{ + if (prev != NULL) { + prev->next = cur->next; + } else { + if (parent != NULL) { + if (parent->attrs == cur) + parent->attrs = cur->next; + else if (parent->nameClass == cur) + parent->nameClass = cur->next; + else { + xmlRelaxNGDefinePtr content, last = NULL; + content = parent->content; + while (content != NULL) { + if (content == cur) { + if (last == NULL) { + parent->content = cur->next; + } else { + last->next = cur->next; + } + break; + } + last = content; + content = content->next; + } + } + } else { + cur->type = XML_RELAXNG_NOOP; + prev = cur; + } + } + return (prev); +} + +/** + * Check for simplification of empty and notAllowed + * + * @param ctxt a Relax-NG parser context + * @param cur grammar children nodes + * @param parent parent + */ +static void +xmlRelaxNGSimplify(xmlRelaxNGParserCtxtPtr ctxt, + xmlRelaxNGDefinePtr cur, xmlRelaxNGDefinePtr parent) +{ + xmlRelaxNGDefinePtr prev = NULL; + + while (cur != NULL) { + if ((cur->type == XML_RELAXNG_REF) || + (cur->type == XML_RELAXNG_PARENTREF)) { + if (cur->depth != -3) { + cur->depth = -3; + ctxt->def = cur; + xmlRelaxNGSimplify(ctxt, cur->content, cur); + ctxt->def = NULL; + } + } else if (cur->type == XML_RELAXNG_NOT_ALLOWED) { + cur->parent = parent; + if ((parent != NULL) && + ((parent->type == XML_RELAXNG_ATTRIBUTE) || + (parent->type == XML_RELAXNG_LIST) || + (parent->type == XML_RELAXNG_GROUP) || + (parent->type == XML_RELAXNG_INTERLEAVE) || + (parent->type == XML_RELAXNG_ONEORMORE) || + (parent->type == XML_RELAXNG_ZEROORMORE))) { + parent->type = XML_RELAXNG_NOT_ALLOWED; + break; + } + if ((parent != NULL) && ((parent->type == XML_RELAXNG_CHOICE) || + ((parent->type == XML_RELAXNG_DEF) && + (ctxt->def != NULL && ctxt->def->parent != NULL) && (ctxt->def->parent->type == XML_RELAXNG_CHOICE)))) { + if (parent->type == XML_RELAXNG_CHOICE) + prev = xmlRelaxNGTryUnlink(ctxt, cur, parent, prev); + else if (ctxt->def->parent->type == XML_RELAXNG_CHOICE) { + prev = xmlRelaxNGTryUnlink(ctxt, ctxt->def, ctxt->def->parent, prev); + } + } else + prev = cur; + } else if (cur->type == XML_RELAXNG_EMPTY) { + cur->parent = parent; + if ((parent != NULL) && + ((parent->type == XML_RELAXNG_ONEORMORE) || + (parent->type == XML_RELAXNG_ZEROORMORE))) { + parent->type = XML_RELAXNG_EMPTY; + break; + } + if ((parent != NULL) && + ((parent->type == XML_RELAXNG_GROUP) || + (parent->type == XML_RELAXNG_INTERLEAVE) || + ((parent->type == XML_RELAXNG_DEF) && + (ctxt->def != NULL && ctxt->def->parent != NULL) && + (ctxt->def->parent->type == XML_RELAXNG_GROUP || + ctxt->def->parent->type == XML_RELAXNG_INTERLEAVE)))) { + if (parent->type == XML_RELAXNG_GROUP || parent->type == XML_RELAXNG_INTERLEAVE) + prev = xmlRelaxNGTryUnlink(ctxt, cur, parent, prev); + else if (ctxt->def->parent->type == XML_RELAXNG_GROUP || ctxt->def->parent->type == XML_RELAXNG_INTERLEAVE) + prev = xmlRelaxNGTryUnlink(ctxt, ctxt->def, ctxt->def->parent, prev); + } else + prev = cur; + } else { + cur->parent = parent; + if (cur->content != NULL) + xmlRelaxNGSimplify(ctxt, cur->content, cur); + if ((cur->type != XML_RELAXNG_VALUE) && (cur->attrs != NULL)) + xmlRelaxNGSimplify(ctxt, cur->attrs, cur); + if (cur->nameClass != NULL) + xmlRelaxNGSimplify(ctxt, cur->nameClass, cur); + /* + * On Elements, try to move attribute only generating rules on + * the attrs rules. + */ + if (cur->type == XML_RELAXNG_ELEMENT) { + int attronly; + xmlRelaxNGDefinePtr tmp, pre; + + while (cur->content != NULL) { + attronly = + xmlRelaxNGGenerateAttributes(ctxt, cur->content); + if (attronly == 1) { + /* + * migrate cur->content to attrs + */ + tmp = cur->content; + cur->content = tmp->next; + tmp->next = cur->attrs; + cur->attrs = tmp; + } else { + /* + * cur->content can generate elements or text + */ + break; + } + } + pre = cur->content; + while ((pre != NULL) && (pre->next != NULL)) { + tmp = pre->next; + attronly = xmlRelaxNGGenerateAttributes(ctxt, tmp); + if (attronly == 1) { + /* + * migrate tmp to attrs + * if this runs twice an infinite attrs->next loop can be created + */ + pre->next = tmp->next; + tmp->next = cur->attrs; + cur->attrs = tmp; + } else { + pre = tmp; + } + } + } + /* + * This may result in a simplification + */ + if ((cur->type == XML_RELAXNG_GROUP) || + (cur->type == XML_RELAXNG_INTERLEAVE)) { + if (cur->content == NULL) + cur->type = XML_RELAXNG_EMPTY; + else if (cur->content->next == NULL) { + if ((parent == NULL) && (prev == NULL)) { + cur->type = XML_RELAXNG_NOOP; + } else if (prev == NULL) { + /* + * this simplification may already have happened + * if this is done twice this leads to an infinite loop of attrs->next + */ + if (parent->content != cur->content) { + parent->content = cur->content; + cur->content->next = cur->next; + cur = cur->content; + } + } else { + cur->content->next = cur->next; + prev->next = cur->content; + cur = cur->content; + } + } + } + /* + * the current node may have been transformed back + */ + if ((cur->type == XML_RELAXNG_EXCEPT) && + (cur->content != NULL) && + (cur->content->type == XML_RELAXNG_NOT_ALLOWED)) { + prev = xmlRelaxNGTryUnlink(ctxt, cur, parent, prev); + } else if (cur->type == XML_RELAXNG_NOT_ALLOWED) { + if ((parent != NULL) && + ((parent->type == XML_RELAXNG_ATTRIBUTE) || + (parent->type == XML_RELAXNG_LIST) || + (parent->type == XML_RELAXNG_GROUP) || + (parent->type == XML_RELAXNG_INTERLEAVE) || + (parent->type == XML_RELAXNG_ONEORMORE) || + (parent->type == XML_RELAXNG_ZEROORMORE))) { + parent->type = XML_RELAXNG_NOT_ALLOWED; + break; + } + if ((parent != NULL) && + (parent->type == XML_RELAXNG_CHOICE)) { + prev = xmlRelaxNGTryUnlink(ctxt, cur, parent, prev); + } else + prev = cur; + } else if (cur->type == XML_RELAXNG_EMPTY) { + if ((parent != NULL) && + ((parent->type == XML_RELAXNG_ONEORMORE) || + (parent->type == XML_RELAXNG_ZEROORMORE))) { + parent->type = XML_RELAXNG_EMPTY; + break; + } + if ((parent != NULL) && + ((parent->type == XML_RELAXNG_GROUP) || + (parent->type == XML_RELAXNG_INTERLEAVE) || + (parent->type == XML_RELAXNG_CHOICE))) { + prev = xmlRelaxNGTryUnlink(ctxt, cur, parent, prev); + } else + prev = cur; + } else { + prev = cur; + } + } + cur = cur->next; + } +} + +/** + * Try to group 2 content types + * + * @param ct1 the first content type + * @param ct2 the second content type + * @returns the content type + */ +static xmlRelaxNGContentType +xmlRelaxNGGroupContentType(xmlRelaxNGContentType ct1, + xmlRelaxNGContentType ct2) +{ + if ((ct1 == XML_RELAXNG_CONTENT_ERROR) || + (ct2 == XML_RELAXNG_CONTENT_ERROR)) + return (XML_RELAXNG_CONTENT_ERROR); + if (ct1 == XML_RELAXNG_CONTENT_EMPTY) + return (ct2); + if (ct2 == XML_RELAXNG_CONTENT_EMPTY) + return (ct1); + if ((ct1 == XML_RELAXNG_CONTENT_COMPLEX) && + (ct2 == XML_RELAXNG_CONTENT_COMPLEX)) + return (XML_RELAXNG_CONTENT_COMPLEX); + return (XML_RELAXNG_CONTENT_ERROR); +} + +/** + * Compute the max content-type + * + * @param ct1 the first content type + * @param ct2 the second content type + * @returns the content type + */ +static xmlRelaxNGContentType +xmlRelaxNGMaxContentType(xmlRelaxNGContentType ct1, + xmlRelaxNGContentType ct2) +{ + if ((ct1 == XML_RELAXNG_CONTENT_ERROR) || + (ct2 == XML_RELAXNG_CONTENT_ERROR)) + return (XML_RELAXNG_CONTENT_ERROR); + if ((ct1 == XML_RELAXNG_CONTENT_SIMPLE) || + (ct2 == XML_RELAXNG_CONTENT_SIMPLE)) + return (XML_RELAXNG_CONTENT_SIMPLE); + if ((ct1 == XML_RELAXNG_CONTENT_COMPLEX) || + (ct2 == XML_RELAXNG_CONTENT_COMPLEX)) + return (XML_RELAXNG_CONTENT_COMPLEX); + return (XML_RELAXNG_CONTENT_EMPTY); +} + +/** + * Check for rules in section 7.1 and 7.2 + * + * @param ctxt a Relax-NG parser context + * @param cur the current definition + * @param flags some accumulated flags + * @param ptype the parent type + * @returns the content type of `cur` + */ +static xmlRelaxNGContentType +xmlRelaxNGCheckRules(xmlRelaxNGParserCtxtPtr ctxt, + xmlRelaxNGDefinePtr cur, int flags, + xmlRelaxNGType ptype) +{ + int nflags; + xmlRelaxNGContentType ret, tmp, val = XML_RELAXNG_CONTENT_EMPTY; + + while (cur != NULL) { + ret = XML_RELAXNG_CONTENT_EMPTY; + if ((cur->type == XML_RELAXNG_REF) || + (cur->type == XML_RELAXNG_PARENTREF)) { + /* + * This should actually be caught by list//element(ref) at the + * element boundaries, c.f. Bug #159968 local refs are dropped + * in step 4.19. + */ +#if 0 + if (flags & XML_RELAXNG_IN_LIST) { + xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_LIST_REF, + "Found forbidden pattern list//ref\n", NULL, + NULL); + } +#endif + if (flags & XML_RELAXNG_IN_DATAEXCEPT) { + xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_DATA_EXCEPT_REF, + "Found forbidden pattern data/except//ref\n", + NULL, NULL); + } + if (cur->content == NULL) { + if (cur->type == XML_RELAXNG_PARENTREF) + xmlRngPErr(ctxt, cur->node, XML_RNGP_REF_NO_DEF, + "Internal found no define for parent refs\n", + NULL, NULL); + else + xmlRngPErr(ctxt, cur->node, XML_RNGP_REF_NO_DEF, + "Internal found no define for ref %s\n", + (cur->name ? cur->name: BAD_CAST "null"), NULL); + } + if (cur->depth > -4) { + cur->depth = -4; + ret = xmlRelaxNGCheckRules(ctxt, cur->content, + flags, cur->type); + cur->depth = ret - 15; + } else if (cur->depth == -4) { + ret = XML_RELAXNG_CONTENT_COMPLEX; + } else { + ret = (xmlRelaxNGContentType) (cur->depth + 15); + } + } else if (cur->type == XML_RELAXNG_ELEMENT) { + /* + * The 7.3 Attribute derivation rule for groups is plugged there + */ + xmlRelaxNGCheckGroupAttrs(ctxt, cur); + if (flags & XML_RELAXNG_IN_DATAEXCEPT) { + xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_DATA_EXCEPT_ELEM, + "Found forbidden pattern data/except//element(ref)\n", + NULL, NULL); + } + if (flags & XML_RELAXNG_IN_LIST) { + xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_LIST_ELEM, + "Found forbidden pattern list//element(ref)\n", + NULL, NULL); + } + if (flags & XML_RELAXNG_IN_ATTRIBUTE) { + xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_ATTR_ELEM, + "Found forbidden pattern attribute//element(ref)\n", + NULL, NULL); + } + if (flags & XML_RELAXNG_IN_ATTRIBUTE) { + xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_ATTR_ELEM, + "Found forbidden pattern attribute//element(ref)\n", + NULL, NULL); + } + /* + * reset since in the simple form elements are only child + * of grammar/define + */ + nflags = 0; + ret = + xmlRelaxNGCheckRules(ctxt, cur->attrs, nflags, cur->type); + if (ret != XML_RELAXNG_CONTENT_EMPTY) { + xmlRngPErr(ctxt, cur->node, XML_RNGP_ELEM_CONTENT_EMPTY, + "Element %s attributes have a content type error\n", + cur->name, NULL); + } + ret = + xmlRelaxNGCheckRules(ctxt, cur->content, nflags, + cur->type); + if (ret == XML_RELAXNG_CONTENT_ERROR) { + xmlRngPErr(ctxt, cur->node, XML_RNGP_ELEM_CONTENT_ERROR, + "Element %s has a content type error\n", + cur->name, NULL); + } else { + ret = XML_RELAXNG_CONTENT_COMPLEX; + } + } else if (cur->type == XML_RELAXNG_ATTRIBUTE) { + if (flags & XML_RELAXNG_IN_ATTRIBUTE) { + xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_ATTR_ATTR, + "Found forbidden pattern attribute//attribute\n", + NULL, NULL); + } + if (flags & XML_RELAXNG_IN_LIST) { + xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_LIST_ATTR, + "Found forbidden pattern list//attribute\n", + NULL, NULL); + } + if (flags & XML_RELAXNG_IN_OOMGROUP) { + xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_ONEMORE_GROUP_ATTR, + "Found forbidden pattern oneOrMore//group//attribute\n", + NULL, NULL); + } + if (flags & XML_RELAXNG_IN_OOMINTERLEAVE) { + xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR, + "Found forbidden pattern oneOrMore//interleave//attribute\n", + NULL, NULL); + } + if (flags & XML_RELAXNG_IN_DATAEXCEPT) { + xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_DATA_EXCEPT_ATTR, + "Found forbidden pattern data/except//attribute\n", + NULL, NULL); + } + if (flags & XML_RELAXNG_IN_START) { + xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_START_ATTR, + "Found forbidden pattern start//attribute\n", + NULL, NULL); + } + if ((!(flags & XML_RELAXNG_IN_ONEORMORE)) + && cur->name == NULL + /* following is checking alternative name class readiness + in case it went the "choice" route */ + && cur->nameClass == NULL) { + if (cur->ns == NULL) { + xmlRngPErr(ctxt, cur->node, XML_RNGP_ANYNAME_ATTR_ANCESTOR, + "Found anyName attribute without oneOrMore ancestor\n", + NULL, NULL); + } else { + xmlRngPErr(ctxt, cur->node, XML_RNGP_NSNAME_ATTR_ANCESTOR, + "Found nsName attribute without oneOrMore ancestor\n", + NULL, NULL); + } + } + nflags = flags | XML_RELAXNG_IN_ATTRIBUTE; + xmlRelaxNGCheckRules(ctxt, cur->content, nflags, cur->type); + ret = XML_RELAXNG_CONTENT_EMPTY; + } else if ((cur->type == XML_RELAXNG_ONEORMORE) || + (cur->type == XML_RELAXNG_ZEROORMORE)) { + if (flags & XML_RELAXNG_IN_DATAEXCEPT) { + xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_DATA_EXCEPT_ONEMORE, + "Found forbidden pattern data/except//oneOrMore\n", + NULL, NULL); + } + if (flags & XML_RELAXNG_IN_START) { + xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_START_ONEMORE, + "Found forbidden pattern start//oneOrMore\n", + NULL, NULL); + } + nflags = flags | XML_RELAXNG_IN_ONEORMORE; + ret = + xmlRelaxNGCheckRules(ctxt, cur->content, nflags, + cur->type); + ret = xmlRelaxNGGroupContentType(ret, ret); + } else if (cur->type == XML_RELAXNG_LIST) { + if (flags & XML_RELAXNG_IN_LIST) { + xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_LIST_LIST, + "Found forbidden pattern list//list\n", NULL, + NULL); + } + if (flags & XML_RELAXNG_IN_DATAEXCEPT) { + xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_DATA_EXCEPT_LIST, + "Found forbidden pattern data/except//list\n", + NULL, NULL); + } + if (flags & XML_RELAXNG_IN_START) { + xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_START_LIST, + "Found forbidden pattern start//list\n", NULL, + NULL); + } + nflags = flags | XML_RELAXNG_IN_LIST; + ret = + xmlRelaxNGCheckRules(ctxt, cur->content, nflags, + cur->type); + } else if (cur->type == XML_RELAXNG_GROUP) { + if (flags & XML_RELAXNG_IN_DATAEXCEPT) { + xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_DATA_EXCEPT_GROUP, + "Found forbidden pattern data/except//group\n", + NULL, NULL); + } + if (flags & XML_RELAXNG_IN_START) { + xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_START_GROUP, + "Found forbidden pattern start//group\n", NULL, + NULL); + } + if (flags & XML_RELAXNG_IN_ONEORMORE) + nflags = flags | XML_RELAXNG_IN_OOMGROUP; + else + nflags = flags; + ret = + xmlRelaxNGCheckRules(ctxt, cur->content, nflags, + cur->type); + /* + * The 7.3 Attribute derivation rule for groups is plugged there + */ + xmlRelaxNGCheckGroupAttrs(ctxt, cur); + } else if (cur->type == XML_RELAXNG_INTERLEAVE) { + if (flags & XML_RELAXNG_IN_LIST) { + xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_LIST_INTERLEAVE, + "Found forbidden pattern list//interleave\n", + NULL, NULL); + } + if (flags & XML_RELAXNG_IN_DATAEXCEPT) { + xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE, + "Found forbidden pattern data/except//interleave\n", + NULL, NULL); + } + if (flags & XML_RELAXNG_IN_START) { + xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE, + "Found forbidden pattern start//interleave\n", + NULL, NULL); + } + if (flags & XML_RELAXNG_IN_ONEORMORE) + nflags = flags | XML_RELAXNG_IN_OOMINTERLEAVE; + else + nflags = flags; + ret = + xmlRelaxNGCheckRules(ctxt, cur->content, nflags, + cur->type); + } else if (cur->type == XML_RELAXNG_EXCEPT) { + if ((cur->parent != NULL) && + (cur->parent->type == XML_RELAXNG_DATATYPE)) + nflags = flags | XML_RELAXNG_IN_DATAEXCEPT; + else + nflags = flags; + ret = + xmlRelaxNGCheckRules(ctxt, cur->content, nflags, + cur->type); + } else if (cur->type == XML_RELAXNG_DATATYPE) { + if (flags & XML_RELAXNG_IN_START) { + xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_START_DATA, + "Found forbidden pattern start//data\n", NULL, + NULL); + } + xmlRelaxNGCheckRules(ctxt, cur->content, flags, cur->type); + ret = XML_RELAXNG_CONTENT_SIMPLE; + } else if (cur->type == XML_RELAXNG_VALUE) { + if (flags & XML_RELAXNG_IN_START) { + xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_START_VALUE, + "Found forbidden pattern start//value\n", NULL, + NULL); + } + xmlRelaxNGCheckRules(ctxt, cur->content, flags, cur->type); + ret = XML_RELAXNG_CONTENT_SIMPLE; + } else if (cur->type == XML_RELAXNG_TEXT) { + if (flags & XML_RELAXNG_IN_LIST) { + xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_LIST_TEXT, + "Found forbidden pattern list//text\n", NULL, + NULL); + } + if (flags & XML_RELAXNG_IN_DATAEXCEPT) { + xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_DATA_EXCEPT_TEXT, + "Found forbidden pattern data/except//text\n", + NULL, NULL); + } + if (flags & XML_RELAXNG_IN_START) { + xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_START_TEXT, + "Found forbidden pattern start//text\n", NULL, + NULL); + } + ret = XML_RELAXNG_CONTENT_COMPLEX; + } else if (cur->type == XML_RELAXNG_EMPTY) { + if (flags & XML_RELAXNG_IN_DATAEXCEPT) { + xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_DATA_EXCEPT_EMPTY, + "Found forbidden pattern data/except//empty\n", + NULL, NULL); + } + if (flags & XML_RELAXNG_IN_START) { + xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_START_EMPTY, + "Found forbidden pattern start//empty\n", NULL, + NULL); + } + ret = XML_RELAXNG_CONTENT_EMPTY; + } else if (cur->type == XML_RELAXNG_CHOICE) { + xmlRelaxNGCheckChoiceDeterminism(ctxt, cur); + ret = + xmlRelaxNGCheckRules(ctxt, cur->content, flags, cur->type); + } else { + ret = + xmlRelaxNGCheckRules(ctxt, cur->content, flags, cur->type); + } + cur = cur->next; + if (ptype == XML_RELAXNG_GROUP) { + val = xmlRelaxNGGroupContentType(val, ret); + } else if (ptype == XML_RELAXNG_INTERLEAVE) { + /* + * TODO: scan complain that tmp is never used, seems on purpose + * need double-checking + */ + tmp = xmlRelaxNGGroupContentType(val, ret); + if (tmp != XML_RELAXNG_CONTENT_ERROR) + tmp = xmlRelaxNGMaxContentType(val, ret); + } else if (ptype == XML_RELAXNG_CHOICE) { + val = xmlRelaxNGMaxContentType(val, ret); + } else if (ptype == XML_RELAXNG_LIST) { + val = XML_RELAXNG_CONTENT_SIMPLE; + } else if (ptype == XML_RELAXNG_EXCEPT) { + if (ret == XML_RELAXNG_CONTENT_ERROR) + val = XML_RELAXNG_CONTENT_ERROR; + else + val = XML_RELAXNG_CONTENT_SIMPLE; + } else { + val = xmlRelaxNGGroupContentType(val, ret); + } + + } + return (val); +} + +/** + * parse a Relax-NG `` node + * + * @param ctxt a Relax-NG parser context + * @param nodes grammar children nodes + * @returns the internal xmlRelaxNGGrammar built or + * NULL in case of error + */ +static xmlRelaxNGGrammarPtr +xmlRelaxNGParseGrammar(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr nodes) +{ + xmlRelaxNGGrammarPtr ret, tmp, old; + + ret = xmlRelaxNGNewGrammar(ctxt); + if (ret == NULL) + return (NULL); + + /* + * Link the new grammar in the tree + */ + ret->parent = ctxt->grammar; + if (ctxt->grammar != NULL) { + tmp = ctxt->grammar->children; + if (tmp == NULL) { + ctxt->grammar->children = ret; + } else { + while (tmp->next != NULL) + tmp = tmp->next; + tmp->next = ret; + } + } + + old = ctxt->grammar; + ctxt->grammar = ret; + xmlRelaxNGParseGrammarContent(ctxt, nodes); + ctxt->grammar = ret; + if (ctxt->grammar == NULL) { + xmlRngPErr(ctxt, nodes, XML_RNGP_GRAMMAR_CONTENT, + "Failed to parse content\n", NULL, NULL); + } else if (ctxt->grammar->start == NULL) { + xmlRngPErr(ctxt, nodes, XML_RNGP_GRAMMAR_NO_START, + "Element has no \n", NULL, NULL); + } + + /* + * Apply 4.17 merging rules to defines and starts + */ + xmlRelaxNGCombineStart(ctxt, ret); + if (ret->defs != NULL) { + xmlHashScan(ret->defs, xmlRelaxNGCheckCombine, ctxt); + } + + /* + * link together defines and refs in this grammar + */ + if (ret->refs != NULL) { + xmlHashScan(ret->refs, xmlRelaxNGCheckReference, ctxt); + } + + + /* @@@@ */ + + ctxt->grammar = old; + return (ret); +} + +/** + * parse a Relax-NG definition resource and build an internal + * xmlRelaxNG structure which can be used to validate instances. + * + * @param ctxt a Relax-NG parser context + * @param node the root node of the RelaxNG schema + * @returns the internal XML RelaxNG structure built or + * NULL in case of error + */ +static xmlRelaxNGPtr +xmlRelaxNGParseDocument(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node) +{ + xmlRelaxNGPtr schema = NULL; + const xmlChar *olddefine; + xmlRelaxNGGrammarPtr old; + + if ((ctxt == NULL) || (node == NULL)) + return (NULL); + + schema = xmlRelaxNGNewRelaxNG(ctxt); + if (schema == NULL) + return (NULL); + + olddefine = ctxt->define; + ctxt->define = NULL; + if (IS_RELAXNG(node, "grammar")) { + schema->topgrammar = xmlRelaxNGParseGrammar(ctxt, node->children); + if (schema->topgrammar == NULL) { + xmlRelaxNGFree(schema); + return (NULL); + } + } else { + xmlRelaxNGGrammarPtr tmp, ret; + + schema->topgrammar = ret = xmlRelaxNGNewGrammar(ctxt); + if (schema->topgrammar == NULL) { + xmlRelaxNGFree(schema); + return (NULL); + } + /* + * Link the new grammar in the tree + */ + ret->parent = ctxt->grammar; + if (ctxt->grammar != NULL) { + tmp = ctxt->grammar->children; + if (tmp == NULL) { + ctxt->grammar->children = ret; + } else { + while (tmp->next != NULL) + tmp = tmp->next; + tmp->next = ret; + } + } + old = ctxt->grammar; + ctxt->grammar = ret; + xmlRelaxNGParseStart(ctxt, node); + if (old != NULL) + ctxt->grammar = old; + } + ctxt->define = olddefine; + if (schema->topgrammar->start != NULL) { + xmlRelaxNGCheckCycles(ctxt, schema->topgrammar->start, 0); + if ((ctxt->flags & XML_RELAXNG_IN_EXTERNALREF) == 0) { + xmlRelaxNGSimplify(ctxt, schema->topgrammar->start, NULL); + while ((schema->topgrammar->start != NULL) && + (schema->topgrammar->start->type == XML_RELAXNG_NOOP) && + (schema->topgrammar->start->next != NULL)) + schema->topgrammar->start = + schema->topgrammar->start->content; + xmlRelaxNGCheckRules(ctxt, schema->topgrammar->start, + XML_RELAXNG_IN_START, XML_RELAXNG_NOOP); + } + } + + return (schema); +} + +/************************************************************************ + * * + * Reading RelaxNGs * + * * + ************************************************************************/ + +/** + * Create an XML RelaxNGs parse context for that file/resource expected + * to contain an XML RelaxNGs file. + * + * @param URL the location of the schema + * @returns the parser context or NULL in case of error + */ +xmlRelaxNGParserCtxt * +xmlRelaxNGNewParserCtxt(const char *URL) +{ + xmlRelaxNGParserCtxtPtr ret; + + if (URL == NULL) + return (NULL); + + ret = + (xmlRelaxNGParserCtxtPtr) xmlMalloc(sizeof(xmlRelaxNGParserCtxt)); + if (ret == NULL) { + xmlRngPErrMemory(NULL); + return (NULL); + } + memset(ret, 0, sizeof(xmlRelaxNGParserCtxt)); + ret->URL = xmlStrdup((const xmlChar *) URL); + return (ret); +} + +/** + * Create an XML RelaxNGs parse context for that memory buffer expected + * to contain an XML RelaxNGs file. + * + * @param buffer a pointer to a char array containing the schemas + * @param size the size of the array + * @returns the parser context or NULL in case of error + */ +xmlRelaxNGParserCtxt * +xmlRelaxNGNewMemParserCtxt(const char *buffer, int size) +{ + xmlRelaxNGParserCtxtPtr ret; + + if ((buffer == NULL) || (size <= 0)) + return (NULL); + + ret = + (xmlRelaxNGParserCtxtPtr) xmlMalloc(sizeof(xmlRelaxNGParserCtxt)); + if (ret == NULL) { + xmlRngPErrMemory(NULL); + return (NULL); + } + memset(ret, 0, sizeof(xmlRelaxNGParserCtxt)); + ret->buffer = buffer; + ret->size = size; + return (ret); +} + +/** + * Create an XML RelaxNGs parser context for that document. + * Note: since the process of compiling a RelaxNG schemas modifies the + * document, the `doc` parameter is duplicated internally. + * + * @param doc a preparsed document tree + * @returns the parser context or NULL in case of error + */ +xmlRelaxNGParserCtxt * +xmlRelaxNGNewDocParserCtxt(xmlDoc *doc) +{ + xmlRelaxNGParserCtxtPtr ret; + xmlDocPtr copy; + + if (doc == NULL) + return (NULL); + copy = xmlCopyDoc(doc, 1); + if (copy == NULL) + return (NULL); + + ret = + (xmlRelaxNGParserCtxtPtr) xmlMalloc(sizeof(xmlRelaxNGParserCtxt)); + if (ret == NULL) { + xmlRngPErrMemory(NULL); + xmlFreeDoc(copy); + return (NULL); + } + memset(ret, 0, sizeof(xmlRelaxNGParserCtxt)); + ret->document = copy; + ret->freedoc = 1; + ret->userData = xmlGenericErrorContext; + return (ret); +} + +/** + * Free the resources associated to the schema parser context + * + * @param ctxt the schema parser context + */ +void +xmlRelaxNGFreeParserCtxt(xmlRelaxNGParserCtxt *ctxt) +{ + if (ctxt == NULL) + return; + if (ctxt->URL != NULL) + xmlFree(ctxt->URL); + if (ctxt->doc != NULL) + xmlRelaxNGFreeDocument(ctxt->doc); + if (ctxt->interleaves != NULL) + xmlHashFree(ctxt->interleaves, NULL); + if (ctxt->documents != NULL) + xmlRelaxNGFreeDocumentList(ctxt->documents); + if (ctxt->includes != NULL) + xmlRelaxNGFreeIncludeList(ctxt->includes); + if (ctxt->docTab != NULL) + xmlFree(ctxt->docTab); + if (ctxt->incTab != NULL) + xmlFree(ctxt->incTab); + if (ctxt->defTab != NULL) { + int i; + + for (i = 0; i < ctxt->defNr; i++) + xmlRelaxNGFreeDefine(ctxt->defTab[i]); + xmlFree(ctxt->defTab); + } + if ((ctxt->document != NULL) && (ctxt->freedoc)) + xmlFreeDoc(ctxt->document); + xmlFree(ctxt); +} + +/** + * Removes the leading and ending spaces of the value + * The string is modified "in situ" + * + * @param value a value + */ +static void +xmlRelaxNGNormExtSpace(xmlChar * value) +{ + xmlChar *start = value; + xmlChar *cur = value; + + if (value == NULL) + return; + + while (IS_BLANK_CH(*cur)) + cur++; + if (cur == start) { + do { + while ((*cur != 0) && (!IS_BLANK_CH(*cur))) + cur++; + if (*cur == 0) + return; + start = cur; + while (IS_BLANK_CH(*cur)) + cur++; + if (*cur == 0) { + *start = 0; + return; + } + } while (1); + } else { + do { + while ((*cur != 0) && (!IS_BLANK_CH(*cur))) + *start++ = *cur++; + if (*cur == 0) { + *start = 0; + return; + } + /* don't try to normalize the inner spaces */ + while (IS_BLANK_CH(*cur)) + cur++; + if (*cur == 0) { + *start = 0; + return; + } + *start++ = *cur++; + } while (1); + } +} + +/** + * Check all the attributes on the given node + * + * @param ctxt a Relax-NG parser context + * @param node a Relax-NG node + */ +static void +xmlRelaxNGCleanupAttributes(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node) +{ + xmlAttrPtr cur, next; + + cur = node->properties; + while (cur != NULL) { + next = cur->next; + if ((cur->ns == NULL) || + (xmlStrEqual(cur->ns->href, xmlRelaxNGNs))) { + if (xmlStrEqual(cur->name, BAD_CAST "name")) { + if ((!xmlStrEqual(node->name, BAD_CAST "element")) && + (!xmlStrEqual(node->name, BAD_CAST "attribute")) && + (!xmlStrEqual(node->name, BAD_CAST "ref")) && + (!xmlStrEqual(node->name, BAD_CAST "parentRef")) && + (!xmlStrEqual(node->name, BAD_CAST "param")) && + (!xmlStrEqual(node->name, BAD_CAST "define"))) { + xmlRngPErr(ctxt, node, XML_RNGP_FORBIDDEN_ATTRIBUTE, + "Attribute %s is not allowed on %s\n", + cur->name, node->name); + } + } else if (xmlStrEqual(cur->name, BAD_CAST "type")) { + if ((!xmlStrEqual(node->name, BAD_CAST "value")) && + (!xmlStrEqual(node->name, BAD_CAST "data"))) { + xmlRngPErr(ctxt, node, XML_RNGP_FORBIDDEN_ATTRIBUTE, + "Attribute %s is not allowed on %s\n", + cur->name, node->name); + } + } else if (xmlStrEqual(cur->name, BAD_CAST "href")) { + if ((!xmlStrEqual(node->name, BAD_CAST "externalRef")) && + (!xmlStrEqual(node->name, BAD_CAST "include"))) { + xmlRngPErr(ctxt, node, XML_RNGP_FORBIDDEN_ATTRIBUTE, + "Attribute %s is not allowed on %s\n", + cur->name, node->name); + } + } else if (xmlStrEqual(cur->name, BAD_CAST "combine")) { + if ((!xmlStrEqual(node->name, BAD_CAST "start")) && + (!xmlStrEqual(node->name, BAD_CAST "define"))) { + xmlRngPErr(ctxt, node, XML_RNGP_FORBIDDEN_ATTRIBUTE, + "Attribute %s is not allowed on %s\n", + cur->name, node->name); + } + } else if (xmlStrEqual(cur->name, BAD_CAST "datatypeLibrary")) { + xmlChar *val; + xmlURIPtr uri; + + val = xmlNodeListGetString(node->doc, cur->children, 1); + if (val != NULL) { + if (val[0] != 0) { + uri = xmlParseURI((const char *) val); + if (uri == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_INVALID_URI, + "Attribute %s contains invalid URI %s\n", + cur->name, val); + } else { + if (uri->scheme == NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_URI_NOT_ABSOLUTE, + "Attribute %s URI %s is not absolute\n", + cur->name, val); + } + if (uri->fragment != NULL) { + xmlRngPErr(ctxt, node, XML_RNGP_URI_FRAGMENT, + "Attribute %s URI %s has a fragment ID\n", + cur->name, val); + } + xmlFreeURI(uri); + } + } + xmlFree(val); + } + } else if (!xmlStrEqual(cur->name, BAD_CAST "ns")) { + xmlRngPErr(ctxt, node, XML_RNGP_UNKNOWN_ATTRIBUTE, + "Unknown attribute %s on %s\n", cur->name, + node->name); + } + } + cur = next; + } +} + +/** + * Cleanup the subtree from unwanted nodes for parsing, resolve + * Include and externalRef lookups. + * + * @param ctxt a Relax-NG parser context + * @param root an xmlNode subtree + */ +static void +xmlRelaxNGCleanupTree(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr root) +{ + xmlNodePtr cur, delete; + + delete = NULL; + cur = root; + while (cur != NULL) { + if (delete != NULL) { + xmlUnlinkNode(delete); + xmlFreeNode(delete); + delete = NULL; + } + if (cur->type == XML_ELEMENT_NODE) { + /* + * Simplification 4.1. Annotations + */ + if ((cur->ns == NULL) || + (!xmlStrEqual(cur->ns->href, xmlRelaxNGNs))) { + if ((cur->parent != NULL) && + (cur->parent->type == XML_ELEMENT_NODE) && + ((xmlStrEqual(cur->parent->name, BAD_CAST "name")) || + (xmlStrEqual(cur->parent->name, BAD_CAST "value")) || + (xmlStrEqual(cur->parent->name, BAD_CAST "param")))) { + xmlRngPErr(ctxt, cur, XML_RNGP_FOREIGN_ELEMENT, + "element %s doesn't allow foreign elements\n", + cur->parent->name, NULL); + } + delete = cur; + goto skip_children; + } else { + xmlRelaxNGCleanupAttributes(ctxt, cur); + if (xmlStrEqual(cur->name, BAD_CAST "externalRef")) { + xmlChar *href, *ns, *base, *URL; + xmlRelaxNGDocumentPtr docu; + xmlNodePtr tmp; + xmlURIPtr uri; + + ns = xmlGetProp(cur, BAD_CAST "ns"); + if (ns == NULL) { + tmp = cur->parent; + while ((tmp != NULL) && + (tmp->type == XML_ELEMENT_NODE)) { + ns = xmlGetProp(tmp, BAD_CAST "ns"); + if (ns != NULL) + break; + tmp = tmp->parent; + } + } + href = xmlGetProp(cur, BAD_CAST "href"); + if (href == NULL) { + xmlRngPErr(ctxt, cur, XML_RNGP_MISSING_HREF, + "xmlRelaxNGParse: externalRef has no href attribute\n", + NULL, NULL); + if (ns != NULL) + xmlFree(ns); + delete = cur; + goto skip_children; + } + uri = xmlParseURI((const char *) href); + if (uri == NULL) { + xmlRngPErr(ctxt, cur, XML_RNGP_HREF_ERROR, + "Incorrect URI for externalRef %s\n", + href, NULL); + if (ns != NULL) + xmlFree(ns); + if (href != NULL) + xmlFree(href); + delete = cur; + goto skip_children; + } + if (uri->fragment != NULL) { + xmlRngPErr(ctxt, cur, XML_RNGP_HREF_ERROR, + "Fragment forbidden in URI for externalRef %s\n", + href, NULL); + if (ns != NULL) + xmlFree(ns); + xmlFreeURI(uri); + if (href != NULL) + xmlFree(href); + delete = cur; + goto skip_children; + } + xmlFreeURI(uri); + base = xmlNodeGetBase(cur->doc, cur); + URL = xmlBuildURI(href, base); + if (URL == NULL) { + xmlRngPErr(ctxt, cur, XML_RNGP_HREF_ERROR, + "Failed to compute URL for externalRef %s\n", + href, NULL); + if (ns != NULL) + xmlFree(ns); + if (href != NULL) + xmlFree(href); + if (base != NULL) + xmlFree(base); + delete = cur; + goto skip_children; + } + if (href != NULL) + xmlFree(href); + if (base != NULL) + xmlFree(base); + docu = xmlRelaxNGLoadExternalRef(ctxt, URL, ns); + if (docu == NULL) { + xmlRngPErr(ctxt, cur, XML_RNGP_EXTERNAL_REF_FAILURE, + "Failed to load externalRef %s\n", URL, + NULL); + if (ns != NULL) + xmlFree(ns); + xmlFree(URL); + delete = cur; + goto skip_children; + } + if (ns != NULL) + xmlFree(ns); + xmlFree(URL); + cur->psvi = docu; + } else if (xmlStrEqual(cur->name, BAD_CAST "include")) { + xmlChar *href, *ns, *base, *URL; + xmlRelaxNGIncludePtr incl; + xmlNodePtr tmp; + + href = xmlGetProp(cur, BAD_CAST "href"); + if (href == NULL) { + xmlRngPErr(ctxt, cur, XML_RNGP_MISSING_HREF, + "xmlRelaxNGParse: include has no href attribute\n", + NULL, NULL); + delete = cur; + goto skip_children; + } + base = xmlNodeGetBase(cur->doc, cur); + URL = xmlBuildURI(href, base); + if (URL == NULL) { + xmlRngPErr(ctxt, cur, XML_RNGP_HREF_ERROR, + "Failed to compute URL for include %s\n", + href, NULL); + if (href != NULL) + xmlFree(href); + if (base != NULL) + xmlFree(base); + delete = cur; + goto skip_children; + } + if (href != NULL) + xmlFree(href); + if (base != NULL) + xmlFree(base); + ns = xmlGetProp(cur, BAD_CAST "ns"); + if (ns == NULL) { + tmp = cur->parent; + while ((tmp != NULL) && + (tmp->type == XML_ELEMENT_NODE)) { + ns = xmlGetProp(tmp, BAD_CAST "ns"); + if (ns != NULL) + break; + tmp = tmp->parent; + } + } + incl = xmlRelaxNGLoadInclude(ctxt, URL, cur, ns); + if (ns != NULL) + xmlFree(ns); + if (incl == NULL) { + xmlRngPErr(ctxt, cur, XML_RNGP_INCLUDE_FAILURE, + "Failed to load include %s\n", URL, + NULL); + xmlFree(URL); + delete = cur; + goto skip_children; + } + xmlFree(URL); + cur->psvi = incl; + } else if ((xmlStrEqual(cur->name, BAD_CAST "element")) || + (xmlStrEqual(cur->name, BAD_CAST "attribute"))) + { + xmlChar *name, *ns; + xmlNodePtr text = NULL; + + /* + * Simplification 4.8. name attribute of element + * and attribute elements + */ + name = xmlGetProp(cur, BAD_CAST "name"); + if (name != NULL) { + if (cur->children == NULL) { + text = + xmlNewChild(cur, cur->ns, BAD_CAST "name", + name); + } else { + xmlNodePtr node; + + node = xmlNewDocNode(cur->doc, cur->ns, + BAD_CAST "name", NULL); + if (node != NULL) { + xmlAddPrevSibling(cur->children, node); + text = xmlNewDocText(node->doc, name); + xmlAddChild(node, text); + text = node; + } + } + if (text == NULL) { + xmlRngPErr(ctxt, cur, XML_RNGP_CREATE_FAILURE, + "Failed to create a name %s element\n", + name, NULL); + } + xmlUnsetProp(cur, BAD_CAST "name"); + xmlFree(name); + ns = xmlGetProp(cur, BAD_CAST "ns"); + if (ns != NULL) { + if (text != NULL) { + xmlSetProp(text, BAD_CAST "ns", ns); + /* xmlUnsetProp(cur, BAD_CAST "ns"); */ + } + xmlFree(ns); + } else if (xmlStrEqual(cur->name, + BAD_CAST "attribute")) { + xmlSetProp(text, BAD_CAST "ns", BAD_CAST ""); + } + } + } else if ((xmlStrEqual(cur->name, BAD_CAST "name")) || + (xmlStrEqual(cur->name, BAD_CAST "nsName")) || + (xmlStrEqual(cur->name, BAD_CAST "value"))) { + /* + * Simplification 4.8. name attribute of element + * and attribute elements + */ + if (xmlHasProp(cur, BAD_CAST "ns") == NULL) { + xmlNodePtr node; + xmlChar *ns = NULL; + + node = cur->parent; + while ((node != NULL) && + (node->type == XML_ELEMENT_NODE)) { + ns = xmlGetProp(node, BAD_CAST "ns"); + if (ns != NULL) { + break; + } + node = node->parent; + } + if (ns == NULL) { + xmlSetProp(cur, BAD_CAST "ns", BAD_CAST ""); + } else { + xmlSetProp(cur, BAD_CAST "ns", ns); + xmlFree(ns); + } + } + if (xmlStrEqual(cur->name, BAD_CAST "name")) { + xmlChar *name, *local, *prefix; + + /* + * Simplification: 4.10. QNames + */ + name = xmlNodeGetContent(cur); + if (name != NULL) { + local = xmlSplitQName2(name, &prefix); + if (local != NULL) { + xmlNsPtr ns; + + ns = xmlSearchNs(cur->doc, cur, prefix); + if (ns == NULL) { + xmlRngPErr(ctxt, cur, + XML_RNGP_PREFIX_UNDEFINED, + "xmlRelaxNGParse: no namespace for prefix %s\n", + prefix, NULL); + } else { + xmlSetProp(cur, BAD_CAST "ns", + ns->href); + xmlNodeSetContent(cur, local); + } + xmlFree(local); + xmlFree(prefix); + } + xmlFree(name); + } + } + /* + * 4.16 + */ + if (xmlStrEqual(cur->name, BAD_CAST "nsName")) { + if (ctxt->flags & XML_RELAXNG_IN_NSEXCEPT) { + xmlRngPErr(ctxt, cur, + XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME, + "Found nsName/except//nsName forbidden construct\n", + NULL, NULL); + } + } + } else if ((xmlStrEqual(cur->name, BAD_CAST "except")) && + (cur != root)) { + int oldflags = ctxt->flags; + + /* + * 4.16 + */ + if ((cur->parent != NULL) && + (xmlStrEqual + (cur->parent->name, BAD_CAST "anyName"))) { + ctxt->flags |= XML_RELAXNG_IN_ANYEXCEPT; + xmlRelaxNGCleanupTree(ctxt, cur); + ctxt->flags = oldflags; + goto skip_children; + } else if ((cur->parent != NULL) && + (xmlStrEqual + (cur->parent->name, BAD_CAST "nsName"))) { + ctxt->flags |= XML_RELAXNG_IN_NSEXCEPT; + xmlRelaxNGCleanupTree(ctxt, cur); + ctxt->flags = oldflags; + goto skip_children; + } + } else if (xmlStrEqual(cur->name, BAD_CAST "anyName")) { + /* + * 4.16 + */ + if (ctxt->flags & XML_RELAXNG_IN_ANYEXCEPT) { + xmlRngPErr(ctxt, cur, + XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME, + "Found anyName/except//anyName forbidden construct\n", + NULL, NULL); + } else if (ctxt->flags & XML_RELAXNG_IN_NSEXCEPT) { + xmlRngPErr(ctxt, cur, + XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME, + "Found nsName/except//anyName forbidden construct\n", + NULL, NULL); + } + } + /* + * This is not an else since "include" is transformed + * into a div + */ + if (xmlStrEqual(cur->name, BAD_CAST "div")) { + xmlChar *ns; + xmlNodePtr child, ins, tmp; + + /* + * implements rule 4.11 + */ + + ns = xmlGetProp(cur, BAD_CAST "ns"); + + child = cur->children; + ins = cur; + while (child != NULL) { + if (ns != NULL) { + if (!xmlHasProp(child, BAD_CAST "ns")) { + xmlSetProp(child, BAD_CAST "ns", ns); + } + } + tmp = child->next; + xmlUnlinkNode(child); + ins = xmlAddNextSibling(ins, child); + child = tmp; + } + if (ns != NULL) + xmlFree(ns); + /* + * Since we are about to delete cur, if its nsDef is non-NULL we + * need to preserve it (it contains the ns definitions for the + * children we just moved). We'll just stick it on to the end + * of cur->parent's list, since it's never going to be re-serialized + * (bug 143738). + */ + if ((cur->nsDef != NULL) && (cur->parent != NULL)) { + xmlNsPtr parDef = (xmlNsPtr)&cur->parent->nsDef; + while (parDef->next != NULL) + parDef = parDef->next; + parDef->next = cur->nsDef; + cur->nsDef = NULL; + } + delete = cur; + goto skip_children; + } + } + } + /* + * Simplification 4.2 whitespaces + */ + else if ((cur->type == XML_TEXT_NODE) || + (cur->type == XML_CDATA_SECTION_NODE)) { + if (IS_BLANK_NODE(cur)) { + if ((cur->parent != NULL) && + (cur->parent->type == XML_ELEMENT_NODE)) { + if ((!xmlStrEqual(cur->parent->name, BAD_CAST "value")) + && + (!xmlStrEqual + (cur->parent->name, BAD_CAST "param"))) + delete = cur; + } else { + delete = cur; + goto skip_children; + } + } + } else { + delete = cur; + goto skip_children; + } + + /* + * Skip to next node + */ + if (cur->children != NULL) { + if ((cur->children->type != XML_ENTITY_DECL) && + (cur->children->type != XML_ENTITY_REF_NODE) && + (cur->children->type != XML_ENTITY_NODE)) { + cur = cur->children; + continue; + } + } + skip_children: + if (cur->next != NULL) { + cur = cur->next; + continue; + } + + do { + cur = cur->parent; + if (cur == NULL) + break; + if (cur == root) { + cur = NULL; + break; + } + if (cur->next != NULL) { + cur = cur->next; + break; + } + } while (cur != NULL); + } + if (delete != NULL) { + xmlUnlinkNode(delete); + xmlFreeNode(delete); + delete = NULL; + } +} + +/** + * Cleanup the document from unwanted nodes for parsing, resolve + * Include and externalRef lookups. + * + * @param ctxt a Relax-NG parser context + * @param doc an xmldoc document pointer + * @returns the cleaned up document or NULL in case of error + */ +static xmlDocPtr +xmlRelaxNGCleanupDoc(xmlRelaxNGParserCtxtPtr ctxt, xmlDocPtr doc) +{ + xmlNodePtr root; + + /* + * Extract the root + */ + root = xmlDocGetRootElement(doc); + if (root == NULL) { + xmlRngPErr(ctxt, (xmlNodePtr) doc, XML_RNGP_EMPTY, "xmlRelaxNGParse: %s is empty\n", + ctxt->URL, NULL); + return (NULL); + } + xmlRelaxNGCleanupTree(ctxt, root); + return (doc); +} + +/** + * parse a schema definition resource and build an internal + * XML Schema structure which can be used to validate instances. + * + * @param ctxt a Relax-NG parser context + * @returns the internal XML RelaxNG structure built from the resource or + * NULL in case of error + */ +xmlRelaxNG * +xmlRelaxNGParse(xmlRelaxNGParserCtxt *ctxt) +{ + xmlRelaxNGPtr ret = NULL; + xmlDocPtr doc; + xmlNodePtr root; + + const char *include_limit_env = getenv("RNG_INCLUDE_LIMIT"); + + xmlRelaxNGInitTypes(); + + if (ctxt == NULL) + return (NULL); + + if (ctxt->incLimit == 0) { + ctxt->incLimit = _xmlRelaxNGIncludeLimit; + if (include_limit_env != NULL) { + char *strEnd; + unsigned long val = 0; + errno = 0; + val = strtoul(include_limit_env, &strEnd, 10); + if (errno != 0 || *strEnd != 0 || val > INT_MAX) { + xmlRngPErr(ctxt, NULL, XML_RNGP_PARSE_ERROR, + "xmlRelaxNGParse: invalid RNG_INCLUDE_LIMIT %s\n", + (const xmlChar*)include_limit_env, + NULL); + return(NULL); + } + if (val) + ctxt->incLimit = val; + } + } + + /* + * First step is to parse the input document into an DOM/Infoset + */ + if (ctxt->URL != NULL) { + doc = xmlRelaxReadFile(ctxt, (const char *) ctxt->URL); + if (doc == NULL) { + xmlRngPErr(ctxt, NULL, XML_RNGP_PARSE_ERROR, + "xmlRelaxNGParse: could not load %s\n", ctxt->URL, + NULL); + return (NULL); + } + } else if (ctxt->buffer != NULL) { + doc = xmlRelaxReadMemory(ctxt, ctxt->buffer, ctxt->size); + if (doc == NULL) { + xmlRngPErr(ctxt, NULL, XML_RNGP_PARSE_ERROR, + "xmlRelaxNGParse: could not parse schemas\n", NULL, + NULL); + return (NULL); + } + doc->URL = xmlStrdup(BAD_CAST "in_memory_buffer"); + ctxt->URL = xmlStrdup(BAD_CAST "in_memory_buffer"); + } else if (ctxt->document != NULL) { + doc = ctxt->document; + } else { + xmlRngPErr(ctxt, NULL, XML_RNGP_EMPTY, + "xmlRelaxNGParse: nothing to parse\n", NULL, NULL); + return (NULL); + } + ctxt->document = doc; + + /* + * Some preprocessing of the document content + */ + doc = xmlRelaxNGCleanupDoc(ctxt, doc); + if (doc == NULL) { + xmlFreeDoc(ctxt->document); + ctxt->document = NULL; + return (NULL); + } + + /* + * Then do the parsing for good + */ + root = xmlDocGetRootElement(doc); + if (root == NULL) { + xmlRngPErr(ctxt, (xmlNodePtr) doc, + XML_RNGP_EMPTY, "xmlRelaxNGParse: %s is empty\n", + (ctxt->URL ? ctxt->URL : BAD_CAST "schemas"), NULL); + + xmlFreeDoc(ctxt->document); + ctxt->document = NULL; + return (NULL); + } + ret = xmlRelaxNGParseDocument(ctxt, root); + if (ret == NULL) { + xmlFreeDoc(ctxt->document); + ctxt->document = NULL; + return (NULL); + } + + /* + * Check the ref/defines links + */ + /* + * try to preprocess interleaves + */ + if (ctxt->interleaves != NULL) { + xmlHashScan(ctxt->interleaves, xmlRelaxNGComputeInterleaves, ctxt); + } + + /* + * if there was a parsing error return NULL + */ + if (ctxt->nbErrors > 0) { + xmlRelaxNGFree(ret); + ctxt->document = NULL; + xmlFreeDoc(doc); + return (NULL); + } + + /* + * try to compile (parts of) the schemas + */ + if ((ret->topgrammar != NULL) && (ret->topgrammar->start != NULL)) { + if (ret->topgrammar->start->type != XML_RELAXNG_START) { + xmlRelaxNGDefinePtr def; + + def = xmlRelaxNGNewDefine(ctxt, NULL); + if (def != NULL) { + def->type = XML_RELAXNG_START; + def->content = ret->topgrammar->start; + ret->topgrammar->start = def; + } + } + xmlRelaxNGTryCompile(ctxt, ret->topgrammar->start); + } + + /* + * Transfer the pointer for cleanup at the schema level. + */ + ret->doc = doc; + ctxt->document = NULL; + ret->documents = ctxt->documents; + ctxt->documents = NULL; + + ret->includes = ctxt->includes; + ctxt->includes = NULL; + ret->defNr = ctxt->defNr; + ret->defTab = ctxt->defTab; + ctxt->defTab = NULL; + if (ctxt->idref == 1) + ret->idref = 1; + + return (ret); +} + +/** + * Set the callback functions used to handle errors for a validation context + * + * @deprecated Use #xmlRelaxNGSetParserStructuredErrors. + * + * @param ctxt a Relax-NG validation context + * @param err the error callback + * @param warn the warning callback + * @param ctx contextual data for the callbacks + */ +void +xmlRelaxNGSetParserErrors(xmlRelaxNGParserCtxt *ctxt, + xmlRelaxNGValidityErrorFunc err, + xmlRelaxNGValidityWarningFunc warn, void *ctx) +{ + if (ctxt == NULL) + return; + ctxt->error = err; + ctxt->warning = warn; + ctxt->serror = NULL; + ctxt->userData = ctx; +} + +/** + * Get the callback information used to handle errors for a validation context + * + * @param ctxt a Relax-NG validation context + * @param err the error callback result + * @param warn the warning callback result + * @param ctx contextual data for the callbacks result + * @returns -1 in case of failure, 0 otherwise. + */ +int +xmlRelaxNGGetParserErrors(xmlRelaxNGParserCtxt *ctxt, + xmlRelaxNGValidityErrorFunc * err, + xmlRelaxNGValidityWarningFunc * warn, void **ctx) +{ + if (ctxt == NULL) + return (-1); + if (err != NULL) + *err = ctxt->error; + if (warn != NULL) + *warn = ctxt->warning; + if (ctx != NULL) + *ctx = ctxt->userData; + return (0); +} + +/** + * Set the callback functions used to handle errors for a parsing context + * + * @param ctxt a Relax-NG parser context + * @param serror the error callback + * @param ctx contextual data for the callbacks + */ +void +xmlRelaxNGSetParserStructuredErrors(xmlRelaxNGParserCtxt *ctxt, + xmlStructuredErrorFunc serror, + void *ctx) +{ + if (ctxt == NULL) + return; + ctxt->serror = serror; + ctxt->error = NULL; + ctxt->warning = NULL; + ctxt->userData = ctx; +} + +/** + * Set the callback function used to load external resources. + * + * @param ctxt a Relax-NG parser context + * @param loader the callback + * @param vctxt contextual data for the callbacks + */ +void +xmlRelaxNGSetResourceLoader(xmlRelaxNGParserCtxt *ctxt, + xmlResourceLoader loader, void *vctxt) { + if (ctxt == NULL) + return; + ctxt->resourceLoader = loader; + ctxt->resourceCtxt = vctxt; +} + +#ifdef LIBXML_DEBUG_ENABLED + +/************************************************************************ + * * + * Dump back a compiled form * + * * + ************************************************************************/ +static void xmlRelaxNGDumpDefine(FILE * output, + xmlRelaxNGDefinePtr define); + +/** + * Dump a RelaxNG structure back + * + * @param output the file output + * @param defines a list of define structures + */ +static void +xmlRelaxNGDumpDefines(FILE * output, xmlRelaxNGDefinePtr defines) +{ + while (defines != NULL) { + xmlRelaxNGDumpDefine(output, defines); + defines = defines->next; + } +} + +/** + * Dump a RelaxNG structure back + * + * @param output the file output + * @param define a define structure + */ +static void +xmlRelaxNGDumpDefine(FILE * output, xmlRelaxNGDefinePtr define) +{ + if (define == NULL) + return; + switch (define->type) { + case XML_RELAXNG_EMPTY: + fprintf(output, "\n"); + break; + case XML_RELAXNG_NOT_ALLOWED: + fprintf(output, "\n"); + break; + case XML_RELAXNG_TEXT: + fprintf(output, "\n"); + break; + case XML_RELAXNG_ELEMENT: + fprintf(output, "\n"); + if (define->name != NULL) { + fprintf(output, "ns != NULL) + fprintf(output, " ns=\"%s\"", define->ns); + fprintf(output, ">%s\n", define->name); + } + xmlRelaxNGDumpDefines(output, define->attrs); + xmlRelaxNGDumpDefines(output, define->content); + fprintf(output, "\n"); + break; + case XML_RELAXNG_LIST: + fprintf(output, "\n"); + xmlRelaxNGDumpDefines(output, define->content); + fprintf(output, "\n"); + break; + case XML_RELAXNG_ONEORMORE: + fprintf(output, "\n"); + xmlRelaxNGDumpDefines(output, define->content); + fprintf(output, "\n"); + break; + case XML_RELAXNG_ZEROORMORE: + fprintf(output, "\n"); + xmlRelaxNGDumpDefines(output, define->content); + fprintf(output, "\n"); + break; + case XML_RELAXNG_CHOICE: + fprintf(output, "\n"); + xmlRelaxNGDumpDefines(output, define->content); + fprintf(output, "\n"); + break; + case XML_RELAXNG_GROUP: + fprintf(output, "\n"); + xmlRelaxNGDumpDefines(output, define->content); + fprintf(output, "\n"); + break; + case XML_RELAXNG_INTERLEAVE: + fprintf(output, "\n"); + xmlRelaxNGDumpDefines(output, define->content); + fprintf(output, "\n"); + break; + case XML_RELAXNG_OPTIONAL: + fprintf(output, "\n"); + xmlRelaxNGDumpDefines(output, define->content); + fprintf(output, "\n"); + break; + case XML_RELAXNG_ATTRIBUTE: + fprintf(output, "\n"); + xmlRelaxNGDumpDefines(output, define->content); + fprintf(output, "\n"); + break; + case XML_RELAXNG_DEF: + fprintf(output, "name != NULL) + fprintf(output, " name=\"%s\"", define->name); + fprintf(output, ">\n"); + xmlRelaxNGDumpDefines(output, define->content); + fprintf(output, "\n"); + break; + case XML_RELAXNG_REF: + fprintf(output, "name != NULL) + fprintf(output, " name=\"%s\"", define->name); + fprintf(output, ">\n"); + xmlRelaxNGDumpDefines(output, define->content); + fprintf(output, "
    \n"); + break; + case XML_RELAXNG_PARENTREF: + fprintf(output, "name != NULL) + fprintf(output, " name=\"%s\"", define->name); + fprintf(output, ">\n"); + xmlRelaxNGDumpDefines(output, define->content); + fprintf(output, "\n"); + break; + case XML_RELAXNG_EXTERNALREF: + fprintf(output, ""); + xmlRelaxNGDumpDefines(output, define->content); + fprintf(output, "\n"); + break; + case XML_RELAXNG_DATATYPE: + case XML_RELAXNG_VALUE: + /* TODO */ + break; + case XML_RELAXNG_START: + case XML_RELAXNG_EXCEPT: + case XML_RELAXNG_PARAM: + /* TODO */ + break; + case XML_RELAXNG_NOOP: + xmlRelaxNGDumpDefines(output, define->content); + break; + } +} + +/** + * Dump a RelaxNG structure back + * + * @param output the file output + * @param grammar a grammar structure + * @param top is this a top grammar + */ +static void +xmlRelaxNGDumpGrammar(FILE * output, xmlRelaxNGGrammarPtr grammar, int top) +{ + if (grammar == NULL) + return; + + fprintf(output, "combine) { + case XML_RELAXNG_COMBINE_UNDEFINED: + break; + case XML_RELAXNG_COMBINE_CHOICE: + fprintf(output, " combine=\"choice\""); + break; + case XML_RELAXNG_COMBINE_INTERLEAVE: + fprintf(output, " combine=\"interleave\""); + break; + default: + fprintf(output, " "); + } + fprintf(output, ">\n"); + if (grammar->start == NULL) { + fprintf(output, " "); + } else { + fprintf(output, "\n"); + xmlRelaxNGDumpDefine(output, grammar->start); + fprintf(output, "\n"); + } + /* TODO ? Dump the defines ? */ + fprintf(output, "\n"); +} + +/** + * Dump a RelaxNG structure back + * + * @param output the file output + * @param schema a schema structure + */ +void +xmlRelaxNGDump(FILE * output, xmlRelaxNG *schema) +{ + if (output == NULL) + return; + if (schema == NULL) { + fprintf(output, "RelaxNG empty or failed to compile\n"); + return; + } + fprintf(output, "RelaxNG: "); + if (schema->doc == NULL) { + fprintf(output, "no document\n"); + } else if (schema->doc->URL != NULL) { + fprintf(output, "%s\n", schema->doc->URL); + } else { + fprintf(output, "\n"); + } + if (schema->topgrammar == NULL) { + fprintf(output, "RelaxNG has no top grammar\n"); + return; + } + xmlRelaxNGDumpGrammar(output, schema->topgrammar, 1); +} +#endif /* LIBXML_DEBUG_ENABLED */ + +#ifdef LIBXML_OUTPUT_ENABLED +/** + * Dump the transformed RelaxNG tree. + * + * @param output the file output + * @param schema a schema structure + */ +void +xmlRelaxNGDumpTree(FILE * output, xmlRelaxNG *schema) +{ + if (output == NULL) + return; + if (schema == NULL) { + fprintf(output, "RelaxNG empty or failed to compile\n"); + return; + } + if (schema->doc == NULL) { + fprintf(output, "no document\n"); + } else { + xmlDocDump(output, schema->doc); + } +} +#endif /* LIBXML_OUTPUT_ENABLED */ + +/************************************************************************ + * * + * Validation of compiled content * + * * + ************************************************************************/ +static int xmlRelaxNGValidateDefinition(xmlRelaxNGValidCtxtPtr ctxt, + xmlRelaxNGDefinePtr define); + +/** + * Handle the callback and if needed validate the element children. + * + * @param exec the regular expression instance + * @param token the token which matched + * @param transdata callback data, the define for the subelement if available + * @param inputdata callback data, the Relax NG validation context + */ +static void +xmlRelaxNGValidateCompiledCallback(xmlRegExecCtxtPtr exec ATTRIBUTE_UNUSED, + const xmlChar * token, + void *transdata, void *inputdata) +{ + xmlRelaxNGValidCtxtPtr ctxt = (xmlRelaxNGValidCtxtPtr) inputdata; + xmlRelaxNGDefinePtr define = (xmlRelaxNGDefinePtr) transdata; + int ret; + + if (ctxt == NULL) { + xmlRngVErr(ctxt, NULL, XML_ERR_INTERNAL_ERROR, + "callback on %s missing context\n", token, NULL); + return; + } + if (define == NULL) { + if (token[0] == '#') + return; + xmlRngVErr(ctxt, NULL, XML_ERR_INTERNAL_ERROR, + "callback on %s missing define\n", token, NULL); + if ((ctxt != NULL) && (ctxt->errNo == XML_RELAXNG_OK)) + ctxt->errNo = XML_RELAXNG_ERR_INTERNAL; + return; + } + if (define->type != XML_RELAXNG_ELEMENT) { + xmlRngVErr(ctxt, NULL, XML_ERR_INTERNAL_ERROR, + "callback on %s define is not element\n", token, NULL); + if (ctxt->errNo == XML_RELAXNG_OK) + ctxt->errNo = XML_RELAXNG_ERR_INTERNAL; + return; + } + ret = xmlRelaxNGValidateDefinition(ctxt, define); + if (ret != 0) + ctxt->perr = ret; +} + +/** + * Validate the content model of an element or start using the regexp + * + * @param ctxt the RelaxNG validation context + * @param regexp the regular expression as compiled + * @param content list of children to test against the regexp + * @returns 0 in case of success, -1 in case of error. + */ +static int +xmlRelaxNGValidateCompiledContent(xmlRelaxNGValidCtxtPtr ctxt, + xmlRegexpPtr regexp, xmlNodePtr content) +{ + xmlRegExecCtxtPtr exec; + xmlNodePtr cur; + int ret = 0; + int oldperr; + + if ((ctxt == NULL) || (regexp == NULL)) + return (-1); + oldperr = ctxt->perr; + exec = xmlRegNewExecCtxt(regexp, + xmlRelaxNGValidateCompiledCallback, ctxt); + ctxt->perr = 0; + cur = content; + while (cur != NULL) { + ctxt->state->seq = cur; + switch (cur->type) { + case XML_TEXT_NODE: + case XML_CDATA_SECTION_NODE: + if (xmlIsBlankNode(cur)) + break; + ret = xmlRegExecPushString(exec, BAD_CAST "#text", ctxt); + if (ret < 0) { + VALID_ERR2(XML_RELAXNG_ERR_TEXTWRONG, + cur->parent->name); + } + break; + case XML_ELEMENT_NODE: + if (cur->ns != NULL) { + ret = xmlRegExecPushString2(exec, cur->name, + cur->ns->href, ctxt); + } else { + ret = xmlRegExecPushString(exec, cur->name, ctxt); + } + if (ret < 0) { + VALID_ERR2(XML_RELAXNG_ERR_ELEMWRONG, cur->name); + } + break; + default: + break; + } + if (ret < 0) + break; + /* + * Switch to next element + */ + cur = cur->next; + } + ret = xmlRegExecPushString(exec, NULL, NULL); + if (ret == 1) { + ret = 0; + ctxt->state->seq = NULL; + } else if (ret == 0) { + /* + * TODO: get some of the names needed to exit the current state of exec + */ + VALID_ERR2(XML_RELAXNG_ERR_NOELEM, BAD_CAST ""); + ret = -1; + if ((ctxt->flags & FLAGS_IGNORABLE) == 0) + xmlRelaxNGDumpValidError(ctxt); + } else { + ret = -1; + } + xmlRegFreeExecCtxt(exec); + /* + * There might be content model errors outside of the pure + * regexp validation, e.g. for attribute values. + */ + if ((ret == 0) && (ctxt->perr != 0)) { + ret = ctxt->perr; + } + ctxt->perr = oldperr; + return (ret); +} + +/************************************************************************ + * * + * Progressive validation of when possible * + * * + ************************************************************************/ +static int xmlRelaxNGValidateAttributeList(xmlRelaxNGValidCtxtPtr ctxt, + xmlRelaxNGDefinePtr defines); +static int xmlRelaxNGValidateElementEnd(xmlRelaxNGValidCtxtPtr ctxt, + int dolog); +static void xmlRelaxNGLogBestError(xmlRelaxNGValidCtxtPtr ctxt); + +/** + * Push a new regexp for the current node content model on the stack + * + * @param ctxt the validation context + * @param exec the regexp runtime for the new content model + * @returns 0 in case of success and -1 in case of error. + */ +static int +xmlRelaxNGElemPush(xmlRelaxNGValidCtxtPtr ctxt, xmlRegExecCtxtPtr exec) +{ + if (ctxt->elemTab == NULL) { + ctxt->elemMax = 10; + ctxt->elemTab = (xmlRegExecCtxtPtr *) xmlMalloc(ctxt->elemMax * + sizeof + (xmlRegExecCtxtPtr)); + if (ctxt->elemTab == NULL) { + xmlRngVErrMemory(ctxt); + return (-1); + } + } + if (ctxt->elemNr >= ctxt->elemMax) { + xmlRegExecCtxtPtr *tmp; + + tmp = (xmlRegExecCtxtPtr *) xmlGrowArray(ctxt->elemTab, + sizeof(xmlRegExecCtxtPtr), &ctxt->elemMax, + 10, XML_MAX_ITEMS); + if (tmp == NULL) { + xmlRngVErrMemory(ctxt); + return (-1); + } + ctxt->elemTab = tmp; + } + ctxt->elemTab[ctxt->elemNr++] = exec; + ctxt->elem = exec; + return (0); +} + +/** + * Pop the regexp of the current node content model from the stack + * + * @param ctxt the validation context + * @returns the exec or NULL if empty + */ +static xmlRegExecCtxtPtr +xmlRelaxNGElemPop(xmlRelaxNGValidCtxtPtr ctxt) +{ + xmlRegExecCtxtPtr ret; + + if (ctxt->elemNr <= 0) + return (NULL); + ctxt->elemNr--; + ret = ctxt->elemTab[ctxt->elemNr]; + ctxt->elemTab[ctxt->elemNr] = NULL; + if (ctxt->elemNr > 0) + ctxt->elem = ctxt->elemTab[ctxt->elemNr - 1]; + else + ctxt->elem = NULL; + return (ret); +} + +/** + * Handle the callback and if needed validate the element children. + * some of the in/out information are passed via the context in `inputdata`. + * + * @param exec the regular expression instance + * @param token the token which matched + * @param transdata callback data, the define for the subelement if available + * @param inputdata callback data, the Relax NG validation context + */ +static void +xmlRelaxNGValidateProgressiveCallback(xmlRegExecCtxtPtr exec + ATTRIBUTE_UNUSED, + const xmlChar * token, + void *transdata, void *inputdata) +{ + xmlRelaxNGValidCtxtPtr ctxt = (xmlRelaxNGValidCtxtPtr) inputdata; + xmlRelaxNGDefinePtr define = (xmlRelaxNGDefinePtr) transdata; + xmlRelaxNGValidStatePtr state, oldstate; + xmlNodePtr node; + int ret = 0, oldflags; + + if (ctxt == NULL) { + xmlRngVErr(ctxt, NULL, XML_ERR_INTERNAL_ERROR, + "callback on %s missing context\n", token, NULL); + return; + } + node = ctxt->pnode; + ctxt->pstate = 1; + if (define == NULL) { + if (token[0] == '#') + return; + xmlRngVErr(ctxt, NULL, XML_ERR_INTERNAL_ERROR, + "callback on %s missing define\n", token, NULL); + if ((ctxt != NULL) && (ctxt->errNo == XML_RELAXNG_OK)) + ctxt->errNo = XML_RELAXNG_ERR_INTERNAL; + ctxt->pstate = -1; + return; + } + if (define->type != XML_RELAXNG_ELEMENT) { + xmlRngVErr(ctxt, NULL, XML_ERR_INTERNAL_ERROR, + "callback on %s define is not element\n", token, NULL); + if (ctxt->errNo == XML_RELAXNG_OK) + ctxt->errNo = XML_RELAXNG_ERR_INTERNAL; + ctxt->pstate = -1; + return; + } + if (node->type != XML_ELEMENT_NODE) { + VALID_ERR(XML_RELAXNG_ERR_NOTELEM); + if ((ctxt->flags & FLAGS_IGNORABLE) == 0) + xmlRelaxNGDumpValidError(ctxt); + ctxt->pstate = -1; + return; + } + if (define->contModel == NULL) { + /* + * this node cannot be validated in a streamable fashion + */ + ctxt->pstate = 0; + ctxt->pdef = define; + return; + } + exec = xmlRegNewExecCtxt(define->contModel, + xmlRelaxNGValidateProgressiveCallback, ctxt); + if (exec == NULL) { + ctxt->pstate = -1; + return; + } + xmlRelaxNGElemPush(ctxt, exec); + + /* + * Validate the attributes part of the content. + */ + state = xmlRelaxNGNewValidState(ctxt, node); + if (state == NULL) { + ctxt->pstate = -1; + return; + } + oldstate = ctxt->state; + ctxt->state = state; + if (define->attrs != NULL) { + ret = xmlRelaxNGValidateAttributeList(ctxt, define->attrs); + if (ret != 0) { + ctxt->pstate = -1; + VALID_ERR2(XML_RELAXNG_ERR_ATTRVALID, node->name); + } + } + if (ctxt->state != NULL) { + ctxt->state->seq = NULL; + ret = xmlRelaxNGValidateElementEnd(ctxt, 1); + if (ret != 0) { + ctxt->pstate = -1; + } + xmlRelaxNGFreeValidState(ctxt, ctxt->state); + } else if (ctxt->states != NULL) { + int tmp = -1, i; + + oldflags = ctxt->flags; + + for (i = 0; i < ctxt->states->nbState; i++) { + state = ctxt->states->tabState[i]; + ctxt->state = state; + ctxt->state->seq = NULL; + + if (xmlRelaxNGValidateElementEnd(ctxt, 0) == 0) { + tmp = 0; + break; + } + } + if (tmp != 0) { + /* + * validation error, log the message for the "best" one + */ + ctxt->flags |= FLAGS_IGNORABLE; + xmlRelaxNGLogBestError(ctxt); + } + for (i = 0; i < ctxt->states->nbState; i++) { + xmlRelaxNGFreeValidState(ctxt, ctxt->states->tabState[i]); + } + xmlRelaxNGFreeStates(ctxt, ctxt->states); + ctxt->states = NULL; + if ((ret == 0) && (tmp == -1)) + ctxt->pstate = -1; + ctxt->flags = oldflags; + } + if (ctxt->pstate == -1) { + if ((ctxt->flags & FLAGS_IGNORABLE) == 0) { + xmlRelaxNGDumpValidError(ctxt); + } + } + ctxt->state = oldstate; +} + +/** + * Push a new element start on the RelaxNG validation stack. + * + * @param ctxt the validation context + * @param doc a document instance + * @param elem an element instance + * @returns 1 if no validation problem was found or 0 if validating the + * element requires a full node, and -1 in case of error. + */ +int +xmlRelaxNGValidatePushElement(xmlRelaxNGValidCtxt *ctxt, + xmlDoc *doc ATTRIBUTE_UNUSED, + xmlNode *elem) +{ + int ret = 1; + xmlNodePtr prevPNode; + int prevPState; + + if ((ctxt == NULL) || (elem == NULL)) + return (-1); + + if (ctxt->elem == 0) { + xmlRelaxNGPtr schema; + xmlRelaxNGGrammarPtr grammar; + xmlRegExecCtxtPtr exec; + xmlRelaxNGDefinePtr define; + + schema = ctxt->schema; + if (schema == NULL) { + VALID_ERR(XML_RELAXNG_ERR_NOGRAMMAR); + return (-1); + } + grammar = schema->topgrammar; + if ((grammar == NULL) || (grammar->start == NULL)) { + VALID_ERR(XML_RELAXNG_ERR_NOGRAMMAR); + return (-1); + } + define = grammar->start; + if (define->contModel == NULL) { + ctxt->pdef = define; + return (0); + } + exec = xmlRegNewExecCtxt(define->contModel, + xmlRelaxNGValidateProgressiveCallback, + ctxt); + if (exec == NULL) { + return (-1); + } + xmlRelaxNGElemPush(ctxt, exec); + } + prevPNode = ctxt->pnode; + prevPState = ctxt->pstate; + + ctxt->pnode = elem; + ctxt->pstate = 0; + if (elem->ns != NULL) { + ret = + xmlRegExecPushString2(ctxt->elem, elem->name, elem->ns->href, + ctxt); + } else { + ret = xmlRegExecPushString(ctxt->elem, elem->name, ctxt); + } + if (ret < 0) { + VALID_ERR2(XML_RELAXNG_ERR_ELEMWRONG, elem->name); + goto Recovery; + } else { + if (ctxt->pstate == 0) + ret = 0; + else if (ctxt->pstate < 0) { + ret = -1; + goto Recovery; + } + else + ret = 1; + } + return (ret); + +Recovery: + ctxt->pnode = prevPNode; + ctxt->pstate = prevPState; + return (ret); +} + +/** + * check the CData parsed for validation in the current stack + * + * @param ctxt the RelaxNG validation context + * @param data some character data read + * @param len the length of the data + * @returns 1 if no validation problem was found or -1 otherwise + */ +int +xmlRelaxNGValidatePushCData(xmlRelaxNGValidCtxt *ctxt, + const xmlChar * data, int len ATTRIBUTE_UNUSED) +{ + int ret = 1; + + if ((ctxt == NULL) || (ctxt->elem == NULL) || (data == NULL)) + return (-1); + + while (*data != 0) { + if (!IS_BLANK_CH(*data)) + break; + data++; + } + if (*data == 0) + return (1); + + ret = xmlRegExecPushString(ctxt->elem, BAD_CAST "#text", ctxt); + if (ret < 0) { + VALID_ERR2(XML_RELAXNG_ERR_TEXTWRONG, BAD_CAST " TODO "); + + return (-1); + } + return (1); +} + +/** + * Pop the element end from the RelaxNG validation stack. + * + * @param ctxt the RelaxNG validation context + * @param doc a document instance + * @param elem an element instance + * @returns 1 if no validation problem was found or 0 otherwise + */ +int +xmlRelaxNGValidatePopElement(xmlRelaxNGValidCtxt *ctxt, + xmlDoc *doc ATTRIBUTE_UNUSED, + xmlNode *elem) +{ + int ret; + xmlRegExecCtxtPtr exec; + + if ((ctxt == NULL) || (ctxt->elem == NULL) || (elem == NULL)) + return (-1); + /* + * verify that we reached a terminal state of the content model. + */ + exec = xmlRelaxNGElemPop(ctxt); + ret = xmlRegExecPushString(exec, NULL, NULL); + if (ret == 0) { + /* + * TODO: get some of the names needed to exit the current state of exec + */ + VALID_ERR2(XML_RELAXNG_ERR_NOELEM, BAD_CAST ""); + ret = -1; + } else if (ret < 0) { + ret = -1; + } else { + ret = 1; + } + xmlRegFreeExecCtxt(exec); + return (ret); +} + +/** + * Validate a full subtree when #xmlRelaxNGValidatePushElement returned + * 0 and the content of the node has been expanded. + * + * @param ctxt the validation context + * @param doc a document instance + * @param elem an element instance + * @returns 1 if no validation problem was found or -1 in case of error. + */ +int +xmlRelaxNGValidateFullElement(xmlRelaxNGValidCtxt *ctxt, + xmlDoc *doc ATTRIBUTE_UNUSED, + xmlNode *elem) +{ + int ret; + xmlRelaxNGValidStatePtr state; + + if ((ctxt == NULL) || (ctxt->pdef == NULL) || (elem == NULL)) + return (-1); + state = xmlRelaxNGNewValidState(ctxt, elem->parent); + if (state == NULL) { + return (-1); + } + state->seq = elem; + ctxt->state = state; + ctxt->errNo = XML_RELAXNG_OK; + ret = xmlRelaxNGValidateDefinition(ctxt, ctxt->pdef); + if ((ret != 0) || (ctxt->errNo != XML_RELAXNG_OK)) + ret = -1; + else + ret = 1; + xmlRelaxNGFreeValidState(ctxt, ctxt->state); + ctxt->state = NULL; + return (ret); +} + +/** + * Clear errors in the context, allowing to recover + * from errors during streaming validation and continue it + * + * @remarks it doesn's reset the last internal libxml2 error + * @param ctxt the validation context + */ +void +xmlRelaxNGValidCtxtClearErrors(xmlRelaxNGValidCtxt* ctxt) +{ + xmlRegExecClearErrors(ctxt->elem); + xmlRelaxNGPopErrors(ctxt, 0); + ctxt->err = NULL; + ctxt->nbErrors = 0; + ctxt->errNo = XML_RELAXNG_OK; +} + +/************************************************************************ + * * + * Generic interpreted validation implementation * + * * + ************************************************************************/ +static int xmlRelaxNGValidateValue(xmlRelaxNGValidCtxtPtr ctxt, + xmlRelaxNGDefinePtr define); + +/** + * Skip ignorable nodes in that context + * + * @param ctxt a schema validation context + * @param node the top node. + * @returns the new sibling or NULL in case of error. + */ +static xmlNodePtr +xmlRelaxNGSkipIgnored(xmlRelaxNGValidCtxtPtr ctxt ATTRIBUTE_UNUSED, + xmlNodePtr node) +{ + /* + * TODO complete and handle entities + */ + while ((node != NULL) && + ((node->type == XML_COMMENT_NODE) || + (node->type == XML_PI_NODE) || + (node->type == XML_XINCLUDE_START) || + (node->type == XML_XINCLUDE_END) || + (((node->type == XML_TEXT_NODE) || + (node->type == XML_CDATA_SECTION_NODE)) && + ((ctxt->flags & FLAGS_MIXED_CONTENT) || + (IS_BLANK_NODE(node)))))) { + node = node->next; + } + return (node); +} + +/** + * Implements the normalizeWhiteSpace( s ) function from + * section 6.2.9 of the spec + * + * @param ctxt a schema validation context + * @param str the string to normalize + * @returns the new string or NULL in case of error. + */ +static xmlChar * +xmlRelaxNGNormalize(xmlRelaxNGValidCtxtPtr ctxt, const xmlChar * str) +{ + xmlChar *ret, *p; + const xmlChar *tmp; + int len; + + if (str == NULL) + return (NULL); + tmp = str; + while (*tmp != 0) + tmp++; + len = tmp - str; + + ret = xmlMalloc(len + 1); + if (ret == NULL) { + xmlRngVErrMemory(ctxt); + return (NULL); + } + p = ret; + while (IS_BLANK_CH(*str)) + str++; + while (*str != 0) { + if (IS_BLANK_CH(*str)) { + while (IS_BLANK_CH(*str)) + str++; + if (*str == 0) + break; + *p++ = ' '; + } else + *p++ = *str++; + } + *p = 0; + return (ret); +} + +/** + * Validate the given value against the datatype + * + * @param ctxt a Relax-NG validation context + * @param value the string value + * @param define the datatype definition + * @param node the node + * @returns 0 if the validation succeeded or an error code. + */ +static int +xmlRelaxNGValidateDatatype(xmlRelaxNGValidCtxtPtr ctxt, + const xmlChar * value, + xmlRelaxNGDefinePtr define, xmlNodePtr node) +{ + int ret, tmp; + xmlRelaxNGTypeLibraryPtr lib; + void *result = NULL; + xmlRelaxNGDefinePtr cur; + + if ((define == NULL) || (define->data == NULL)) { + return (-1); + } + lib = (xmlRelaxNGTypeLibraryPtr) define->data; + if (lib->check != NULL) { + if ((define->attrs != NULL) && + (define->attrs->type == XML_RELAXNG_PARAM)) { + ret = + lib->check(lib->data, define->name, value, &result, node); + } else { + ret = lib->check(lib->data, define->name, value, NULL, node); + } + } else + ret = -1; + if (ret < 0) { + VALID_ERR2(XML_RELAXNG_ERR_TYPE, define->name); + if ((result != NULL) && (lib != NULL) && (lib->freef != NULL)) + lib->freef(lib->data, result); + return (-1); + } else if (ret == 1) { + ret = 0; + } else if (ret == 2) { + VALID_ERR2P(XML_RELAXNG_ERR_DUPID, value); + } else { + VALID_ERR3P(XML_RELAXNG_ERR_TYPEVAL, define->name, value); + ret = -1; + } + cur = define->attrs; + while ((ret == 0) && (cur != NULL) && (cur->type == XML_RELAXNG_PARAM)) { + if (lib->facet != NULL) { + tmp = lib->facet(lib->data, define->name, cur->name, + cur->value, value, result); + if (tmp != 0) + ret = -1; + } + cur = cur->next; + } + if ((ret == 0) && (define->content != NULL)) { + const xmlChar *oldvalue, *oldendvalue; + + oldvalue = ctxt->state->value; + oldendvalue = ctxt->state->endvalue; + ctxt->state->value = (xmlChar *) value; + ctxt->state->endvalue = NULL; + ret = xmlRelaxNGValidateValue(ctxt, define->content); + ctxt->state->value = (xmlChar *) oldvalue; + ctxt->state->endvalue = (xmlChar *) oldendvalue; + } + if ((result != NULL) && (lib != NULL) && (lib->freef != NULL)) + lib->freef(lib->data, result); + return (ret); +} + +/** + * Skip to the next value when validating within a list + * + * @param ctxt a Relax-NG validation context + * @returns 0 if the operation succeeded or an error code. + */ +static int +xmlRelaxNGNextValue(xmlRelaxNGValidCtxtPtr ctxt) +{ + xmlChar *cur; + + cur = ctxt->state->value; + if ((cur == NULL) || (ctxt->state->endvalue == NULL)) { + ctxt->state->value = NULL; + ctxt->state->endvalue = NULL; + return (0); + } + while (*cur != 0) + cur++; + while ((cur != ctxt->state->endvalue) && (*cur == 0)) + cur++; + if (cur == ctxt->state->endvalue) + ctxt->state->value = NULL; + else + ctxt->state->value = cur; + return (0); +} + +/** + * Validate the given set of definitions for the current value + * + * @param ctxt a Relax-NG validation context + * @param defines the list of definitions to verify + * @returns 0 if the validation succeeded or an error code. + */ +static int +xmlRelaxNGValidateValueList(xmlRelaxNGValidCtxtPtr ctxt, + xmlRelaxNGDefinePtr defines) +{ + int ret = 0; + + while (defines != NULL) { + ret = xmlRelaxNGValidateValue(ctxt, defines); + if (ret != 0) + break; + defines = defines->next; + } + return (ret); +} + +/** + * Validate the given definition for the current value + * + * @param ctxt a Relax-NG validation context + * @param define the definition to verify + * @returns 0 if the validation succeeded or an error code. + */ +static int +xmlRelaxNGValidateValue(xmlRelaxNGValidCtxtPtr ctxt, + xmlRelaxNGDefinePtr define) +{ + int ret = 0, oldflags; + xmlChar *value; + + value = ctxt->state->value; + switch (define->type) { + case XML_RELAXNG_EMPTY:{ + if ((value != NULL) && (value[0] != 0)) { + int idx = 0; + + while (IS_BLANK_CH(value[idx])) + idx++; + if (value[idx] != 0) + ret = -1; + } + break; + } + case XML_RELAXNG_TEXT: + break; + case XML_RELAXNG_VALUE:{ + if (!xmlStrEqual(value, define->value)) { + if (define->name != NULL) { + xmlRelaxNGTypeLibraryPtr lib; + + lib = (xmlRelaxNGTypeLibraryPtr) define->data; + if ((lib != NULL) && (lib->comp != NULL)) { + ret = lib->comp(lib->data, define->name, + define->value, define->node, + (void *) define->attrs, + value, ctxt->state->node); + } else + ret = -1; + if (ret < 0) { + VALID_ERR2(XML_RELAXNG_ERR_TYPECMP, + define->name); + return (-1); + } else if (ret == 1) { + ret = 0; + } else { + ret = -1; + } + } else { + xmlChar *nval, *nvalue; + + /* + * TODO: trivial optimizations are possible by + * computing at compile-time + */ + nval = xmlRelaxNGNormalize(ctxt, define->value); + nvalue = xmlRelaxNGNormalize(ctxt, value); + + if ((nval == NULL) || (nvalue == NULL) || + (!xmlStrEqual(nval, nvalue))) + ret = -1; + if (nval != NULL) + xmlFree(nval); + if (nvalue != NULL) + xmlFree(nvalue); + } + } + if (ret == 0) + xmlRelaxNGNextValue(ctxt); + break; + } + case XML_RELAXNG_DATATYPE:{ + ret = xmlRelaxNGValidateDatatype(ctxt, value, define, + ctxt->state->seq); + if (ret == 0) + xmlRelaxNGNextValue(ctxt); + + break; + } + case XML_RELAXNG_CHOICE:{ + xmlRelaxNGDefinePtr list = define->content; + xmlChar *oldvalue; + + oldflags = ctxt->flags; + ctxt->flags |= FLAGS_IGNORABLE; + + oldvalue = ctxt->state->value; + while (list != NULL) { + ret = xmlRelaxNGValidateValue(ctxt, list); + if (ret == 0) { + break; + } + ctxt->state->value = oldvalue; + list = list->next; + } + ctxt->flags = oldflags; + if (ret != 0) { + if ((ctxt->flags & FLAGS_IGNORABLE) == 0) + xmlRelaxNGDumpValidError(ctxt); + } else { + if (ctxt->errNr > 0) + xmlRelaxNGPopErrors(ctxt, 0); + } + break; + } + case XML_RELAXNG_LIST:{ + xmlRelaxNGDefinePtr list = define->content; + xmlChar *oldvalue, *oldend, *val, *cur; + + oldvalue = ctxt->state->value; + oldend = ctxt->state->endvalue; + + val = xmlStrdup(oldvalue); + if (val == NULL) { + val = xmlStrdup(BAD_CAST ""); + } + if (val == NULL) { + VALID_ERR(XML_RELAXNG_ERR_NOSTATE); + return (-1); + } + cur = val; + while (*cur != 0) { + if (IS_BLANK_CH(*cur)) { + *cur = 0; + cur++; + while (IS_BLANK_CH(*cur)) + *cur++ = 0; + } else + cur++; + } + ctxt->state->endvalue = cur; + cur = val; + while ((*cur == 0) && (cur != ctxt->state->endvalue)) + cur++; + + ctxt->state->value = cur; + + while (list != NULL) { + if (ctxt->state->value == ctxt->state->endvalue) + ctxt->state->value = NULL; + ret = xmlRelaxNGValidateValue(ctxt, list); + if (ret != 0) { + break; + } + list = list->next; + } + + if ((ret == 0) && (ctxt->state->value != NULL) && + (ctxt->state->value != ctxt->state->endvalue)) { + VALID_ERR2P(XML_RELAXNG_ERR_LISTEXTRA, + ctxt->state->value); + ret = -1; + } + xmlFree(val); + ctxt->state->value = oldvalue; + ctxt->state->endvalue = oldend; + break; + } + case XML_RELAXNG_ONEORMORE: + ret = xmlRelaxNGValidateValueList(ctxt, define->content); + if (ret != 0) { + break; + } + /* Falls through. */ + case XML_RELAXNG_ZEROORMORE:{ + xmlChar *cur, *temp; + + if ((ctxt->state->value == NULL) || + (*ctxt->state->value == 0)) { + ret = 0; + break; + } + oldflags = ctxt->flags; + ctxt->flags |= FLAGS_IGNORABLE; + cur = ctxt->state->value; + temp = NULL; + while ((cur != NULL) && (cur != ctxt->state->endvalue) && + (temp != cur)) { + temp = cur; + ret = + xmlRelaxNGValidateValueList(ctxt, define->content); + if (ret != 0) { + ctxt->state->value = temp; + ret = 0; + break; + } + cur = ctxt->state->value; + } + ctxt->flags = oldflags; + if (ctxt->errNr > 0) + xmlRelaxNGPopErrors(ctxt, 0); + break; + } + case XML_RELAXNG_OPTIONAL:{ + xmlChar *temp; + + if ((ctxt->state->value == NULL) || + (*ctxt->state->value == 0)) { + ret = 0; + break; + } + oldflags = ctxt->flags; + ctxt->flags |= FLAGS_IGNORABLE; + temp = ctxt->state->value; + ret = xmlRelaxNGValidateValue(ctxt, define->content); + ctxt->flags = oldflags; + if (ret != 0) { + ctxt->state->value = temp; + if (ctxt->errNr > 0) + xmlRelaxNGPopErrors(ctxt, 0); + ret = 0; + break; + } + if (ctxt->errNr > 0) + xmlRelaxNGPopErrors(ctxt, 0); + break; + } + case XML_RELAXNG_EXCEPT:{ + xmlRelaxNGDefinePtr list; + + list = define->content; + while (list != NULL) { + ret = xmlRelaxNGValidateValue(ctxt, list); + if (ret == 0) { + ret = -1; + break; + } else + ret = 0; + list = list->next; + } + break; + } + case XML_RELAXNG_DEF: + case XML_RELAXNG_GROUP:{ + xmlRelaxNGDefinePtr list; + + list = define->content; + while (list != NULL) { + ret = xmlRelaxNGValidateValue(ctxt, list); + if (ret != 0) { + ret = -1; + break; + } else + ret = 0; + list = list->next; + } + break; + } + case XML_RELAXNG_REF: + case XML_RELAXNG_PARENTREF: + if (define->content == NULL) { + VALID_ERR(XML_RELAXNG_ERR_NODEFINE); + ret = -1; + } else { + ret = xmlRelaxNGValidateValue(ctxt, define->content); + } + break; + default: + /* TODO */ + ret = -1; + } + return (ret); +} + +/** + * Validate the given definitions for the current value + * + * @param ctxt a Relax-NG validation context + * @param defines the list of definitions to verify + * @returns 0 if the validation succeeded or an error code. + */ +static int +xmlRelaxNGValidateValueContent(xmlRelaxNGValidCtxtPtr ctxt, + xmlRelaxNGDefinePtr defines) +{ + int ret = 0; + + while (defines != NULL) { + ret = xmlRelaxNGValidateValue(ctxt, defines); + if (ret != 0) + break; + defines = defines->next; + } + return (ret); +} + +/** + * Check if the attribute matches the definition nameClass + * + * @param ctxt a Relax-NG validation context + * @param define the definition to check + * @param prop the attribute + * @returns 1 if the attribute matches, 0 if no, or -1 in case of error + */ +static int +xmlRelaxNGAttributeMatch(xmlRelaxNGValidCtxtPtr ctxt, + xmlRelaxNGDefinePtr define, xmlAttrPtr prop) +{ + int ret; + + if (define->name != NULL) { + if (!xmlStrEqual(define->name, prop->name)) + return (0); + } + if (define->ns != NULL) { + if (define->ns[0] == 0) { + if (prop->ns != NULL) + return (0); + } else { + if ((prop->ns == NULL) || + (!xmlStrEqual(define->ns, prop->ns->href))) + return (0); + } + } + if (define->nameClass == NULL) + return (1); + define = define->nameClass; + if (define->type == XML_RELAXNG_EXCEPT) { + xmlRelaxNGDefinePtr list; + + list = define->content; + while (list != NULL) { + ret = xmlRelaxNGAttributeMatch(ctxt, list, prop); + if (ret == 1) + return (0); + if (ret < 0) + return (ret); + list = list->next; + } + } else if (define->type == XML_RELAXNG_CHOICE) { + xmlRelaxNGDefinePtr list; + + list = define->nameClass; + while (list != NULL) { + ret = xmlRelaxNGAttributeMatch(ctxt, list, prop); + if (ret == 1) + return (1); + if (ret < 0) + return (ret); + list = list->next; + } + return (0); + } else { + /* TODO */ + return (0); + } + return (1); +} + +/** + * Validate the given attribute definition for that node + * + * @param ctxt a Relax-NG validation context + * @param define the definition to verify + * @returns 0 if the validation succeeded or an error code. + */ +static int +xmlRelaxNGValidateAttribute(xmlRelaxNGValidCtxtPtr ctxt, + xmlRelaxNGDefinePtr define) +{ + int ret = 0, i; + xmlChar *value, *oldvalue; + xmlAttrPtr prop = NULL, tmp; + xmlNodePtr oldseq; + + if (ctxt->state->nbAttrLeft <= 0) + return (-1); + if (define->name != NULL) { + for (i = 0; i < ctxt->state->nbAttrs; i++) { + tmp = ctxt->state->attrs[i]; + if ((tmp != NULL) && (xmlStrEqual(define->name, tmp->name))) { + if ((((define->ns == NULL) || (define->ns[0] == 0)) && + (tmp->ns == NULL)) || + ((tmp->ns != NULL) && + (xmlStrEqual(define->ns, tmp->ns->href)))) { + prop = tmp; + break; + } + } + } + if (prop != NULL) { + value = xmlNodeListGetString(prop->doc, prop->children, 1); + oldvalue = ctxt->state->value; + oldseq = ctxt->state->seq; + ctxt->state->seq = (xmlNodePtr) prop; + ctxt->state->value = value; + ctxt->state->endvalue = NULL; + ret = xmlRelaxNGValidateValueContent(ctxt, define->content); + if (ctxt->state->value != NULL) + value = ctxt->state->value; + if (value != NULL) + xmlFree(value); + ctxt->state->value = oldvalue; + ctxt->state->seq = oldseq; + if (ret == 0) { + /* + * flag the attribute as processed + */ + ctxt->state->attrs[i] = NULL; + ctxt->state->nbAttrLeft--; + } + } else { + ret = -1; + } + } else { + for (i = 0; i < ctxt->state->nbAttrs; i++) { + tmp = ctxt->state->attrs[i]; + if ((tmp != NULL) && + (xmlRelaxNGAttributeMatch(ctxt, define, tmp) == 1)) { + prop = tmp; + break; + } + } + if (prop != NULL) { + value = xmlNodeListGetString(prop->doc, prop->children, 1); + oldvalue = ctxt->state->value; + oldseq = ctxt->state->seq; + ctxt->state->seq = (xmlNodePtr) prop; + ctxt->state->value = value; + ret = xmlRelaxNGValidateValueContent(ctxt, define->content); + if (ctxt->state->value != NULL) + value = ctxt->state->value; + if (value != NULL) + xmlFree(value); + ctxt->state->value = oldvalue; + ctxt->state->seq = oldseq; + if (ret == 0) { + /* + * flag the attribute as processed + */ + ctxt->state->attrs[i] = NULL; + ctxt->state->nbAttrLeft--; + } + } else { + ret = -1; + } + } + + return (ret); +} + +/** + * Validate the given node against the list of attribute definitions + * + * @param ctxt a Relax-NG validation context + * @param defines the list of definition to verify + * @returns 0 if the validation succeeded or an error code. + */ +static int +xmlRelaxNGValidateAttributeList(xmlRelaxNGValidCtxtPtr ctxt, + xmlRelaxNGDefinePtr defines) +{ + int ret = 0, res; + int needmore = 0; + xmlRelaxNGDefinePtr cur; + + cur = defines; + while (cur != NULL) { + if (cur->type == XML_RELAXNG_ATTRIBUTE) { + if (xmlRelaxNGValidateAttribute(ctxt, cur) != 0) + ret = -1; + } else + needmore = 1; + cur = cur->next; + } + if (!needmore) + return (ret); + cur = defines; + while (cur != NULL) { + if (cur->type != XML_RELAXNG_ATTRIBUTE) { + if ((ctxt->state != NULL) || (ctxt->states != NULL)) { + res = xmlRelaxNGValidateDefinition(ctxt, cur); + if (res < 0) + ret = -1; + } else { + VALID_ERR(XML_RELAXNG_ERR_NOSTATE); + return (-1); + } + if (res == -1) /* continues on -2 */ + break; + } + cur = cur->next; + } + + return (ret); +} + +/** + * Check if a node can be matched by one of the definitions + * + * @param node the node + * @param list a NULL terminated array of definitions + * @returns 1 if matches 0 otherwise + */ +static int +xmlRelaxNGNodeMatchesList(xmlNodePtr node, xmlRelaxNGDefinePtr * list) +{ + xmlRelaxNGDefinePtr cur; + int i = 0, tmp; + + if ((node == NULL) || (list == NULL)) + return (0); + + cur = list[i++]; + while (cur != NULL) { + if ((node->type == XML_ELEMENT_NODE) && + (cur->type == XML_RELAXNG_ELEMENT)) { + tmp = xmlRelaxNGElementMatch(NULL, cur, node); + if (tmp == 1) + return (1); + } else if (((node->type == XML_TEXT_NODE) || + (node->type == XML_CDATA_SECTION_NODE)) && + ((cur->type == XML_RELAXNG_DATATYPE) || + (cur->type == XML_RELAXNG_LIST) || + (cur->type == XML_RELAXNG_TEXT) || + (cur->type == XML_RELAXNG_VALUE))) { + return (1); + } + cur = list[i++]; + } + return (0); +} + +/** + * Validate an interleave definition for a node. + * + * @param ctxt a Relax-NG validation context + * @param define the definition to verify + * @returns 0 if the validation succeeded or an error code. + */ +static int +xmlRelaxNGValidateInterleave(xmlRelaxNGValidCtxtPtr ctxt, + xmlRelaxNGDefinePtr define) +{ + int ret = 0, i, nbgroups; + int errNr = ctxt->errNr; + int oldflags; + + xmlRelaxNGValidStatePtr oldstate; + xmlRelaxNGPartitionPtr partitions; + xmlRelaxNGInterleaveGroupPtr group = NULL; + xmlNodePtr cur, start, last = NULL, lastchg = NULL, lastelem; + xmlNodePtr *list = NULL, *lasts = NULL; + + if (define->data != NULL) { + partitions = (xmlRelaxNGPartitionPtr) define->data; + nbgroups = partitions->nbgroups; + } else { + VALID_ERR(XML_RELAXNG_ERR_INTERNODATA); + return (-1); + } + /* + * Optimizations for MIXED + */ + oldflags = ctxt->flags; + if (define->dflags & IS_MIXED) { + ctxt->flags |= FLAGS_MIXED_CONTENT; + if (nbgroups == 2) { + /* + * this is a pure case + */ + if (ctxt->state != NULL) + ctxt->state->seq = xmlRelaxNGSkipIgnored(ctxt, + ctxt->state->seq); + if (partitions->groups[0]->rule->type == XML_RELAXNG_TEXT) + ret = xmlRelaxNGValidateDefinition(ctxt, + partitions->groups[1]-> + rule); + else + ret = xmlRelaxNGValidateDefinition(ctxt, + partitions->groups[0]-> + rule); + if (ret == 0) { + if (ctxt->state != NULL) + ctxt->state->seq = xmlRelaxNGSkipIgnored(ctxt, + ctxt->state-> + seq); + } + ctxt->flags = oldflags; + return (ret); + } + } + + /* + * Build arrays to store the first and last node of the chain + * pertaining to each group + */ + list = (xmlNodePtr *) xmlMalloc(nbgroups * sizeof(xmlNodePtr)); + if (list == NULL) { + xmlRngVErrMemory(ctxt); + return (-1); + } + memset(list, 0, nbgroups * sizeof(xmlNodePtr)); + lasts = (xmlNodePtr *) xmlMalloc(nbgroups * sizeof(xmlNodePtr)); + if (lasts == NULL) { + xmlRngVErrMemory(ctxt); + return (-1); + } + memset(lasts, 0, nbgroups * sizeof(xmlNodePtr)); + + /* + * Walk the sequence of children finding the right group and + * sorting them in sequences. + */ + cur = ctxt->state->seq; + cur = xmlRelaxNGSkipIgnored(ctxt, cur); + start = cur; + while (cur != NULL) { + ctxt->state->seq = cur; + if ((partitions->triage != NULL) && + (partitions->flags & IS_DETERMINIST)) { + void *tmp = NULL; + + if ((cur->type == XML_TEXT_NODE) || + (cur->type == XML_CDATA_SECTION_NODE)) { + tmp = xmlHashLookup2(partitions->triage, BAD_CAST "#text", + NULL); + } else if (cur->type == XML_ELEMENT_NODE) { + if (cur->ns != NULL) { + tmp = xmlHashLookup2(partitions->triage, cur->name, + cur->ns->href); + if (tmp == NULL) + tmp = xmlHashLookup2(partitions->triage, + BAD_CAST "#any", + cur->ns->href); + } else + tmp = + xmlHashLookup2(partitions->triage, cur->name, + NULL); + if (tmp == NULL) + tmp = + xmlHashLookup2(partitions->triage, BAD_CAST "#any", + NULL); + } + + if (tmp == NULL) { + i = nbgroups; + } else { + i = XML_PTR_TO_INT(tmp) - 1; + if (partitions->flags & IS_NEEDCHECK) { + group = partitions->groups[i]; + if (!xmlRelaxNGNodeMatchesList(cur, group->defs)) + i = nbgroups; + } + } + } else { + for (i = 0; i < nbgroups; i++) { + group = partitions->groups[i]; + if (group == NULL) + continue; + if (xmlRelaxNGNodeMatchesList(cur, group->defs)) + break; + } + } + /* + * We break as soon as an element not matched is found + */ + if (i >= nbgroups) { + break; + } + if (lasts[i] != NULL) { + lasts[i]->next = cur; + lasts[i] = cur; + } else { + list[i] = cur; + lasts[i] = cur; + } + if (cur->next != NULL) + lastchg = cur->next; + else + lastchg = cur; + cur = xmlRelaxNGSkipIgnored(ctxt, cur->next); + } + if (ret != 0) { + VALID_ERR(XML_RELAXNG_ERR_INTERSEQ); + ret = -1; + goto done; + } + lastelem = cur; + oldstate = ctxt->state; + for (i = 0; i < nbgroups; i++) { + ctxt->state = xmlRelaxNGCopyValidState(ctxt, oldstate); + if (ctxt->state == NULL) { + ret = -1; + break; + } + group = partitions->groups[i]; + if (lasts[i] != NULL) { + last = lasts[i]->next; + lasts[i]->next = NULL; + } + ctxt->state->seq = list[i]; + ret = xmlRelaxNGValidateDefinition(ctxt, group->rule); + if (ret != 0) + break; + if (ctxt->state != NULL) { + cur = ctxt->state->seq; + cur = xmlRelaxNGSkipIgnored(ctxt, cur); + xmlRelaxNGFreeValidState(ctxt, oldstate); + oldstate = ctxt->state; + ctxt->state = NULL; + if (cur != NULL + /* there's a nasty violation of context-free unambiguities, + since in open-name-class context, interleave in the + production shall finish without caring about anything + else that is OK to follow in that case -- it would + otherwise get marked as "extra content" and would + hence fail the validation, hence this perhaps + dirty attempt to rectify such a situation */ + && (define->parent->type != XML_RELAXNG_DEF + || !xmlStrEqual(define->parent->name, + (const xmlChar *) "open-name-class"))) { + VALID_ERR2(XML_RELAXNG_ERR_INTEREXTRA, cur->name); + ret = -1; + ctxt->state = oldstate; + goto done; + } + } else if (ctxt->states != NULL) { + int j; + int found = 0; + int best = -1; + int lowattr = -1; + + /* + * PBM: what happen if there is attributes checks in the interleaves + */ + + for (j = 0; j < ctxt->states->nbState; j++) { + cur = ctxt->states->tabState[j]->seq; + cur = xmlRelaxNGSkipIgnored(ctxt, cur); + if (cur == NULL) { + if (found == 0) { + lowattr = ctxt->states->tabState[j]->nbAttrLeft; + best = j; + } + found = 1; + if (ctxt->states->tabState[j]->nbAttrLeft <= lowattr) { + /* try to keep the latest one to mach old heuristic */ + lowattr = ctxt->states->tabState[j]->nbAttrLeft; + best = j; + } + if (lowattr == 0) + break; + } else if (found == 0) { + if (lowattr == -1) { + lowattr = ctxt->states->tabState[j]->nbAttrLeft; + best = j; + } else + if (ctxt->states->tabState[j]->nbAttrLeft <= lowattr) { + /* try to keep the latest one to mach old heuristic */ + lowattr = ctxt->states->tabState[j]->nbAttrLeft; + best = j; + } + } + } + /* + * BIG PBM: here we pick only one restarting point :-( + */ + if (ctxt->states->nbState > 0) { + xmlRelaxNGFreeValidState(ctxt, oldstate); + if (best != -1) { + oldstate = ctxt->states->tabState[best]; + ctxt->states->tabState[best] = NULL; + } else { + oldstate = + ctxt->states->tabState[ctxt->states->nbState - 1]; + ctxt->states->tabState[ctxt->states->nbState - 1] = NULL; + ctxt->states->nbState--; + } + } + for (j = 0; j < ctxt->states->nbState ; j++) { + xmlRelaxNGFreeValidState(ctxt, ctxt->states->tabState[j]); + } + xmlRelaxNGFreeStates(ctxt, ctxt->states); + ctxt->states = NULL; + if (found == 0) { + if (cur == NULL) { + VALID_ERR2(XML_RELAXNG_ERR_INTEREXTRA, + (const xmlChar *) "noname"); + } else { + VALID_ERR2(XML_RELAXNG_ERR_INTEREXTRA, cur->name); + } + ret = -1; + ctxt->state = oldstate; + goto done; + } + } else { + ret = -1; + break; + } + if (lasts[i] != NULL) { + lasts[i]->next = last; + } + } + if (ctxt->state != NULL) + xmlRelaxNGFreeValidState(ctxt, ctxt->state); + ctxt->state = oldstate; + ctxt->state->seq = lastelem; + if (ret != 0) { + VALID_ERR(XML_RELAXNG_ERR_INTERSEQ); + ret = -1; + goto done; + } + + done: + ctxt->flags = oldflags; + /* + * builds the next links chain from the prev one + */ + cur = lastchg; + while (cur != NULL) { + if ((cur == start) || (cur->prev == NULL)) + break; + cur->prev->next = cur; + cur = cur->prev; + } + if (ret == 0) { + if (ctxt->errNr > errNr) + xmlRelaxNGPopErrors(ctxt, errNr); + } + + xmlFree(list); + xmlFree(lasts); + return (ret); +} + +/** + * Validate the given node content against the (list) of definitions + * + * @param ctxt a Relax-NG validation context + * @param defines the list of definition to verify + * @returns 0 if the validation succeeded or an error code. + */ +static int +xmlRelaxNGValidateDefinitionList(xmlRelaxNGValidCtxtPtr ctxt, + xmlRelaxNGDefinePtr defines) +{ + int ret = 0, res; + + + if (defines == NULL) { + VALID_ERR2(XML_RELAXNG_ERR_INTERNAL, + BAD_CAST "NULL definition list"); + return (-1); + } + while (defines != NULL) { + if ((ctxt->state != NULL) || (ctxt->states != NULL)) { + res = xmlRelaxNGValidateDefinition(ctxt, defines); + if (res < 0) + ret = -1; + } else { + VALID_ERR(XML_RELAXNG_ERR_NOSTATE); + return (-1); + } + if (res == -1) /* continues on -2 */ + break; + defines = defines->next; + } + + return (ret); +} + +/** + * Check if the element matches the definition nameClass + * + * @param ctxt a Relax-NG validation context + * @param define the definition to check + * @param elem the element + * @returns 1 if the element matches, 0 if no, or -1 in case of error + */ +static int +xmlRelaxNGElementMatch(xmlRelaxNGValidCtxtPtr ctxt, + xmlRelaxNGDefinePtr define, xmlNodePtr elem) +{ + int ret = 0, oldflags = 0; + + if (define->name != NULL) { + if (!xmlStrEqual(elem->name, define->name)) { + VALID_ERR3(XML_RELAXNG_ERR_ELEMNAME, define->name, elem->name); + return (0); + } + } + if ((define->ns != NULL) && (define->ns[0] != 0)) { + if (elem->ns == NULL) { + VALID_ERR2(XML_RELAXNG_ERR_ELEMNONS, elem->name); + return (0); + } else if (!xmlStrEqual(elem->ns->href, define->ns)) { + VALID_ERR3(XML_RELAXNG_ERR_ELEMWRONGNS, + elem->name, define->ns); + return (0); + } + } else if ((elem->ns != NULL) && (define->ns != NULL) && + (define->name == NULL)) { + VALID_ERR2(XML_RELAXNG_ERR_ELEMEXTRANS, elem->name); + return (0); + } else if ((elem->ns != NULL) && (define->name != NULL)) { + VALID_ERR2(XML_RELAXNG_ERR_ELEMEXTRANS, define->name); + return (0); + } + + if (define->nameClass == NULL) + return (1); + + define = define->nameClass; + if (define->type == XML_RELAXNG_EXCEPT) { + xmlRelaxNGDefinePtr list; + + if (ctxt != NULL) { + oldflags = ctxt->flags; + ctxt->flags |= FLAGS_IGNORABLE; + } + + list = define->content; + while (list != NULL) { + ret = xmlRelaxNGElementMatch(ctxt, list, elem); + if (ret == 1) { + if (ctxt != NULL) + ctxt->flags = oldflags; + return (0); + } + if (ret < 0) { + if (ctxt != NULL) + ctxt->flags = oldflags; + return (ret); + } + list = list->next; + } + ret = 1; + if (ctxt != NULL) { + ctxt->flags = oldflags; + } + } else if (define->type == XML_RELAXNG_CHOICE) { + xmlRelaxNGDefinePtr list; + + if (ctxt != NULL) { + oldflags = ctxt->flags; + ctxt->flags |= FLAGS_IGNORABLE; + } + + list = define->nameClass; + while (list != NULL) { + ret = xmlRelaxNGElementMatch(ctxt, list, elem); + if (ret == 1) { + if (ctxt != NULL) + ctxt->flags = oldflags; + return (1); + } + if (ret < 0) { + if (ctxt != NULL) + ctxt->flags = oldflags; + return (ret); + } + list = list->next; + } + if (ctxt != NULL) { + if (ret != 0) { + if ((ctxt->flags & FLAGS_IGNORABLE) == 0) + xmlRelaxNGDumpValidError(ctxt); + } else { + if (ctxt->errNr > 0) + xmlRelaxNGPopErrors(ctxt, 0); + } + } + ret = 0; + if (ctxt != NULL) { + ctxt->flags = oldflags; + } + } else { + /* TODO */ + ret = -1; + } + return (ret); +} + +/** + * Find the "best" state in the ctxt->states list of states to report + * errors about. I.e. a state with no element left in the child list + * or the one with the less attributes left. + * This is called only if a validation error was detected + * + * @param ctxt a Relax-NG validation context + * @returns the index of the "best" state or -1 in case of error + */ +static int +xmlRelaxNGBestState(xmlRelaxNGValidCtxtPtr ctxt) +{ + xmlRelaxNGValidStatePtr state; + int i, tmp; + int best = -1; + int value = 1000000; + + if ((ctxt == NULL) || (ctxt->states == NULL) || + (ctxt->states->nbState <= 0)) + return (-1); + + for (i = 0; i < ctxt->states->nbState; i++) { + state = ctxt->states->tabState[i]; + if (state == NULL) + continue; + if (state->seq != NULL) { + if ((best == -1) || (value > 100000)) { + value = 100000; + best = i; + } + } else { + tmp = state->nbAttrLeft; + if ((best == -1) || (value > tmp)) { + value = tmp; + best = i; + } + } + } + return (best); +} + +/** + * Find the "best" state in the ctxt->states list of states to report + * errors about and log it. + * + * @param ctxt a Relax-NG validation context + */ +static void +xmlRelaxNGLogBestError(xmlRelaxNGValidCtxtPtr ctxt) +{ + int best; + + if ((ctxt == NULL) || (ctxt->states == NULL) || + (ctxt->states->nbState <= 0)) + return; + + best = xmlRelaxNGBestState(ctxt); + if ((best >= 0) && (best < ctxt->states->nbState)) { + ctxt->state = ctxt->states->tabState[best]; + + xmlRelaxNGValidateElementEnd(ctxt, 1); + } +} + +/** + * Validate the end of the element, implements check that + * there is nothing left not consumed in the element content + * or in the attribute list. + * + * @param ctxt a Relax-NG validation context + * @param dolog indicate that error logging should be done + * @returns 0 if the validation succeeded or an error code. + */ +static int +xmlRelaxNGValidateElementEnd(xmlRelaxNGValidCtxtPtr ctxt, int dolog) +{ + int i; + xmlRelaxNGValidStatePtr state; + + state = ctxt->state; + if (state->seq != NULL) { + state->seq = xmlRelaxNGSkipIgnored(ctxt, state->seq); + if (state->seq != NULL) { + if (dolog) { + VALID_ERR3(XML_RELAXNG_ERR_EXTRACONTENT, + state->node->name, state->seq->name); + } + return (-1); + } + } + for (i = 0; i < state->nbAttrs; i++) { + if (state->attrs[i] != NULL) { + if (dolog) { + VALID_ERR3(XML_RELAXNG_ERR_INVALIDATTR, + state->attrs[i]->name, state->node->name); + } + return (-1 - i); + } + } + return (0); +} + +/** + * Validate the current state against the definition + * + * @param ctxt a Relax-NG validation context + * @param define the definition to verify + * @returns 0 if the validation succeeded or an error code. + */ +static int +xmlRelaxNGValidateState(xmlRelaxNGValidCtxtPtr ctxt, + xmlRelaxNGDefinePtr define) +{ + xmlNodePtr node; + int ret = 0, i, tmp, oldflags, errNr; + xmlRelaxNGValidStatePtr oldstate = NULL, state; + + if (define == NULL) { + VALID_ERR(XML_RELAXNG_ERR_NODEFINE); + return (-1); + } + + if (ctxt->state != NULL) { + node = ctxt->state->seq; + } else { + node = NULL; + } + ctxt->depth++; + switch (define->type) { + case XML_RELAXNG_EMPTY: + ret = 0; + break; + case XML_RELAXNG_NOT_ALLOWED: + ret = -1; + break; + case XML_RELAXNG_TEXT: + while ((node != NULL) && + ((node->type == XML_TEXT_NODE) || + (node->type == XML_COMMENT_NODE) || + (node->type == XML_PI_NODE) || + (node->type == XML_CDATA_SECTION_NODE))) + node = node->next; + ctxt->state->seq = node; + break; + case XML_RELAXNG_ELEMENT: + errNr = ctxt->errNr; + node = xmlRelaxNGSkipIgnored(ctxt, node); + if (node == NULL) { + VALID_ERR2(XML_RELAXNG_ERR_NOELEM, define->name); + ret = -1; + if ((ctxt->flags & FLAGS_IGNORABLE) == 0) + xmlRelaxNGDumpValidError(ctxt); + break; + } + if (node->type != XML_ELEMENT_NODE) { + VALID_ERR(XML_RELAXNG_ERR_NOTELEM); + ret = -1; + if ((ctxt->flags & FLAGS_IGNORABLE) == 0) + xmlRelaxNGDumpValidError(ctxt); + break; + } + /* + * This node was already validated successfully against + * this definition. + */ + if (node->psvi == define) { + ctxt->state->seq = xmlRelaxNGSkipIgnored(ctxt, node->next); + if (ctxt->errNr > errNr) + xmlRelaxNGPopErrors(ctxt, errNr); + if (ctxt->errNr != 0) { + while ((ctxt->err != NULL) && + (((ctxt->err->err == XML_RELAXNG_ERR_ELEMNAME) + && (xmlStrEqual(ctxt->err->arg2, node->name))) + || + ((ctxt->err->err == + XML_RELAXNG_ERR_ELEMEXTRANS) + && (xmlStrEqual(ctxt->err->arg1, node->name))) + || (ctxt->err->err == XML_RELAXNG_ERR_NOELEM) + || (ctxt->err->err == + XML_RELAXNG_ERR_NOTELEM))) + xmlRelaxNGValidErrorPop(ctxt); + } + break; + } + + ret = xmlRelaxNGElementMatch(ctxt, define, node); + if (ret <= 0) { + ret = -1; + if ((ctxt->flags & FLAGS_IGNORABLE) == 0) + xmlRelaxNGDumpValidError(ctxt); + break; + } + ret = 0; + if (ctxt->errNr != 0) { + if (ctxt->errNr > errNr) + xmlRelaxNGPopErrors(ctxt, errNr); + while ((ctxt->err != NULL) && + (((ctxt->err->err == XML_RELAXNG_ERR_ELEMNAME) && + (xmlStrEqual(ctxt->err->arg2, node->name))) || + ((ctxt->err->err == XML_RELAXNG_ERR_ELEMEXTRANS) && + (xmlStrEqual(ctxt->err->arg1, node->name))) || + (ctxt->err->err == XML_RELAXNG_ERR_NOELEM) || + (ctxt->err->err == XML_RELAXNG_ERR_NOTELEM))) + xmlRelaxNGValidErrorPop(ctxt); + } + errNr = ctxt->errNr; + + oldflags = ctxt->flags; + if (ctxt->flags & FLAGS_MIXED_CONTENT) { + ctxt->flags -= FLAGS_MIXED_CONTENT; + } + state = xmlRelaxNGNewValidState(ctxt, node); + if (state == NULL) { + ret = -1; + if ((ctxt->flags & FLAGS_IGNORABLE) == 0) + xmlRelaxNGDumpValidError(ctxt); + break; + } + + oldstate = ctxt->state; + ctxt->state = state; + if (define->attrs != NULL) { + tmp = xmlRelaxNGValidateAttributeList(ctxt, define->attrs); + if (tmp != 0) { + ret = -1; + VALID_ERR2(XML_RELAXNG_ERR_ATTRVALID, node->name); + } + } + if (define->contModel != NULL) { + xmlRelaxNGValidStatePtr nstate, tmpstate = ctxt->state; + xmlRelaxNGStatesPtr tmpstates = ctxt->states; + xmlNodePtr nseq; + + nstate = xmlRelaxNGNewValidState(ctxt, node); + ctxt->state = nstate; + ctxt->states = NULL; + + tmp = xmlRelaxNGValidateCompiledContent(ctxt, + define->contModel, + ctxt->state->seq); + nseq = ctxt->state->seq; + ctxt->state = tmpstate; + ctxt->states = tmpstates; + xmlRelaxNGFreeValidState(ctxt, nstate); + + if (tmp != 0) + ret = -1; + + if (ctxt->states != NULL) { + tmp = -1; + + for (i = 0; i < ctxt->states->nbState; i++) { + state = ctxt->states->tabState[i]; + ctxt->state = state; + ctxt->state->seq = nseq; + + if (xmlRelaxNGValidateElementEnd(ctxt, 0) == 0) { + tmp = 0; + break; + } + } + if (tmp != 0) { + /* + * validation error, log the message for the "best" one + */ + ctxt->flags |= FLAGS_IGNORABLE; + xmlRelaxNGLogBestError(ctxt); + } + for (i = 0; i < ctxt->states->nbState; i++) { + xmlRelaxNGFreeValidState(ctxt, + ctxt->states-> + tabState[i]); + } + xmlRelaxNGFreeStates(ctxt, ctxt->states); + ctxt->flags = oldflags; + ctxt->states = NULL; + if ((ret == 0) && (tmp == -1)) + ret = -1; + } else { + state = ctxt->state; + if (ctxt->state != NULL) + ctxt->state->seq = nseq; + if (ret == 0) + ret = xmlRelaxNGValidateElementEnd(ctxt, 1); + xmlRelaxNGFreeValidState(ctxt, state); + } + } else { + if (define->content != NULL) { + tmp = xmlRelaxNGValidateDefinitionList(ctxt, + define-> + content); + if (tmp != 0) { + ret = -1; + if (ctxt->state == NULL) { + ctxt->state = oldstate; + VALID_ERR2(XML_RELAXNG_ERR_CONTENTVALID, + node->name); + ctxt->state = NULL; + } else { + VALID_ERR2(XML_RELAXNG_ERR_CONTENTVALID, + node->name); + } + + } + } + if (ctxt->states != NULL) { + tmp = -1; + + for (i = 0; i < ctxt->states->nbState; i++) { + state = ctxt->states->tabState[i]; + ctxt->state = state; + + if (xmlRelaxNGValidateElementEnd(ctxt, 0) == 0) { + tmp = 0; + break; + } + } + if (tmp != 0) { + /* + * validation error, log the message for the "best" one + */ + ctxt->flags |= FLAGS_IGNORABLE; + xmlRelaxNGLogBestError(ctxt); + } + for (i = 0; i < ctxt->states->nbState; i++) { + xmlRelaxNGFreeValidState(ctxt, + ctxt->states->tabState[i]); + ctxt->states->tabState[i] = NULL; + } + xmlRelaxNGFreeStates(ctxt, ctxt->states); + ctxt->flags = oldflags; + ctxt->states = NULL; + if ((ret == 0) && (tmp == -1)) + ret = -1; + } else { + state = ctxt->state; + if (ret == 0) + ret = xmlRelaxNGValidateElementEnd(ctxt, 1); + xmlRelaxNGFreeValidState(ctxt, state); + } + } + if (ret == 0) { + node->psvi = define; + } + ctxt->flags = oldflags; + ctxt->state = oldstate; + if (oldstate != NULL) + oldstate->seq = xmlRelaxNGSkipIgnored(ctxt, node->next); + if (ret != 0) { + if ((ctxt->flags & FLAGS_IGNORABLE) == 0) { + xmlRelaxNGDumpValidError(ctxt); + ret = 0; +#if 0 + } else { + ret = -2; +#endif + } + } else { + if (ctxt->errNr > errNr) + xmlRelaxNGPopErrors(ctxt, errNr); + } + + break; + case XML_RELAXNG_OPTIONAL:{ + errNr = ctxt->errNr; + oldflags = ctxt->flags; + ctxt->flags |= FLAGS_IGNORABLE; + oldstate = xmlRelaxNGCopyValidState(ctxt, ctxt->state); + ret = + xmlRelaxNGValidateDefinitionList(ctxt, + define->content); + if (ret != 0) { + if (ctxt->state != NULL) + xmlRelaxNGFreeValidState(ctxt, ctxt->state); + ctxt->state = oldstate; + ctxt->flags = oldflags; + ret = 0; + if (ctxt->errNr > errNr) + xmlRelaxNGPopErrors(ctxt, errNr); + break; + } + if (ctxt->states != NULL) { + xmlRelaxNGAddStates(ctxt, ctxt->states, oldstate); + } else { + ctxt->states = xmlRelaxNGNewStates(ctxt, 1); + if (ctxt->states == NULL) { + xmlRelaxNGFreeValidState(ctxt, oldstate); + ctxt->flags = oldflags; + ret = -1; + if (ctxt->errNr > errNr) + xmlRelaxNGPopErrors(ctxt, errNr); + break; + } + xmlRelaxNGAddStates(ctxt, ctxt->states, oldstate); + xmlRelaxNGAddStates(ctxt, ctxt->states, ctxt->state); + ctxt->state = NULL; + } + ctxt->flags = oldflags; + ret = 0; + if (ctxt->errNr > errNr) + xmlRelaxNGPopErrors(ctxt, errNr); + break; + } + case XML_RELAXNG_ONEORMORE: + errNr = ctxt->errNr; + ret = xmlRelaxNGValidateDefinitionList(ctxt, define->content); + if (ret != 0) { + break; + } + if (ctxt->errNr > errNr) + xmlRelaxNGPopErrors(ctxt, errNr); + /* Falls through. */ + case XML_RELAXNG_ZEROORMORE:{ + int progress; + xmlRelaxNGStatesPtr states = NULL, res = NULL; + int base, j; + + errNr = ctxt->errNr; + res = xmlRelaxNGNewStates(ctxt, 1); + if (res == NULL) { + ret = -1; + break; + } + /* + * All the input states are also exit states + */ + if (ctxt->state != NULL) { + xmlRelaxNGAddStates(ctxt, res, + xmlRelaxNGCopyValidState(ctxt, + ctxt-> + state)); + } else { + for (j = 0; j < ctxt->states->nbState; j++) { + xmlRelaxNGAddStates(ctxt, res, + xmlRelaxNGCopyValidState(ctxt, + ctxt->states->tabState[j])); + } + } + oldflags = ctxt->flags; + ctxt->flags |= FLAGS_IGNORABLE; + do { + progress = 0; + base = res->nbState; + + if (ctxt->states != NULL) { + states = ctxt->states; + for (i = 0; i < states->nbState; i++) { + ctxt->state = states->tabState[i]; + ctxt->states = NULL; + ret = xmlRelaxNGValidateDefinitionList(ctxt, + define-> + content); + if (ret == 0) { + if (ctxt->state != NULL) { + tmp = xmlRelaxNGAddStates(ctxt, res, + ctxt->state); + ctxt->state = NULL; + if (tmp == 1) + progress = 1; + } else if (ctxt->states != NULL) { + for (j = 0; j < ctxt->states->nbState; + j++) { + tmp = + xmlRelaxNGAddStates(ctxt, res, + ctxt->states->tabState[j]); + if (tmp == 1) + progress = 1; + } + xmlRelaxNGFreeStates(ctxt, + ctxt->states); + ctxt->states = NULL; + } + } else { + if (ctxt->state != NULL) { + xmlRelaxNGFreeValidState(ctxt, + ctxt->state); + ctxt->state = NULL; + } + } + } + } else { + ret = xmlRelaxNGValidateDefinitionList(ctxt, + define-> + content); + if (ret != 0) { + xmlRelaxNGFreeValidState(ctxt, ctxt->state); + ctxt->state = NULL; + } else { + base = res->nbState; + if (ctxt->state != NULL) { + tmp = xmlRelaxNGAddStates(ctxt, res, + ctxt->state); + ctxt->state = NULL; + if (tmp == 1) + progress = 1; + } else if (ctxt->states != NULL) { + for (j = 0; j < ctxt->states->nbState; j++) { + tmp = xmlRelaxNGAddStates(ctxt, res, + ctxt->states->tabState[j]); + if (tmp == 1) + progress = 1; + } + if (states == NULL) { + states = ctxt->states; + } else { + xmlRelaxNGFreeStates(ctxt, + ctxt->states); + } + ctxt->states = NULL; + } + } + } + if (progress) { + /* + * Collect all the new nodes added at that step + * and make them the new node set + */ + if (res->nbState - base == 1) { + ctxt->state = xmlRelaxNGCopyValidState(ctxt, + res-> + tabState + [base]); + } else { + if (states == NULL) { + xmlRelaxNGNewStates(ctxt, + res->nbState - base); + states = ctxt->states; + if (states == NULL) { + progress = 0; + break; + } + } + states->nbState = 0; + for (i = base; i < res->nbState; i++) + xmlRelaxNGAddStates(ctxt, states, + xmlRelaxNGCopyValidState + (ctxt, res->tabState[i])); + ctxt->states = states; + } + } + } while (progress == 1); + if (states != NULL) { + xmlRelaxNGFreeStates(ctxt, states); + } + ctxt->states = res; + ctxt->flags = oldflags; +#if 0 + /* + * errors may have to be propagated back... + */ + if (ctxt->errNr > errNr) + xmlRelaxNGPopErrors(ctxt, errNr); +#endif + ret = 0; + break; + } + case XML_RELAXNG_CHOICE:{ + xmlRelaxNGDefinePtr list = NULL; + xmlRelaxNGStatesPtr states = NULL; + + node = xmlRelaxNGSkipIgnored(ctxt, node); + + errNr = ctxt->errNr; + if ((define->dflags & IS_TRIABLE) && (define->data != NULL) && + (node != NULL)) { + /* + * node == NULL can't be optimized since IS_TRIABLE + * doesn't account for choice which may lead to + * only attributes. + */ + xmlHashTablePtr triage = + (xmlHashTablePtr) define->data; + + /* + * Something we can optimize cleanly there is only one + * possible branch out ! + */ + if ((node->type == XML_TEXT_NODE) || + (node->type == XML_CDATA_SECTION_NODE)) { + list = + xmlHashLookup2(triage, BAD_CAST "#text", NULL); + } else if (node->type == XML_ELEMENT_NODE) { + if (node->ns != NULL) { + list = xmlHashLookup2(triage, node->name, + node->ns->href); + if (list == NULL) + list = + xmlHashLookup2(triage, BAD_CAST "#any", + node->ns->href); + } else + list = + xmlHashLookup2(triage, node->name, NULL); + if (list == NULL) + list = + xmlHashLookup2(triage, BAD_CAST "#any", + NULL); + } + if (list == NULL) { + ret = -1; + VALID_ERR2(XML_RELAXNG_ERR_ELEMWRONG, node->name); + break; + } + ret = xmlRelaxNGValidateDefinition(ctxt, list); + if (ret == 0) { + } + break; + } + + list = define->content; + oldflags = ctxt->flags; + ctxt->flags |= FLAGS_IGNORABLE; + + while (list != NULL) { + oldstate = xmlRelaxNGCopyValidState(ctxt, ctxt->state); + ret = xmlRelaxNGValidateDefinition(ctxt, list); + if (ret == 0) { + if (states == NULL) { + states = xmlRelaxNGNewStates(ctxt, 1); + } + if (ctxt->state != NULL) { + xmlRelaxNGAddStates(ctxt, states, ctxt->state); + } else if (ctxt->states != NULL) { + for (i = 0; i < ctxt->states->nbState; i++) { + xmlRelaxNGAddStates(ctxt, states, + ctxt->states-> + tabState[i]); + } + xmlRelaxNGFreeStates(ctxt, ctxt->states); + ctxt->states = NULL; + } + } else { + xmlRelaxNGFreeValidState(ctxt, ctxt->state); + } + ctxt->state = oldstate; + list = list->next; + } + if (states != NULL) { + xmlRelaxNGFreeValidState(ctxt, oldstate); + ctxt->states = states; + ctxt->state = NULL; + ret = 0; + } else { + ctxt->states = NULL; + } + ctxt->flags = oldflags; + if (ret != 0) { + if ((ctxt->flags & FLAGS_IGNORABLE) == 0) { + xmlRelaxNGDumpValidError(ctxt); + } + } else { + if (ctxt->errNr > errNr) + xmlRelaxNGPopErrors(ctxt, errNr); + } + break; + } + case XML_RELAXNG_DEF: + case XML_RELAXNG_GROUP: + ret = xmlRelaxNGValidateDefinitionList(ctxt, define->content); + break; + case XML_RELAXNG_INTERLEAVE: + ret = xmlRelaxNGValidateInterleave(ctxt, define); + break; + case XML_RELAXNG_ATTRIBUTE: + ret = xmlRelaxNGValidateAttribute(ctxt, define); + break; + case XML_RELAXNG_START: + case XML_RELAXNG_NOOP: + case XML_RELAXNG_REF: + case XML_RELAXNG_EXTERNALREF: + case XML_RELAXNG_PARENTREF: + ret = xmlRelaxNGValidateDefinition(ctxt, define->content); + break; + case XML_RELAXNG_DATATYPE:{ + xmlNodePtr child; + xmlChar *content = NULL; + + child = node; + while (child != NULL) { + if (child->type == XML_ELEMENT_NODE) { + VALID_ERR2(XML_RELAXNG_ERR_DATAELEM, + node->parent->name); + ret = -1; + break; + } else if ((child->type == XML_TEXT_NODE) || + (child->type == XML_CDATA_SECTION_NODE)) { + content = xmlStrcat(content, child->content); + } + /* TODO: handle entities ... */ + child = child->next; + } + if (ret == -1) { + if (content != NULL) + xmlFree(content); + break; + } + if (content == NULL) { + content = xmlStrdup(BAD_CAST ""); + if (content == NULL) { + xmlRngVErrMemory(ctxt); + ret = -1; + break; + } + } + ret = xmlRelaxNGValidateDatatype(ctxt, content, define, + ctxt->state->seq); + if (ret == -1) { + VALID_ERR2(XML_RELAXNG_ERR_DATATYPE, define->name); + } else if (ret == 0) { + ctxt->state->seq = NULL; + } + if (content != NULL) + xmlFree(content); + break; + } + case XML_RELAXNG_VALUE:{ + xmlChar *content = NULL; + xmlChar *oldvalue; + xmlNodePtr child; + + child = node; + while (child != NULL) { + if (child->type == XML_ELEMENT_NODE) { + VALID_ERR2(XML_RELAXNG_ERR_VALELEM, + node->parent->name); + ret = -1; + break; + } else if ((child->type == XML_TEXT_NODE) || + (child->type == XML_CDATA_SECTION_NODE)) { + content = xmlStrcat(content, child->content); + } + /* TODO: handle entities ... */ + child = child->next; + } + if (ret == -1) { + if (content != NULL) + xmlFree(content); + break; + } + if (content == NULL) { + content = xmlStrdup(BAD_CAST ""); + if (content == NULL) { + xmlRngVErrMemory(ctxt); + ret = -1; + break; + } + } + oldvalue = ctxt->state->value; + ctxt->state->value = content; + ret = xmlRelaxNGValidateValue(ctxt, define); + ctxt->state->value = oldvalue; + if (ret == -1) { + VALID_ERR2(XML_RELAXNG_ERR_VALUE, define->name); + } else if (ret == 0) { + ctxt->state->seq = NULL; + } + if (content != NULL) + xmlFree(content); + break; + } + case XML_RELAXNG_LIST:{ + xmlChar *content; + xmlNodePtr child; + xmlChar *oldvalue, *oldendvalue; + int len; + + /* + * Make sure it's only text nodes + */ + + content = NULL; + child = node; + while (child != NULL) { + if (child->type == XML_ELEMENT_NODE) { + VALID_ERR2(XML_RELAXNG_ERR_LISTELEM, + node->parent->name); + ret = -1; + break; + } else if ((child->type == XML_TEXT_NODE) || + (child->type == XML_CDATA_SECTION_NODE)) { + content = xmlStrcat(content, child->content); + } + /* TODO: handle entities ... */ + child = child->next; + } + if (ret == -1) { + if (content != NULL) + xmlFree(content); + break; + } + if (content == NULL) { + content = xmlStrdup(BAD_CAST ""); + if (content == NULL) { + xmlRngVErrMemory(ctxt); + ret = -1; + break; + } + } + len = xmlStrlen(content); + oldvalue = ctxt->state->value; + oldendvalue = ctxt->state->endvalue; + ctxt->state->value = content; + ctxt->state->endvalue = content + len; + ret = xmlRelaxNGValidateValue(ctxt, define); + ctxt->state->value = oldvalue; + ctxt->state->endvalue = oldendvalue; + if (ret == -1) { + VALID_ERR(XML_RELAXNG_ERR_LIST); + } else if ((ret == 0) && (node != NULL)) { + ctxt->state->seq = node->next; + } + if (content != NULL) + xmlFree(content); + break; + } + case XML_RELAXNG_EXCEPT: + case XML_RELAXNG_PARAM: + /* TODO */ + ret = -1; + break; + } + ctxt->depth--; + return (ret); +} + +/** + * Validate the current node lists against the definition + * + * @param ctxt a Relax-NG validation context + * @param define the definition to verify + * @returns 0 if the validation succeeded or an error code. + */ +static int +xmlRelaxNGValidateDefinition(xmlRelaxNGValidCtxtPtr ctxt, + xmlRelaxNGDefinePtr define) +{ + xmlRelaxNGStatesPtr states, res; + int i, j, k, ret, oldflags; + + /* + * We should NOT have both ctxt->state and ctxt->states + */ + if ((ctxt->state != NULL) && (ctxt->states != NULL)) { + /* TODO */ + xmlRelaxNGFreeValidState(ctxt, ctxt->state); + ctxt->state = NULL; + } + + if ((ctxt->states == NULL) || (ctxt->states->nbState == 1)) { + if (ctxt->states != NULL) { + ctxt->state = ctxt->states->tabState[0]; + xmlRelaxNGFreeStates(ctxt, ctxt->states); + ctxt->states = NULL; + } + ret = xmlRelaxNGValidateState(ctxt, define); + if ((ctxt->state != NULL) && (ctxt->states != NULL)) { + /* TODO */ + xmlRelaxNGFreeValidState(ctxt, ctxt->state); + ctxt->state = NULL; + } + if ((ctxt->states != NULL) && (ctxt->states->nbState == 1)) { + ctxt->state = ctxt->states->tabState[0]; + xmlRelaxNGFreeStates(ctxt, ctxt->states); + ctxt->states = NULL; + } + return (ret); + } + + states = ctxt->states; + ctxt->states = NULL; + res = NULL; + j = 0; + oldflags = ctxt->flags; + ctxt->flags |= FLAGS_IGNORABLE; + for (i = 0; i < states->nbState; i++) { + ctxt->state = states->tabState[i]; + ctxt->states = NULL; + ret = xmlRelaxNGValidateState(ctxt, define); + /* + * We should NOT have both ctxt->state and ctxt->states + */ + if ((ctxt->state != NULL) && (ctxt->states != NULL)) { + /* TODO */ + xmlRelaxNGFreeValidState(ctxt, ctxt->state); + ctxt->state = NULL; + } + if (ret == 0) { + if (ctxt->states == NULL) { + if (res != NULL) { + /* add the state to the container */ + xmlRelaxNGAddStates(ctxt, res, ctxt->state); + ctxt->state = NULL; + } else { + /* add the state directly in states */ + states->tabState[j++] = ctxt->state; + ctxt->state = NULL; + } + } else { + if (res == NULL) { + /* make it the new container and copy other results */ + res = ctxt->states; + ctxt->states = NULL; + for (k = 0; k < j; k++) + xmlRelaxNGAddStates(ctxt, res, + states->tabState[k]); + } else { + /* add all the new results to res and reff the container */ + for (k = 0; k < ctxt->states->nbState; k++) + xmlRelaxNGAddStates(ctxt, res, + ctxt->states->tabState[k]); + xmlRelaxNGFreeStates(ctxt, ctxt->states); + ctxt->states = NULL; + } + } + } else { + if (ctxt->state != NULL) { + xmlRelaxNGFreeValidState(ctxt, ctxt->state); + ctxt->state = NULL; + } else if (ctxt->states != NULL) { + for (k = 0; k < ctxt->states->nbState; k++) + xmlRelaxNGFreeValidState(ctxt, + ctxt->states->tabState[k]); + xmlRelaxNGFreeStates(ctxt, ctxt->states); + ctxt->states = NULL; + } + } + } + ctxt->flags = oldflags; + if (res != NULL) { + xmlRelaxNGFreeStates(ctxt, states); + ctxt->states = res; + ret = 0; + } else if (j > 1) { + states->nbState = j; + ctxt->states = states; + ret = 0; + } else if (j == 1) { + ctxt->state = states->tabState[0]; + xmlRelaxNGFreeStates(ctxt, states); + ret = 0; + } else { + ret = -1; + xmlRelaxNGFreeStates(ctxt, states); + if (ctxt->states != NULL) { + xmlRelaxNGFreeStates(ctxt, ctxt->states); + ctxt->states = NULL; + } + } + if ((ctxt->state != NULL) && (ctxt->states != NULL)) { + /* TODO */ + xmlRelaxNGFreeValidState(ctxt, ctxt->state); + ctxt->state = NULL; + } + return (ret); +} + +/** + * Validate the given document + * + * @param ctxt a Relax-NG validation context + * @param doc the document + * @returns 0 if the validation succeeded or an error code. + */ +static int +xmlRelaxNGValidateDocument(xmlRelaxNGValidCtxtPtr ctxt, xmlDocPtr doc) +{ + int ret; + xmlRelaxNGPtr schema; + xmlRelaxNGGrammarPtr grammar; + xmlRelaxNGValidStatePtr state; + xmlNodePtr node; + + if ((ctxt == NULL) || (ctxt->schema == NULL) || (doc == NULL)) + return (-1); + + ctxt->errNo = XML_RELAXNG_OK; + schema = ctxt->schema; + grammar = schema->topgrammar; + if (grammar == NULL) { + VALID_ERR(XML_RELAXNG_ERR_NOGRAMMAR); + return (-1); + } + state = xmlRelaxNGNewValidState(ctxt, NULL); + ctxt->state = state; + ret = xmlRelaxNGValidateDefinition(ctxt, grammar->start); + if ((ctxt->state != NULL) && (state->seq != NULL)) { + state = ctxt->state; + node = state->seq; + node = xmlRelaxNGSkipIgnored(ctxt, node); + if (node != NULL) { + if (ret != -1) { + VALID_ERR(XML_RELAXNG_ERR_EXTRADATA); + ret = -1; + } + } + } else if (ctxt->states != NULL) { + int i; + int tmp = -1; + + for (i = 0; i < ctxt->states->nbState; i++) { + state = ctxt->states->tabState[i]; + node = state->seq; + node = xmlRelaxNGSkipIgnored(ctxt, node); + if (node == NULL) + tmp = 0; + xmlRelaxNGFreeValidState(ctxt, state); + } + if (tmp == -1) { + if (ret != -1) { + VALID_ERR(XML_RELAXNG_ERR_EXTRADATA); + ret = -1; + } + } + } + if (ctxt->state != NULL) { + xmlRelaxNGFreeValidState(ctxt, ctxt->state); + ctxt->state = NULL; + } + if (ret != 0) + xmlRelaxNGDumpValidError(ctxt); +#ifdef LIBXML_VALID_ENABLED + if (ctxt->idref == 1) { + xmlValidCtxt vctxt; + + memset(&vctxt, 0, sizeof(xmlValidCtxt)); + vctxt.valid = 1; + + if (ctxt->error == NULL) { + vctxt.error = xmlGenericError; + vctxt.warning = xmlGenericError; + vctxt.userData = xmlGenericErrorContext; + } else { + vctxt.error = ctxt->error; + vctxt.warning = ctxt->warning; + vctxt.userData = ctxt->userData; + } + + if (xmlValidateDocumentFinal(&vctxt, doc) != 1) + ret = -1; + } +#endif /* LIBXML_VALID_ENABLED */ + if ((ret == 0) && (ctxt->errNo != XML_RELAXNG_OK)) + ret = -1; + + return (ret); +} + +/** + * Call this routine to speed up XPath computation on static documents. + * This stamps all the element nodes with the document order + * Like for line information, the order is kept in the element->content + * field, the value stored is actually - the node number (starting at -1) + * to be able to differentiate from line numbers. + * + * @param node an input element or document + * @returns the number of elements found in the document or -1 in case + * of error. + */ +static void +xmlRelaxNGCleanPSVI(xmlNodePtr node) { + xmlNodePtr cur; + + if ((node == NULL) || + ((node->type != XML_ELEMENT_NODE) && + (node->type != XML_DOCUMENT_NODE) && + (node->type != XML_HTML_DOCUMENT_NODE))) + return; + if (node->type == XML_ELEMENT_NODE) + node->psvi = NULL; + + cur = node->children; + while (cur != NULL) { + if (cur->type == XML_ELEMENT_NODE) { + cur->psvi = NULL; + if (cur->children != NULL) { + cur = cur->children; + continue; + } + } + if (cur->next != NULL) { + cur = cur->next; + continue; + } + do { + cur = cur->parent; + if (cur == NULL) + break; + if (cur == node) { + cur = NULL; + break; + } + if (cur->next != NULL) { + cur = cur->next; + break; + } + } while (cur != NULL); + } +} +/************************************************************************ + * * + * Validation interfaces * + * * + ************************************************************************/ + +/** + * Create an XML RelaxNGs validation context based on the given schema + * + * @param schema a precompiled XML RelaxNGs + * @returns the validation context or NULL in case of error + */ +xmlRelaxNGValidCtxt * +xmlRelaxNGNewValidCtxt(xmlRelaxNG *schema) +{ + xmlRelaxNGValidCtxtPtr ret; + + ret = (xmlRelaxNGValidCtxtPtr) xmlMalloc(sizeof(xmlRelaxNGValidCtxt)); + if (ret == NULL) { + xmlRngVErrMemory(NULL); + return (NULL); + } + memset(ret, 0, sizeof(xmlRelaxNGValidCtxt)); + ret->schema = schema; + ret->errNr = 0; + ret->errMax = 0; + ret->err = NULL; + ret->errTab = NULL; + if (schema != NULL) + ret->idref = schema->idref; + ret->states = NULL; + ret->freeState = NULL; + ret->freeStates = NULL; + ret->errNo = XML_RELAXNG_OK; + return (ret); +} + +/** + * Free the resources associated to the schema validation context + * + * @param ctxt the schema validation context + */ +void +xmlRelaxNGFreeValidCtxt(xmlRelaxNGValidCtxt *ctxt) +{ + int k; + + if (ctxt == NULL) + return; + if (ctxt->states != NULL) + xmlRelaxNGFreeStates(NULL, ctxt->states); + if (ctxt->freeState != NULL) { + for (k = 0; k < ctxt->freeState->nbState; k++) { + xmlRelaxNGFreeValidState(NULL, ctxt->freeState->tabState[k]); + } + xmlRelaxNGFreeStates(NULL, ctxt->freeState); + } + if (ctxt->freeStates != NULL) { + for (k = 0; k < ctxt->freeStatesNr; k++) { + xmlRelaxNGFreeStates(NULL, ctxt->freeStates[k]); + } + xmlFree(ctxt->freeStates); + } + if (ctxt->errTab != NULL) + xmlFree(ctxt->errTab); + if (ctxt->elemTab != NULL) { + xmlRegExecCtxtPtr exec; + + exec = xmlRelaxNGElemPop(ctxt); + while (exec != NULL) { + xmlRegFreeExecCtxt(exec); + exec = xmlRelaxNGElemPop(ctxt); + } + xmlFree(ctxt->elemTab); + } + xmlFree(ctxt); +} + +/** + * Set the error and warning callback information + * + * @deprecated Use #xmlRelaxNGSetValidStructuredErrors. + * + * @param ctxt a Relax-NG validation context + * @param err the error function + * @param warn the warning function + * @param ctx the functions context + */ +void +xmlRelaxNGSetValidErrors(xmlRelaxNGValidCtxt *ctxt, + xmlRelaxNGValidityErrorFunc err, + xmlRelaxNGValidityWarningFunc warn, void *ctx) +{ + if (ctxt == NULL) + return; + ctxt->error = err; + ctxt->warning = warn; + ctxt->userData = ctx; + ctxt->serror = NULL; +} + +/** + * Set the structured error callback + * + * @param ctxt a Relax-NG validation context + * @param serror the structured error function + * @param ctx the functions context + */ +void +xmlRelaxNGSetValidStructuredErrors(xmlRelaxNGValidCtxt *ctxt, + xmlStructuredErrorFunc serror, void *ctx) +{ + if (ctxt == NULL) + return; + ctxt->serror = serror; + ctxt->error = NULL; + ctxt->warning = NULL; + ctxt->userData = ctx; +} + +/** + * Get the error and warning callback information + * + * @param ctxt a Relax-NG validation context + * @param err the error function result + * @param warn the warning function result + * @param ctx the functions context result + * @returns -1 in case of error and 0 otherwise + */ +int +xmlRelaxNGGetValidErrors(xmlRelaxNGValidCtxt *ctxt, + xmlRelaxNGValidityErrorFunc * err, + xmlRelaxNGValidityWarningFunc * warn, void **ctx) +{ + if (ctxt == NULL) + return (-1); + if (err != NULL) + *err = ctxt->error; + if (warn != NULL) + *warn = ctxt->warning; + if (ctx != NULL) + *ctx = ctxt->userData; + return (0); +} + +/** + * Validate a document tree in memory. + * + * @param ctxt a Relax-NG validation context + * @param doc a parsed document tree + * @returns 0 if the document is valid, a positive error code + * number otherwise and -1 in case of internal or API error. + */ +int +xmlRelaxNGValidateDoc(xmlRelaxNGValidCtxt *ctxt, xmlDoc *doc) +{ + int ret; + + if ((ctxt == NULL) || (doc == NULL)) + return (-1); + + ctxt->doc = doc; + + ret = xmlRelaxNGValidateDocument(ctxt, doc); + /* + * Remove all left PSVI + */ + xmlRelaxNGCleanPSVI((xmlNodePtr) doc); + + /* + * TODO: build error codes + */ + if (ret == -1) + return (1); + return (ret); +} + +#endif /* LIBXML_RELAXNG_ENABLED */ diff --git a/libxml2/result/HTML/53867.html b/libxml2/result/HTML/53867.html new file mode 100644 index 0000000..f4902af --- /dev/null +++ b/libxml2/result/HTML/53867.html @@ -0,0 +1,70 @@ + + + + + + diff --git a/libxml2/result/HTML/53867.html.sax b/libxml2/result/HTML/53867.html.sax new file mode 100644 index 0000000..eac4906 --- /dev/null +++ b/libxml2/result/HTML/53867.html.sax @@ -0,0 +1,22 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.characters( +, 1) +SAX.startElement(head) +SAX.characters( +, 1) +SAX.startElement(style) +SAX.cdata( +....... +....................., 3977) +SAX.endElement(style) +SAX.characters( +, 1) +SAX.endElement(head) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/libxml2/result/HTML/758518-entity.html b/libxml2/result/HTML/758518-entity.html new file mode 100644 index 0000000..bfc2b66 --- /dev/null +++ b/libxml2/result/HTML/758518-entity.html @@ -0,0 +1,2 @@ + +&jÙ diff --git a/libxml2/result/HTML/758518-entity.html.sax b/libxml2/result/HTML/758518-entity.html.sax new file mode 100644 index 0000000..4c512a0 --- /dev/null +++ b/libxml2/result/HTML/758518-entity.html.sax @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.startElement(body) +SAX.characters(&j, 2) +SAX.characters(Ù, 2) +SAX.endElement(body) +SAX.endElement(html) +SAX.endDocument() diff --git a/libxml2/result/HTML/758518-tag.html b/libxml2/result/HTML/758518-tag.html new file mode 100644 index 0000000..de8ff58 --- /dev/null +++ b/libxml2/result/HTML/758518-tag.html @@ -0,0 +1,2 @@ + + diff --git a/libxml2/result/HTML/758518-tag.html.sax b/libxml2/result/HTML/758518-tag.html.sax new file mode 100644 index 0000000..26b77c9 --- /dev/null +++ b/libxml2/result/HTML/758518-tag.html.sax @@ -0,0 +1,4 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment(?a“) +SAX.endDocument() diff --git a/libxml2/result/HTML/758605.html b/libxml2/result/HTML/758605.html new file mode 100644 index 0000000..97ea22a --- /dev/null +++ b/libxml2/result/HTML/758605.html @@ -0,0 +1,3 @@ + +&:ê + diff --git a/libxml2/result/HTML/758605.html.sax b/libxml2/result/HTML/758605.html.sax new file mode 100644 index 0000000..ba116b7 --- /dev/null +++ b/libxml2/result/HTML/758605.html.sax @@ -0,0 +1,10 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.startElement(body) +SAX.characters(&:, 2) +SAX.characters(ê +, 3) +SAX.endElement(body) +SAX.endElement(html) +SAX.endDocument() diff --git a/libxml2/result/HTML/758606.html b/libxml2/result/HTML/758606.html new file mode 100644 index 0000000..d5f2457 --- /dev/null +++ b/libxml2/result/HTML/758606.html @@ -0,0 +1,3 @@ + + diff --git a/libxml2/result/HTML/758606.html.sax b/libxml2/result/HTML/758606.html.sax new file mode 100644 index 0000000..01cc43d --- /dev/null +++ b/libxml2/result/HTML/758606.html.sax @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( + diff --git a/libxml2/result/HTML/758606_2.html.sax b/libxml2/result/HTML/758606_2.html.sax new file mode 100644 index 0000000..7cc1b5a --- /dev/null +++ b/libxml2/result/HTML/758606_2.html.sax @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( ‘ + + + This service is temporary down + + + +

    Sorry, this service is temporary down

    +We are doing our best to get it back on-line, + +

    The W3C system administrators

    + + diff --git a/libxml2/result/HTML/Down.html.sax b/libxml2/result/HTML/Down.html.sax new file mode 100644 index 0000000..ae3c056 --- /dev/null +++ b/libxml2/result/HTML/Down.html.sax @@ -0,0 +1,37 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.characters( +, 1) +SAX.startElement(head) +SAX.characters( + , 3) +SAX.startElement(title) +SAX.characters(This service is temporary down, 30) +SAX.endElement(title) +SAX.characters( +, 1) +SAX.endElement(head) +SAX.characters( + +, 2) +SAX.startElement(body, bgcolor='#FFFFFF') +SAX.characters( +, 1) +SAX.startElement(h1, align='center') +SAX.characters(Sorry, this service is tempora, 37) +SAX.endElement(h1) +SAX.characters( +We are doing our best to get , 48) +SAX.startElement(p) +SAX.characters(The W3C system administrators, 29) +SAX.endElement(p) +SAX.characters( +, 1) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/libxml2/result/HTML/attr-ents.html b/libxml2/result/HTML/attr-ents.html new file mode 100644 index 0000000..0a649c5 --- /dev/null +++ b/libxml2/result/HTML/attr-ents.html @@ -0,0 +1,8 @@ + + + +
    link +link +link + + diff --git a/libxml2/result/HTML/attr-ents.html.sax b/libxml2/result/HTML/attr-ents.html.sax new file mode 100644 index 0000000..447df7a --- /dev/null +++ b/libxml2/result/HTML/attr-ents.html.sax @@ -0,0 +1,30 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.characters( +, 1) +SAX.startElement(body) +SAX.characters( +, 1) +SAX.startElement(a, href='index.cgi?a&lt=1&gt=2') +SAX.characters(link, 4) +SAX.endElement(a) +SAX.characters( +, 1) +SAX.startElement(a, href='index.cgi?a&lta&gta') +SAX.characters(link, 4) +SAX.endElement(a) +SAX.characters( +, 1) +SAX.startElement(a, href='index.cgi?a<>') +SAX.characters(link, 4) +SAX.endElement(a) +SAX.characters( +, 1) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/libxml2/result/HTML/attrents.html b/libxml2/result/HTML/attrents.html new file mode 100644 index 0000000..e71255f --- /dev/null +++ b/libxml2/result/HTML/attrents.html @@ -0,0 +1,6 @@ + + + +
    + + diff --git a/libxml2/result/HTML/attrents.html.sax b/libxml2/result/HTML/attrents.html.sax new file mode 100644 index 0000000..ab60144 --- /dev/null +++ b/libxml2/result/HTML/attrents.html.sax @@ -0,0 +1,21 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.characters( +, 1) +SAX.startElement(body, bgcolor='#FFFFFF') +SAX.characters( + , 17) +SAX.startElement(a, href='mailto:katherine@cbfanc.org,website@bis.doc.gov?subject=South San Francisco BIS Seminar - October 16th') +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/libxml2/result/HTML/autoclose.html b/libxml2/result/HTML/autoclose.html new file mode 100644 index 0000000..cacf4ed --- /dev/null +++ b/libxml2/result/HTML/autoclose.html @@ -0,0 +1,4 @@ + + +
    + diff --git a/libxml2/result/HTML/autoclose.html.sax b/libxml2/result/HTML/autoclose.html.sax new file mode 100644 index 0000000..c541c5e --- /dev/null +++ b/libxml2/result/HTML/autoclose.html.sax @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.startElement(body) +SAX.startElement(hr) +SAX.endElement(hr) +SAX.characters( +, 1) +SAX.endElement(body) +SAX.endElement(html) +SAX.endDocument() diff --git a/libxml2/result/HTML/autoclose2.html b/libxml2/result/HTML/autoclose2.html new file mode 100644 index 0000000..1ac8f99 --- /dev/null +++ b/libxml2/result/HTML/autoclose2.html @@ -0,0 +1,3 @@ + +

    toto +

    diff --git a/libxml2/result/HTML/autoclose2.html.sax b/libxml2/result/HTML/autoclose2.html.sax new file mode 100644 index 0000000..d1e6abb --- /dev/null +++ b/libxml2/result/HTML/autoclose2.html.sax @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.startElement(body) +SAX.startElement(p) +SAX.characters(toto +, 5) +SAX.endElement(p) +SAX.endElement(body) +SAX.endElement(html) +SAX.endDocument() diff --git a/libxml2/result/HTML/autoclose3.html b/libxml2/result/HTML/autoclose3.html new file mode 100644 index 0000000..13461aa --- /dev/null +++ b/libxml2/result/HTML/autoclose3.html @@ -0,0 +1,7 @@ + +
      +
    • item 1 +
    • +
    • item 2 +
    • +
    diff --git a/libxml2/result/HTML/autoclose3.html.sax b/libxml2/result/HTML/autoclose3.html.sax new file mode 100644 index 0000000..25e06ea --- /dev/null +++ b/libxml2/result/HTML/autoclose3.html.sax @@ -0,0 +1,19 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.startElement(body) +SAX.startElement(ul) +SAX.characters( +, 1) +SAX.startElement(li) +SAX.characters(item 1 +, 7) +SAX.endElement(li) +SAX.startElement(li) +SAX.characters(item 2 +, 7) +SAX.endElement(li) +SAX.endElement(ul) +SAX.endElement(body) +SAX.endElement(html) +SAX.endDocument() diff --git a/libxml2/result/HTML/cf_128.html b/libxml2/result/HTML/cf_128.html new file mode 100644 index 0000000..e2261ea --- /dev/null +++ b/libxml2/result/HTML/cf_128.html @@ -0,0 +1,24 @@ + + + +gnome-xml push mode bug + + + + + + + + +
    + Foo1 + + + + +
    Foo2

    +

    +
    +
    Foo3
    + + diff --git a/libxml2/result/HTML/cf_128.html.sax b/libxml2/result/HTML/cf_128.html.sax new file mode 100644 index 0000000..3913ebd --- /dev/null +++ b/libxml2/result/HTML/cf_128.html.sax @@ -0,0 +1,69 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(HTML, -//W3C//DTD HTML 4.0 Transitional//EN, http://www.w3.org/TR/REC-html40/strict.dtd) +SAX.startElement(html) +SAX.characters( +, 1) +SAX.startElement(head) +SAX.characters( +, 1) +SAX.startElement(title) +SAX.characters(gnome-xml push mode bug, 23) +SAX.endElement(title) +SAX.characters( +, 1) +SAX.endElement(head) +SAX.characters( +, 1) +SAX.startElement(body) +SAX.characters( + +, 2) +SAX.startElement(table, border='4') +SAX.characters( + , 3) +SAX.startElement(tr) +SAX.characters( + , 5) +SAX.startElement(td, bgcolor='white') +SAX.characters( + Foo1 + , 8) +SAX.startElement(table, border='4') +SAX.characters( + , 4) +SAX.startElement(tr) +SAX.characters( + , 6) +SAX.startElement(td) +SAX.characters(Foo2, 4) +SAX.startElement(p) +SAX.endElement(p) +SAX.startElement(p) +SAX.endElement(p) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(table) +SAX.characters( + , 5) +SAX.endElement(td) +SAX.characters( + , 5) +SAX.startElement(td, bgcolor='blue') +SAX.characters(Foo3, 4) +SAX.endElement(td) +SAX.characters( + , 4) +SAX.endElement(tr) +SAX.characters( + , 3) +SAX.endElement(table) +SAX.characters( + , 3) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 3) +SAX.endDocument() diff --git a/libxml2/result/HTML/chardata.html b/libxml2/result/HTML/chardata.html new file mode 100644 index 0000000..283b7a3 --- /dev/null +++ b/libxml2/result/HTML/chardata.html @@ -0,0 +1,32 @@ + + + + &</head>& + + + + & + + & + &</body>& + & + &</body>& + & + + & + &</body>& + & + + & + + & + + & + + & + + & + + & + + diff --git a/libxml2/result/HTML/chardata.html.sax b/libxml2/result/HTML/chardata.html.sax new file mode 100644 index 0000000..0c611b1 --- /dev/null +++ b/libxml2/result/HTML/chardata.html.sax @@ -0,0 +1,126 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.characters( + , 5) +SAX.startElement(head) +SAX.characters( + , 9) +SAX.startElement(title) +SAX.characters(&, 1) +SAX.characters(</head>, 7) +SAX.characters(&, 1) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.endElement(head) +SAX.characters( + , 5) +SAX.startElement(body) +SAX.characters( + , 9) +SAX.startElement(textarea) +SAX.characters(&, 1) +SAX.characters(</body>, 7) +SAX.characters(&, 1) +SAX.endElement(textarea) +SAX.characters( + , 9) +SAX.characters(&, 1) +SAX.characters( + , 9) +SAX.startElement(iframe) +SAX.cdata(&</body>&, 9) +SAX.endElement(iframe) +SAX.characters( + , 9) +SAX.characters(&, 1) +SAX.characters( + , 9) +SAX.startElement(noembed) +SAX.cdata(&</body>&, 9) +SAX.endElement(noembed) +SAX.characters( + , 9) +SAX.characters(&, 1) +SAX.characters( + , 9) +SAX.startElement(noframes) +SAX.cdata(&</body>&, 9) +SAX.endElement(noframes) +SAX.characters( + , 9) +SAX.characters(&, 1) +SAX.characters( + , 9) +SAX.startElement(style) +SAX.cdata(&</body>&, 9) +SAX.endElement(style) +SAX.characters( + , 9) +SAX.characters(&, 1) +SAX.characters( + , 9) +SAX.startElement(xmp) +SAX.cdata(&</body>&, 9) +SAX.endElement(xmp) +SAX.characters( + , 9) +SAX.characters(&, 1) +SAX.characters( + , 9) +SAX.startElement(script) +SAX.cdata(&<script>&, 10) +SAX.endElement(script) +SAX.characters( + , 9) +SAX.characters(&, 1) +SAX.characters( + , 9) +SAX.startElement(script) +SAX.cdata(&<!--&, 6) +SAX.endElement(script) +SAX.characters( + , 9) +SAX.characters(&, 1) +SAX.characters( + , 9) +SAX.startElement(script) +SAX.cdata(&<!--&-->&, 19) +SAX.endElement(script) +SAX.characters( + , 9) +SAX.characters(&, 1) +SAX.characters( + , 9) +SAX.startElement(script) +SAX.cdata(&<!--&-->&, 10) +SAX.endElement(script) +SAX.characters( + , 9) +SAX.characters(&, 1) +SAX.characters( + , 9) +SAX.startElement(script) +SAX.cdata(&<!--&<script, 29) +SAX.endElement(script) +SAX.characters( + , 9) +SAX.characters(&, 1) +SAX.characters( + , 9) +SAX.startElement(script) +SAX.cdata(&<!--&<script, 48) +SAX.endElement(script) +SAX.characters( + , 9) +SAX.characters(&, 1) +SAX.characters( + , 5) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/libxml2/result/HTML/chunked_attr.html b/libxml2/result/HTML/chunked_attr.html new file mode 100644 index 0000000..2fd71a6 --- /dev/null +++ b/libxml2/result/HTML/chunked_attr.html @@ -0,0 +1,46 @@ + + + + +

    +Filler bytes follow: + + 100 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 200 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 300 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 400 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 500 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 600 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 700 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 800 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 900 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 1000 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 100 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 200 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 300 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 400 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 500 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 600 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 700 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 800 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 900 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 2000 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 100 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 200 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 300 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 400 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 500 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 600 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 700 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 800 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 +xxx +

    +
    +
    + + diff --git a/libxml2/result/HTML/chunked_attr.html.sax b/libxml2/result/HTML/chunked_attr.html.sax new file mode 100644 index 0000000..537de7b --- /dev/null +++ b/libxml2/result/HTML/chunked_attr.html.sax @@ -0,0 +1,37 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.characters( +, 1) +SAX.comment( +This tests internal state tracking of the push parser and assumes a chunk +size of 4096 (or a divisor of 4096) and an initial chunk of size 4. +Make sure that the first '<' in the attribute value ends up near +offset 4100. +) +SAX.characters( +, 1) +SAX.startElement(body) +SAX.characters( +, 1) +SAX.startElement(p) +SAX.characters( +Filler bytes follow: + + 1, 2827) +SAX.endElement(p) +SAX.characters( +, 1) +SAX.startElement(div, fill1='123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789', onmouseover='x<b>text</b>x', fill2='123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789', fill3='123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789', fill4='123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789', fill5='123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789', fill6='123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789') +SAX.characters( +, 1) +SAX.endElement(div) +SAX.characters( +, 1) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/libxml2/result/HTML/comments.html b/libxml2/result/HTML/comments.html new file mode 100644 index 0000000..973050c --- /dev/null +++ b/libxml2/result/HTML/comments.html @@ -0,0 +1,15 @@ + + + +
    +

    + + Incorrectly closed comment + +

    +
    + whatwg guidance is that this should be a DOM node +
    +
    + + diff --git a/libxml2/result/HTML/comments.html.sax b/libxml2/result/HTML/comments.html.sax new file mode 100644 index 0000000..011c6dc --- /dev/null +++ b/libxml2/result/HTML/comments.html.sax @@ -0,0 +1,46 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.characters( + , 3) +SAX.startElement(body) +SAX.characters( + , 5) +SAX.startElement(div) +SAX.characters( + , 7) +SAX.startElement(h3) +SAX.characters( + , 9) +SAX.startElement(a, href='https://html.spec.whatwg.org/multipage/parsing.html#parse-error-incorrectly-closed-comment') +SAX.characters( + Incorrectly closed , 46) +SAX.endElement(a) +SAX.characters( + , 7) +SAX.endElement(h3) +SAX.characters( + , 7) +SAX.startElement(div) +SAX.characters( + , 9) +SAX.comment(incorrectly closed comment) +SAX.startElement(span, id='under-test') +SAX.characters(whatwg guidance is that this s, 49) +SAX.endElement(span) +SAX.comment(correctly closed comment) +SAX.characters( + , 7) +SAX.endElement(div) +SAX.characters( + , 5) +SAX.endElement(div) +SAX.characters( + , 3) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/libxml2/result/HTML/comments2.html b/libxml2/result/HTML/comments2.html new file mode 100644 index 0000000..eb077ac --- /dev/null +++ b/libxml2/result/HTML/comments2.html @@ -0,0 +1,15 @@ + + + +
    +

    + + Incorrectly closed comment without a correctly closed comment + +

    +
    + whatwg guidance is that this should be a DOM node +
    +
    + + diff --git a/libxml2/result/HTML/comments2.html.sax b/libxml2/result/HTML/comments2.html.sax new file mode 100644 index 0000000..4958a4f --- /dev/null +++ b/libxml2/result/HTML/comments2.html.sax @@ -0,0 +1,45 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.characters( + , 3) +SAX.startElement(body) +SAX.characters( + , 5) +SAX.startElement(div) +SAX.characters( + , 7) +SAX.startElement(h3) +SAX.characters( + , 9) +SAX.startElement(a, href='https://html.spec.whatwg.org/multipage/parsing.html#parse-error-incorrectly-closed-comment') +SAX.characters( + Incorrectly closed , 81) +SAX.endElement(a) +SAX.characters( + , 7) +SAX.endElement(h3) +SAX.characters( + , 7) +SAX.startElement(div) +SAX.characters( + , 9) +SAX.comment(incorrectly closed comment) +SAX.startElement(span, id='under-test') +SAX.characters(whatwg guidance is that this s, 49) +SAX.endElement(span) +SAX.characters( + , 7) +SAX.endElement(div) +SAX.characters( + , 5) +SAX.endElement(div) +SAX.characters( + , 3) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/libxml2/result/HTML/comments3.html b/libxml2/result/HTML/comments3.html new file mode 100644 index 0000000..da965ce --- /dev/null +++ b/libxml2/result/HTML/comments3.html @@ -0,0 +1,18 @@ + + + +
    +

    + + Abruptly closed comment + +

    +
    + the previous node should be an empty comment, and this should be a text node--> +
    +
    + the previous node should be an empty comment, and this should be a text node--> +
    +
    + + diff --git a/libxml2/result/HTML/comments3.html.sax b/libxml2/result/HTML/comments3.html.sax new file mode 100644 index 0000000..9f40a45 --- /dev/null +++ b/libxml2/result/HTML/comments3.html.sax @@ -0,0 +1,49 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.characters( + , 3) +SAX.startElement(body) +SAX.characters( + , 5) +SAX.startElement(div) +SAX.characters( + , 7) +SAX.startElement(h3) +SAX.characters( + , 9) +SAX.startElement(a, href='https://html.spec.whatwg.org/multipage/parsing.html#parse-error-abrupt-closing-of-empty-comment') +SAX.characters( + Abruptly closed com, 43) +SAX.endElement(a) +SAX.characters( + , 7) +SAX.endElement(h3) +SAX.characters( + , 7) +SAX.startElement(div) +SAX.characters( + , 9) +SAX.comment() +SAX.characters(the previous node should be an, 86) +SAX.endElement(div) +SAX.characters( + , 7) +SAX.startElement(div) +SAX.characters( + , 9) +SAX.comment() +SAX.characters(the previous node should be an, 86) +SAX.endElement(div) +SAX.characters( + , 5) +SAX.endElement(div) +SAX.characters( + , 3) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/libxml2/result/HTML/doc2.htm b/libxml2/result/HTML/doc2.htm new file mode 100644 index 0000000..49ced03 --- /dev/null +++ b/libxml2/result/HTML/doc2.htm @@ -0,0 +1,31 @@ + + + +Welcome to Copernic.com + + + + + + + + + + + + + + + + <body bgcolor="#FFFFFF" text="#000000" link="#000080" vlink="#000080" alink="#000080" + topmargin="0" leftmargin="0" marginheight="0" marginwidth="0"> + <p>This page uses frames, but your browser doesn't support them.</p> + </body> + + + diff --git a/libxml2/result/HTML/doc2.htm.sax b/libxml2/result/HTML/doc2.htm.sax new file mode 100644 index 0000000..db42c5b --- /dev/null +++ b/libxml2/result/HTML/doc2.htm.sax @@ -0,0 +1,57 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(HTML, -//W3C//DTD HTML 4.0 Transitional//EN, ) +SAX.comment( saved from url=(0016)http://intranet/ ) +SAX.comment( BEGIN Naviscope Javascript ) +SAX.startElement(html) +SAX.startElement(head) +SAX.startElement(title) +SAX.characters(Welcome to Copernic.com, 23) +SAX.endElement(title) +SAX.characters( +, 1) +SAX.startElement(script, language='javascript') +SAX.cdata( + NS_ActualOpen=windo, 194) +SAX.endElement(script) +SAX.characters( +, 1) +SAX.comment( END Naviscope Javascript ) +SAX.internalSubset(HTML, -//W3C//DTD HTML 4.0 Transitional//EN, ) +SAX.comment( saved from url=(0027)http://www.agents-tech.com/ ) +SAX.characters( +, 1) +SAX.startElement(meta, content='text/html; charset=iso-8859-1', http-equiv='Content-Type') +SAX.endElement(meta) +SAX.characters( +, 1) +SAX.startElement(meta, content='Copernic.com Inc. develops innovative agent technology solutions to efficiently access and manage the overwhelming quantity of information available on the Internet and intranets.', name='DESCRIPTION') +SAX.endElement(meta) +SAX.characters( +, 1) +SAX.startElement(meta, content='agent,technology,intranet,extranet,management,filtering,ranking,solution,service,intelligent,intelligence,client,server,architecture,developer,development,information,telecommunication,announcement,press,product,profile,contact,multi-agent,meta-search,metasearch,multi-thread,mobile,wireless,shopping,robot,PCS,Copernic,engine,toolkit,CDK,EDK', name='KEYWORDS') +SAX.endElement(meta) +SAX.characters( +, 1) +SAX.startElement(meta, content='MSHTML 5.00.3103.1000', name='GENERATOR') +SAX.endElement(meta) +SAX.endElement(head) +SAX.startElement(frameset, border='false', cols='172,*', frameborder='0', framespacing='0') +SAX.startElement(frame, marginheight='0', marginwidth='0', name='left', noresize, scrolling='no', src='doc2_files/side.htm', target='rtop') +SAX.endElement(frame) +SAX.startElement(frameset, rows='43,*') +SAX.startElement(frame, marginheight='0', marginwidth='0', name='rtop', noresize, scrolling='no', src='doc2_files/top.htm', target='rbottom') +SAX.endElement(frame) +SAX.startElement(frame, name='rbottom', noresize, src='doc2_files/contents.htm', target='_top') +SAX.endElement(frame) +SAX.endElement(frameset) +SAX.startElement(noframes) +SAX.cdata( + + <body bgcolor="#FFFFFF", 238) +SAX.endElement(noframes) +SAX.endElement(frameset) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/libxml2/result/HTML/doc3.htm b/libxml2/result/HTML/doc3.htm new file mode 100644 index 0000000..0bf184d --- /dev/null +++ b/libxml2/result/HTML/doc3.htm @@ -0,0 +1,579 @@ + + + +BP6.com #1 online resource for the BP6 Mobo.... + + + + + + + + + + + +

    +

    +
    + + + + + + + + + + + + + +
    +
    +

    Monday, July 31st, 2000

    +
    + + + + +
    +
    +

    +

    + + + + + + +
    +
    +
    + + + + + + + + + + + + +
    +

    Abit BP6 Motherboard specification and information.
    BP6 Specs +

    +
    +

    How to cool the BX Chipset on your BP6.
    BX Cooling +

    +
    +

    The U;timate Gaming Contest - Coming Soon!
    UGM Contest +

    +
    +

    Cooling & Heatsink review for the BP6.
    Heatsinks +

    +
    +

    BP6 101 - Class is now in session. Welcome newbies!
    BP6 101 +

    +
    +

    Install guide for installing Windows 2000 on the BP6
    Win2k Install +

    +
    +

    Taking a first look at the Abit Linux release called
    Gentus +

    +
    +
    +
    +
    +
    +
    + + + + + + + + +
    + + + + + + +
    +
    REVIEWS
    +
    +
    BP6 Reviews
    BP6 Watercooling
    BX Chipset Cooling
    Benchmarks
    BP6FSB Utility
    PowerLeap NEO S370
    SETI on the BP6
    Golden Orbs I
    Golden Orbs II
    VTT Solution

    NAVIGATE +
    +
    News
    Online Text Chat
    Voice Chat
    Messageboard
    Temp. Converter
    Picture Gallery
    Latest BIOS
    Drivers & Files
    UGM of the week
    BP6 Contest

    OTHER STUFF + +
    +
    Who is Tim?
    Contact BP6.com
    Affiliates Section
    Sponsors Section
    Links

    PC SPECIALS +
    +
    Vendor + Specials


    Pic of the day +
    + +
    +

    No picture is available for today.

    +
    +
    +
    +
    +
    +
    +
    +
    +

    +

    + + + + + + +
    +
    + +
    +
    Headlines
    Chat + with ABIT - 8:09PM PDT
    Fixed + wallpaper - 11:47PM PDT
    Seti + update - 10:40PM PDT
    Judge + gives Napster the Boot!! - 2:10PM PDT
    Ram + Sinks.. more cooling for small places. - 8:54AM + PDT
    is + it [H]ard? - 9:19PM PDT
    WiLd + CaSe!! - 1:40PM PDT
    What + the heck is a Peltier?!?! - 10:05AM PDT
    HELLO + EVERYONE!!! - 10:03PM PDT
    BP6 + Q3 server up and running.. - 2:06AM PDT

    + + + + + + +
    Sunday, + July 30, 2000
    +
    Chat with + ABIT
    Posted by Holodeck2 @ 8:09PM + PDT  0 comments +  | top
    I’m slacking a little. All game no + work makes Holodeck2 a happy boy :-)

    Wallpaper update: I got + off my lazy ass and redid the 1280x1024 wall paper, now it has the 2 + celerons.

    Fullon3d had a live chat with that Eric guy from Abit. + Submitted by: MJS

    Here’s a little clip:
    [Falcon] + BP6-2??
    [EricBoeing] We already have a micro ATX dual flip-chip + board
    [EricBoeing] but it's OEM only
    [EricBoeing] the full ATX + version should be out Septemberish


    + + + + + + +
    Thursday, + July 27, 2000
    +
    Fixed + wallpaper
    Posted by Holodeck2 @ 11:47PM + PDT  5 comments +  | top
    Get them now!!
    This is a + fixed bp6 wallpaper. In all the popular flavors, err... + resolutions.

    It's still the Intels Inside one with a spelling + change; from "Mothboard" to "Motherboard"

    Thanks to Matt for + pointing that out to me.
    I would also like to thank Kevin for + hosting my last batch and Radu for the previous "DUEL"/"DUAL" + error.
    And 1 more person, THANK YOU TIM for letting me borrow + your server space ;-)

    If you need a weird resolution, feel + free to e-mail me requesting + for one.
    If you have ideas or more errors to point out, mailto:Holodeck2@home.com

    800x600
    1024x768
    1152x864
    1280x1024
    1600x1200
    +

    Enjoy :-)
    +

    +

    Holodeck2,
    [H]ard at + work on the Brand Spanking New Wallpaper.



    Seti update
    Posted by Holodeck2 @ 10:40PM + PDT  5 comments +  | top

    You like the + pic?

    Bp6 User Group Update:
    Completed 61531 + units!!
    #168 on Top 200 All Groups (Going to pass CLRC in + a few days)
    #74 on Top 200 Teams (Gaining fast on + Starfleet)

    We are flying though at the speed of light (may be + a little slower).
    Good job everyone!!

    Check this page at + least once a day for new stuff :-)


    Judge gives Napster the + Boot!!
    Posted by Holodeck2 @ 2:10PM + PDT  0 comments +  | top
    Good afternoon for everyone living in + EST. I was going to post today morning but I didn't. Here's my + story:
    I woke up and thought about posting something but I + decided to wax my car before the sun came up (draw your own + conclusions), wax on, wax off, wax on,..., did that for about an + hour. Then I saw the sun rise (Aaahh I'm melting... not). I sat in + front of my comp and started to search for good news to post. Saw + that a stoopid judge temporally shuts down napster. Goes to room and + cry. and now I'm here :-)

    Judge shuts Napster down +


    Check out the Goofy guy in the suit
    He's Sean + Fanning, founder of Napster.

    Got news?? mailto:Holodeck2@home.com


    Ram Sinks.. more cooling for small + places.
    Posted by tim @ 8:54AM PDT  0 comments +  | top
    Need some cooling for your Videocard + memory to get a little extra overclockability and FPS? Overclockers Hiedout Ram Sinks They just notified + me of their new design.


    + + + + + + +
    Wednesday, July 26, + 2000
    +
    is it + [H]ard?
    Posted by Holodeck2 @ 9:19PM + PDT  0 comments +  | top
    Big heatsinks are good, very good. The + bigger the better.
    You can never can have a too big of heatsink + on a small chip (CPU, GPU, CHIPSET, etc)


    My overclocked + Voodoo3 2000 with a BIG mofo heatsink on top.
    Peltier and + watercooling next up :-)
    (if you pry off the heatsink you void + the warranty )

    it was originally posted on [H]ardOCP
    I’m not only a + BP6er but also a [H]ardOCPer


    WiLd CaSe!!
    Posted by Holodeck2 @ 1:40PM + PDT  8 comments +  | top
    Now this person really knows how to + keep his case cool!!
    Addin an 18" Fan!! WOW!!


    Click to go to his + site.


    What the heck is a + Peltier?!?!
    Posted by Holodeck2 @ 10:05AM + PDT  6 comments +  | top
    This is for all you people who wanted + to know what a peltier is.

    The quest fo the Perfect + Peltier

    Thanks to + TweakMax.com +

    Note: Today morning when I woke up I saw my whole screen + cluttered with a bunch of IMs!! I live in the USA on EST. If you + live somewhere else please check the time in my area. for example: + If you live in Europe and IM me in the morning your time I would be + sleeping it would be like 4 in the morning here. Just to let you + know
    I'm not angry at anyone... + good thing I have a long fuse


    + + + + + + +
    Tuesday, + July 25, 2000
    +
    HELLO + EVERYONE!!!
    Posted by Holodeck2 @ 10:03PM + PDT 
    Hello + everyone, Woohoo!! I'm on!!
    Who is this Holodeck2 person + anyways?!?! Read on :-)
    I’m a regular on the bp6 messageboard, + trying to help people out with their problems.
    I’m the + self-proclaimed bp6 cooling expert, If you have a cooling idea, I’ve + probably already done it and can offer some incite.
    My computer + is always on so you can contact me whenever... problem is, I'm not + always in front of it. I'll try to update this page and keep + everyone happy :-)
    Any Questions or comments, you can either + contact me or post it on the messageboard.

    Ways to contact + me.
    E-mail: Holodeck2@home.com (All E-mails + will be answered in 24 hours or less, I guarantee it.)
    When you + write me an e-mail please put in the subject line "BP6" then the + rest of your subject so my e-mail program can sort it, thanks
    AIM: Holodeck2 (instant response + if I’m in front of my comp and not trying to frag someone)
    ICQ: 82640218 (rarely + on)

    P.S. If someone named “Digital Vortex” on either Quake 3 + or 2 frags you, it’s probably me. ;-)


    + + + + + + +
    Monday, + July 24, 2000
    +
    BP6 Q3 server up and + running..
    Posted by tim @ 2:06AM PDT  3 comments +  | top
    Setup a Q3 server for anyone wanting + to practice in preparation for Quakecon.. Connect to bp6.dyndns.org + default port. (SERVER: BP6 system, 256 MB ram, celeron 600 on a T3 + connection)... Will be moved to another BP6 server eventually. This + is only a temporary test of the system and net connection.
    (BTW- + there are a few bot's running around in there..)


    BIOS Savior to the + rescue....
    Posted by tim @ 12:53AM PDT  2 comments +  | top
    Do you sweat during the BIOS flashing + procedure on your BP6 mobo? If so then this little gadget maybe + worth a first look. It's called the "RD1 BIOS Savior" and it + plugs in between your BIOS ROM and the BIOS ROM socket on your mobo. + This device will backup your BIOS and and allow you to recover your + BIOS in the event that your flashing session goes wrong. In the + event of a bad flash, just flip a switch on the RDI and boot up your + system, and flash again. This is also good as a failsafe in case you + don't believe in Virus Protecting your computer. (Thanks to Fred for + link)
    Manufacturers Brochure (PDF Format)
    Another info page
    Available for about $20



    + + + + + + +
    Monday, + July 17, 2000
    +
    How To + Overclock
    Posted by DareDevil @ 4:17PM + PDT  3 comments +  | top
    For those of you who are new to + overclocking, this guide will explain to you how to overclock, and + what some of the terms are. Like 'FSB' (what the heck is that!? + :0))

    How To Overclock


    The Cardcooler + XT
    Posted by DareDevil @ 4:11PM + PDT  1 comments +  | top
    Wow! I am impressed! Nevermind keeping + the CPU's cool... Keep your whole board cool!

    Even if your + not overclocking your system (or planning on it), this unit will + provide system stability and longevity. What would happen one day of + your GeForce or CPU fan went dead? You can also think of this + cooling unit as a backup to essential cooling fans in your + system.

    Check this out!

    http://www.brokenpixel.com/articles/coolerXT/cardcoolerXT_1.shtml +


    'Nerd + Inside'
    Posted by DareDevil @ 11:53AM + PDT  1 comments +  | top
    We all need to have some fun + sometimes! Check out this little web site that sells 'nerd' clothing + ;) (I like the bibs in the Junior Hackerz section) :-Þ

    +


    Dual PSU Wiring diagram... (preview to + Part 1 Watercooling Project)
    Posted by tim @ 12:43AM PDT  11 comments +  | top
    When is comes to overclocking your + system, cooling plays a big role. Powering all of those fans in your + system can cause quite a strain on your PSU (Power Supply Unit). + Depending on the number of peripherals in your system, adding a more + powerfull PSU or adding a second PSU may be neccesary. For + watercooling and using peltiers, dedicating a second PSU to power + the Peltiers (TEC's) is a good idea. Here I have come up with 2 + diagrams on how I wired dual 300 watt ATX power supply units for the + Blizzard BP6 watercooling project. Consider this part of Step 1. + More will follow this week. BTW.. hacking up your PSU's is very + dangerous and is not recommended unless you know what you are doing. +

    View Diagram 1 here.
    View Diagram 2 here.

    I used Tap-In Squeeze Connectors and + 22 guage wire to connect the wires. You can get them at Radio Shack + Part# 64-3053 or click here.


    + + + + + + +
    Sunday, + July 16, 2000
    +
    RAM Overclocking? + Hmmmmm.
    Posted by DareDevil @ 9:57AM + PDT  3 comments +  | top
    I know we're pretty big overclockers + here at BP6.Com so, this is a post of choice ;-) I've seen the + question in the message boards, 'why can't I overclock any higher?' + Well, it's not always the CPU that's holding you back... Many other + things need to be taken care of to overclock such as your PCI + devices (can they handle the higher bus speed), the actual CPU, and + your RAM. I'm not saying that that a high quality stick of silicon + will enable you to overclock your 366MHz to 1 GHZ (I wish!), but, it + will certainly help =)

    Extreme Overclocking has tested + (overclocked) PC133 RAM to there full potential. Here's a quote I + found and the link:

    Well, the guys at Extreme Overclocking + have been hard at work again with their latest review. This time + they have put seven 128MB PC133 memory modules through the torture + tests to determine their maximum overclocking potential. Which one's + came out on top? Read the review to find out....

    Cooked RAM... Yummie

    The + ÐÐ.


    CPU + Guide
    Posted by DareDevil @ 9:17AM + PDT  0 comments +  | top
    A follow up on the 'Weekly CPU + Prices', this guide will help you determine which cpu is best for + you (and your board ;-)). Sent to me by Spanky, here's the + link:

    +
  • http://www6.tomshardware.com/howto/00q2/000412/index.html


  • + + + + + + +
    Saturday, + July 15, 2000
    +
    Weekly CPU + Prices
    Posted by DareDevil @ 11:29AM + PDT  2 comments +  | top
    Wow, found this very useful! Wanting + to buy a new CPU? Check out this detailed price list!

    Click Here.

    Thanks Sharky + Extreme!


    Fast Wallpapers
    Posted by DareDevil @ 9:51AM + PDT  0 comments +  | top
    FAST-MHz has released some wallpapers! + Click here to view them. They come in sizes + 800x600 1024x768 and 1152x864. If you have your desktop set at a + larger size, just use the 'stretch' function in desktop properties + instead of 'center'. Works great.

    In other news, we want to + finnish off all the sections at BP6.Com so, to start, we're going to + work on the Picture Gallery. To help us out, you can send in + all your cool, wierd, crazy pics that you may have to: thedaredevil@bp6.com. (The + topic being computers, duh! :0) And no... I don't want to recieve + any porno piccies in my mailbox! I have enough of those!) Kidding + guys.

    Okay, that's all for now.

    The + ÐÐ.


    + + + + + + +
    Friday, + July 14, 2000
    +
    Hey + There!
    Posted by DareDevil @ 5:05PM + PDT  7 comments +  | top
    Hey guys, just wanted to introduce + myself, some of you may have already met me on the BP6.com board. + I'll be posting up news from time to time now so, if you'd like, you + may send me some news to be posted if you find any ( we don't want + to flood Tim ;-) ).

    My e-mail address is killz@i82hq.com

    Ciao for + now.

    The ÐÐ.


    +
    +
    +
    +
    +
    +

    +

    + + + + + + +
    +
    + +
    +
    Newsletter


    +
    + +
    Search news


    News + archive +
    +
    + + + + + + + +
    + + + + +
    +
    +

    PC Price + Search

    +

    +
    +
    +



    BP6.com Special - Enter CODE: BP6-hd in the order (notes) to receive a discount
    BP6.COM + Special
    Code:BP6-hd
    + + + + + + +
     
    +
    +
    + +
    + +  + + + + + + + +
    +

    Copyright + ©1999-2000 BP6.com, All rights reserved.
    Got news? Send it to
    Tim

    +
    +
    + + + diff --git a/libxml2/result/HTML/doc3.htm.err b/libxml2/result/HTML/doc3.htm.err new file mode 100644 index 0000000..14adece --- /dev/null +++ b/libxml2/result/HTML/doc3.htm.err @@ -0,0 +1,48 @@ +./test/HTML/doc3.htm:148: HTML parser error : Unexpected end tag : p +

    + ^ +./test/HTML/doc3.htm:236: HTML parser error : Unexpected end tag : font + Specials




    + ^ +./test/HTML/doc3.htm:747: HTML parser error : Unexpected end tag : font +om/ad_static.asp?pid=2097&sid=1881&asid=7708"> + ^ +./test/HTML/doc3.htm:747: HTML parser error : Unexpected end tag : p +=7708">

    + ^ +./test/HTML/doc3.htm:772: HTML parser error : Unexpected end tag : form + archive
    Code:BP6-hd

    Code:BP6-hd

     

    < + ^ +./test/HTML/doc3.htm:840: HTML parser error : Unexpected end tag : td +
      + ^ diff --git a/libxml2/result/HTML/doc3.htm.sax b/libxml2/result/HTML/doc3.htm.sax new file mode 100644 index 0000000..8ff2059 --- /dev/null +++ b/libxml2/result/HTML/doc3.htm.sax @@ -0,0 +1,3267 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(HTML, -//W3C//DTD HTML 4.0 Transitional//EN, ) +SAX.comment( saved from url=(0025)http://bp6.gamesquad.net/ ) +SAX.comment( BEGIN Naviscope Javascript ) +SAX.startElement(html) +SAX.startElement(head) +SAX.startElement(title) +SAX.characters(BP6.com #1 online resource for, 47) +SAX.endElement(title) +SAX.characters( +, 1) +SAX.startElement(script, language='javascript') +SAX.cdata( + NS_ActualOpen=windo, 37) +SAX.cdata( + function NS_NullWin, 49) +SAX.cdata( + function NS_NewOpen, 73) +SAX.cdata( + window.open=NS_NewO, 34) +SAX.cdata( +, 1) +SAX.endElement(script) +SAX.characters( +, 1) +SAX.comment( END Naviscope Javascript ) +SAX.internalSubset(HTML, -//W3C//DTD HTML 3.2//EN, ) +SAX.comment(last modified on Tuesday, February 22, 2000 11:47 PM ) +SAX.characters( +, 1) +SAX.startElement(meta, content='text/html;CHARSET=iso-8859-1', http-equiv='Content-Type') +SAX.endElement(meta) +SAX.characters( +, 1) +SAX.startElement(meta, content='Tim', name='Author') +SAX.endElement(meta) +SAX.characters( +, 1) +SAX.startElement(style, type='text/css') +SAX.cdata(A.nav {, 7) +SAX.cdata( + COLOR: #003399; TEXT-DECORAT, 39) +SAX.cdata( +}, 2) +SAX.cdata( +A.nav:hover {, 14) +SAX.cdata( + COLOR: #3366cc; TEXT-DECORAT, 44) +SAX.cdata( +}, 2) +SAX.cdata( +, 1) +SAX.endElement(style) +SAX.characters( +, 1) +SAX.characters( +, 1) +SAX.startElement(script, language='JavaScript') +SAX.cdata( +<!-- Idea by: Nic Wolfe (, 476) +SAX.endElement(script) +SAX.characters( +, 1) +SAX.characters( +, 1) +SAX.startElement(meta, content='MSHTML 5.00.3103.1000', name='GENERATOR') +SAX.endElement(meta) +SAX.endElement(head) +SAX.characters( +, 1) +SAX.startElement(body, alink='red', bgcolor='black', link='red', text='white', vlink='red') +SAX.characters( +, 1) +SAX.startElement(p) +SAX.characters( +, 1) +SAX.endElement(p) +SAX.startElement(div, align='center') +SAX.characters( +, 1) +SAX.startElement(table, border='0', cellpadding='0', cellspacing='0', width='80%') +SAX.characters( + , 3) +SAX.startElement(tbody) +SAX.characters( + , 3) +SAX.startElement(tr) +SAX.characters( + , 5) +SAX.startElement(td, valign='top', width='31') +SAX.startElement(a, href='http://bp6.gamesquad.net/') +SAX.startElement(img, align='bottom', border='0', height='74', src='doc3_files/logo.gif', width='252') +SAX.endElement(img) +SAX.endElement(a) +SAX.endElement(td) +SAX.characters( + , 5) +SAX.startElement(td, align='left', bgcolor='#000000') +SAX.startElement(img, height='15', src='doc3_files/spacer.gif', width='15') +SAX.endElement(img) +SAX.comment( START GAMESQUAD.NET IFRAME RICH MEDIA CODE ) +SAX.characters( , 1) +SAX.comment( © 2000 GameSquad.net All Rights Reserved. ) +SAX.startElement(iframe, border='0', frameborder='no', height='60', marginheight='0', marginwidth='0', scrolling='no', src='doc3_files/adcycle.htm', width='468') +SAX.cdata( +<a href="http://ads.gamesq, 235) +SAX.endElement(iframe) +SAX.comment( END GAMESQUAD.NET IFRAME RICH MEDIA CODE ) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(img, height='15', src='doc3_files/spacer.gif', width='400') +SAX.endElement(img) +SAX.characters( , 1) +SAX.endElement(td) +SAX.endElement(tr) +SAX.characters( + , 3) +SAX.startElement(tr) +SAX.characters( + , 5) +SAX.startElement(td, bgcolor='#003399', colspan='2') +SAX.characters( + , 7) +SAX.startElement(p, align='right') +SAX.startElement(img, align='right', border='0', height='18', hspace='0', src='doc3_files/trcorner.gif', width='20') +SAX.endElement(img) +SAX.startElement(img, align='left', border='0', height='18', hspace='0', src='doc3_files/tlcorner.gif', width='20') +SAX.endElement(img) +SAX.startElement(font, face='Verdana', size='2') +SAX.characters(Monday, July 31st, 2000, 23) +SAX.endElement(font) +SAX.characters( , 1) +SAX.endElement(p) +SAX.endElement(td) +SAX.endElement(tr) +SAX.characters( + , 3) +SAX.startElement(tr) +SAX.characters( + , 5) +SAX.startElement(td, colspan='2') +SAX.characters( + , 7) +SAX.startElement(table, bgcolor='#003399', border='0', cellpadding='0', cellspacing='4', width='100%') +SAX.startElement(tbody) +SAX.characters( + , 9) +SAX.startElement(tr) +SAX.characters( + , 11) +SAX.startElement(td, bgcolor='#666666', width='100%') +SAX.characters( + , 13) +SAX.startElement(center) +SAX.characters( + , 13) +SAX.startElement(p) +SAX.characters( + , 13) +SAX.endElement(p) +SAX.startElement(table, bgcolor='black', border='0', cellpadding='0', cellspacing='1', width='100%') +SAX.characters( + , 15) +SAX.startElement(tbody) +SAX.characters( + , 15) +SAX.startElement(tr) +SAX.characters( + , 17) +SAX.startElement(td, background='doc3_files/hscan.gif', bgcolor='#666666', width='100%') +SAX.startElement(img, height='1', src='doc3_files/spacer.gif', width='738') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + , 19) +SAX.startElement(center) +SAX.characters( + , 19) +SAX.startElement(table, border='0', cellpadding='2', cellspacing='0', width='91%') +SAX.characters( + , 21) +SAX.startElement(tbody) +SAX.characters( + , 21) +SAX.startElement(tr) +SAX.characters( + , 23) +SAX.startElement(td, valign='top', width='15%') +SAX.characters( + , 25) +SAX.startElement(p, align='center') +SAX.startElement(a, href='http://bp6.gamesquad.net/specs.phtml') +SAX.startElement(img, align='bottom', alt='Abit BP6 Motherboard specification and information.', border='0', height='45', src='doc3_files/bp6icon.gif', width='70') +SAX.endElement(img) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/specs.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(BP6 Specs, 9) +SAX.endElement(font) +SAX.endElement(a) +SAX.characters( , 1) +SAX.characters( + , 23) +SAX.endElement(p) +SAX.endElement(td) +SAX.characters( + , 23) +SAX.startElement(td, valign='top', width='15%') +SAX.characters( + , 25) +SAX.startElement(p, align='center') +SAX.startElement(a, href='http://bp6.gamesquad.net/bxcool.phtml') +SAX.startElement(img, align='bottom', alt='How to cool the BX Chipset on your BP6.', border='0', height='45', src='doc3_files/bxcool.gif', width='70') +SAX.endElement(img) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(BX Cooling, 10) +SAX.endElement(font) +SAX.endElement(a) +SAX.characters( , 1) +SAX.characters( + , 25) +SAX.endElement(p) +SAX.endElement(td) +SAX.characters( + , 23) +SAX.startElement(td, valign='top', width='15%') +SAX.characters( + , 25) +SAX.startElement(p, align='center') +SAX.startElement(a, href='http://bp6.gamesquad.net/contest.phtml') +SAX.startElement(img, align='bottom', alt='The U;timate Gaming Contest - Coming Soon!', border='0', height='45', src='doc3_files/ugmcontest.gif', width='70') +SAX.endElement(img) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/contest.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(UGM Contest, 11) +SAX.endElement(font) +SAX.endElement(a) +SAX.characters( , 1) +SAX.characters( + , 25) +SAX.endElement(p) +SAX.endElement(td) +SAX.characters( + , 23) +SAX.startElement(td, valign='top', width='15%') +SAX.characters( + , 25) +SAX.startElement(p, align='center') +SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml') +SAX.startElement(img, align='bottom', alt='Cooling & Heatsink review for the BP6.', border='0', height='45', src='doc3_files/alpha.gif', width='70') +SAX.endElement(img) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Heatsinks, 9) +SAX.endElement(font) +SAX.endElement(a) +SAX.characters( , 1) +SAX.characters( + , 23) +SAX.endElement(p) +SAX.endElement(td) +SAX.characters( + , 23) +SAX.startElement(td, valign='top', width='15%') +SAX.characters( + , 25) +SAX.startElement(p, align='center') +SAX.startElement(a, href='http://bp6.gamesquad.net/101.phtml') +SAX.startElement(img, align='bottom', alt='BP6 101 - Class is now in session. Welcome newbies!', border='0', height='45', src='doc3_files/bp6101.gif', width='70') +SAX.endElement(img) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/101.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(BP6 101, 7) +SAX.endElement(font) +SAX.endElement(a) +SAX.characters( , 1) +SAX.characters( + , 23) +SAX.endElement(p) +SAX.endElement(td) +SAX.characters( + , 23) +SAX.startElement(td, valign='top', width='15%') +SAX.characters( + , 25) +SAX.startElement(p, align='center') +SAX.startElement(a, href='http://bp6.gamesquad.net/win2k_install.phtml') +SAX.startElement(img, align='bottom', alt='Install guide for installing Windows 2000 on the BP6 ', border='0', height='45', src='doc3_files/win2kht.gif', width='70') +SAX.endElement(img) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/win2k_install.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Win2k Install, 13) +SAX.endElement(font) +SAX.endElement(a) +SAX.characters( , 1) +SAX.characters( + , 25) +SAX.endElement(p) +SAX.endElement(td) +SAX.characters( + , 23) +SAX.startElement(td, valign='top', width='15%') +SAX.characters( + , 25) +SAX.startElement(p, align='center') +SAX.startElement(a, href='http://www.gentus.com/') +SAX.startElement(img, align='bottom', alt='Taking a first look at the Abit Linux release called ', border='0', height='45', src='doc3_files/gentusbox.gif', width='70', gentus?.?) +SAX.endElement(img) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://www.gentus.com/') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Gentus, 6) +SAX.endElement(font) +SAX.endElement(a) +SAX.characters( , 1) +SAX.characters( + , 19) +SAX.endElement(p) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.endElement(center) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.endElement(center) +SAX.error: Unexpected end tag : p +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.characters( +, 1) +SAX.startElement(table, bgcolor='#003399', border='0', cellspacing='6', width='80%') +SAX.characters( + , 3) +SAX.startElement(tbody) +SAX.characters( + , 3) +SAX.startElement(tr) +SAX.characters( + , 5) +SAX.startElement(td, bgcolor='black', valign='top', width='10%') +SAX.characters( + , 7) +SAX.startElement(table, border='0', cellpadding='3', cellspacing='0', width='100%') +SAX.characters( + , 9) +SAX.startElement(tbody) +SAX.characters( + , 9) +SAX.startElement(tr) +SAX.characters( + , 11) +SAX.startElement(td, width='100%') +SAX.startElement(img, height='1', src='doc3_files/spacer.gif', width='111') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(b) +SAX.startElement(font, color='yellow', face='Verdana', size='2') +SAX.characters(REVIEWS, 7) +SAX.endElement(font) +SAX.endElement(b) +SAX.startElement(font, face='Verdana', size='2') +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + , 13) +SAX.startElement(hr, align='center') +SAX.endElement(hr) +SAX.characters( + , 13) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/bp6reviews.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(BP6 Reviews, 11) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/h2o.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(BP6 Watercooling, 16) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/bxcool.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(BX Chipset Cooling, 18) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/benchmark.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Benchmarks, 10) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/bp6fsb.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(BP6FSB Utility, 14) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/powerleap.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(PowerLeap NEO S370, 18) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/seti.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(SETI on the BP6, 15) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/orbs.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Golden Orbs I, 13) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/orbs/orbs2.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Golden Orbs II, 14) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/Q6fix.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(VTT Solution, 12) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(b) +SAX.startElement(font, color='yellow', face='Verdana', size='2') +SAX.characters(NAVIGATE, 8) +SAX.endElement(font) +SAX.endElement(b) +SAX.startElement(font, color='yellow', face='Verdana', size='2') +SAX.characters( , 1) +SAX.characters( + , 13) +SAX.startElement(hr, align='center') +SAX.endElement(hr) +SAX.characters( + , 13) +SAX.endElement(font) +SAX.startElement(a, href='http://www.bp6.com/') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(News, 4) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/chat.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Online Text Chat, 16) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='javascript:popUp('chat_popup.htm')') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Voice Chat, 10) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://216.247.220.192/Forum') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Messageboard, 12) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/cooling') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Temp. Converter, 15) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Picture Gallery, 15) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/bios.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Latest BIOS, 11) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/files/') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Drivers , 8) +SAX.characters(&, 1) +SAX.characters( Files, 6) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(UGM of the week, 15) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/contest.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(BP6 Contest, 11) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(b) +SAX.startElement(font, color='yellow', face='Verdana', size='2') +SAX.characters(OTHER STUFF, 11) +SAX.endElement(font) +SAX.endElement(b) +SAX.startElement(font, color='yellow', face='Verdana', size='2') +SAX.characters( , 1) +SAX.characters( +, 1) +SAX.characters( + , 13) +SAX.startElement(hr, align='center') +SAX.endElement(hr) +SAX.characters( + , 13) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/whois.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Who is Tim?, 11) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='mailto:tim@bp6.com') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Contact BP6.com, 15) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Affiliates Section, 18) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Sponsors Section , 17) +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(a, href='http://bp6.gamesquad.net/links.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Links, 5) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(b) +SAX.startElement(font, color='yellow', face='Verdana', size='2') +SAX.characters(PC SPECIALS, 11) +SAX.endElement(font) +SAX.endElement(b) +SAX.startElement(font, color='yellow', face='Verdana', size='2') +SAX.characters( , 1) +SAX.characters( + , 13) +SAX.startElement(hr, align='center') +SAX.endElement(hr) +SAX.characters( + , 13) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/specials.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Vendor , 7) +SAX.characters( + Specials, 21) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.error: Unexpected end tag : font +SAX.error: Unexpected end tag : a +SAX.startElement(b) +SAX.startElement(font, color='yellow', face='Verdana', size='2') +SAX.characters(Pic of the day, 14) +SAX.endElement(font) +SAX.endElement(b) +SAX.characters( + , 13) +SAX.startElement(hr) +SAX.endElement(hr) +SAX.characters( + , 14) +SAX.characters( + , 13) +SAX.startElement(center) +SAX.characters( + , 13) +SAX.startElement(p, align='center') +SAX.startElement(font, face='Verdana, Arial, Helvetica', size='1') +SAX.startElement(a, href='http://bp6.gamesquad.net/cgi-bin/schlabo/potd.pl') +SAX.startElement(img, alt='No picture is available for today.', border='0', src='doc3_files/potd_na_110x83.gif') +SAX.endElement(img) +SAX.endElement(a) +SAX.characters( , 1) +SAX.endElement(font) +SAX.endElement(p) +SAX.endElement(center) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + , 13) +SAX.startElement(center) +SAX.endElement(center) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment(FTP Help) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.endElement(td) +SAX.characters( + , 5) +SAX.startElement(td, bgcolor='white', valign='top', width='80%') +SAX.startElement(img, height='1', src='doc3_files/spacer.gif', width='490') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + , 7) +SAX.startElement(center) +SAX.characters( + , 7) +SAX.startElement(p) +SAX.characters( + , 7) +SAX.endElement(p) +SAX.startElement(table, bgcolor='white', border='0', cellpadding='10', cellspacing='0', height='100%', width='100%') +SAX.characters( + , 9) +SAX.startElement(tbody) +SAX.characters( + , 9) +SAX.startElement(tr) +SAX.characters( + , 11) +SAX.startElement(td, bgcolor='white', valign='top', width='100%') +SAX.characters( + , 13) +SAX.startElement(center) +SAX.startElement(a, href='http://www.encounter2001.com/', target='_blank') +SAX.startElement(img, border='0', height='60', src='doc3_files/banner2.gif', width='468') +SAX.endElement(img) +SAX.endElement(a) +SAX.characters( , 1) +SAX.characters( + , 13) +SAX.endElement(center) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='news_top') +SAX.endElement(a) +SAX.startElement(font, color='#003366', face='verdana,arial', size='2') +SAX.startElement(b) +SAX.characters(Headlines, 9) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='arial', size='1') +SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem965012956,78924,') +SAX.characters(Chat , 5) +SAX.characters( + with ABIT - 8:09P, 35) +SAX.endElement(a) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='arial', size='1') +SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964766837,26344,') +SAX.characters(Fixed , 6) +SAX.characters( + wallpaper - 11:47, 36) +SAX.endElement(a) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='arial', size='1') +SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964762841,25865,') +SAX.characters(Seti , 5) +SAX.characters( + update - 10:40PM , 33) +SAX.endElement(a) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='arial', size='1') +SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964732235,45502,') +SAX.characters(Judge , 6) +SAX.characters( + gives Napster the, 50) +SAX.endElement(a) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='arial', size='1') +SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964713289,83675,') +SAX.characters(Ram , 4) +SAX.characters( + Sinks.. more cool, 61) +SAX.characters( + PDT, 16) +SAX.endElement(a) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='arial', size='1') +SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964671589,7831,') +SAX.characters(is , 3) +SAX.characters( + it [H]ard? - 9:19, 36) +SAX.endElement(a) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='arial', size='1') +SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964644047,60218,') +SAX.characters(WiLd , 5) +SAX.characters( + CaSe!! - 1:40PM P, 32) +SAX.endElement(a) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='arial', size='1') +SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964631110,84122,') +SAX.characters(What , 5) +SAX.characters( + the heck is a Pel, 52) +SAX.endElement(a) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='arial', size='1') +SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964587833,74573,') +SAX.characters(HELLO , 6) +SAX.characters( + EVERYONE!!! - 10:, 38) +SAX.endElement(a) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='arial', size='1') +SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964429577,13375,') +SAX.characters(BP6 , 4) +SAX.characters( + Q3 server up and , 52) +SAX.endElement(a) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment( NP v3.7.5 ) +SAX.startElement(a, name='newsitem965012956,78924,') +SAX.endElement(a) +SAX.characters( + , 13) +SAX.startElement(table, bgcolor='#003399', width='100%') +SAX.characters( + , 15) +SAX.startElement(tbody) +SAX.characters( + , 15) +SAX.startElement(tr) +SAX.characters( + , 17) +SAX.startElement(td) +SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2') +SAX.startElement(b) +SAX.characters(Sunday, , 8) +SAX.characters( + July 30, 20, 32) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment(
    ) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters(Chat with , 10) +SAX.characters( + ABIT, 17) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com') +SAX.characters(Holodeck2, 9) +SAX.endElement(a) +SAX.characters( @ 8:09PM , 10) +SAX.characters( + PDT, 16) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(a, href='http://bp6.gamesquad.net/news/965012956,78924,.html') +SAX.startElement(img, border='0', src='doc3_files/comments.gif') +SAX.endElement(img) +SAX.characters(0 comments, 10) +SAX.endElement(a) +SAX.characters( , 1) +SAX.characters( + , 13) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top') +SAX.characters(top, 3) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.characters(I, 1) +SAX.characters(’, 3) +SAX.characters(m slacking a little. All game , 33) +SAX.characters( + work makes Holode, 49) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Wallpaper update: I got , 24) +SAX.characters( + off my lazy ass a, 82) +SAX.characters( + celerons., 22) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(b) +SAX.startElement(a, href='http://fullon3d.com/chat/abit/', target='3d') +SAX.characters(Fullon3d had a live chat with , 55) +SAX.characters( + , 13) +SAX.endElement(a) +SAX.endElement(b) +SAX.characters(Submitted by: MJS, 17) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Here, 4) +SAX.characters(’, 3) +SAX.characters(s a little clip:, 16) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters([Falcon] , 9) +SAX.characters( + BP6-2??, 20) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters([EricBoeing] We already have a, 56) +SAX.characters( + board, 18) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters([EricBoeing] but it's OEM only, 30) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters([EricBoeing] the full ATX , 26) +SAX.characters( + version should be, 47) +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='newsitem964766837,26344,') +SAX.endElement(a) +SAX.characters( + , 13) +SAX.startElement(table, bgcolor='#003399', width='100%') +SAX.characters( + , 15) +SAX.startElement(tbody) +SAX.characters( + , 15) +SAX.startElement(tr) +SAX.characters( + , 17) +SAX.startElement(td) +SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2') +SAX.startElement(b) +SAX.characters(Thursday, , 10) +SAX.characters( + July 27, 20, 32) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment(
    ) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters(Fixed , 6) +SAX.characters( + wallpaper, 22) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com') +SAX.characters(Holodeck2, 9) +SAX.endElement(a) +SAX.characters( @ 11:47PM , 11) +SAX.characters( + PDT, 16) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(a, href='http://bp6.gamesquad.net/news/964766837,26344,.html') +SAX.startElement(img, border='0', src='doc3_files/comments.gif') +SAX.endElement(img) +SAX.characters(5 comments, 10) +SAX.endElement(a) +SAX.characters( , 1) +SAX.characters( + , 13) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top') +SAX.characters(top, 3) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.startElement(b) +SAX.characters(Get them now!!, 14) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(This is a , 10) +SAX.characters( + fixed bp6 wallpap, 69) +SAX.characters( + resolutions., 25) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(img, height='180', src='doc3_files/3-800.jpg', width='240') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(It's still the Intels Inside o, 49) +SAX.characters( + change; from "Mot, 54) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Thanks to Matt for , 19) +SAX.characters( + pointing that out, 37) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(I would also like to thank Kev, 37) +SAX.characters( + hosting my last b, 75) +SAX.characters( + error., 19) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(And 1 more person, THANK YOU T, 55) +SAX.characters( + your server space, 34) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(If you need a weird resolution, 37) +SAX.characters( + free to , 21) +SAX.startElement(a, href='mailto:Holodeck2@home.com') +SAX.characters(e-mail, 6) +SAX.endElement(a) +SAX.characters( me requesting , 15) +SAX.characters( + for one., 21) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(If you have ideas or more erro, 47) +SAX.startElement(a, href='mailto:Holodeck2@home.com') +SAX.characters(mailto:Holodeck2@home.com, 25) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='doc3_files/3-800.jpg', target='800') +SAX.characters(800x600 , 8) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://www.bp6.com/pics/holodeck2/wallpaper/3-1024.jpg', target='800') +SAX.characters(1024x768 , 9) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://www.bp6.com/pics/holodeck2/wallpaper/3-1152.jpg', target='800') +SAX.characters(1152x864 , 9) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://www.bp6.com/pics/holodeck2/wallpaper/3-1280x1024.jpg', target='800') +SAX.characters(1280x1024 , 10) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://www.bp6.com/pics/holodeck2/wallpaper/3-1600.jpg', target='800') +SAX.characters(1600x1200 , 10) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + , 13) +SAX.startElement(p) +SAX.characters(Enjoy :-), 9) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + , 13) +SAX.endElement(p) +SAX.startElement(p) +SAX.startElement(a, href='mailto:Holodeck2@home.com') +SAX.characters(Holodeck2,, 10) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters([H]ard at , 10) +SAX.characters( + work on the Brand, 54) +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(p) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='newsitem964762841,25865,') +SAX.endElement(a) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters(Seti update, 11) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com') +SAX.characters(Holodeck2, 9) +SAX.endElement(a) +SAX.characters( @ 10:40PM , 11) +SAX.characters( + PDT, 16) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(a, href='http://bp6.gamesquad.net/news/964762841,25865,.html') +SAX.startElement(img, border='0', src='doc3_files/comments.gif') +SAX.endElement(img) +SAX.characters(5 comments, 10) +SAX.endElement(a) +SAX.characters( , 1) +SAX.characters( + , 13) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top') +SAX.characters(top, 3) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.startElement(img, height='54', src='doc3_files/setiupdate.jpg', width='400') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(You like the , 13) +SAX.characters( + pic?, 17) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Bp6 User Group Update:, 22) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Completed 61531 , 16) +SAX.characters( + units!!, 20) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(b) +SAX.characters(#168 on Top 200 All Groups, 26) +SAX.endElement(b) +SAX.characters( (Going to pass CLRC in , 24) +SAX.characters( + a few days), 24) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(b) +SAX.characters(#74 on Top 200 Teams, 20) +SAX.endElement(b) +SAX.characters( (Gaining fast on , 18) +SAX.characters( + Starfleet), 23) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(We are flying though at the sp, 51) +SAX.characters( + a little slower)., 30) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Good job everyone!!, 19) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Check this page at , 19) +SAX.characters( + least once a day , 47) +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='newsitem964732235,45502,') +SAX.endElement(a) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters(Judge gives Napster the , 24) +SAX.characters( + Boot!!, 19) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com') +SAX.characters(Holodeck2, 9) +SAX.endElement(a) +SAX.characters( @ 2:10PM , 10) +SAX.characters( + PDT, 16) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(a, href='http://bp6.gamesquad.net/news/964732235,45502,.html') +SAX.startElement(img, border='0', src='doc3_files/comments.gif') +SAX.endElement(img) +SAX.characters(0 comments, 10) +SAX.endElement(a) +SAX.characters( , 1) +SAX.characters( + , 13) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top') +SAX.characters(top, 3) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.characters(Good afternoon for everyone li, 38) +SAX.characters( + EST. I was going , 76) +SAX.characters( + story:, 19) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(I woke up and thought about po, 52) +SAX.characters( + decided to wax my, 73) +SAX.characters( + conclusions), wax, 78) +SAX.characters( + hour. Then I saw , 80) +SAX.characters( + front of my comp , 79) +SAX.characters( + that a stoopid ju, 82) +SAX.characters( + cry. and now I'm , 38) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://www.msnbc.com/news/437532.asp', target='Judge vs Napster') +SAX.characters(Judge shuts Napster down, 24) +SAX.characters( + , 13) +SAX.startElement(p) +SAX.startElement(img, height='143', src='doc3_files/669915.jpg', width='200') +SAX.endElement(img) +SAX.endElement(p) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Check out the Goofy guy in the, 35) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(He's Sean , 10) +SAX.characters( + Fanning, founder , 41) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Got news?? , 11) +SAX.startElement(a, href='mailto:Holodeck2@home.com') +SAX.characters(mailto:Holodeck2@home.com, 25) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='newsitem964713289,83675,') +SAX.endElement(a) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters(Ram Sinks.. more cooling for s, 35) +SAX.characters( + places., 20) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:tim@bp6.com') +SAX.characters(tim, 3) +SAX.endElement(a) +SAX.characters( @ 8:54AM PDT, 13) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(a, href='http://bp6.gamesquad.net/news/964713289,83675,.html') +SAX.startElement(img, border='0', src='doc3_files/comments.gif') +SAX.endElement(img) +SAX.characters(0 comments, 10) +SAX.endElement(a) +SAX.characters( , 1) +SAX.characters( + , 13) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top') +SAX.characters(top, 3) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.characters(Need some cooling for your Vid, 37) +SAX.characters( + memory to get a l, 68) +SAX.startElement(a, href='http://www.overclockershideout.com/RamSinks.html', target='_BLANK') +SAX.characters(Overclockers Hiedout Ram Sinks, 30) +SAX.endElement(a) +SAX.characters( They just notified , 20) +SAX.characters( + me of their new d, 36) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(img, border='1', src='doc3_files/ramsink.jpg') +SAX.endElement(img) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='newsitem964671589,7831,') +SAX.endElement(a) +SAX.characters( + , 13) +SAX.startElement(table, bgcolor='#003399', width='100%') +SAX.characters( + , 15) +SAX.startElement(tbody) +SAX.characters( + , 15) +SAX.startElement(tr) +SAX.characters( + , 17) +SAX.startElement(td) +SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2') +SAX.startElement(b) +SAX.characters(Wednesday, July 26, , 20) +SAX.characters( + 2000, 17) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment(
    ) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters(is it , 6) +SAX.characters( + [H]ard?, 20) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com') +SAX.characters(Holodeck2, 9) +SAX.endElement(a) +SAX.characters( @ 9:19PM , 10) +SAX.characters( + PDT, 16) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(a, href='http://bp6.gamesquad.net/news/964671589,7831,.html') +SAX.startElement(img, border='0', src='doc3_files/comments.gif') +SAX.endElement(img) +SAX.characters(0 comments, 10) +SAX.endElement(a) +SAX.characters( , 1) +SAX.characters( + , 13) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top') +SAX.characters(top, 3) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.characters(Big heatsinks are good, very g, 39) +SAX.characters( + bigger the better, 31) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(You can never can have a too b, 45) +SAX.characters( + on a small chip (, 53) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(img, height='173', src='doc3_files/voodooside2.jpg', width='230') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(My overclocked , 15) +SAX.characters( + Voodoo3 2000 with, 58) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Peltier and , 12) +SAX.characters( + watercooling next, 37) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters((if you pry off the heatsink y, 38) +SAX.characters( + the warranty ), 27) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(it was originally posted on , 28) +SAX.startElement(a, href='http://www.hardocp.com/') +SAX.characters([H]ardOCP , 10) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(I, 1) +SAX.characters(’, 3) +SAX.characters(m not only a , 13) +SAX.characters( + BP6er but also a , 41) +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='newsitem964644047,60218,') +SAX.endElement(a) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters(WiLd CaSe!!, 11) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com') +SAX.characters(Holodeck2, 9) +SAX.endElement(a) +SAX.characters( @ 1:40PM , 10) +SAX.characters( + PDT, 16) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(a, href='http://bp6.gamesquad.net/news/964644047,60218,.html') +SAX.startElement(img, border='0', src='doc3_files/comments.gif') +SAX.endElement(img) +SAX.characters(8 comments, 10) +SAX.endElement(a) +SAX.characters( , 1) +SAX.characters( + , 13) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top') +SAX.characters(top, 3) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.characters(Now this person really knows h, 36) +SAX.characters( + keep his case coo, 33) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Addin an 18" Fan!! WOW!!, 24) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://www.envador.com/Photos/PVCII/', target='_blank') +SAX.startElement(img, src='doc3_files/TN_OpenedUp1.jpg') +SAX.endElement(img) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Click to go to his , 19) +SAX.characters( + site., 18) +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='newsitem964631110,84122,') +SAX.endElement(a) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters(What the heck is a , 19) +SAX.characters( + Peltier?!?!, 24) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com') +SAX.characters(Holodeck2, 9) +SAX.endElement(a) +SAX.characters( @ 10:05AM , 11) +SAX.characters( + PDT, 16) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(a, href='http://bp6.gamesquad.net/news/964631110,84122,.html') +SAX.startElement(img, border='0', src='doc3_files/comments.gif') +SAX.endElement(img) +SAX.characters(6 comments, 10) +SAX.endElement(a) +SAX.characters( , 1) +SAX.characters( + , 13) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top') +SAX.characters(top, 3) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.characters(This is for all you people who, 38) +SAX.characters( + to know what a pe, 39) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(The quest fo the Perfect , 25) +SAX.characters( + Peltier, 20) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://www.tweakmax.com/html/peltier/peltier-1.cfm', target='_blank') +SAX.startElement(img, src='doc3_files/peltier.jpg') +SAX.endElement(img) +SAX.endElement(a) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Thanks to , 10) +SAX.characters( + , 13) +SAX.startElement(a, href='http://www.tweakmax.com/', target='_blank') +SAX.characters(TweakMax.com, 12) +SAX.endElement(a) +SAX.characters( , 1) +SAX.characters( + , 13) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Note: Today morning when I wok, 57) +SAX.characters( + cluttered with a , 78) +SAX.characters( + live somewhere el, 80) +SAX.characters( + If you live in Eu, 81) +SAX.characters( + sleeping it would, 78) +SAX.characters( + know , 18) +SAX.startElement(img, src='doc3_files/smile.gif') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(I'm not angry at anyone... , 27) +SAX.characters( + good thing I have, 43) +SAX.startElement(img, src='doc3_files/tongue.gif') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='newsitem964587833,74573,') +SAX.endElement(a) +SAX.characters( + , 13) +SAX.startElement(table, bgcolor='#003399', width='100%') +SAX.characters( + , 15) +SAX.startElement(tbody) +SAX.characters( + , 15) +SAX.startElement(tr) +SAX.characters( + , 17) +SAX.startElement(td) +SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2') +SAX.startElement(b) +SAX.characters(Tuesday, , 9) +SAX.characters( + July 25, 20, 32) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment(
    ) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters(HELLO , 6) +SAX.characters( + EVERYONE!!!, 24) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com') +SAX.characters(Holodeck2, 9) +SAX.endElement(a) +SAX.characters( @ 10:03PM , 11) +SAX.characters( + PDT, 16) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.characters(Hello , 6) +SAX.characters( + everyone, Woohoo!, 40) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Who is this Holodeck2 person , 29) +SAX.characters( + anyways?!?! Read , 36) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(I, 1) +SAX.characters(’, 3) +SAX.characters(m a regular on the bp6 message, 37) +SAX.characters( + trying to help pe, 59) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(I, 1) +SAX.characters(’, 3) +SAX.characters(m the , 6) +SAX.characters( + self-proclaimed b, 78) +SAX.characters(’, 3) +SAX.characters(ve , 3) +SAX.characters( + probably already , 64) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(My computer , 12) +SAX.characters( + is always on so y, 80) +SAX.characters( + always in front o, 74) +SAX.characters( + everyone happy :-, 31) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Any Questions or comments, you, 42) +SAX.characters( + contact me or pos, 55) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Ways to contact , 16) +SAX.characters( + me., 16) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(E-mail: , 8) +SAX.startElement(a, href='mailto:Holodeck2@home.com') +SAX.characters(Holodeck2@home.com, 18) +SAX.endElement(a) +SAX.characters( (All E-mails , 14) +SAX.characters( + will be answered , 67) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(When you , 9) +SAX.characters( + write me an e-mai, 78) +SAX.characters( + rest of your subj, 74) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://www.aol.com/aim') +SAX.characters(AIM: , 5) +SAX.endElement(a) +SAX.characters(Holodeck2 (instant response , 28) +SAX.characters( + if I, 17) +SAX.characters(’, 3) +SAX.characters(m in front of my comp and not , 53) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://www.icq.com/download') +SAX.characters(ICQ: , 5) +SAX.endElement(a) +SAX.characters(82640218 (rarely , 17) +SAX.characters( + on), 16) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(P.S. If someone named , 22) +SAX.characters(“, 3) +SAX.characters(Digital Vortex, 14) +SAX.characters(”, 3) +SAX.characters( on either Quake 3 , 19) +SAX.characters( + or 2 frags you, i, 31) +SAX.characters(’, 3) +SAX.characters(s probably me. ;-), 18) +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='newsitem964429577,13375,') +SAX.endElement(a) +SAX.characters( + , 13) +SAX.startElement(table, bgcolor='#003399', width='100%') +SAX.characters( + , 15) +SAX.startElement(tbody) +SAX.characters( + , 15) +SAX.startElement(tr) +SAX.characters( + , 17) +SAX.startElement(td) +SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2') +SAX.startElement(b) +SAX.characters(Monday, , 8) +SAX.characters( + July 24, 20, 32) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment(
    ) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters(BP6 Q3 server up and , 21) +SAX.characters( + running.., 22) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:tim@bp6.com') +SAX.characters(tim, 3) +SAX.endElement(a) +SAX.characters( @ 2:06AM PDT, 13) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(a, href='http://bp6.gamesquad.net/news/964429577,13375,.html') +SAX.startElement(img, border='0', src='doc3_files/comments.gif') +SAX.endElement(img) +SAX.characters(3 comments, 10) +SAX.endElement(a) +SAX.characters( , 1) +SAX.characters( + , 13) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top') +SAX.characters(top, 3) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.characters(Setup a Q3 server for anyone w, 37) +SAX.characters( + to practice in pr, 81) +SAX.characters( + default port. (SE, 80) +SAX.characters( + connection)... Wi, 81) +SAX.characters( + is only a tempora, 72) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters((BTW- , 6) +SAX.characters( + there are a few b, 61) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='newsitem964425184,95812,') +SAX.endElement(a) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters(BIOS Savior to the , 19) +SAX.characters( + rescue...., 23) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:tim@bp6.com') +SAX.characters(tim, 3) +SAX.endElement(a) +SAX.characters( @ 12:53AM PDT, 14) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(a, href='http://bp6.gamesquad.net/news/964425184,95812,.html') +SAX.startElement(img, border='0', src='doc3_files/comments.gif') +SAX.endElement(img) +SAX.characters(2 comments, 10) +SAX.endElement(a) +SAX.characters( , 1) +SAX.characters( + , 13) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top') +SAX.characters(top, 3) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.characters(Do you sweat during the BIOS f, 38) +SAX.characters( + procedure on your, 77) +SAX.characters( + worth a first loo, 50) +SAX.startElement(b) +SAX.characters(RD1 BIOS Savior, 15) +SAX.endElement(b) +SAX.characters(" and it , 9) +SAX.characters( + plugs in between , 82) +SAX.characters( + This device will , 81) +SAX.characters( + BIOS in the event, 77) +SAX.characters( + event of a bad fl, 82) +SAX.characters( + system, and flash, 82) +SAX.characters( + don't believe in , 82) +SAX.characters( + link), 18) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://www.ioss.com.tw/eg/rd1/RD1info0004.PDF', target='_NEW') +SAX.characters(Manufacturers Brochure, 22) +SAX.endElement(a) +SAX.characters( (PDF Format), 13) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://192.216.185.10/mwave/doc/A06950.html', target='_BLANK"') +SAX.characters(Another info page, 17) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://192.216.185.10/mwave/ProdMB-AC-MW.hmx?UID=&CID=&updepts=MB&DNAME=%3Cb%3EMotherboards%3C%2Fb%3E&Back=ProdMB-AC-MW.hmx?', target='_BLANK') +SAX.characters(Available for about $20, 23) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(img, src='doc3_files/rd1.jpg') +SAX.endElement(img) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='newsitem963875853,12731,') +SAX.endElement(a) +SAX.characters( + , 13) +SAX.startElement(table, bgcolor='#003399', width='100%') +SAX.characters( + , 15) +SAX.startElement(tbody) +SAX.characters( + , 15) +SAX.startElement(tr) +SAX.characters( + , 17) +SAX.startElement(td) +SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2') +SAX.startElement(b) +SAX.characters(Monday, , 8) +SAX.characters( + July 17, 20, 32) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment(
    ) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters(How To , 7) +SAX.characters( + Overclock, 22) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com') +SAX.characters(DareDevil, 9) +SAX.endElement(a) +SAX.characters( @ 4:17PM , 10) +SAX.characters( + PDT, 16) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(a, href='http://bp6.gamesquad.net/news/963875853,12731,.html') +SAX.startElement(img, border='0', src='doc3_files/comments.gif') +SAX.endElement(img) +SAX.characters(3 comments, 10) +SAX.endElement(a) +SAX.characters( , 1) +SAX.characters( + , 13) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top') +SAX.characters(top, 3) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.characters(For those of you who are new t, 32) +SAX.characters( + overclocking, thi, 80) +SAX.characters( + what some of the , 77) +SAX.characters( + :0)), 17) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://netkills.qgl.org/a_oc_comp.shtml', target='_blank') +SAX.characters(How To Overclock, 16) +SAX.endElement(a) +SAX.characters( , 1) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='newsitem963875485,23353,') +SAX.endElement(a) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters(The Cardcooler , 15) +SAX.characters( + XT, 15) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com') +SAX.characters(DareDevil, 9) +SAX.endElement(a) +SAX.characters( @ 4:11PM , 10) +SAX.characters( + PDT, 16) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(a, href='http://bp6.gamesquad.net/news/963875485,23353,.html') +SAX.startElement(img, border='0', src='doc3_files/comments.gif') +SAX.endElement(img) +SAX.characters(1 comments, 10) +SAX.endElement(a) +SAX.characters( , 1) +SAX.characters( + , 13) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top') +SAX.characters(top, 3) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.characters(Wow! I am impressed! Nevermind, 39) +SAX.characters( + the CPU's cool..., 58) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(i) +SAX.characters(Even if your , 13) +SAX.characters( + not overclocking , 78) +SAX.characters( + provide system st, 82) +SAX.characters( + your GeForce or C, 75) +SAX.characters( + cooling unit as a, 72) +SAX.characters( + system., 20) +SAX.endElement(i) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Check this out!, 15) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://www.brokenpixel.com/articles/coolerXT/cardcoolerXT_1.shtml', target='_blank') +SAX.characters(http://www.brokenpixel.com/art, 65) +SAX.endElement(a) +SAX.characters( , 1) +SAX.characters( + , 13) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='newsitem963859982,88982,') +SAX.endElement(a) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters('Nerd , 6) +SAX.characters( + Inside', 20) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com') +SAX.characters(DareDevil, 9) +SAX.endElement(a) +SAX.characters( @ 11:53AM , 11) +SAX.characters( + PDT, 16) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(a, href='http://bp6.gamesquad.net/news/963859982,88982,.html') +SAX.startElement(img, border='0', src='doc3_files/comments.gif') +SAX.endElement(img) +SAX.characters(1 comments, 10) +SAX.endElement(a) +SAX.characters( , 1) +SAX.characters( + , 13) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top') +SAX.characters(top, 3) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.characters(We all need to have some fun , 29) +SAX.characters( + sometimes! Check , 82) +SAX.characters( + ;) (I like the bi, 68) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + , 13) +SAX.startElement(div, align='center') +SAX.startElement(a, href='http://www.nerdgear.com/', target='_blank') +SAX.startElement(img, border='0', src='doc3_files/nerdinside.gif') +SAX.endElement(img) +SAX.endElement(a) +SAX.endElement(div) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='newsitem963819796,9688,') +SAX.endElement(a) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters(Dual PSU Wiring diagram... (pr, 39) +SAX.characters( + Part 1 Watercooli, 41) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:tim@bp6.com') +SAX.characters(tim, 3) +SAX.endElement(a) +SAX.characters( @ 12:43AM PDT, 14) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(a, href='http://bp6.gamesquad.net/news/963819796,9688,.html') +SAX.startElement(img, border='0', src='doc3_files/comments.gif') +SAX.endElement(img) +SAX.characters(11 comments, 11) +SAX.endElement(a) +SAX.characters( , 1) +SAX.characters( + , 13) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top') +SAX.characters(top, 3) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.characters(When is comes to overclocking , 35) +SAX.characters( + system, cooling p, 82) +SAX.characters( + system can cause , 78) +SAX.characters( + Depending on the , 82) +SAX.characters( + powerfull PSU or , 72) +SAX.characters( + watercooling and , 79) +SAX.characters( + the Peltiers (TEC, 77) +SAX.characters( + diagrams on how I, 82) +SAX.characters( + Blizzard BP6 wate, 78) +SAX.characters( + More will follow , 77) +SAX.characters( + dangerous and is , 82) +SAX.characters( + , 13) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(View Diagram 1 , 15) +SAX.startElement(a, href='http://bp6.gamesquad.net/images/wiring.jpg', target='_BLANK') +SAX.characters(here, 4) +SAX.endElement(a) +SAX.characters(., 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(View Diagram 2 , 15) +SAX.startElement(a, href='http://bp6.gamesquad.net/images/psu2.gif', target='_BLANK') +SAX.characters(here, 4) +SAX.endElement(a) +SAX.characters(., 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(I used Tap-In Squeeze Connecto, 37) +SAX.characters( + 22 guage wire to , 81) +SAX.characters( + Part# 64-3053 or , 30) +SAX.startElement(a, href='http://www.radioshack.com/ProductCatalog/ProductDetail/Index/1,2098,,00.html?SKUString1=64&SKUString2=3053', target='_blank') +SAX.characters(click here, 10) +SAX.endElement(a) +SAX.characters(., 1) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='newsitem963766655,78511,') +SAX.endElement(a) +SAX.characters( + , 13) +SAX.startElement(table, bgcolor='#003399', width='100%') +SAX.characters( + , 15) +SAX.startElement(tbody) +SAX.characters( + , 15) +SAX.startElement(tr) +SAX.characters( + , 17) +SAX.startElement(td) +SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2') +SAX.startElement(b) +SAX.characters(Sunday, , 8) +SAX.characters( + July 16, 20, 32) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment(
    ) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters(RAM Overclocking? , 18) +SAX.characters( + Hmmmmm., 20) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com') +SAX.characters(DareDevil, 9) +SAX.endElement(a) +SAX.characters( @ 9:57AM , 10) +SAX.characters( + PDT, 16) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(a, href='http://bp6.gamesquad.net/news/963766655,78511,.html') +SAX.startElement(img, border='0', src='doc3_files/comments.gif') +SAX.endElement(img) +SAX.characters(3 comments, 10) +SAX.endElement(a) +SAX.characters( , 1) +SAX.characters( + , 13) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top') +SAX.characters(top, 3) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.characters(I know we're pretty big overcl, 37) +SAX.characters( + here at BP6.Com s, 76) +SAX.characters( + question in the m, 81) +SAX.characters( + Well, it's not al, 81) +SAX.characters( + things need to be, 75) +SAX.characters( + devices (can they, 81) +SAX.characters( + your RAM. I'm not, 80) +SAX.characters( + will enable you t, 82) +SAX.characters( + will certainly he, 35) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Extreme Overclocking has teste, 32) +SAX.characters( + (overclocked) PC1, 79) +SAX.characters( + found and the lin, 32) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(i) +SAX.characters(Well, the guys at Extreme Over, 39) +SAX.characters( + have been hard at, 78) +SAX.characters( + they have put sev, 80) +SAX.characters( + tests to determin, 82) +SAX.characters( + came out on top? , 61) +SAX.endElement(i) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://www.extremeoverclocking.com/reviews/memory/ram_roundup_1.html', target='_blank') +SAX.characters(Cooked RAM... Yummie, 20) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(The , 4) +SAX.characters( + ÐÐ., 18) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='newsitem963764236,76720,') +SAX.endElement(a) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters(CPU , 4) +SAX.characters( + Guide, 18) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com') +SAX.characters(DareDevil, 9) +SAX.endElement(a) +SAX.characters( @ 9:17AM , 10) +SAX.characters( + PDT, 16) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(a, href='http://bp6.gamesquad.net/news/963764236,76720,.html') +SAX.startElement(img, border='0', src='doc3_files/comments.gif') +SAX.endElement(img) +SAX.characters(0 comments, 10) +SAX.endElement(a) +SAX.characters( , 1) +SAX.characters( + , 13) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top') +SAX.characters(top, 3) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.characters(A follow up on the 'Weekly CPU, 31) +SAX.characters( + Prices', this gui, 79) +SAX.characters( + you (and your boa, 72) +SAX.characters( + link:, 18) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + , 13) +SAX.startElement(li) +SAX.startElement(a, href='http://www6.tomshardware.com/howto/00q2/000412/index.html', target='_blank') +SAX.characters(http://www6.tomshardware.com/h, 57) +SAX.endElement(a) +SAX.endElement(li) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='newsitem963685749,28290,') +SAX.endElement(a) +SAX.characters( + , 13) +SAX.startElement(table, bgcolor='#003399', width='100%') +SAX.characters( + , 15) +SAX.startElement(tbody) +SAX.characters( + , 15) +SAX.startElement(tr) +SAX.characters( + , 17) +SAX.startElement(td) +SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2') +SAX.startElement(b) +SAX.characters(Saturday, , 10) +SAX.characters( + July 15, 20, 32) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment(
    ) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters(Weekly CPU , 11) +SAX.characters( + Prices, 19) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com') +SAX.characters(DareDevil, 9) +SAX.endElement(a) +SAX.characters( @ 11:29AM , 11) +SAX.characters( + PDT, 16) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(a, href='http://bp6.gamesquad.net/news/963685749,28290,.html') +SAX.startElement(img, border='0', src='doc3_files/comments.gif') +SAX.endElement(img) +SAX.characters(2 comments, 10) +SAX.endElement(a) +SAX.characters( , 1) +SAX.characters( + , 13) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top') +SAX.characters(top, 3) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.characters(Wow, found this very useful! W, 37) +SAX.characters( + to buy a new CPU?, 66) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://www.sharkyextreme.com/hardware/weekly_cpu/', target='_blank') +SAX.characters(Click Here., 11) +SAX.endElement(a) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Thanks Sharky , 14) +SAX.characters( + Extreme!, 21) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='newsitem963679881,35277,') +SAX.endElement(a) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters(Fast Wallpapers, 15) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com') +SAX.characters(DareDevil, 9) +SAX.endElement(a) +SAX.characters( @ 9:51AM , 10) +SAX.characters( + PDT, 16) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(a, href='http://bp6.gamesquad.net/news/963679881,35277,.html') +SAX.startElement(img, border='0', src='doc3_files/comments.gif') +SAX.endElement(img) +SAX.characters(0 comments, 10) +SAX.endElement(a) +SAX.characters( , 1) +SAX.characters( + , 13) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top') +SAX.characters(top, 3) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.characters(FAST-MHz has released some wal, 39) +SAX.characters( + , 13) +SAX.startElement(a, href='http://64.29.18.111/wallpaper/index.html', target='_blank') +SAX.characters(Click here, 10) +SAX.endElement(a) +SAX.characters( to view them. They come in si, 34) +SAX.characters( + 800x600 1024x768 , 78) +SAX.characters( + larger size, just, 80) +SAX.characters( + instead of 'cente, 46) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(In other news, we want to , 26) +SAX.characters( + finnish off all t, 82) +SAX.characters( + work on the , 25) +SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml', target='_blank') +SAX.characters(Picture Gallery, 15) +SAX.endElement(a) +SAX.characters(. To help us out, you can send, 34) +SAX.characters( + all your cool, wi, 68) +SAX.startElement(a, href='mailto:thedaredevil@bp6.com') +SAX.characters(thedaredevil@bp6.com, 20) +SAX.endElement(a) +SAX.characters(. (The , 7) +SAX.characters( + topic being compu, 79) +SAX.characters( + any porno piccies, 79) +SAX.characters( + guys., 18) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Okay, that's all for now., 25) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(The , 4) +SAX.characters( + ÐÐ., 18) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='newsitem963619505,3764,') +SAX.endElement(a) +SAX.characters( + , 13) +SAX.startElement(table, bgcolor='#003399', width='100%') +SAX.characters( + , 15) +SAX.startElement(tbody) +SAX.characters( + , 15) +SAX.startElement(tr) +SAX.characters( + , 17) +SAX.startElement(td) +SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2') +SAX.startElement(b) +SAX.characters(Friday, , 8) +SAX.characters( + July 14, 20, 32) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment(
    ) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters(Hey , 4) +SAX.characters( + There!, 19) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com') +SAX.characters(DareDevil, 9) +SAX.endElement(a) +SAX.characters( @ 5:05PM , 10) +SAX.characters( + PDT, 16) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(a, href='http://bp6.gamesquad.net/news/963619505,3764,.html') +SAX.startElement(img, border='0', src='doc3_files/comments.gif') +SAX.endElement(img) +SAX.characters(7 comments, 10) +SAX.endElement(a) +SAX.characters( , 1) +SAX.characters( + , 13) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top') +SAX.characters(top, 3) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.characters(Hey guys, just wanted to intro, 35) +SAX.characters( + myself, some of y, 79) +SAX.characters( + I'll be posting u, 82) +SAX.characters( + may send me some , 80) +SAX.characters( + to flood Tim ;-) , 32) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(My e-mail address is , 21) +SAX.startElement(a, href='mailto:killz@i82hq.com') +SAX.characters(killz@i82hq.com, 15) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Ciao for , 9) +SAX.characters( + now., 17) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(The ÐÐ., 9) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + , 13) +SAX.endElement(font) +SAX.startElement(center) +SAX.startElement(iframe, frameborder='0', height='60', marginheight='0', marginwidth='0', noresize, scrolling='no', src='doc3_files/ad_iframe.htm', width='468') +SAX.cdata(<a href="http://ads.adfligh, 202) +SAX.endElement(iframe) +SAX.endElement(center) +SAX.error: Unexpected end tag : li +SAX.error: Unexpected end tag : font +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.endElement(center) +SAX.error: Unexpected end tag : p +SAX.endElement(td) +SAX.characters( + , 5) +SAX.startElement(td, bgcolor='silver', valign='top', width='10%') +SAX.characters( + , 7) +SAX.startElement(center) +SAX.characters( + , 7) +SAX.startElement(p) +SAX.characters( + , 7) +SAX.endElement(p) +SAX.startElement(table, bgcolor='silver', border='0', cellpadding='0', cellspacing='0', width='100%') +SAX.characters( + , 9) +SAX.startElement(tbody) +SAX.characters( + , 9) +SAX.startElement(tr) +SAX.characters( + , 11) +SAX.startElement(td, colstart='1') +SAX.characters( + , 13) +SAX.startElement(center) +SAX.comment(
    +
    +

    Newsletter
    +
    +
    +

    ) +SAX.characters( + , 13) +SAX.startElement(form, action='http://bp6.gamesquad.net/cgi-bin/news/viewnews.cgi?emaillist', method='post') +SAX.startElement(img, height='1', src='doc3_files/spacer.gif', width='111') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='1') +SAX.characters(Newsletter, 10) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(input, name='npemail', size='13', value='e-mail addr.') +SAX.endElement(input) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(input, name='npsubscribe', style='BACKGROUND-COLOR: #000000; COLOR: #ffffff; FONT-FAMILY: Verdana; FONT-SIZE: xx-small; FONT-WEIGHT: bold', type='submit', value='Subscribe') +SAX.endElement(input) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment( ) +SAX.endElement(font) +SAX.endElement(form) +SAX.startElement(font, size='1') +SAX.characters( + , 13) +SAX.startElement(form, action='http://bp6.gamesquad.net/cgi-bin/news/viewnews.cgi?search', method='post') +SAX.characters(Search news, 11) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(input, name='searchstring', size='13') +SAX.endElement(input) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(input, name='submit', style='BACKGROUND-COLOR: #000000; COLOR: #ffffff; FONT-FAMILY: Verdana; FONT-SIZE: xx-small; FONT-WEIGHT: bold', type='submit', value='Submit') +SAX.endElement(input) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://bp6.gamesquad.net/cgi-bin/news/viewnews.cgi?newsall') +SAX.characters(News , 5) +SAX.characters( + archive, 20) +SAX.endElement(a) +SAX.endElement(form) +SAX.endElement(font) +SAX.characters( , 1) +SAX.error: Unexpected end tag : form +SAX.endElement(center) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.comment( + + + +
    +

    +

    +) +SAX.characters( + , 7) +SAX.startElement(table, bgcolor='silver', border='0', cellpadding='0', cellspacing='0', width='100%') +SAX.characters( + , 9) +SAX.startElement(tbody) +SAX.characters( + , 9) +SAX.startElement(tr) +SAX.characters( + , 11) +SAX.startElement(td, align='middle', width='100%') +SAX.comment( BEGIN GoTo.com Search Box ) +SAX.characters( + , 13) +SAX.startElement(script, language='javascript', type='text/javascript') +SAX.cdata( + <!--, 12) +SAX.cdata( + if ((parseInt(navigato, 49) +SAX.cdata( + && (navigator., 47) +SAX.cdata( + document.write("<IF, 64) +SAX.cdata( + document.write("margin, 70) +SAX.cdata( + document.write("=90 "), 31) +SAX.cdata( + document.write("SRC=ht, 70) +SAX.cdata( + document.write("ype=ht, 70) +SAX.cdata( + document.write("m/d/se, 70) +SAX.cdata( + document.write("42DF84, 51) +SAX.cdata( + } else if ((parseInt(n, 55) +SAX.cdata( + && (navigator., 47) +SAX.cdata( + document.write("<SC, 70) +SAX.cdata( + document.write("cript , 33) +SAX.cdata( + document.write("SRC=ht, 70) +SAX.cdata( + document.write("ype=js, 70) +SAX.cdata( + document.write("d/sear, 70) +SAX.cdata( + document.write("DF8478, 44) +SAX.cdata( + document.write("RIPT, 32) +SAX.cdata( + } else {, 16) +SAX.cdata( + document.write("<A , 44) +SAX.cdata( + document.write("HREF=h, 70) +SAX.cdata( + document.write("GIF=tr, 36) +SAX.cdata( + document.write("<IM, 38) +SAX.cdata( + document.write("SRC=ht, 70) +SAX.cdata( + document.write("ype=gi, 51) +SAX.cdata( + }, 9) +SAX.cdata( + // -->, 14) +SAX.cdata( + , 8) +SAX.endElement(script) +SAX.characters( + , 13) +SAX.startElement(b) +SAX.startElement(noscript) +SAX.endElement(noscript) +SAX.endElement(b) +SAX.startElement(a, href='http://www.goto.com/d/search/ssn/?fromGIF=true', target='_blank') +SAX.startElement(img, align='bottom', border='0', height='90', ismap, src='doc3_files/100x90.gif', width='100') +SAX.endElement(img) +SAX.endElement(a) +SAX.startElement(b) +SAX.startElement(a, href='http://www.goto.com/d/search/ssn/?fromGIF=true', target='_blank') +SAX.characters( , 1) +SAX.characters( + , 13) +SAX.endElement(a) +SAX.error: Unexpected end tag : a +SAX.endElement(b) +SAX.startElement(b) +SAX.error: Unexpected end tag : noscript +SAX.endElement(b) +SAX.startElement(b) +SAX.comment( END GoTo.com Search Box ) +SAX.endElement(b) +SAX.comment( Pricewatch Search Box ) +SAX.characters( + , 13) +SAX.startElement(form, action='http://www.pricewatch.com/search/search.asp', method='get', target='_Blank') +SAX.characters( + , 13) +SAX.startElement(center) +SAX.characters( + , 13) +SAX.startElement(p) +SAX.startElement(b) +SAX.startElement(font, color='white', face='ARIAL, HELVETICA', size='1') +SAX.characters(PC Price , 9) +SAX.characters( + Search, 19) +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.endElement(b) +SAX.startElement(input, maxlength='30', name='criteria', size='10') +SAX.endElement(input) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(input, name='submit', style='BACKGROUND-COLOR: #000000; COLOR: #ffffff; FONT-FAMILY: Verdana; FONT-SIZE: xx-small; FONT-WEIGHT: bold', type='submit', value='Search') +SAX.endElement(input) +SAX.characters( , 1) +SAX.characters( + , 13) +SAX.endElement(p) +SAX.error: Opening and ending tag mismatch: form and center +SAX.endElement(center) +SAX.endElement(form) +SAX.comment( Pricewatch Search Box ) +SAX.startElement(a, href='http://www.puicorp.com/bp6specials.htm', target='_BLANK') +SAX.startElement(img, src='doc3_files/puibp6.gif') +SAX.endElement(img) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://store.yahoo.com/dunamis-site/maxtor.html', target='_BLANK') +SAX.startElement(img, alt='BP6.com Special - Enter CODE: BP6-hd in the order (notes) to receive a discount', src='doc3_files/hd5.gif') +SAX.endElement(img) +SAX.startElement(font, size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(BP6.COM , 8) +SAX.characters( + Special, 20) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Code:BP6-hd, 11) +SAX.endElement(font) +SAX.endElement(a) +SAX.characters( , 1) +SAX.error: Unexpected end tag : p +SAX.error: Opening and ending tag mismatch: center and td +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.characters( + , 7) +SAX.startElement(table, bgcolor='silver', border='0', cellpadding='0', cellspacing='0', height='100%', width='100%') +SAX.characters( + , 9) +SAX.startElement(tbody) +SAX.characters( + , 9) +SAX.startElement(tr) +SAX.characters( + , 11) +SAX.startElement(td, width='100%') +SAX.characters( , 2) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.error: Unexpected end tag : p +SAX.endElement(center) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.comment( ) +SAX.characters( +, 1) +SAX.startElement(center) +SAX.endElement(center) +SAX.error: Unexpected end tag : td +SAX.error: Unexpected end tag : tr +SAX.startElement(tr) +SAX.startElement(td, colspan='3', valign='TOP', height='70') +SAX.characters( , 2) +SAX.endElement(td) +SAX.characters( , 1) +SAX.endElement(tr) +SAX.error: Unexpected end tag : table +SAX.characters( +, 1) +SAX.startElement(table, border='0', width='780') +SAX.characters( + , 3) +SAX.startElement(tbody) +SAX.characters( + , 3) +SAX.startElement(tr) +SAX.characters( + , 5) +SAX.startElement(td, width='780') +SAX.characters( + , 7) +SAX.startElement(p, align='center') +SAX.startElement(font, color='#999999', face='verdana,arial', size='1') +SAX.characters(Copyright , 10) +SAX.characters( + ©1999-2000 BP6.com, 48) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Got news? Send it to , 21) +SAX.endElement(font) +SAX.startElement(a, href='mailto:tim@bp6.com') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Tim, 3) +SAX.endElement(font) +SAX.endElement(a) +SAX.characters( , 1) +SAX.endElement(p) +SAX.endElement(td) +SAX.endElement(tr) +SAX.comment(

    Site design by Tim Brinkley ) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.endElement(div) +SAX.characters( +, 1) +SAX.startElement(script) +SAX.cdata( window.open=NS_ActualOpen; , 28) +SAX.endElement(script) +SAX.characters( +, 1) +SAX.endElement(body) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/libxml2/result/HTML/encoding-error.html b/libxml2/result/HTML/encoding-error.html new file mode 100644 index 0000000..5aed55d --- /dev/null +++ b/libxml2/result/HTML/encoding-error.html @@ -0,0 +1,7 @@ + + + + + + � + diff --git a/libxml2/result/HTML/encoding-error.html.err b/libxml2/result/HTML/encoding-error.html.err new file mode 100644 index 0000000..7c0e817 --- /dev/null +++ b/libxml2/result/HTML/encoding-error.html.err @@ -0,0 +1,4 @@ +./test/HTML/encoding-error.html:5: HTML parser error : Invalid bytes in character encoding +Bytes: 0x80 0x3C 0x2F 0x62 + + ^ diff --git a/libxml2/result/HTML/encoding-error.html.sax b/libxml2/result/HTML/encoding-error.html.sax new file mode 100644 index 0000000..452e635 --- /dev/null +++ b/libxml2/result/HTML/encoding-error.html.sax @@ -0,0 +1,25 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.characters( + , 5) +SAX.startElement(head) +SAX.characters( + , 9) +SAX.startElement(meta, charset='utf-8') +SAX.endElement(meta) +SAX.characters( + , 5) +SAX.endElement(head) +SAX.characters( + , 5) +SAX.startElement(body) +SAX.error: Invalid bytes in character encoding +SAX.characters(�, 3) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/libxml2/result/HTML/entities.html b/libxml2/result/HTML/entities.html new file mode 100644 index 0000000..f84424c --- /dev/null +++ b/libxml2/result/HTML/entities.html @@ -0,0 +1,8 @@ + + +

    +a&b +a&b +a & b +

    + diff --git a/libxml2/result/HTML/entities.html.sax b/libxml2/result/HTML/entities.html.sax new file mode 100644 index 0000000..5d629cd --- /dev/null +++ b/libxml2/result/HTML/entities.html.sax @@ -0,0 +1,18 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.startElement(body) +SAX.startElement(p, tst='a&b', tst2='a&b', tst3='a & b') +SAX.characters( +a, 2) +SAX.characters(&, 1) +SAX.characters(b +a&b +a & b +, 12) +SAX.endElement(p) +SAX.characters( +, 1) +SAX.endElement(body) +SAX.endElement(html) +SAX.endDocument() diff --git a/libxml2/result/HTML/entities2.html b/libxml2/result/HTML/entities2.html new file mode 100644 index 0000000..8e854d3 --- /dev/null +++ b/libxml2/result/HTML/entities2.html @@ -0,0 +1,8 @@ + + + +
    + +
    + + diff --git a/libxml2/result/HTML/entities2.html.sax b/libxml2/result/HTML/entities2.html.sax new file mode 100644 index 0000000..131b813 --- /dev/null +++ b/libxml2/result/HTML/entities2.html.sax @@ -0,0 +1,23 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.characters( +, 1) +SAX.startElement(body) +SAX.characters( +, 1) +SAX.startElement(form) +SAX.characters( + , 3) +SAX.startElement(input, type='text', name='test', value='š') +SAX.endElement(input) +SAX.characters( +, 1) +SAX.endElement(form) +SAX.characters( +, 1) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.endDocument() diff --git a/libxml2/result/HTML/fp40.htm b/libxml2/result/HTML/fp40.htm new file mode 100644 index 0000000..42ce90a --- /dev/null +++ b/libxml2/result/HTML/fp40.htm @@ -0,0 +1,167 @@ + + + + + +README - Microsoft FrontPage 2000 Server Extensions + + + + + +

    Microsoft FrontPage 2000 Server Extensions, UNIX

    + +© Copyright Microsoft Corporation, 1999  + + +

    The FrontPage Server Extensions are a set of programs on the Web server that support: + +

    +
      +
    • Authoring FrontPage webs
    • +
    • Administering FrontPage webs
    • +
    • Browse-time FrontPage web functionality
    • +
    + + +

    Contents 

    + +Release Notes
    +Resources for More Information +

     

    +
    +

    Release Notes

    + +

    This section provides complementary or late-breaking +information to supplement the Microsoft FrontPage Server Extensions documentation.

    + +

    Apache 1.3.4 Support
    +Upgrading from previous version of FrontPage Server Extensions
    +Uploading files into executable folders

    + + +

    Top of Page

    + + +

    Apache 1.3.4 Support

    + +

    You need to take some special steps to run the FrontPage Server Extensions with Apache 1.3.4. +FrontPage Server Extensions expect to find all resource directives in the main server +configuration file, usually http.conf. To prevent the server extensions from using any secondary +configuration files (access.conf, srm.conf), add the following lines to http.conf:

    + + +
    +
    + +ResourceConfig /dev/null 
    +AccessConfig /dev/null
    +
    + + + +

    If you have some settings stored in secondary configuration files, move them to http.conf.

    + +

    You must stop and restart the web server for your changes to http.conf to take effect.

    + + + +

    Top of Section

    + + + +

    Upgrading from previous version of FrontPage Server Extensions

    + +

    Custom entries in frontpage.cnf are not migrated to FrontPage 2000.

    + +

    When you install FrontPage 2000 Server Extensions, a new frontpage.cnf file is created in the /usr/local/frontpage/version4.0 directory. +Any custom settings stored in a previous-version frontpage.cnf are not used. However, you can copy +your custom settings from the previous-version frontpage.cnf file after you install the FrontPage 2000 Server Extensions.

    + +

    Do not overwrite the FrontPage 2000 frontpage.cnf file with a frontpage.cnf file from an +earlier version of the FrontPage Server Extensions.

    + + + +

    Top of Section

    + + + +

    Uploading files into executable folders

    + + +

    After upgrading to FrontPage 2000, FrontPage authors will not be able to upload files into +executable folders. For security reasons, the default setting on FrontPage 2000 webs does not +allow authors to upload executable files into executable folders in a FrontPage web. This +setting protects servers so that authors do not inadvertently upload a program containing a bug +or a virus.

    + +

    To allow FrontPage authors to upload executables, set the NoExecutableCgiUpload configuration +variable to zero (0). For information about FrontPage Server Extension configuration variables, +see the FrontPage 2000 Server Extensions Resource Kit at http://officeupdate.microsoft.com/frontpage/wpp/serk/.

    + + + +

    Top of Section

    + + + +
    + + + +

    Resources for More Information

    + +

    This section lists sources of more information about the +FrontPage Server Extensions.

    + +

    Server Extensions Resource Kit
    +Server Extensions Resource Kit Update
    +Knowledge Base

    + + +

    Top of Page

    + + +

    Server Extensions Resource Kit

    + +

    The FrontPage 2000 Server Extensions include a full set of documentation: the Server +Extensions Resource Kit. This is an HTML document installed on the server machine (by +default) in /usr/local/frontpage/version4.0/serk. To view the Server Extensions Resource +Kit, open /usr/local/frontpage/version4.0/serk/default.htm in your Web browser.

    + +

    The Server Extensions Resource Kit contains detailed information about installing and +administering the FrontPage Server Extensions along with an overview of the Server +Extensions, a detailed discussion of Server Extensions security on UNIX and Windows, +troubleshooting information, and a full set of appendixes.

    + +

    Top of Section

    + + +

    Server Extensions Resource Kit Update

    + +

    For updated information about installing, setting up, and administrating the FrontPage Server +Extensions, see the Server Extensions Resource Kit Update at: http://officeupdate.microsoft.com/frontpage/wpp/serk/.

    + + +

    Top of Section

    + + +

    Microsoft Knowledge Base

    + +

    For further technical information on FrontPage, please consult Support Online. Use Support +Online to easily search Microsoft Product Support Services' collection of resources including +technical articles from Microsoft's extensive Knowledge Base, FAQs, & troubleshooters to find +fast, accurate answers. You can also customize the site to control your search using either +keywords or the site's natural language search engine, which uses normal everyday language for +answering inquiries, so you can write your question in your own words. To begin, go to +http://support.microsoft.com/support/.

    + +

    Top of Section

    + + +

     

    + +
    + + diff --git a/libxml2/result/HTML/fp40.htm.sax b/libxml2/result/HTML/fp40.htm.sax new file mode 100644 index 0000000..f667ba2 --- /dev/null +++ b/libxml2/result/HTML/fp40.htm.sax @@ -0,0 +1,459 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(html, -//IETF//DTD HTML//EN, ) +SAX.startElement(html) +SAX.characters( + +, 2) +SAX.startElement(head) +SAX.characters( +, 1) +SAX.startElement(meta, name='GENERATOR', content='Microsoft FrontPage 4.0') +SAX.endElement(meta) +SAX.characters( +, 1) +SAX.startElement(title) +SAX.characters(README - Microsoft FrontPage 2, 51) +SAX.endElement(title) +SAX.characters( +, 1) +SAX.startElement(meta, name='Microsoft Theme', content='none') +SAX.endElement(meta) +SAX.characters( +, 1) +SAX.endElement(head) +SAX.characters( + +, 2) +SAX.startElement(body) +SAX.characters( +, 1) +SAX.startElement(font, face='Verdana') +SAX.characters( +, 1) +SAX.startElement(h1) +SAX.startElement(a, name='top') +SAX.characters(Microsoft FrontPage 2000 Serve, 48) +SAX.endElement(a) +SAX.endElement(h1) +SAX.characters( + +, 2) +SAX.startElement(font, size='2') +SAX.startElement(i) +SAX.characters(© Copyright Microsoft Cor, 40) +SAX.characters( , 2) +SAX.endElement(i) +SAX.endElement(font) +SAX.characters( + + +, 3) +SAX.startElement(p) +SAX.characters(The FrontPage Server Extension, 88) +SAX.endElement(p) +SAX.startElement(ul) +SAX.characters( + , 3) +SAX.startElement(li) +SAX.characters(Authoring FrontPage webs, 24) +SAX.endElement(li) +SAX.characters( + , 3) +SAX.startElement(li) +SAX.characters(Administering FrontPage webs, 28) +SAX.endElement(li) +SAX.characters( + , 3) +SAX.startElement(li) +SAX.characters(Browse-time FrontPage web func, 39) +SAX.endElement(li) +SAX.characters( +, 1) +SAX.endElement(ul) +SAX.characters( + + +, 3) +SAX.startElement(h2) +SAX.characters(Contents, 8) +SAX.characters( , 2) +SAX.endElement(h2) +SAX.characters( + +, 2) +SAX.startElement(a, href='#relnotes') +SAX.characters(Release Notes, 13) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.startElement(a, href='#moreinfo') +SAX.characters(Resources for More Information, 30) +SAX.endElement(a) +SAX.characters( +, 1) +SAX.startElement(p) +SAX.characters( , 2) +SAX.endElement(p) +SAX.characters( +, 1) +SAX.startElement(hr) +SAX.endElement(hr) +SAX.characters( +, 1) +SAX.startElement(h2) +SAX.startElement(a, name='relnotes') +SAX.characters(Release Notes, 13) +SAX.endElement(a) +SAX.endElement(h2) +SAX.characters( + +, 2) +SAX.startElement(p) +SAX.characters(This section provides compleme, 136) +SAX.endElement(p) +SAX.characters( + +, 2) +SAX.startElement(p) +SAX.startElement(a, href='#apache') +SAX.characters(Apache 1.3.4 Support, 20) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.startElement(a, href='#upgrading') +SAX.characters(Upgrading from previous versio, 62) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.startElement(a, href='#executables') +SAX.characters(Uploading files into executabl, 39) +SAX.endElement(a) +SAX.endElement(p) +SAX.characters( + + +, 3) +SAX.startElement(p, align='right') +SAX.startElement(font, size='1') +SAX.startElement(a, href='#top') +SAX.characters(Top of Page, 11) +SAX.endElement(a) +SAX.endElement(font) +SAX.endElement(p) +SAX.characters( + + +, 3) +SAX.startElement(h3) +SAX.startElement(a, name='apache') +SAX.characters(Apache 1.3.4 Support, 20) +SAX.endElement(a) +SAX.endElement(h3) +SAX.characters( + +, 2) +SAX.startElement(p) +SAX.characters(You need to take some special , 360) +SAX.endElement(p) +SAX.characters( + + +, 3) +SAX.endElement(font) +SAX.characters( +, 1) +SAX.startElement(blockquote) +SAX.characters( + , 3) +SAX.startElement(font, face='Courier New') +SAX.characters( +ResourceConfig /dev/null, 25) +SAX.characters( , 2) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +AccessConfig /dev/null, 23) +SAX.endElement(font) +SAX.characters( +, 1) +SAX.endElement(blockquote) +SAX.characters( +, 1) +SAX.startElement(font, face='Verdana') +SAX.characters( + + +, 3) +SAX.startElement(p) +SAX.characters(If you have some settings stor, 90) +SAX.endElement(p) +SAX.characters( + +, 2) +SAX.startElement(p) +SAX.characters(You must stop and restart the , 86) +SAX.endElement(p) +SAX.characters( + + + +, 4) +SAX.startElement(p, align='right') +SAX.startElement(font, size='1') +SAX.startElement(a, href='#relnotes') +SAX.characters(Top of Section, 14) +SAX.endElement(a) +SAX.endElement(font) +SAX.endElement(p) +SAX.characters( + + + +, 4) +SAX.startElement(h3) +SAX.startElement(a, name='upgrading') +SAX.characters(Upgrading from previous versio, 62) +SAX.endElement(a) +SAX.endElement(h3) +SAX.characters( + +, 2) +SAX.startElement(p) +SAX.characters(Custom entries in frontpage.cn, 67) +SAX.endElement(p) +SAX.characters( + +, 2) +SAX.startElement(p) +SAX.characters(When you install FrontPage 200, 359) +SAX.endElement(p) +SAX.characters( + +, 2) +SAX.startElement(p) +SAX.characters(Do not overwrite the FrontPage, 141) +SAX.endElement(p) +SAX.characters( + + + +, 4) +SAX.startElement(p, align='right') +SAX.startElement(font, size='1') +SAX.startElement(a, href='#relnotes') +SAX.characters(Top of Section, 14) +SAX.endElement(a) +SAX.endElement(font) +SAX.endElement(p) +SAX.characters( + + + +, 4) +SAX.startElement(h3) +SAX.startElement(a, name='executables') +SAX.characters(Uploading files into executabl, 39) +SAX.endElement(a) +SAX.endElement(h3) +SAX.characters( + + +, 3) +SAX.startElement(p) +SAX.characters(After upgrading to FrontPage 2, 385) +SAX.endElement(p) +SAX.characters( + +, 3) +SAX.startElement(p) +SAX.characters(To allow FrontPage authors to , 249) +SAX.startElement(a, href='http://officeupdate.microsoft.com/frontpage/wpp/serk/') +SAX.characters(http://officeupdate.microsoft., 53) +SAX.endElement(a) +SAX.characters(., 1) +SAX.endElement(p) +SAX.characters( + + + +, 4) +SAX.startElement(p, align='right') +SAX.startElement(font, size='1') +SAX.startElement(a, href='#relnotes') +SAX.characters(Top of Section, 14) +SAX.endElement(a) +SAX.endElement(font) +SAX.endElement(p) +SAX.characters( + + + +, 4) +SAX.startElement(hr) +SAX.endElement(hr) +SAX.characters( + + + +, 4) +SAX.startElement(h2) +SAX.startElement(a, name='moreinfo') +SAX.characters(Resources for More Information, 30) +SAX.endElement(a) +SAX.endElement(h2) +SAX.characters( + +, 2) +SAX.startElement(p) +SAX.characters(This section lists sources of , 85) +SAX.endElement(p) +SAX.characters( + +, 2) +SAX.startElement(p) +SAX.startElement(a, href='#serk') +SAX.characters(Server Extensions Resource Kit, 30) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.startElement(a, href='#serkupdate') +SAX.characters(Server Extensions Resource Kit, 37) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.startElement(a, href='#kb') +SAX.characters(Knowledge Base, 14) +SAX.endElement(a) +SAX.endElement(p) +SAX.characters( + + +, 3) +SAX.startElement(p, align='right') +SAX.startElement(font, size='1') +SAX.startElement(a, href='#top') +SAX.characters(Top of Page, 11) +SAX.endElement(a) +SAX.endElement(font) +SAX.endElement(p) +SAX.characters( + + +, 3) +SAX.startElement(h3) +SAX.startElement(a, name='serk') +SAX.characters(Server Extensions Resource Kit, 30) +SAX.endElement(a) +SAX.endElement(h3) +SAX.characters( + +, 2) +SAX.startElement(p) +SAX.characters(The FrontPage 2000 Server Exte, 339) +SAX.endElement(p) +SAX.characters( + +, 2) +SAX.startElement(p) +SAX.characters(The Server Extensions Resource, 312) +SAX.endElement(p) +SAX.characters( + +, 2) +SAX.startElement(p, align='right') +SAX.startElement(font, size='1') +SAX.startElement(a, href='#moreinfo') +SAX.characters(Top of Section, 14) +SAX.endElement(a) +SAX.endElement(font) +SAX.endElement(p) +SAX.characters( + + +, 3) +SAX.startElement(h3) +SAX.startElement(a, name='serkupdate') +SAX.characters(Server Extensions Resource Kit, 37) +SAX.endElement(a) +SAX.endElement(h3) +SAX.characters( + +, 2) +SAX.startElement(p) +SAX.characters(For updated information about , 157) +SAX.startElement(a, href='http://officeupdate.microsoft.com/frontpage/wpp/serk/') +SAX.characters(http://officeupdate.microsoft., 53) +SAX.endElement(a) +SAX.characters(., 1) +SAX.endElement(p) +SAX.characters( + + +, 3) +SAX.startElement(p, align='right') +SAX.startElement(font, size='1') +SAX.startElement(a, href='#moreinfo') +SAX.characters(Top of Section, 14) +SAX.endElement(a) +SAX.endElement(font) +SAX.endElement(p) +SAX.characters( + + +, 3) +SAX.startElement(h3) +SAX.startElement(a, name='kb') +SAX.characters(Microsoft Knowledge Base, 24) +SAX.endElement(a) +SAX.endElement(h3) +SAX.characters( + +, 2) +SAX.startElement(p) +SAX.characters(For further technical informat, 557) +SAX.startElement(a, href='http://support.microsoft.com/support/') +SAX.characters(http://support.microsoft.com/s, 37) +SAX.endElement(a) +SAX.characters(., 1) +SAX.endElement(p) +SAX.characters( + +, 4) +SAX.startElement(p, align='right') +SAX.startElement(font, size='1') +SAX.startElement(a, href='#moreinfo') +SAX.characters(Top of Section, 14) +SAX.endElement(a) +SAX.endElement(font) +SAX.endElement(p) +SAX.characters( + + +, 3) +SAX.startElement(p) +SAX.characters( , 2) +SAX.endElement(p) +SAX.characters( + +, 4) +SAX.endElement(font) +SAX.characters( +, 1) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/libxml2/result/HTML/html5-entities.html b/libxml2/result/HTML/html5-entities.html new file mode 100644 index 0000000..3048294 --- /dev/null +++ b/libxml2/result/HTML/html5-entities.html @@ -0,0 +1,4259 @@ + + + + + + +Æ +Æ +& +& +à +à +&Abreve +Ä‚ + + +&Acy +Ð +&Afr +𔄠+À +À +&Alpha +Α +&Amacr +Ä€ +&And +â©“ +&Aogon +Ä„ +&Aopf +𔸠+&ApplyFunction +â¡ +Ã… +Ã… +&Ascr +𒜠+&Assign +≔ +à +à +Ä +Ä +&Backslash +∖ +&Barv +â«§ +&Barwed +⌆ +&Bcy +Б +&Because +∵ +&Bernoullis +ℬ +&Beta +Î’ +&Bfr +ð”… +&Bopf +𔹠+&Breve +˘ +&Bscr +ℬ +&Bumpeq +≎ +&CHcy +Ч +© +© +&Cacute +Ć +&Cap +â‹’ +&CapitalDifferentialD +â…… +&Cayleys +â„­ +&Ccaron +ÄŒ +Ç +Ç +&Ccirc +Ĉ +&Cconint +∰ +&Cdot +ÄŠ +&Cedilla +¸ +&CenterDot +· +&Cfr +â„­ +&Chi +Χ +&CircleDot +⊙ +&CircleMinus +⊖ +&CirclePlus +⊕ +&CircleTimes +⊗ +&ClockwiseContourIntegral +∲ +&CloseCurlyDoubleQuote +†+&CloseCurlyQuote +’ +&Colon +∷ +&Colone +â©´ +&Congruent +≡ +&Conint +∯ +&ContourIntegral +∮ +&Copf +â„‚ +&Coproduct +∠+&CounterClockwiseContourIntegral +∳ +&Cross +⨯ +&Cscr +ð’ž +&Cup +â‹“ +&CupCap +≠+&DD +â…… +&DDotrahd +⤑ +&DJcy +Ђ +&DScy +Ð… +&DZcy +Ð +&Dagger +‡ +&Darr +↡ +&Dashv +⫤ +&Dcaron +ÄŽ +&Dcy +Д +&Del +∇ +&Delta +Δ +&Dfr +𔇠+&DiacriticalAcute +´ +&DiacriticalDot +Ë™ +&DiacriticalDoubleAcute +Ë +&DiacriticalGrave +` +&DiacriticalTilde +Ëœ +&Diamond +â‹„ +&DifferentialD +â…† +&Dopf +ð”» +&Dot +¨ +&DotDot +⃜ +&DotEqual +≠+&DoubleContourIntegral +∯ +&DoubleDot +¨ +&DoubleDownArrow +⇓ +&DoubleLeftArrow +⇠+&DoubleLeftRightArrow +⇔ +&DoubleLeftTee +⫤ +&DoubleLongLeftArrow +⟸ +&DoubleLongLeftRightArrow +⟺ +&DoubleLongRightArrow +⟹ +&DoubleRightArrow +⇒ +&DoubleRightTee +⊨ +&DoubleUpArrow +⇑ +&DoubleUpDownArrow +⇕ +&DoubleVerticalBar +∥ +&DownArrow +↓ +&DownArrowBar +⤓ +&DownArrowUpArrow +⇵ +&DownBreve +Ì‘ +&DownLeftRightVector +⥠+&DownLeftTeeVector +⥞ +&DownLeftVector +↽ +&DownLeftVectorBar +⥖ +&DownRightTeeVector +⥟ +&DownRightVector +⇠+&DownRightVectorBar +⥗ +&DownTee +⊤ +&DownTeeArrow +↧ +&Downarrow +⇓ +&Dscr +ð’Ÿ +&Dstrok +Ä +&ENG +ÅŠ +à +à +É +É +&Ecaron +Äš +Ê +Ê +&Ecy +Э +&Edot +Ä– +&Efr +𔈠+È +È +&Element +∈ +&Emacr +Ä’ +&EmptySmallSquare +â—» +&EmptyVerySmallSquare +â–« +&Eogon +Ę +&Eopf +𔼠+&Epsilon +Ε +&Equal +⩵ +&EqualTilde +≂ +&Equilibrium +⇌ +&Escr +â„° +&Esim +⩳ +&Eta +Η +Ë +Ë +&Exists +∃ +&ExponentialE +â…‡ +&Fcy +Ф +&Ffr +𔉠+&FilledSmallSquare +â—¼ +&FilledVerySmallSquare +â–ª +&Fopf +𔽠+&ForAll +∀ +&Fouriertrf +ℱ +&Fscr +ℱ +&GJcy +Ѓ +> +> +&Gamma +Γ +&Gammad +Ïœ +&Gbreve +Äž +&Gcedil +Ä¢ +&Gcirc +Äœ +&Gcy +Г +&Gdot +Ä  +&Gfr +𔊠+&Gg +â‹™ +&Gopf +𔾠+&GreaterEqual +≥ +&GreaterEqualLess +â‹› +&GreaterFullEqual +≧ +&GreaterGreater +⪢ +&GreaterLess +≷ +&GreaterSlantEqual +⩾ +&GreaterTilde +≳ +&Gscr +ð’¢ +&Gt +≫ +&HARDcy +Ъ +&Hacek +ˇ +&Hat +^ +&Hcirc +Ĥ +&Hfr +ℌ +&HilbertSpace +â„‹ +&Hopf +â„ +&HorizontalLine +─ +&Hscr +â„‹ +&Hstrok +Ħ +&HumpDownHump +≎ +&HumpEqual +≠+&IEcy +Е +&IJlig +IJ +&IOcy +Ð +à +à +ÃŽ +ÃŽ +&Icy +И +&Idot +İ +&Ifr +â„‘ +ÃŒ +ÃŒ +&Im +â„‘ +&Imacr +Ī +&ImaginaryI +â…ˆ +&Implies +⇒ +&Int +∬ +&Integral +∫ +&Intersection +â‹‚ +&InvisibleComma +⣠+&InvisibleTimes +⢠+&Iogon +Ä® +&Iopf +ð•€ +&Iota +Ι +&Iscr +â„ +&Itilde +Ĩ +&Iukcy +І +à +à +&Jcirc +Ä´ +&Jcy +Й +&Jfr +ð” +&Jopf +ð• +&Jscr +ð’¥ +&Jsercy +Ј +&Jukcy +Є +&KHcy +Ð¥ +&KJcy +ÐŒ +&Kappa +Κ +&Kcedil +Ķ +&Kcy +К +&Kfr +𔎠+&Kopf +ð•‚ +&Kscr +ð’¦ +&LJcy +Љ +< +< +&Lacute +Ĺ +&Lambda +Λ +&Lang +⟪ +&Laplacetrf +â„’ +&Larr +↞ +&Lcaron +Ľ +&Lcedil +Ä» +&Lcy +Л +&LeftAngleBracket +⟨ +&LeftArrow +↠+&LeftArrowBar +⇤ +&LeftArrowRightArrow +⇆ +&LeftCeiling +⌈ +&LeftDoubleBracket +⟦ +&LeftDownTeeVector +⥡ +&LeftDownVector +⇃ +&LeftDownVectorBar +⥙ +&LeftFloor +⌊ +&LeftRightArrow +↔ +&LeftRightVector +⥎ +&LeftTee +⊣ +&LeftTeeArrow +↤ +&LeftTeeVector +⥚ +&LeftTriangle +⊲ +&LeftTriangleBar +â§ +&LeftTriangleEqual +⊴ +&LeftUpDownVector +⥑ +&LeftUpTeeVector +⥠ +&LeftUpVector +↿ +&LeftUpVectorBar +⥘ +&LeftVector +↼ +&LeftVectorBar +⥒ +&Leftarrow +⇠+&Leftrightarrow +⇔ +&LessEqualGreater +⋚ +&LessFullEqual +≦ +&LessGreater +≶ +&LessLess +⪡ +&LessSlantEqual +⩽ +&LessTilde +≲ +&Lfr +ð” +&Ll +⋘ +&Lleftarrow +⇚ +&Lmidot +Ä¿ +&LongLeftArrow +⟵ +&LongLeftRightArrow +⟷ +&LongRightArrow +⟶ +&Longleftarrow +⟸ +&Longleftrightarrow +⟺ +&Longrightarrow +⟹ +&Lopf +𕃠+&LowerLeftArrow +↙ +&LowerRightArrow +↘ +&Lscr +â„’ +&Lsh +↰ +&Lstrok +Å +&Lt +≪ +&Map +⤅ +&Mcy +М +&MediumSpace +⟠+&Mellintrf +ℳ +&Mfr +ð” +&MinusPlus +∓ +&Mopf +ð•„ +&Mscr +ℳ +&Mu +Μ +&NJcy +Њ +&Nacute +Ń +&Ncaron +Ň +&Ncedil +Å… +&Ncy +Ð +&NegativeMediumSpace +​ +&NegativeThickSpace +​ +&NegativeThinSpace +​ +&NegativeVeryThinSpace +​ +&NestedGreaterGreater +≫ +&NestedLessLess +≪ +&NewLine + + +&Nfr +𔑠+&NoBreak +â  +&NonBreakingSpace +  +&Nopf +â„• +&Not +⫬ +&NotCongruent +≢ +&NotCupCap +≭ +&NotDoubleVerticalBar +∦ +&NotElement +∉ +&NotEqual +≠ +&NotEqualTilde +≂̸ +&NotExists +∄ +&NotGreater +≯ +&NotGreaterEqual +≱ +&NotGreaterFullEqual +≧̸ +&NotGreaterGreater +≫̸ +&NotGreaterLess +≹ +&NotGreaterSlantEqual +⩾̸ +&NotGreaterTilde +≵ +&NotHumpDownHump +≎̸ +&NotHumpEqual +â‰Ì¸ +&NotLeftTriangle +⋪ +&NotLeftTriangleBar +â§Ì¸ +&NotLeftTriangleEqual +⋬ +&NotLess +≮ +&NotLessEqual +≰ +&NotLessGreater +≸ +&NotLessLess +≪̸ +&NotLessSlantEqual +⩽̸ +&NotLessTilde +≴ +&NotNestedGreaterGreater +⪢̸ +&NotNestedLessLess +⪡̸ +&NotPrecedes +⊀ +&NotPrecedesEqual +⪯̸ +&NotPrecedesSlantEqual +â‹  +&NotReverseElement +∌ +&NotRightTriangle +â‹« +&NotRightTriangleBar +â§Ì¸ +&NotRightTriangleEqual +â‹­ +&NotSquareSubset +âŠÌ¸ +&NotSquareSubsetEqual +â‹¢ +&NotSquareSuperset +âŠÌ¸ +&NotSquareSupersetEqual +â‹£ +&NotSubset +⊂⃒ +&NotSubsetEqual +⊈ +&NotSucceeds +⊠+&NotSucceedsEqual +⪰̸ +&NotSucceedsSlantEqual +â‹¡ +&NotSucceedsTilde +≿̸ +&NotSuperset +⊃⃒ +&NotSupersetEqual +⊉ +&NotTilde +≠+&NotTildeEqual +≄ +&NotTildeFullEqual +≇ +&NotTildeTilde +≉ +&NotVerticalBar +∤ +&Nscr +ð’© +Ñ +Ñ +&Nu +Î +&OElig +Å’ +Ó +Ó +Ô +Ô +&Ocy +О +&Odblac +Å +&Ofr +ð”’ +Ã’ +Ã’ +&Omacr +ÅŒ +&Omega +Ω +&Omicron +Ο +&Oopf +𕆠+&OpenCurlyDoubleQuote +“ +&OpenCurlyQuote +‘ +&Or +â©” +&Oscr +ð’ª +Ø +Ø +Õ +Õ +&Otimes +⨷ +Ö +Ö +&OverBar +‾ +&OverBrace +âž +&OverBracket +⎴ +&OverParenthesis +✠+&PartialD +∂ +&Pcy +П +&Pfr +𔓠+&Phi +Φ +&Pi +Π +&PlusMinus +± +&Poincareplane +ℌ +&Popf +â„™ +&Pr +⪻ +&Precedes +≺ +&PrecedesEqual +⪯ +&PrecedesSlantEqual +≼ +&PrecedesTilde +≾ +&Prime +″ +&Product +∠+&Proportion +∷ +&Proportional +∠+&Pscr +ð’« +&Psi +Ψ +" +" +&Qfr +ð”” +&Qopf +ℚ +&Qscr +ð’¬ +&RBarr +⤠+® +® +&Racute +Å” +&Rang +⟫ +&Rarr +↠ +&Rarrtl +⤖ +&Rcaron +Ř +&Rcedil +Å– +&Rcy +Р +&Re +ℜ +&ReverseElement +∋ +&ReverseEquilibrium +⇋ +&ReverseUpEquilibrium +⥯ +&Rfr +ℜ +&Rho +Ρ +&RightAngleBracket +⟩ +&RightArrow +→ +&RightArrowBar +⇥ +&RightArrowLeftArrow +⇄ +&RightCeiling +⌉ +&RightDoubleBracket +⟧ +&RightDownTeeVector +⥠+&RightDownVector +⇂ +&RightDownVectorBar +⥕ +&RightFloor +⌋ +&RightTee +⊢ +&RightTeeArrow +↦ +&RightTeeVector +⥛ +&RightTriangle +⊳ +&RightTriangleBar +â§ +&RightTriangleEqual +⊵ +&RightUpDownVector +⥠+&RightUpTeeVector +⥜ +&RightUpVector +↾ +&RightUpVectorBar +⥔ +&RightVector +⇀ +&RightVectorBar +⥓ +&Rightarrow +⇒ +&Ropf +â„ +&RoundImplies +⥰ +&Rrightarrow +⇛ +&Rscr +â„› +&Rsh +↱ +&RuleDelayed +â§´ +&SHCHcy +Щ +&SHcy +Ш +&SOFTcy +Ь +&Sacute +Åš +&Sc +⪼ +&Scaron +Å  +&Scedil +Åž +&Scirc +Åœ +&Scy +С +&Sfr +ð”– +&ShortDownArrow +↓ +&ShortLeftArrow +↠+&ShortRightArrow +→ +&ShortUpArrow +↑ +&Sigma +Σ +&SmallCircle +∘ +&Sopf +𕊠+&Sqrt +√ +&Square +â–¡ +&SquareIntersection +⊓ +&SquareSubset +⊠+&SquareSubsetEqual +⊑ +&SquareSuperset +⊠+&SquareSupersetEqual +⊒ +&SquareUnion +⊔ +&Sscr +ð’® +&Star +⋆ +&Sub +â‹ +&Subset +â‹ +&SubsetEqual +⊆ +&Succeeds +≻ +&SucceedsEqual +⪰ +&SucceedsSlantEqual +≽ +&SucceedsTilde +≿ +&SuchThat +∋ +&Sum +∑ +&Sup +â‹‘ +&Superset +⊃ +&SupersetEqual +⊇ +&Supset +â‹‘ +Þ +Þ +&TRADE +â„¢ +&TSHcy +Ћ +&TScy +Ц +&Tab + +&Tau +Τ +&Tcaron +Ť +&Tcedil +Å¢ +&Tcy +Т +&Tfr +ð”— +&Therefore +∴ +&Theta +Θ +&ThickSpace +âŸâ€Š +&ThinSpace +  +&Tilde +∼ +&TildeEqual +≃ +&TildeFullEqual +≅ +&TildeTilde +≈ +&Topf +ð•‹ +&TripleDot +⃛ +&Tscr +ð’¯ +&Tstrok +Ŧ +Ú +Ú +&Uarr +↟ +&Uarrocir +⥉ +&Ubrcy +ÐŽ +&Ubreve +Ŭ +Û +Û +&Ucy +У +&Udblac +Ű +&Ufr +𔘠+Ù +Ù +&Umacr +Ū +&UnderBar +_ +&UnderBrace +⟠+&UnderBracket +⎵ +&UnderParenthesis +â +&Union +⋃ +&UnionPlus +⊎ +&Uogon +Ų +&Uopf +𕌠+&UpArrow +↑ +&UpArrowBar +⤒ +&UpArrowDownArrow +⇅ +&UpDownArrow +↕ +&UpEquilibrium +⥮ +&UpTee +⊥ +&UpTeeArrow +↥ +&Uparrow +⇑ +&Updownarrow +⇕ +&UpperLeftArrow +↖ +&UpperRightArrow +↗ +&Upsi +Ï’ +&Upsilon +Î¥ +&Uring +Å® +&Uscr +ð’° +&Utilde +Ũ +Ü +Ü +&VDash +⊫ +&Vbar +â«« +&Vcy +Ð’ +&Vdash +⊩ +&Vdashl +⫦ +&Vee +â‹ +&Verbar +‖ +&Vert +‖ +&VerticalBar +∣ +&VerticalLine +| +&VerticalSeparator +☠+&VerticalTilde +≀ +&VeryThinSpace +  +&Vfr +ð”™ +&Vopf +ð• +&Vscr +ð’± +&Vvdash +⊪ +&Wcirc +Å´ +&Wedge +â‹€ +&Wfr +𔚠+&Wopf +𕎠+&Wscr +ð’² +&Xfr +ð”› +&Xi +Ξ +&Xopf +ð• +&Xscr +ð’³ +&YAcy +Я +&YIcy +Ї +&YUcy +Ю +à +à +&Ycirc +Ŷ +&Ycy +Ы +&Yfr +𔜠+&Yopf +ð• +&Yscr +ð’´ +&Yuml +Ÿ +&ZHcy +Ж +&Zacute +Ź +&Zcaron +Ž +&Zcy +З +&Zdot +Å» +&ZeroWidthSpace +​ +&Zeta +Ζ +&Zfr +ℨ +&Zopf +ℤ +&Zscr +ð’µ +á +á +&abreve +ă +&ac +∾ +&acE +∾̳ +&acd +∿ +â +â +´ +´ +&acy +а +æ +æ +&af +â¡ +&afr +𔞠+à +à +&alefsym +ℵ +&aleph +ℵ +&alpha +α +&amacr +Ä +&amalg +⨿ +& +& +&and +∧ +&andand +â©• +&andd +⩜ +&andslope +⩘ +&andv +⩚ +&ang +∠ +&ange +⦤ +&angle +∠ +&angmsd +∡ +&angmsdaa +⦨ +&angmsdab +⦩ +&angmsdac +⦪ +&angmsdad +⦫ +&angmsdae +⦬ +&angmsdaf +⦭ +&angmsdag +⦮ +&angmsdah +⦯ +&angrt +∟ +&angrtvb +⊾ +&angrtvbd +⦠+&angsph +∢ +&angst +Ã… +&angzarr +â¼ +&aogon +Ä… +&aopf +ð•’ +&ap +≈ +&apE +â©° +&apacir +⩯ +&ape +≊ +&apid +≋ +&apos +' +&approx +≈ +&approxeq +≊ +Ã¥ +Ã¥ +&ascr +ð’¶ +&ast +* +&asymp +≈ +&asympeq +≠+ã +ã +ä +ä +&awconint +∳ +&awint +⨑ +&bNot +â«­ +&backcong +≌ +&backepsilon +϶ +&backprime +‵ +&backsim +∽ +&backsimeq +â‹ +&barvee +⊽ +&barwed +⌅ +&barwedge +⌅ +&bbrk +⎵ +&bbrktbrk +⎶ +&bcong +≌ +&bcy +б +&bdquo +„ +&becaus +∵ +&because +∵ +&bemptyv +⦰ +&bepsi +϶ +&bernou +ℬ +&beta +β +&beth +â„¶ +&between +≬ +&bfr +𔟠+&bigcap +â‹‚ +&bigcirc +â—¯ +&bigcup +⋃ +&bigodot +⨀ +&bigoplus +⨠+&bigotimes +⨂ +&bigsqcup +⨆ +&bigstar +★ +&bigtriangledown +â–½ +&bigtriangleup +â–³ +&biguplus +⨄ +&bigvee +â‹ +&bigwedge +â‹€ +&bkarow +⤠+&blacklozenge +â§« +&blacksquare +â–ª +&blacktriangle +â–´ +&blacktriangledown +â–¾ +&blacktriangleleft +â—‚ +&blacktriangleright +â–¸ +&blank +⣠+&blk12 +â–’ +&blk14 +â–‘ +&blk34 +â–“ +&block +â–ˆ +&bne +=⃥ +&bnequiv +≡⃥ +&bnot +⌠+&bopf +ð•“ +&bot +⊥ +&bottom +⊥ +&bowtie +⋈ +&boxDL +â•— +&boxDR +â•” +&boxDl +â•– +&boxDr +â•“ +&boxH +â• +&boxHD +╦ +&boxHU +â•© +&boxHd +╤ +&boxHu +â•§ +&boxUL +â• +&boxUR +╚ +&boxUl +╜ +&boxUr +â•™ +&boxV +â•‘ +&boxVH +╬ +&boxVL +â•£ +&boxVR +â•  +&boxVh +â•« +&boxVl +â•¢ +&boxVr +╟ +&boxbox +⧉ +&boxdL +â•• +&boxdR +â•’ +&boxdl +â” +&boxdr +┌ +&boxh +─ +&boxhD +â•¥ +&boxhU +╨ +&boxhd +┬ +&boxhu +â”´ +&boxminus +⊟ +&boxplus +⊞ +&boxtimes +⊠ +&boxuL +â•› +&boxuR +╘ +&boxul +┘ +&boxur +â”” +&boxv +│ +&boxvH +╪ +&boxvL +â•¡ +&boxvR +╞ +&boxvh +┼ +&boxvl +┤ +&boxvr +├ +&bprime +‵ +&breve +˘ +¦ +¦ +&bscr +ð’· +&bsemi +â +&bsim +∽ +&bsime +â‹ +&bsol +\ +&bsolb +â§… +&bsolhsub +⟈ +&bull +• +&bullet +• +&bump +≎ +&bumpE +⪮ +&bumpe +≠+&bumpeq +≠+&cacute +ć +&cap +∩ +&capand +â©„ +&capbrcup +⩉ +&capcap +â©‹ +&capcup +⩇ +&capdot +â©€ +&caps +∩︀ +&caret +â +&caron +ˇ +&ccaps +â© +&ccaron +Ä +ç +ç +&ccirc +ĉ +&ccups +⩌ +&ccupssm +â© +&cdot +Ä‹ +¸ +¸ +&cemptyv +⦲ +¢ +¢ +¢erdot +· +&cfr +ð”  +&chcy +ч +&check +✓ +&checkmark +✓ +&chi +χ +&cir +â—‹ +&cirE +⧃ +&circ +ˆ +&circeq +≗ +&circlearrowleft +↺ +&circlearrowright +↻ +&circledR +® +&circledS +Ⓢ +&circledast +⊛ +&circledcirc +⊚ +&circleddash +⊠+&cire +≗ +&cirfnint +⨠+&cirmid +⫯ +&cirscir +â§‚ +&clubs +♣ +&clubsuit +♣ +&colon +: +&colone +≔ +&coloneq +≔ +&comma +, +&commat +@ +&comp +∠+&compfn +∘ +&complement +∠+&complexes +â„‚ +&cong +≅ +&congdot +â©­ +&conint +∮ +&copf +ð•” +&coprod +∠+© +© +©sr +â„— +&crarr +↵ +&cross +✗ +&cscr +ð’¸ +&csub +â« +&csube +â«‘ +&csup +â« +&csupe +â«’ +&ctdot +⋯ +&cudarrl +⤸ +&cudarrr +⤵ +&cuepr +⋞ +&cuesc +⋟ +&cularr +↶ +&cularrp +⤽ +&cup +∪ +&cupbrcap +⩈ +&cupcap +⩆ +&cupcup +⩊ +&cupdot +⊠+&cupor +â©… +&cups +∪︀ +&curarr +↷ +&curarrm +⤼ +&curlyeqprec +⋞ +&curlyeqsucc +⋟ +&curlyvee +⋎ +&curlywedge +â‹ +¤ +¤ +&curvearrowleft +↶ +&curvearrowright +↷ +&cuvee +⋎ +&cuwed +â‹ +&cwconint +∲ +&cwint +∱ +&cylcty +⌭ +&dArr +⇓ +&dHar +⥥ +&dagger +† +&daleth +ℸ +&darr +↓ +&dash +†+&dashv +⊣ +&dbkarow +⤠+&dblac +Ë +&dcaron +Ä +&dcy +д +&dd +â…† +&ddagger +‡ +&ddarr +⇊ +&ddotseq +â©· +° +° +&delta +δ +&demptyv +⦱ +&dfisht +⥿ +&dfr +𔡠+&dharl +⇃ +&dharr +⇂ +&diam +â‹„ +&diamond +â‹„ +&diamondsuit +♦ +&diams +♦ +&die +¨ +&digamma +Ï +&disin +⋲ +&div +÷ +÷ +÷ +÷ontimes +⋇ +&divonx +⋇ +&djcy +Ñ’ +&dlcorn +⌞ +&dlcrop +⌠+&dollar +$ +&dopf +ð•• +&dot +Ë™ +&doteq +≠+&doteqdot +≑ +&dotminus +∸ +&dotplus +∔ +&dotsquare +⊡ +&doublebarwedge +⌆ +&downarrow +↓ +&downdownarrows +⇊ +&downharpoonleft +⇃ +&downharpoonright +⇂ +&drbkarow +⤠+&drcorn +⌟ +&drcrop +⌌ +&dscr +ð’¹ +&dscy +Ñ• +&dsol +â§¶ +&dstrok +Ä‘ +&dtdot +⋱ +&dtri +â–¿ +&dtrif +â–¾ +&duarr +⇵ +&duhar +⥯ +&dwangle +⦦ +&dzcy +ÑŸ +&dzigrarr +⟿ +&eDDot +â©· +&eDot +≑ +é +é +&easter +â©® +&ecaron +Ä› +&ecir +≖ +ê +ê +&ecolon +≕ +&ecy +Ñ +&edot +Ä— +&ee +â…‡ +&efDot +≒ +&efr +𔢠+&eg +⪚ +è +è +&egs +⪖ +&egsdot +⪘ +&el +⪙ +&elinters +â§ +&ell +â„“ +&els +⪕ +&elsdot +⪗ +&emacr +Ä“ +&empty +∅ +&emptyset +∅ +&emptyv +∅ +&emsp13 +  +&emsp14 +  +&emsp +  +&eng +Å‹ +&ensp +  +&eogon +Ä™ +&eopf +ð•– +&epar +â‹• +&eparsl +â§£ +&eplus +⩱ +&epsi +ε +&epsilon +ε +&epsiv +ϵ +&eqcirc +≖ +&eqcolon +≕ +&eqsim +≂ +&eqslantgtr +⪖ +&eqslantless +⪕ +&equals += +&equest +≟ +&equiv +≡ +&equivDD +⩸ +&eqvparsl +â§¥ +&erDot +≓ +&erarr +⥱ +&escr +ℯ +&esdot +≠+&esim +≂ +&eta +η +ð +ð +ë +ë +&euro +€ +&excl +! +&exist +∃ +&expectation +â„° +&exponentiale +â…‡ +&fallingdotseq +≒ +&fcy +Ñ„ +&female +♀ +&ffilig +ffi +&fflig +ff +&ffllig +ffl +&ffr +𔣠+&filig +ï¬ +&fjlig +fj +&flat +â™­ +&fllig +fl +&fltns +â–± +&fnof +Æ’ +&fopf +ð•— +&forall +∀ +&fork +â‹” +&forkv +â«™ +&fpartint +⨠+½ +½ +&frac13 +â…“ +¼ +¼ +&frac15 +â…• +&frac16 +â…™ +&frac18 +â…› +&frac23 +â…” +&frac25 +â…– +¾ +¾ +&frac35 +â…— +&frac38 +â…œ +&frac45 +â…˜ +&frac56 +â…š +&frac58 +â… +&frac78 +â…ž +&frasl +â„ +&frown +⌢ +&fscr +ð’» +&gE +≧ +&gEl +⪌ +&gacute +ǵ +&gamma +γ +&gammad +Ï +&gap +⪆ +&gbreve +ÄŸ +&gcirc +Ä +&gcy +г +&gdot +Ä¡ +&ge +≥ +&gel +â‹› +&geq +≥ +&geqq +≧ +&geqslant +⩾ +&ges +⩾ +&gescc +⪩ +&gesdot +⪀ +&gesdoto +⪂ +&gesdotol +⪄ +&gesl +⋛︀ +&gesles +⪔ +&gfr +𔤠+&gg +≫ +&ggg +â‹™ +&gimel +â„· +&gjcy +Ñ“ +&gl +≷ +&glE +⪒ +&gla +⪥ +&glj +⪤ +&gnE +≩ +&gnap +⪊ +&gnapprox +⪊ +&gne +⪈ +&gneq +⪈ +&gneqq +≩ +&gnsim +â‹§ +&gopf +𕘠+&grave +` +&gscr +ℊ +&gsim +≳ +&gsime +⪎ +&gsiml +⪠+> +> +>cc +⪧ +>cir +⩺ +>dot +â‹— +>lPar +⦕ +>quest +⩼ +>rapprox +⪆ +>rarr +⥸ +>rdot +â‹— +>reqless +â‹› +>reqqless +⪌ +>rless +≷ +>rsim +≳ +&gvertneqq +≩︀ +&gvnE +≩︀ +&hArr +⇔ +&hairsp +  +&half +½ +&hamilt +â„‹ +&hardcy +ÑŠ +&harr +↔ +&harrcir +⥈ +&harrw +↭ +&hbar +â„ +&hcirc +Ä¥ +&hearts +♥ +&heartsuit +♥ +&hellip +… +&hercon +⊹ +&hfr +𔥠+&hksearow +⤥ +&hkswarow +⤦ +&hoarr +⇿ +&homtht +∻ +&hookleftarrow +↩ +&hookrightarrow +↪ +&hopf +ð•™ +&horbar +― +&hscr +ð’½ +&hslash +â„ +&hstrok +ħ +&hybull +⃠+&hyphen +†+í +í +&ic +⣠+î +î +&icy +и +&iecy +е +¡ +¡ +&iff +⇔ +&ifr +𔦠+ì +ì +&ii +â…ˆ +&iiiint +⨌ +&iiint +∭ +&iinfin +â§œ +&iiota +â„© +&ijlig +ij +&imacr +Ä« +&image +â„‘ +&imagline +â„ +&imagpart +â„‘ +&imath +ı +&imof +⊷ +&imped +Ƶ +&in +∈ +&incare +â„… +&infin +∞ +&infintie +â§ +&inodot +ı +&int +∫ +&intcal +⊺ +&integers +ℤ +&intercal +⊺ +&intlarhk +⨗ +&intprod +⨼ +&iocy +Ñ‘ +&iogon +į +&iopf +𕚠+&iota +ι +&iprod +⨼ +¿ +¿ +&iscr +ð’¾ +&isin +∈ +&isinE +⋹ +&isindot +⋵ +&isins +â‹´ +&isinsv +⋳ +&isinv +∈ +&it +⢠+&itilde +Ä© +&iukcy +Ñ– +ï +ï +&jcirc +ĵ +&jcy +й +&jfr +ð”§ +&jmath +È· +&jopf +ð•› +&jscr +ð’¿ +&jsercy +ј +&jukcy +Ñ” +&kappa +κ +&kappav +ϰ +&kcedil +Ä· +&kcy +к +&kfr +𔨠+&kgreen +ĸ +&khcy +Ñ… +&kjcy +Ñœ +&kopf +𕜠+&kscr +ð“€ +&lAarr +⇚ +&lArr +⇠+&lAtail +⤛ +&lBarr +⤎ +&lE +≦ +&lEg +⪋ +&lHar +⥢ +&lacute +ĺ +&laemptyv +⦴ +&lagran +â„’ +&lambda +λ +&lang +⟨ +&langd +⦑ +&langle +⟨ +&lap +⪅ +« +« +&larr +↠+&larrb +⇤ +&larrbfs +⤟ +&larrfs +⤠+&larrhk +↩ +&larrlp +↫ +&larrpl +⤹ +&larrsim +⥳ +&larrtl +↢ +&lat +⪫ +&latail +⤙ +&late +⪭ +&lates +⪭︀ +&lbarr +⤌ +&lbbrk +â² +&lbrace +{ +&lbrack +[ +&lbrke +⦋ +&lbrksld +⦠+&lbrkslu +⦠+&lcaron +ľ +&lcedil +ļ +&lceil +⌈ +&lcub +{ +&lcy +л +&ldca +⤶ +&ldquo +“ +&ldquor +„ +&ldrdhar +⥧ +&ldrushar +⥋ +&ldsh +↲ +&le +≤ +&leftarrow +↠+&leftarrowtail +↢ +&leftharpoondown +↽ +&leftharpoonup +↼ +&leftleftarrows +⇇ +&leftrightarrow +↔ +&leftrightarrows +⇆ +&leftrightharpoons +⇋ +&leftrightsquigarrow +↭ +&leftthreetimes +â‹‹ +&leg +⋚ +&leq +≤ +&leqq +≦ +&leqslant +⩽ +&les +⩽ +&lescc +⪨ +&lesdot +â©¿ +&lesdoto +⪠+&lesdotor +⪃ +&lesg +⋚︀ +&lesges +⪓ +&lessapprox +⪅ +&lessdot +â‹– +&lesseqgtr +⋚ +&lesseqqgtr +⪋ +&lessgtr +≶ +&lesssim +≲ +&lfisht +⥼ +&lfloor +⌊ +&lfr +𔩠+&lg +≶ +&lgE +⪑ +&lhard +↽ +&lharu +↼ +&lharul +⥪ +&lhblk +â–„ +&ljcy +Ñ™ +&ll +≪ +&llarr +⇇ +&llcorner +⌞ +&llhard +⥫ +&lltri +â—º +&lmidot +Å€ +&lmoust +⎰ +&lmoustache +⎰ +&lnE +≨ +&lnap +⪉ +&lnapprox +⪉ +&lne +⪇ +&lneq +⪇ +&lneqq +≨ +&lnsim +⋦ +&loang +⟬ +&loarr +⇽ +&lobrk +⟦ +&longleftarrow +⟵ +&longleftrightarrow +⟷ +&longmapsto +⟼ +&longrightarrow +⟶ +&looparrowleft +↫ +&looparrowright +↬ +&lopar +⦅ +&lopf +ð• +&loplus +⨭ +&lotimes +⨴ +&lowast +∗ +&lowbar +_ +&loz +â—Š +&lozenge +â—Š +&lozf +â§« +&lpar +( +&lparlt +⦓ +&lrarr +⇆ +&lrcorner +⌟ +&lrhar +⇋ +&lrhard +⥭ +&lrm +‎ +&lrtri +⊿ +&lsaquo +‹ +&lscr +ð“ +&lsh +↰ +&lsim +≲ +&lsime +⪠+&lsimg +⪠+&lsqb +[ +&lsquo +‘ +&lsquor +‚ +&lstrok +Å‚ +< +< +<cc +⪦ +<cir +⩹ +<dot +â‹– +<hree +â‹‹ +<imes +⋉ +<larr +⥶ +<quest +â©» +<rPar +⦖ +<ri +â—ƒ +<rie +⊴ +<rif +â—‚ +&lurdshar +⥊ +&luruhar +⥦ +&lvertneqq +≨︀ +&lvnE +≨︀ +&mDDot +∺ +¯ +¯ +&male +♂ +&malt +✠ +&maltese +✠ +&map +↦ +&mapsto +↦ +&mapstodown +↧ +&mapstoleft +↤ +&mapstoup +↥ +&marker +â–® +&mcomma +⨩ +&mcy +м +&mdash +— +&measuredangle +∡ +&mfr +𔪠+&mho +â„§ +µ +µ +&mid +∣ +&midast +* +&midcir +â«° +· +· +&minus +− +&minusb +⊟ +&minusd +∸ +&minusdu +⨪ +&mlcp +â«› +&mldr +… +&mnplus +∓ +&models +⊧ +&mopf +𕞠+&mp +∓ +&mscr +ð“‚ +&mstpos +∾ +&mu +μ +&multimap +⊸ +&mumap +⊸ +&nGg +⋙̸ +&nGt +≫⃒ +&nGtv +≫̸ +&nLeftarrow +⇠+&nLeftrightarrow +⇎ +&nLl +⋘̸ +&nLt +≪⃒ +&nLtv +≪̸ +&nRightarrow +⇠+&nVDash +⊯ +&nVdash +⊮ +&nabla +∇ +&nacute +Å„ +&nang +∠⃒ +&nap +≉ +&napE +⩰̸ +&napid +≋̸ +&napos +ʼn +&napprox +≉ +&natur +â™® +&natural +â™® +&naturals +â„• +  +  +&nbump +≎̸ +&nbumpe +â‰Ì¸ +&ncap +⩃ +&ncaron +ň +&ncedil +ņ +&ncong +≇ +&ncongdot +⩭̸ +&ncup +â©‚ +&ncy +н +&ndash +– +&ne +≠ +&neArr +⇗ +&nearhk +⤤ +&nearr +↗ +&nearrow +↗ +&nedot +â‰Ì¸ +&nequiv +≢ +&nesear +⤨ +&nesim +≂̸ +&nexist +∄ +&nexists +∄ +&nfr +𔫠+&ngE +≧̸ +&nge +≱ +&ngeq +≱ +&ngeqq +≧̸ +&ngeqslant +⩾̸ +&nges +⩾̸ +&ngsim +≵ +&ngt +≯ +&ngtr +≯ +&nhArr +⇎ +&nharr +↮ +&nhpar +⫲ +&ni +∋ +&nis +⋼ +&nisd +⋺ +&niv +∋ +&njcy +Ñš +&nlArr +⇠+&nlE +≦̸ +&nlarr +↚ +&nldr +‥ +&nle +≰ +&nleftarrow +↚ +&nleftrightarrow +↮ +&nleq +≰ +&nleqq +≦̸ +&nleqslant +⩽̸ +&nles +⩽̸ +&nless +≮ +&nlsim +≴ +&nlt +≮ +&nltri +⋪ +&nltrie +⋬ +&nmid +∤ +&nopf +𕟠+¬ +¬ +¬in +∉ +¬inE +⋹̸ +¬indot +⋵̸ +¬inva +∉ +¬invb +â‹· +¬invc +â‹¶ +¬ni +∌ +¬niva +∌ +¬nivb +⋾ +¬nivc +⋽ +&npar +∦ +&nparallel +∦ +&nparsl +⫽⃥ +&npart +∂̸ +&npolint +⨔ +&npr +⊀ +&nprcue +â‹  +&npre +⪯̸ +&nprec +⊀ +&npreceq +⪯̸ +&nrArr +⇠+&nrarr +↛ +&nrarrc +⤳̸ +&nrarrw +â†Ì¸ +&nrightarrow +↛ +&nrtri +â‹« +&nrtrie +â‹­ +&nsc +⊠+&nsccue +â‹¡ +&nsce +⪰̸ +&nscr +𓃠+&nshortmid +∤ +&nshortparallel +∦ +&nsim +≠+&nsime +≄ +&nsimeq +≄ +&nsmid +∤ +&nspar +∦ +&nsqsube +â‹¢ +&nsqsupe +â‹£ +&nsub +⊄ +&nsubE +⫅̸ +&nsube +⊈ +&nsubset +⊂⃒ +&nsubseteq +⊈ +&nsubseteqq +⫅̸ +&nsucc +⊠+&nsucceq +⪰̸ +&nsup +⊅ +&nsupE +⫆̸ +&nsupe +⊉ +&nsupset +⊃⃒ +&nsupseteq +⊉ +&nsupseteqq +⫆̸ +&ntgl +≹ +ñ +ñ +&ntlg +≸ +&ntriangleleft +⋪ +&ntrianglelefteq +⋬ +&ntriangleright +â‹« +&ntrianglerighteq +â‹­ +&nu +ν +&num +# +&numero +â„– +&numsp +  +&nvDash +⊭ +&nvHarr +⤄ +&nvap +â‰âƒ’ +&nvdash +⊬ +&nvge +≥⃒ +&nvgt +>⃒ +&nvinfin +â§ž +&nvlArr +⤂ +&nvle +≤⃒ +&nvlt +<⃒ +&nvltrie +⊴⃒ +&nvrArr +⤃ +&nvrtrie +⊵⃒ +&nvsim +∼⃒ +&nwArr +⇖ +&nwarhk +⤣ +&nwarr +↖ +&nwarrow +↖ +&nwnear +⤧ +&oS +Ⓢ +ó +ó +&oast +⊛ +&ocir +⊚ +ô +ô +&ocy +о +&odash +⊠+&odblac +Å‘ +&odiv +⨸ +&odot +⊙ +&odsold +⦼ +&oelig +Å“ +&ofcir +⦿ +&ofr +𔬠+&ogon +Ë› +ò +ò +&ogt +â§ +&ohbar +⦵ +&ohm +Ω +&oint +∮ +&olarr +↺ +&olcir +⦾ +&olcross +⦻ +&oline +‾ +&olt +â§€ +&omacr +Å +&omega +ω +&omicron +ο +&omid +⦶ +&ominus +⊖ +&oopf +ð•  +&opar +⦷ +&operp +⦹ +&oplus +⊕ +&or +∨ +&orarr +↻ +&ord +â© +&order +â„´ +&orderof +â„´ +ª +ª +º +º +&origof +⊶ +&oror +â©– +&orslope +â©— +&orv +â©› +&oscr +â„´ +ø +ø +&osol +⊘ +õ +õ +&otimes +⊗ +&otimesas +⨶ +ö +ö +&ovbar +⌽ +&par +∥ +¶ +¶ +¶llel +∥ +&parsim +⫳ +&parsl +⫽ +&part +∂ +&pcy +п +&percnt +% +&period +. +&permil +‰ +&perp +⊥ +&pertenk +‱ +&pfr +ð”­ +&phi +φ +&phiv +Ï• +&phmmat +ℳ +&phone +☎ +&pi +Ï€ +&pitchfork +â‹” +&piv +Ï– +&planck +â„ +&planckh +ℎ +&plankv +â„ +&plus ++ +&plusacir +⨣ +&plusb +⊞ +&pluscir +⨢ +&plusdo +∔ +&plusdu +⨥ +&pluse +⩲ +± +± +&plussim +⨦ +&plustwo +⨧ +&pm +± +&pointint +⨕ +&popf +ð•¡ +£ +£ +&pr +≺ +&prE +⪳ +&prap +⪷ +&prcue +≼ +&pre +⪯ +&prec +≺ +&precapprox +⪷ +&preccurlyeq +≼ +&preceq +⪯ +&precnapprox +⪹ +&precneqq +⪵ +&precnsim +⋨ +&precsim +≾ +&prime +′ +&primes +â„™ +&prnE +⪵ +&prnap +⪹ +&prnsim +⋨ +&prod +∠+&profalar +⌮ +&profline +⌒ +&profsurf +⌓ +&prop +∠+&propto +∠+&prsim +≾ +&prurel +⊰ +&pscr +ð“… +&psi +ψ +&puncsp +  +&qfr +ð”® +&qint +⨌ +&qopf +ð•¢ +&qprime +â— +&qscr +𓆠+&quaternions +â„ +&quatint +⨖ +&quest +? +&questeq +≟ +" +" +&rAarr +⇛ +&rArr +⇒ +&rAtail +⤜ +&rBarr +⤠+&rHar +⥤ +&race +∽̱ +&racute +Å• +&radic +√ +&raemptyv +⦳ +&rang +⟩ +&rangd +⦒ +&range +⦥ +&rangle +⟩ +» +» +&rarr +→ +&rarrap +⥵ +&rarrb +⇥ +&rarrbfs +⤠ +&rarrc +⤳ +&rarrfs +⤞ +&rarrhk +↪ +&rarrlp +↬ +&rarrpl +⥅ +&rarrsim +⥴ +&rarrtl +↣ +&rarrw +↠+&ratail +⤚ +&ratio +∶ +&rationals +ℚ +&rbarr +⤠+&rbbrk +â³ +&rbrace +} +&rbrack +] +&rbrke +⦌ +&rbrksld +⦎ +&rbrkslu +⦠+&rcaron +Å™ +&rcedil +Å— +&rceil +⌉ +&rcub +} +&rcy +Ñ€ +&rdca +⤷ +&rdldhar +⥩ +&rdquo +†+&rdquor +†+&rdsh +↳ +&real +ℜ +&realine +â„› +&realpart +ℜ +&reals +â„ +&rect +â–­ +® +® +&rfisht +⥽ +&rfloor +⌋ +&rfr +𔯠+&rhard +⇠+&rharu +⇀ +&rharul +⥬ +&rho +Ï +&rhov +ϱ +&rightarrow +→ +&rightarrowtail +↣ +&rightharpoondown +⇠+&rightharpoonup +⇀ +&rightleftarrows +⇄ +&rightleftharpoons +⇌ +&rightrightarrows +⇉ +&rightsquigarrow +↠+&rightthreetimes +⋌ +&ring +Ëš +&risingdotseq +≓ +&rlarr +⇄ +&rlhar +⇌ +&rlm +†+&rmoust +⎱ +&rmoustache +⎱ +&rnmid +â«® +&roang +⟭ +&roarr +⇾ +&robrk +⟧ +&ropar +⦆ +&ropf +ð•£ +&roplus +⨮ +&rotimes +⨵ +&rpar +) +&rpargt +⦔ +&rppolint +⨒ +&rrarr +⇉ +&rsaquo +› +&rscr +𓇠+&rsh +↱ +&rsqb +] +&rsquo +’ +&rsquor +’ +&rthree +⋌ +&rtimes +⋊ +&rtri +â–¹ +&rtrie +⊵ +&rtrif +â–¸ +&rtriltri +â§Ž +&ruluhar +⥨ +&rx +℞ +&sacute +Å› +&sbquo +‚ +&sc +≻ +&scE +⪴ +&scap +⪸ +&scaron +Å¡ +&sccue +≽ +&sce +⪰ +&scedil +ÅŸ +&scirc +Å +&scnE +⪶ +&scnap +⪺ +&scnsim +â‹© +&scpolint +⨓ +&scsim +≿ +&scy +Ñ +&sdot +â‹… +&sdotb +⊡ +&sdote +⩦ +&seArr +⇘ +&searhk +⤥ +&searr +↘ +&searrow +↘ +§ +§ +&semi +; +&seswar +⤩ +&setminus +∖ +&setmn +∖ +&sext +✶ +&sfr +ð”° +&sfrown +⌢ +&sharp +♯ +&shchcy +щ +&shcy +ш +&shortmid +∣ +&shortparallel +∥ +­ +­ +&sigma +σ +&sigmaf +Ï‚ +&sigmav +Ï‚ +&sim +∼ +&simdot +⩪ +&sime +≃ +&simeq +≃ +&simg +⪞ +&simgE +⪠ +&siml +⪠+&simlE +⪟ +&simne +≆ +&simplus +⨤ +&simrarr +⥲ +&slarr +↠+&smallsetminus +∖ +&smashp +⨳ +&smeparsl +⧤ +&smid +∣ +&smile +⌣ +&smt +⪪ +&smte +⪬ +&smtes +⪬︀ +&softcy +ÑŒ +&sol +/ +&solb +â§„ +&solbar +⌿ +&sopf +𕤠+&spades +â™  +&spadesuit +â™  +&spar +∥ +&sqcap +⊓ +&sqcaps +⊓︀ +&sqcup +⊔ +&sqcups +⊔︀ +&sqsub +⊠+&sqsube +⊑ +&sqsubset +⊠+&sqsubseteq +⊑ +&sqsup +⊠+&sqsupe +⊒ +&sqsupset +⊠+&sqsupseteq +⊒ +&squ +â–¡ +&square +â–¡ +&squarf +â–ª +&squf +â–ª +&srarr +→ +&sscr +𓈠+&ssetmn +∖ +&ssmile +⌣ +&sstarf +⋆ +&star +☆ +&starf +★ +&straightepsilon +ϵ +&straightphi +Ï• +&strns +¯ +&sub +⊂ +&subE +â«… +&subdot +⪽ +&sube +⊆ +&subedot +⫃ +&submult +â« +&subnE +â«‹ +&subne +⊊ +&subplus +⪿ +&subrarr +⥹ +&subset +⊂ +&subseteq +⊆ +&subseteqq +â«… +&subsetneq +⊊ +&subsetneqq +â«‹ +&subsim +⫇ +&subsub +â«• +&subsup +â«“ +&succ +≻ +&succapprox +⪸ +&succcurlyeq +≽ +&succeq +⪰ +&succnapprox +⪺ +&succneqq +⪶ +&succnsim +â‹© +&succsim +≿ +&sum +∑ +&sung +♪ +¹ +¹ +² +² +³ +³ +&sup +⊃ +&supE +⫆ +&supdot +⪾ +&supdsub +⫘ +&supe +⊇ +&supedot +â«„ +&suphsol +⟉ +&suphsub +â«— +&suplarr +⥻ +&supmult +â«‚ +&supnE +⫌ +&supne +⊋ +&supplus +â«€ +&supset +⊃ +&supseteq +⊇ +&supseteqq +⫆ +&supsetneq +⊋ +&supsetneqq +⫌ +&supsim +⫈ +&supsub +â«” +&supsup +â«– +&swArr +⇙ +&swarhk +⤦ +&swarr +↙ +&swarrow +↙ +&swnwar +⤪ +ß +ß +&target +⌖ +&tau +Ï„ +&tbrk +⎴ +&tcaron +Å¥ +&tcedil +Å£ +&tcy +Ñ‚ +&tdot +⃛ +&telrec +⌕ +&tfr +ð”± +&there4 +∴ +&therefore +∴ +&theta +θ +&thetasym +Ï‘ +&thetav +Ï‘ +&thickapprox +≈ +&thicksim +∼ +&thinsp +  +&thkap +≈ +&thksim +∼ +þ +þ +&tilde +Ëœ +× +× +×b +⊠ +×bar +⨱ +×d +⨰ +&tint +∭ +&toea +⤨ +&top +⊤ +&topbot +⌶ +&topcir +⫱ +&topf +ð•¥ +&topfork +⫚ +&tosa +⤩ +&tprime +‴ +&trade +â„¢ +&triangle +â–µ +&triangledown +â–¿ +&triangleleft +â—ƒ +&trianglelefteq +⊴ +&triangleq +≜ +&triangleright +â–¹ +&trianglerighteq +⊵ +&tridot +â—¬ +&trie +≜ +&triminus +⨺ +&triplus +⨹ +&trisb +â§ +&tritime +⨻ +&trpezium +⢠+&tscr +𓉠+&tscy +ц +&tshcy +Ñ› +&tstrok +ŧ +&twixt +≬ +&twoheadleftarrow +↞ +&twoheadrightarrow +↠ +&uArr +⇑ +&uHar +⥣ +ú +ú +&uarr +↑ +&ubrcy +Ñž +&ubreve +Å­ +û +û +&ucy +у +&udarr +⇅ +&udblac +ű +&udhar +⥮ +&ufisht +⥾ +&ufr +𔲠+ù +ù +&uharl +↿ +&uharr +↾ +&uhblk +â–€ +&ulcorn +⌜ +&ulcorner +⌜ +&ulcrop +⌠+&ultri +â—¸ +&umacr +Å« +¨ +¨ +&uogon +ų +&uopf +𕦠+&uparrow +↑ +&updownarrow +↕ +&upharpoonleft +↿ +&upharpoonright +↾ +&uplus +⊎ +&upsi +Ï… +&upsih +Ï’ +&upsilon +Ï… +&upuparrows +⇈ +&urcorn +⌠+&urcorner +⌠+&urcrop +⌎ +&uring +ů +&urtri +â—¹ +&uscr +𓊠+&utdot +â‹° +&utilde +Å© +&utri +â–µ +&utrif +â–´ +&uuarr +⇈ +ü +ü +&uwangle +⦧ +&vArr +⇕ +&vBar +⫨ +&vBarv +â«© +&vDash +⊨ +&vangrt +⦜ +&varepsilon +ϵ +&varkappa +ϰ +&varnothing +∅ +&varphi +Ï• +&varpi +Ï– +&varpropto +∠+&varr +↕ +&varrho +ϱ +&varsigma +Ï‚ +&varsubsetneq +⊊︀ +&varsubsetneqq +⫋︀ +&varsupsetneq +⊋︀ +&varsupsetneqq +⫌︀ +&vartheta +Ï‘ +&vartriangleleft +⊲ +&vartriangleright +⊳ +&vcy +в +&vdash +⊢ +&vee +∨ +&veebar +⊻ +&veeeq +≚ +&vellip +â‹® +&verbar +| +&vert +| +&vfr +𔳠+&vltri +⊲ +&vnsub +⊂⃒ +&vnsup +⊃⃒ +&vopf +ð•§ +&vprop +∠+&vrtri +⊳ +&vscr +ð“‹ +&vsubnE +⫋︀ +&vsubne +⊊︀ +&vsupnE +⫌︀ +&vsupne +⊋︀ +&vzigzag +⦚ +&wcirc +ŵ +&wedbar +⩟ +&wedge +∧ +&wedgeq +≙ +&weierp +℘ +&wfr +ð”´ +&wopf +𕨠+&wp +℘ +&wr +≀ +&wreath +≀ +&wscr +𓌠+&xcap +â‹‚ +&xcirc +â—¯ +&xcup +⋃ +&xdtri +â–½ +&xfr +𔵠+&xhArr +⟺ +&xharr +⟷ +&xi +ξ +&xlArr +⟸ +&xlarr +⟵ +&xmap +⟼ +&xnis +â‹» +&xodot +⨀ +&xopf +ð•© +&xoplus +⨠+&xotime +⨂ +&xrArr +⟹ +&xrarr +⟶ +&xscr +ð“ +&xsqcup +⨆ +&xuplus +⨄ +&xutri +â–³ +&xvee +â‹ +&xwedge +â‹€ +ý +ý +&yacy +Ñ +&ycirc +Å· +&ycy +Ñ‹ +Â¥ +Â¥ +&yfr +ð”¶ +&yicy +Ñ— +&yopf +𕪠+&yscr +𓎠+&yucy +ÑŽ +ÿ +ÿ +&zacute +ź +&zcaron +ž +&zcy +з +&zdot +ż +&zeetrf +ℨ +&zeta +ζ +&zfr +ð”· +&zhcy +ж +&zigrarr +⇠+&zopf +ð•« +&zscr +ð“ +&zwj +†+&zwnj +‌ + + diff --git a/libxml2/result/HTML/html5-entities.html.sax b/libxml2/result/HTML/html5-entities.html.sax new file mode 100644 index 0000000..ba07ff1 --- /dev/null +++ b/libxml2/result/HTML/html5-entities.html.sax @@ -0,0 +1,8816 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(html, , ) +SAX.startElement(html) +SAX.characters( +, 1) +SAX.startElement(head) +SAX.characters( +, 1) +SAX.startElement(meta, http-equiv='Content-Type', content='text/html; charset=utf-8') +SAX.endElement(meta) +SAX.characters( +, 1) +SAX.endElement(head) +SAX.characters( +, 1) +SAX.startElement(body) +SAX.characters( +, 1) +SAX.characters(Æ, 2) +SAX.characters( +, 1) +SAX.characters(Æ, 2) +SAX.characters( +, 1) +SAX.characters(&, 1) +SAX.characters( +, 1) +SAX.characters(&, 1) +SAX.characters( +, 1) +SAX.characters(Á, 2) +SAX.characters( +, 1) +SAX.characters(Á, 2) +SAX.characters( +&Abreve +, 9) +SAX.characters(Ă, 2) +SAX.characters( +, 1) +SAX.characters(Â, 2) +SAX.characters( +, 1) +SAX.characters(Â, 2) +SAX.characters( +&Acy +, 6) +SAX.characters(А, 2) +SAX.characters( +&Afr +, 6) +SAX.characters(𝔄, 4) +SAX.characters( +, 1) +SAX.characters(À, 2) +SAX.characters( +, 1) +SAX.characters(À, 2) +SAX.characters( +&Alpha +, 8) +SAX.characters(Α, 2) +SAX.characters( +&Amacr +, 8) +SAX.characters(Ā, 2) +SAX.characters( +&And +, 6) +SAX.characters(⩓, 3) +SAX.characters( +&Aogon +, 8) +SAX.characters(Ą, 2) +SAX.characters( +&Aopf +, 7) +SAX.characters(𝔸, 4) +SAX.characters( +&ApplyFunction +, 16) +SAX.characters(⁡, 3) +SAX.characters( +, 1) +SAX.characters(Å, 2) +SAX.characters( +, 1) +SAX.characters(Å, 2) +SAX.characters( +&Ascr +, 7) +SAX.characters(𝒜, 4) +SAX.characters( +&Assign +, 9) +SAX.characters(≔, 3) +SAX.characters( +, 1) +SAX.characters(Ã, 2) +SAX.characters( +, 1) +SAX.characters(Ã, 2) +SAX.characters( +, 1) +SAX.characters(Ä, 2) +SAX.characters( +, 1) +SAX.characters(Ä, 2) +SAX.characters( +&Backslash +, 12) +SAX.characters(∖, 3) +SAX.characters( +&Barv +, 7) +SAX.characters(⫧, 3) +SAX.characters( +&Barwed +, 9) +SAX.characters(⌆, 3) +SAX.characters( +&Bcy +, 6) +SAX.characters(Б, 2) +SAX.characters( +&Because +, 10) +SAX.characters(∵, 3) +SAX.characters( +&Bernoullis +, 13) +SAX.characters(ℬ, 3) +SAX.characters( +&Beta +, 7) +SAX.characters(Β, 2) +SAX.characters( +&Bfr +, 6) +SAX.characters(𝔅, 4) +SAX.characters( +&Bopf +, 7) +SAX.characters(𝔹, 4) +SAX.characters( +&Breve +, 8) +SAX.characters(˘, 2) +SAX.characters( +&Bscr +, 7) +SAX.characters(ℬ, 3) +SAX.characters( +&Bumpeq +, 9) +SAX.characters(≎, 3) +SAX.characters( +&CHcy +, 7) +SAX.characters(Ч, 2) +SAX.characters( +, 1) +SAX.characters(©, 2) +SAX.characters( +, 1) +SAX.characters(©, 2) +SAX.characters( +&Cacute +, 9) +SAX.characters(Ć, 2) +SAX.characters( +&Cap +, 6) +SAX.characters(⋒, 3) +SAX.characters( +&CapitalDifferentialD +, 23) +SAX.characters(ⅅ, 3) +SAX.characters( +&Cayleys +, 10) +SAX.characters(ℭ, 3) +SAX.characters( +&Ccaron +, 9) +SAX.characters(Č, 2) +SAX.characters( +, 1) +SAX.characters(Ç, 2) +SAX.characters( +, 1) +SAX.characters(Ç, 2) +SAX.characters( +&Ccirc +, 8) +SAX.characters(Ĉ, 2) +SAX.characters( +&Cconint +, 10) +SAX.characters(∰, 3) +SAX.characters( +&Cdot +, 7) +SAX.characters(Ċ, 2) +SAX.characters( +&Cedilla +, 10) +SAX.characters(¸, 2) +SAX.characters( +&CenterDot +, 12) +SAX.characters(·, 2) +SAX.characters( +&Cfr +, 6) +SAX.characters(ℭ, 3) +SAX.characters( +&Chi +, 6) +SAX.characters(Χ, 2) +SAX.characters( +&CircleDot +, 12) +SAX.characters(⊙, 3) +SAX.characters( +&CircleMinus +, 14) +SAX.characters(⊖, 3) +SAX.characters( +&CirclePlus +, 13) +SAX.characters(⊕, 3) +SAX.characters( +&CircleTimes +, 14) +SAX.characters(⊗, 3) +SAX.characters( +&ClockwiseContourIntegral, 27) +SAX.characters(∲, 3) +SAX.characters( +&CloseCurlyDoubleQuote +, 24) +SAX.characters(”, 3) +SAX.characters( +&CloseCurlyQuote +, 18) +SAX.characters(’, 3) +SAX.characters( +&Colon +, 8) +SAX.characters(∷, 3) +SAX.characters( +&Colone +, 9) +SAX.characters(⩴, 3) +SAX.characters( +&Congruent +, 12) +SAX.characters(≡, 3) +SAX.characters( +&Conint +, 9) +SAX.characters(∯, 3) +SAX.characters( +&ContourIntegral +, 18) +SAX.characters(∮, 3) +SAX.characters( +&Copf +, 7) +SAX.characters(ℂ, 3) +SAX.characters( +&Coproduct +, 12) +SAX.characters(∐, 3) +SAX.characters( +&CounterClockwiseContourI, 34) +SAX.characters(∳, 3) +SAX.characters( +&Cross +, 8) +SAX.characters(⨯, 3) +SAX.characters( +&Cscr +, 7) +SAX.characters(𝒞, 4) +SAX.characters( +&Cup +, 6) +SAX.characters(⋓, 3) +SAX.characters( +&CupCap +, 9) +SAX.characters(≍, 3) +SAX.characters( +&DD +, 5) +SAX.characters(ⅅ, 3) +SAX.characters( +&DDotrahd +, 11) +SAX.characters(⤑, 3) +SAX.characters( +&DJcy +, 7) +SAX.characters(Ђ, 2) +SAX.characters( +&DScy +, 7) +SAX.characters(Ѕ, 2) +SAX.characters( +&DZcy +, 7) +SAX.characters(Џ, 2) +SAX.characters( +&Dagger +, 9) +SAX.characters(‡, 3) +SAX.characters( +&Darr +, 7) +SAX.characters(↡, 3) +SAX.characters( +&Dashv +, 8) +SAX.characters(⫤, 3) +SAX.characters( +&Dcaron +, 9) +SAX.characters(Ď, 2) +SAX.characters( +&Dcy +, 6) +SAX.characters(Д, 2) +SAX.characters( +&Del +, 6) +SAX.characters(∇, 3) +SAX.characters( +&Delta +, 8) +SAX.characters(Δ, 2) +SAX.characters( +&Dfr +, 6) +SAX.characters(𝔇, 4) +SAX.characters( +&DiacriticalAcute +, 19) +SAX.characters(´, 2) +SAX.characters( +&DiacriticalDot +, 17) +SAX.characters(˙, 2) +SAX.characters( +&DiacriticalDoubleAcute +, 25) +SAX.characters(˝, 2) +SAX.characters( +&DiacriticalGrave +, 19) +SAX.characters(`, 1) +SAX.characters( +&DiacriticalTilde +, 19) +SAX.characters(˜, 2) +SAX.characters( +&Diamond +, 10) +SAX.characters(⋄, 3) +SAX.characters( +&DifferentialD +, 16) +SAX.characters(ⅆ, 3) +SAX.characters( +&Dopf +, 7) +SAX.characters(𝔻, 4) +SAX.characters( +&Dot +, 6) +SAX.characters(¨, 2) +SAX.characters( +&DotDot +, 9) +SAX.characters(⃜, 3) +SAX.characters( +&DotEqual +, 11) +SAX.characters(≐, 3) +SAX.characters( +&DoubleContourIntegral +, 24) +SAX.characters(∯, 3) +SAX.characters( +&DoubleDot +, 12) +SAX.characters(¨, 2) +SAX.characters( +&DoubleDownArrow +, 18) +SAX.characters(⇓, 3) +SAX.characters( +&DoubleLeftArrow +, 18) +SAX.characters(⇐, 3) +SAX.characters( +&DoubleLeftRightArrow +, 23) +SAX.characters(⇔, 3) +SAX.characters( +&DoubleLeftTee +, 16) +SAX.characters(⫤, 3) +SAX.characters( +&DoubleLongLeftArrow +, 22) +SAX.characters(⟸, 3) +SAX.characters( +&DoubleLongLeftRightArrow, 27) +SAX.characters(⟺, 3) +SAX.characters( +&DoubleLongRightArrow +, 23) +SAX.characters(⟹, 3) +SAX.characters( +&DoubleRightArrow +, 19) +SAX.characters(⇒, 3) +SAX.characters( +&DoubleRightTee +, 17) +SAX.characters(⊨, 3) +SAX.characters( +&DoubleUpArrow +, 16) +SAX.characters(⇑, 3) +SAX.characters( +&DoubleUpDownArrow +, 20) +SAX.characters(⇕, 3) +SAX.characters( +&DoubleVerticalBar +, 20) +SAX.characters(∥, 3) +SAX.characters( +&DownArrow +, 12) +SAX.characters(↓, 3) +SAX.characters( +&DownArrowBar +, 15) +SAX.characters(⤓, 3) +SAX.characters( +&DownArrowUpArrow +, 19) +SAX.characters(⇵, 3) +SAX.characters( +&DownBreve +, 12) +SAX.characters(̑, 2) +SAX.characters( +&DownLeftRightVector +, 22) +SAX.characters(⥐, 3) +SAX.characters( +&DownLeftTeeVector +, 20) +SAX.characters(⥞, 3) +SAX.characters( +&DownLeftVector +, 17) +SAX.characters(↽, 3) +SAX.characters( +&DownLeftVectorBar +, 20) +SAX.characters(⥖, 3) +SAX.characters( +&DownRightTeeVector +, 21) +SAX.characters(⥟, 3) +SAX.characters( +&DownRightVector +, 18) +SAX.characters(⇁, 3) +SAX.characters( +&DownRightVectorBar +, 21) +SAX.characters(⥗, 3) +SAX.characters( +&DownTee +, 10) +SAX.characters(⊤, 3) +SAX.characters( +&DownTeeArrow +, 15) +SAX.characters(↧, 3) +SAX.characters( +&Downarrow +, 12) +SAX.characters(⇓, 3) +SAX.characters( +&Dscr +, 7) +SAX.characters(𝒟, 4) +SAX.characters( +&Dstrok +, 9) +SAX.characters(Đ, 2) +SAX.characters( +&ENG +, 6) +SAX.characters(Ŋ, 2) +SAX.characters( +, 1) +SAX.characters(Ð, 2) +SAX.characters( +, 1) +SAX.characters(Ð, 2) +SAX.characters( +, 1) +SAX.characters(É, 2) +SAX.characters( +, 1) +SAX.characters(É, 2) +SAX.characters( +&Ecaron +, 9) +SAX.characters(Ě, 2) +SAX.characters( +, 1) +SAX.characters(Ê, 2) +SAX.characters( +, 1) +SAX.characters(Ê, 2) +SAX.characters( +&Ecy +, 6) +SAX.characters(Э, 2) +SAX.characters( +&Edot +, 7) +SAX.characters(Ė, 2) +SAX.characters( +&Efr +, 6) +SAX.characters(𝔈, 4) +SAX.characters( +, 1) +SAX.characters(È, 2) +SAX.characters( +, 1) +SAX.characters(È, 2) +SAX.characters( +&Element +, 10) +SAX.characters(∈, 3) +SAX.characters( +&Emacr +, 8) +SAX.characters(Ē, 2) +SAX.characters( +&EmptySmallSquare +, 19) +SAX.characters(◻, 3) +SAX.characters( +&EmptyVerySmallSquare +, 23) +SAX.characters(▫, 3) +SAX.characters( +&Eogon +, 8) +SAX.characters(Ę, 2) +SAX.characters( +&Eopf +, 7) +SAX.characters(𝔼, 4) +SAX.characters( +&Epsilon +, 10) +SAX.characters(Ε, 2) +SAX.characters( +&Equal +, 8) +SAX.characters(⩵, 3) +SAX.characters( +&EqualTilde +, 13) +SAX.characters(≂, 3) +SAX.characters( +&Equilibrium +, 14) +SAX.characters(⇌, 3) +SAX.characters( +&Escr +, 7) +SAX.characters(ℰ, 3) +SAX.characters( +&Esim +, 7) +SAX.characters(⩳, 3) +SAX.characters( +&Eta +, 6) +SAX.characters(Η, 2) +SAX.characters( +, 1) +SAX.characters(Ë, 2) +SAX.characters( +, 1) +SAX.characters(Ë, 2) +SAX.characters( +&Exists +, 9) +SAX.characters(∃, 3) +SAX.characters( +&ExponentialE +, 15) +SAX.characters(ⅇ, 3) +SAX.characters( +&Fcy +, 6) +SAX.characters(Ф, 2) +SAX.characters( +&Ffr +, 6) +SAX.characters(𝔉, 4) +SAX.characters( +&FilledSmallSquare +, 20) +SAX.characters(◼, 3) +SAX.characters( +&FilledVerySmallSquare +, 24) +SAX.characters(▪, 3) +SAX.characters( +&Fopf +, 7) +SAX.characters(𝔽, 4) +SAX.characters( +&ForAll +, 9) +SAX.characters(∀, 3) +SAX.characters( +&Fouriertrf +, 13) +SAX.characters(ℱ, 3) +SAX.characters( +&Fscr +, 7) +SAX.characters(ℱ, 3) +SAX.characters( +&GJcy +, 7) +SAX.characters(Ѓ, 2) +SAX.characters( +, 1) +SAX.characters(>, 1) +SAX.characters( +, 1) +SAX.characters(>, 1) +SAX.characters( +&Gamma +, 8) +SAX.characters(Γ, 2) +SAX.characters( +&Gammad +, 9) +SAX.characters(Ϝ, 2) +SAX.characters( +&Gbreve +, 9) +SAX.characters(Ğ, 2) +SAX.characters( +&Gcedil +, 9) +SAX.characters(Ģ, 2) +SAX.characters( +&Gcirc +, 8) +SAX.characters(Ĝ, 2) +SAX.characters( +&Gcy +, 6) +SAX.characters(Г, 2) +SAX.characters( +&Gdot +, 7) +SAX.characters(Ġ, 2) +SAX.characters( +&Gfr +, 6) +SAX.characters(𝔊, 4) +SAX.characters( +&Gg +, 5) +SAX.characters(⋙, 3) +SAX.characters( +&Gopf +, 7) +SAX.characters(𝔾, 4) +SAX.characters( +&GreaterEqual +, 15) +SAX.characters(≥, 3) +SAX.characters( +&GreaterEqualLess +, 19) +SAX.characters(⋛, 3) +SAX.characters( +&GreaterFullEqual +, 19) +SAX.characters(≧, 3) +SAX.characters( +&GreaterGreater +, 17) +SAX.characters(⪢, 3) +SAX.characters( +&GreaterLess +, 14) +SAX.characters(≷, 3) +SAX.characters( +&GreaterSlantEqual +, 20) +SAX.characters(⩾, 3) +SAX.characters( +&GreaterTilde +, 15) +SAX.characters(≳, 3) +SAX.characters( +&Gscr +, 7) +SAX.characters(𝒢, 4) +SAX.characters( +&Gt +, 5) +SAX.characters(≫, 3) +SAX.characters( +&HARDcy +, 9) +SAX.characters(Ъ, 2) +SAX.characters( +&Hacek +, 8) +SAX.characters(ˇ, 2) +SAX.characters( +&Hat +, 6) +SAX.characters(^, 1) +SAX.characters( +&Hcirc +, 8) +SAX.characters(Ĥ, 2) +SAX.characters( +&Hfr +, 6) +SAX.characters(ℌ, 3) +SAX.characters( +&HilbertSpace +, 15) +SAX.characters(ℋ, 3) +SAX.characters( +&Hopf +, 7) +SAX.characters(ℍ, 3) +SAX.characters( +&HorizontalLine +, 17) +SAX.characters(─, 3) +SAX.characters( +&Hscr +, 7) +SAX.characters(ℋ, 3) +SAX.characters( +&Hstrok +, 9) +SAX.characters(Ħ, 2) +SAX.characters( +&HumpDownHump +, 15) +SAX.characters(≎, 3) +SAX.characters( +&HumpEqual +, 12) +SAX.characters(≏, 3) +SAX.characters( +&IEcy +, 7) +SAX.characters(Е, 2) +SAX.characters( +&IJlig +, 8) +SAX.characters(IJ, 2) +SAX.characters( +&IOcy +, 7) +SAX.characters(Ё, 2) +SAX.characters( +, 1) +SAX.characters(Í, 2) +SAX.characters( +, 1) +SAX.characters(Í, 2) +SAX.characters( +, 1) +SAX.characters(Î, 2) +SAX.characters( +, 1) +SAX.characters(Î, 2) +SAX.characters( +&Icy +, 6) +SAX.characters(И, 2) +SAX.characters( +&Idot +, 7) +SAX.characters(İ, 2) +SAX.characters( +&Ifr +, 6) +SAX.characters(ℑ, 3) +SAX.characters( +, 1) +SAX.characters(Ì, 2) +SAX.characters( +, 1) +SAX.characters(Ì, 2) +SAX.characters( +&Im +, 5) +SAX.characters(ℑ, 3) +SAX.characters( +&Imacr +, 8) +SAX.characters(Ī, 2) +SAX.characters( +&ImaginaryI +, 13) +SAX.characters(ⅈ, 3) +SAX.characters( +&Implies +, 10) +SAX.characters(⇒, 3) +SAX.characters( +&Int +, 6) +SAX.characters(∬, 3) +SAX.characters( +&Integral +, 11) +SAX.characters(∫, 3) +SAX.characters( +&Intersection +, 15) +SAX.characters(⋂, 3) +SAX.characters( +&InvisibleComma +, 17) +SAX.characters(⁣, 3) +SAX.characters( +&InvisibleTimes +, 17) +SAX.characters(⁢, 3) +SAX.characters( +&Iogon +, 8) +SAX.characters(Į, 2) +SAX.characters( +&Iopf +, 7) +SAX.characters(𝕀, 4) +SAX.characters( +&Iota +, 7) +SAX.characters(Ι, 2) +SAX.characters( +&Iscr +, 7) +SAX.characters(ℐ, 3) +SAX.characters( +&Itilde +, 9) +SAX.characters(Ĩ, 2) +SAX.characters( +&Iukcy +, 8) +SAX.characters(І, 2) +SAX.characters( +, 1) +SAX.characters(Ï, 2) +SAX.characters( +, 1) +SAX.characters(Ï, 2) +SAX.characters( +&Jcirc +, 8) +SAX.characters(Ĵ, 2) +SAX.characters( +&Jcy +, 6) +SAX.characters(Й, 2) +SAX.characters( +&Jfr +, 6) +SAX.characters(𝔍, 4) +SAX.characters( +&Jopf +, 7) +SAX.characters(𝕁, 4) +SAX.characters( +&Jscr +, 7) +SAX.characters(𝒥, 4) +SAX.characters( +&Jsercy +, 9) +SAX.characters(Ј, 2) +SAX.characters( +&Jukcy +, 8) +SAX.characters(Є, 2) +SAX.characters( +&KHcy +, 7) +SAX.characters(Х, 2) +SAX.characters( +&KJcy +, 7) +SAX.characters(Ќ, 2) +SAX.characters( +&Kappa +, 8) +SAX.characters(Κ, 2) +SAX.characters( +&Kcedil +, 9) +SAX.characters(Ķ, 2) +SAX.characters( +&Kcy +, 6) +SAX.characters(К, 2) +SAX.characters( +&Kfr +, 6) +SAX.characters(𝔎, 4) +SAX.characters( +&Kopf +, 7) +SAX.characters(𝕂, 4) +SAX.characters( +&Kscr +, 7) +SAX.characters(𝒦, 4) +SAX.characters( +&LJcy +, 7) +SAX.characters(Љ, 2) +SAX.characters( +, 1) +SAX.characters(<, 1) +SAX.characters( +, 1) +SAX.characters(<, 1) +SAX.characters( +&Lacute +, 9) +SAX.characters(Ĺ, 2) +SAX.characters( +&Lambda +, 9) +SAX.characters(Λ, 2) +SAX.characters( +&Lang +, 7) +SAX.characters(⟪, 3) +SAX.characters( +&Laplacetrf +, 13) +SAX.characters(ℒ, 3) +SAX.characters( +&Larr +, 7) +SAX.characters(↞, 3) +SAX.characters( +&Lcaron +, 9) +SAX.characters(Ľ, 2) +SAX.characters( +&Lcedil +, 9) +SAX.characters(Ļ, 2) +SAX.characters( +&Lcy +, 6) +SAX.characters(Л, 2) +SAX.characters( +&LeftAngleBracket +, 19) +SAX.characters(⟨, 3) +SAX.characters( +&LeftArrow +, 12) +SAX.characters(←, 3) +SAX.characters( +&LeftArrowBar +, 15) +SAX.characters(⇤, 3) +SAX.characters( +&LeftArrowRightArrow +, 22) +SAX.characters(⇆, 3) +SAX.characters( +&LeftCeiling +, 14) +SAX.characters(⌈, 3) +SAX.characters( +&LeftDoubleBracket +, 20) +SAX.characters(⟦, 3) +SAX.characters( +&LeftDownTeeVector +, 20) +SAX.characters(⥡, 3) +SAX.characters( +&LeftDownVector +, 17) +SAX.characters(⇃, 3) +SAX.characters( +&LeftDownVectorBar +, 20) +SAX.characters(⥙, 3) +SAX.characters( +&LeftFloor +, 12) +SAX.characters(⌊, 3) +SAX.characters( +&LeftRightArrow +, 17) +SAX.characters(↔, 3) +SAX.characters( +&LeftRightVector +, 18) +SAX.characters(⥎, 3) +SAX.characters( +&LeftTee +, 10) +SAX.characters(⊣, 3) +SAX.characters( +&LeftTeeArrow +, 15) +SAX.characters(↤, 3) +SAX.characters( +&LeftTeeVector +, 16) +SAX.characters(⥚, 3) +SAX.characters( +&LeftTriangle +, 15) +SAX.characters(⊲, 3) +SAX.characters( +&LeftTriangleBar +, 18) +SAX.characters(⧏, 3) +SAX.characters( +&LeftTriangleEqual +, 20) +SAX.characters(⊴, 3) +SAX.characters( +&LeftUpDownVector +, 19) +SAX.characters(⥑, 3) +SAX.characters( +&LeftUpTeeVector +, 18) +SAX.characters(⥠, 3) +SAX.characters( +&LeftUpVector +, 15) +SAX.characters(↿, 3) +SAX.characters( +&LeftUpVectorBar +, 18) +SAX.characters(⥘, 3) +SAX.characters( +&LeftVector +, 13) +SAX.characters(↼, 3) +SAX.characters( +&LeftVectorBar +, 16) +SAX.characters(⥒, 3) +SAX.characters( +&Leftarrow +, 12) +SAX.characters(⇐, 3) +SAX.characters( +&Leftrightarrow +, 17) +SAX.characters(⇔, 3) +SAX.characters( +&LessEqualGreater +, 19) +SAX.characters(⋚, 3) +SAX.characters( +&LessFullEqual +, 16) +SAX.characters(≦, 3) +SAX.characters( +&LessGreater +, 14) +SAX.characters(≶, 3) +SAX.characters( +&LessLess +, 11) +SAX.characters(⪡, 3) +SAX.characters( +&LessSlantEqual +, 17) +SAX.characters(⩽, 3) +SAX.characters( +&LessTilde +, 12) +SAX.characters(≲, 3) +SAX.characters( +&Lfr +, 6) +SAX.characters(𝔏, 4) +SAX.characters( +&Ll +, 5) +SAX.characters(⋘, 3) +SAX.characters( +&Lleftarrow +, 13) +SAX.characters(⇚, 3) +SAX.characters( +&Lmidot +, 9) +SAX.characters(Ŀ, 2) +SAX.characters( +&LongLeftArrow +, 16) +SAX.characters(⟵, 3) +SAX.characters( +&LongLeftRightArrow +, 21) +SAX.characters(⟷, 3) +SAX.characters( +&LongRightArrow +, 17) +SAX.characters(⟶, 3) +SAX.characters( +&Longleftarrow +, 16) +SAX.characters(⟸, 3) +SAX.characters( +&Longleftrightarrow +, 21) +SAX.characters(⟺, 3) +SAX.characters( +&Longrightarrow +, 17) +SAX.characters(⟹, 3) +SAX.characters( +&Lopf +, 7) +SAX.characters(𝕃, 4) +SAX.characters( +&LowerLeftArrow +, 17) +SAX.characters(↙, 3) +SAX.characters( +&LowerRightArrow +, 18) +SAX.characters(↘, 3) +SAX.characters( +&Lscr +, 7) +SAX.characters(ℒ, 3) +SAX.characters( +&Lsh +, 6) +SAX.characters(↰, 3) +SAX.characters( +&Lstrok +, 9) +SAX.characters(Ł, 2) +SAX.characters( +&Lt +, 5) +SAX.characters(≪, 3) +SAX.characters( +&Map +, 6) +SAX.characters(⤅, 3) +SAX.characters( +&Mcy +, 6) +SAX.characters(М, 2) +SAX.characters( +&MediumSpace +, 14) +SAX.characters( , 3) +SAX.characters( +&Mellintrf +, 12) +SAX.characters(ℳ, 3) +SAX.characters( +&Mfr +, 6) +SAX.characters(𝔐, 4) +SAX.characters( +&MinusPlus +, 12) +SAX.characters(∓, 3) +SAX.characters( +&Mopf +, 7) +SAX.characters(𝕄, 4) +SAX.characters( +&Mscr +, 7) +SAX.characters(ℳ, 3) +SAX.characters( +&Mu +, 5) +SAX.characters(Μ, 2) +SAX.characters( +&NJcy +, 7) +SAX.characters(Њ, 2) +SAX.characters( +&Nacute +, 9) +SAX.characters(Ń, 2) +SAX.characters( +&Ncaron +, 9) +SAX.characters(Ň, 2) +SAX.characters( +&Ncedil +, 9) +SAX.characters(Ņ, 2) +SAX.characters( +&Ncy +, 6) +SAX.characters(Н, 2) +SAX.characters( +&NegativeMediumSpace +, 22) +SAX.characters(​, 3) +SAX.characters( +&NegativeThickSpace +, 21) +SAX.characters(​, 3) +SAX.characters( +&NegativeThinSpace +, 20) +SAX.characters(​, 3) +SAX.characters( +&NegativeVeryThinSpace +, 24) +SAX.characters(​, 3) +SAX.characters( +&NestedGreaterGreater +, 23) +SAX.characters(≫, 3) +SAX.characters( +&NestedLessLess +, 17) +SAX.characters(≪, 3) +SAX.characters( +&NewLine +, 10) +SAX.characters( +, 1) +SAX.characters( +&Nfr +, 6) +SAX.characters(𝔑, 4) +SAX.characters( +&NoBreak +, 10) +SAX.characters(⁠, 3) +SAX.characters( +&NonBreakingSpace +, 19) +SAX.characters( , 2) +SAX.characters( +&Nopf +, 7) +SAX.characters(ℕ, 3) +SAX.characters( +&Not +, 6) +SAX.characters(⫬, 3) +SAX.characters( +&NotCongruent +, 15) +SAX.characters(≢, 3) +SAX.characters( +&NotCupCap +, 12) +SAX.characters(≭, 3) +SAX.characters( +&NotDoubleVerticalBar +, 23) +SAX.characters(∦, 3) +SAX.characters( +&NotElement +, 13) +SAX.characters(∉, 3) +SAX.characters( +&NotEqual +, 11) +SAX.characters(≠, 3) +SAX.characters( +&NotEqualTilde +, 16) +SAX.characters(≂̸, 5) +SAX.characters( +&NotExists +, 12) +SAX.characters(∄, 3) +SAX.characters( +&NotGreater +, 13) +SAX.characters(≯, 3) +SAX.characters( +&NotGreaterEqual +, 18) +SAX.characters(≱, 3) +SAX.characters( +&NotGreaterFullEqual +, 22) +SAX.characters(≧̸, 5) +SAX.characters( +&NotGreaterGreater +, 20) +SAX.characters(≫̸, 5) +SAX.characters( +&NotGreaterLess +, 17) +SAX.characters(≹, 3) +SAX.characters( +&NotGreaterSlantEqual +, 23) +SAX.characters(⩾̸, 5) +SAX.characters( +&NotGreaterTilde +, 18) +SAX.characters(≵, 3) +SAX.characters( +&NotHumpDownHump +, 18) +SAX.characters(≎̸, 5) +SAX.characters( +&NotHumpEqual +, 15) +SAX.characters(≏̸, 5) +SAX.characters( +&NotLeftTriangle +, 18) +SAX.characters(⋪, 3) +SAX.characters( +&NotLeftTriangleBar +, 21) +SAX.characters(⧏̸, 5) +SAX.characters( +&NotLeftTriangleEqual +, 23) +SAX.characters(⋬, 3) +SAX.characters( +&NotLess +, 10) +SAX.characters(≮, 3) +SAX.characters( +&NotLessEqual +, 15) +SAX.characters(≰, 3) +SAX.characters( +&NotLessGreater +, 17) +SAX.characters(≸, 3) +SAX.characters( +&NotLessLess +, 14) +SAX.characters(≪̸, 5) +SAX.characters( +&NotLessSlantEqual +, 20) +SAX.characters(⩽̸, 5) +SAX.characters( +&NotLessTilde +, 15) +SAX.characters(≴, 3) +SAX.characters( +&NotNestedGreaterGreater +, 26) +SAX.characters(⪢̸, 5) +SAX.characters( +&NotNestedLessLess +, 20) +SAX.characters(⪡̸, 5) +SAX.characters( +&NotPrecedes +, 14) +SAX.characters(⊀, 3) +SAX.characters( +&NotPrecedesEqual +, 19) +SAX.characters(⪯̸, 5) +SAX.characters( +&NotPrecedesSlantEqual +, 24) +SAX.characters(⋠, 3) +SAX.characters( +&NotReverseElement +, 20) +SAX.characters(∌, 3) +SAX.characters( +&NotRightTriangle +, 19) +SAX.characters(⋫, 3) +SAX.characters( +&NotRightTriangleBar +, 22) +SAX.characters(⧐̸, 5) +SAX.characters( +&NotRightTriangleEqual +, 24) +SAX.characters(⋭, 3) +SAX.characters( +&NotSquareSubset +, 18) +SAX.characters(⊏̸, 5) +SAX.characters( +&NotSquareSubsetEqual +, 23) +SAX.characters(⋢, 3) +SAX.characters( +&NotSquareSuperset +, 20) +SAX.characters(⊐̸, 5) +SAX.characters( +&NotSquareSupersetEqual +, 25) +SAX.characters(⋣, 3) +SAX.characters( +&NotSubset +, 12) +SAX.characters(⊂⃒, 6) +SAX.characters( +&NotSubsetEqual +, 17) +SAX.characters(⊈, 3) +SAX.characters( +&NotSucceeds +, 14) +SAX.characters(⊁, 3) +SAX.characters( +&NotSucceedsEqual +, 19) +SAX.characters(⪰̸, 5) +SAX.characters( +&NotSucceedsSlantEqual +, 24) +SAX.characters(⋡, 3) +SAX.characters( +&NotSucceedsTilde +, 19) +SAX.characters(≿̸, 5) +SAX.characters( +&NotSuperset +, 14) +SAX.characters(⊃⃒, 6) +SAX.characters( +&NotSupersetEqual +, 19) +SAX.characters(⊉, 3) +SAX.characters( +&NotTilde +, 11) +SAX.characters(≁, 3) +SAX.characters( +&NotTildeEqual +, 16) +SAX.characters(≄, 3) +SAX.characters( +&NotTildeFullEqual +, 20) +SAX.characters(≇, 3) +SAX.characters( +&NotTildeTilde +, 16) +SAX.characters(≉, 3) +SAX.characters( +&NotVerticalBar +, 17) +SAX.characters(∤, 3) +SAX.characters( +&Nscr +, 7) +SAX.characters(𝒩, 4) +SAX.characters( +, 1) +SAX.characters(Ñ, 2) +SAX.characters( +, 1) +SAX.characters(Ñ, 2) +SAX.characters( +&Nu +, 5) +SAX.characters(Ν, 2) +SAX.characters( +&OElig +, 8) +SAX.characters(Œ, 2) +SAX.characters( +, 1) +SAX.characters(Ó, 2) +SAX.characters( +, 1) +SAX.characters(Ó, 2) +SAX.characters( +, 1) +SAX.characters(Ô, 2) +SAX.characters( +, 1) +SAX.characters(Ô, 2) +SAX.characters( +&Ocy +, 6) +SAX.characters(О, 2) +SAX.characters( +&Odblac +, 9) +SAX.characters(Ő, 2) +SAX.characters( +&Ofr +, 6) +SAX.characters(𝔒, 4) +SAX.characters( +, 1) +SAX.characters(Ò, 2) +SAX.characters( +, 1) +SAX.characters(Ò, 2) +SAX.characters( +&Omacr +, 8) +SAX.characters(Ō, 2) +SAX.characters( +&Omega +, 8) +SAX.characters(Ω, 2) +SAX.characters( +&Omicron +, 10) +SAX.characters(Ο, 2) +SAX.characters( +&Oopf +, 7) +SAX.characters(𝕆, 4) +SAX.characters( +&OpenCurlyDoubleQuote +, 23) +SAX.characters(“, 3) +SAX.characters( +&OpenCurlyQuote +, 17) +SAX.characters(‘, 3) +SAX.characters( +&Or +, 5) +SAX.characters(⩔, 3) +SAX.characters( +&Oscr +, 7) +SAX.characters(𝒪, 4) +SAX.characters( +, 1) +SAX.characters(Ø, 2) +SAX.characters( +, 1) +SAX.characters(Ø, 2) +SAX.characters( +, 1) +SAX.characters(Õ, 2) +SAX.characters( +, 1) +SAX.characters(Õ, 2) +SAX.characters( +&Otimes +, 9) +SAX.characters(⨷, 3) +SAX.characters( +, 1) +SAX.characters(Ö, 2) +SAX.characters( +, 1) +SAX.characters(Ö, 2) +SAX.characters( +&OverBar +, 10) +SAX.characters(‾, 3) +SAX.characters( +&OverBrace +, 12) +SAX.characters(⏞, 3) +SAX.characters( +&OverBracket +, 14) +SAX.characters(⎴, 3) +SAX.characters( +&OverParenthesis +, 18) +SAX.characters(⏜, 3) +SAX.characters( +&PartialD +, 11) +SAX.characters(∂, 3) +SAX.characters( +&Pcy +, 6) +SAX.characters(П, 2) +SAX.characters( +&Pfr +, 6) +SAX.characters(𝔓, 4) +SAX.characters( +&Phi +, 6) +SAX.characters(Φ, 2) +SAX.characters( +&Pi +, 5) +SAX.characters(Π, 2) +SAX.characters( +&PlusMinus +, 12) +SAX.characters(±, 2) +SAX.characters( +&Poincareplane +, 16) +SAX.characters(ℌ, 3) +SAX.characters( +&Popf +, 7) +SAX.characters(ℙ, 3) +SAX.characters( +&Pr +, 5) +SAX.characters(⪻, 3) +SAX.characters( +&Precedes +, 11) +SAX.characters(≺, 3) +SAX.characters( +&PrecedesEqual +, 16) +SAX.characters(⪯, 3) +SAX.characters( +&PrecedesSlantEqual +, 21) +SAX.characters(≼, 3) +SAX.characters( +&PrecedesTilde +, 16) +SAX.characters(≾, 3) +SAX.characters( +&Prime +, 8) +SAX.characters(″, 3) +SAX.characters( +&Product +, 10) +SAX.characters(∏, 3) +SAX.characters( +&Proportion +, 13) +SAX.characters(∷, 3) +SAX.characters( +&Proportional +, 15) +SAX.characters(∝, 3) +SAX.characters( +&Pscr +, 7) +SAX.characters(𝒫, 4) +SAX.characters( +&Psi +, 6) +SAX.characters(Ψ, 2) +SAX.characters( +, 1) +SAX.characters(", 1) +SAX.characters( +, 1) +SAX.characters(", 1) +SAX.characters( +&Qfr +, 6) +SAX.characters(𝔔, 4) +SAX.characters( +&Qopf +, 7) +SAX.characters(ℚ, 3) +SAX.characters( +&Qscr +, 7) +SAX.characters(𝒬, 4) +SAX.characters( +&RBarr +, 8) +SAX.characters(⤐, 3) +SAX.characters( +, 1) +SAX.characters(®, 2) +SAX.characters( +, 1) +SAX.characters(®, 2) +SAX.characters( +&Racute +, 9) +SAX.characters(Ŕ, 2) +SAX.characters( +&Rang +, 7) +SAX.characters(⟫, 3) +SAX.characters( +&Rarr +, 7) +SAX.characters(↠, 3) +SAX.characters( +&Rarrtl +, 9) +SAX.characters(⤖, 3) +SAX.characters( +&Rcaron +, 9) +SAX.characters(Ř, 2) +SAX.characters( +&Rcedil +, 9) +SAX.characters(Ŗ, 2) +SAX.characters( +&Rcy +, 6) +SAX.characters(Р, 2) +SAX.characters( +&Re +, 5) +SAX.characters(ℜ, 3) +SAX.characters( +&ReverseElement +, 17) +SAX.characters(∋, 3) +SAX.characters( +&ReverseEquilibrium +, 21) +SAX.characters(⇋, 3) +SAX.characters( +&ReverseUpEquilibrium +, 23) +SAX.characters(⥯, 3) +SAX.characters( +&Rfr +, 6) +SAX.characters(ℜ, 3) +SAX.characters( +&Rho +, 6) +SAX.characters(Ρ, 2) +SAX.characters( +&RightAngleBracket +, 20) +SAX.characters(⟩, 3) +SAX.characters( +&RightArrow +, 13) +SAX.characters(→, 3) +SAX.characters( +&RightArrowBar +, 16) +SAX.characters(⇥, 3) +SAX.characters( +&RightArrowLeftArrow +, 22) +SAX.characters(⇄, 3) +SAX.characters( +&RightCeiling +, 15) +SAX.characters(⌉, 3) +SAX.characters( +&RightDoubleBracket +, 21) +SAX.characters(⟧, 3) +SAX.characters( +&RightDownTeeVector +, 21) +SAX.characters(⥝, 3) +SAX.characters( +&RightDownVector +, 18) +SAX.characters(⇂, 3) +SAX.characters( +&RightDownVectorBar +, 21) +SAX.characters(⥕, 3) +SAX.characters( +&RightFloor +, 13) +SAX.characters(⌋, 3) +SAX.characters( +&RightTee +, 11) +SAX.characters(⊢, 3) +SAX.characters( +&RightTeeArrow +, 16) +SAX.characters(↦, 3) +SAX.characters( +&RightTeeVector +, 17) +SAX.characters(⥛, 3) +SAX.characters( +&RightTriangle +, 16) +SAX.characters(⊳, 3) +SAX.characters( +&RightTriangleBar +, 19) +SAX.characters(⧐, 3) +SAX.characters( +&RightTriangleEqual +, 21) +SAX.characters(⊵, 3) +SAX.characters( +&RightUpDownVector +, 20) +SAX.characters(⥏, 3) +SAX.characters( +&RightUpTeeVector +, 19) +SAX.characters(⥜, 3) +SAX.characters( +&RightUpVector +, 16) +SAX.characters(↾, 3) +SAX.characters( +&RightUpVectorBar +, 19) +SAX.characters(⥔, 3) +SAX.characters( +&RightVector +, 14) +SAX.characters(⇀, 3) +SAX.characters( +&RightVectorBar +, 17) +SAX.characters(⥓, 3) +SAX.characters( +&Rightarrow +, 13) +SAX.characters(⇒, 3) +SAX.characters( +&Ropf +, 7) +SAX.characters(ℝ, 3) +SAX.characters( +&RoundImplies +, 15) +SAX.characters(⥰, 3) +SAX.characters( +&Rrightarrow +, 14) +SAX.characters(⇛, 3) +SAX.characters( +&Rscr +, 7) +SAX.characters(ℛ, 3) +SAX.characters( +&Rsh +, 6) +SAX.characters(↱, 3) +SAX.characters( +&RuleDelayed +, 14) +SAX.characters(⧴, 3) +SAX.characters( +&SHCHcy +, 9) +SAX.characters(Щ, 2) +SAX.characters( +&SHcy +, 7) +SAX.characters(Ш, 2) +SAX.characters( +&SOFTcy +, 9) +SAX.characters(Ь, 2) +SAX.characters( +&Sacute +, 9) +SAX.characters(Ś, 2) +SAX.characters( +&Sc +, 5) +SAX.characters(⪼, 3) +SAX.characters( +&Scaron +, 9) +SAX.characters(Š, 2) +SAX.characters( +&Scedil +, 9) +SAX.characters(Ş, 2) +SAX.characters( +&Scirc +, 8) +SAX.characters(Ŝ, 2) +SAX.characters( +&Scy +, 6) +SAX.characters(С, 2) +SAX.characters( +&Sfr +, 6) +SAX.characters(𝔖, 4) +SAX.characters( +&ShortDownArrow +, 17) +SAX.characters(↓, 3) +SAX.characters( +&ShortLeftArrow +, 17) +SAX.characters(←, 3) +SAX.characters( +&ShortRightArrow +, 18) +SAX.characters(→, 3) +SAX.characters( +&ShortUpArrow +, 15) +SAX.characters(↑, 3) +SAX.characters( +&Sigma +, 8) +SAX.characters(Σ, 2) +SAX.characters( +&SmallCircle +, 14) +SAX.characters(∘, 3) +SAX.characters( +&Sopf +, 7) +SAX.characters(𝕊, 4) +SAX.characters( +&Sqrt +, 7) +SAX.characters(√, 3) +SAX.characters( +&Square +, 9) +SAX.characters(□, 3) +SAX.characters( +&SquareIntersection +, 21) +SAX.characters(⊓, 3) +SAX.characters( +&SquareSubset +, 15) +SAX.characters(⊏, 3) +SAX.characters( +&SquareSubsetEqual +, 20) +SAX.characters(⊑, 3) +SAX.characters( +&SquareSuperset +, 17) +SAX.characters(⊐, 3) +SAX.characters( +&SquareSupersetEqual +, 22) +SAX.characters(⊒, 3) +SAX.characters( +&SquareUnion +, 14) +SAX.characters(⊔, 3) +SAX.characters( +&Sscr +, 7) +SAX.characters(𝒮, 4) +SAX.characters( +&Star +, 7) +SAX.characters(⋆, 3) +SAX.characters( +&Sub +, 6) +SAX.characters(⋐, 3) +SAX.characters( +&Subset +, 9) +SAX.characters(⋐, 3) +SAX.characters( +&SubsetEqual +, 14) +SAX.characters(⊆, 3) +SAX.characters( +&Succeeds +, 11) +SAX.characters(≻, 3) +SAX.characters( +&SucceedsEqual +, 16) +SAX.characters(⪰, 3) +SAX.characters( +&SucceedsSlantEqual +, 21) +SAX.characters(≽, 3) +SAX.characters( +&SucceedsTilde +, 16) +SAX.characters(≿, 3) +SAX.characters( +&SuchThat +, 11) +SAX.characters(∋, 3) +SAX.characters( +&Sum +, 6) +SAX.characters(∑, 3) +SAX.characters( +&Sup +, 6) +SAX.characters(⋑, 3) +SAX.characters( +&Superset +, 11) +SAX.characters(⊃, 3) +SAX.characters( +&SupersetEqual +, 16) +SAX.characters(⊇, 3) +SAX.characters( +&Supset +, 9) +SAX.characters(⋑, 3) +SAX.characters( +, 1) +SAX.characters(Þ, 2) +SAX.characters( +, 1) +SAX.characters(Þ, 2) +SAX.characters( +&TRADE +, 8) +SAX.characters(™, 3) +SAX.characters( +&TSHcy +, 8) +SAX.characters(Ћ, 2) +SAX.characters( +&TScy +, 7) +SAX.characters(Ц, 2) +SAX.characters( +&Tab +, 6) +SAX.characters( , 1) +SAX.characters( +&Tau +, 6) +SAX.characters(Τ, 2) +SAX.characters( +&Tcaron +, 9) +SAX.characters(Ť, 2) +SAX.characters( +&Tcedil +, 9) +SAX.characters(Ţ, 2) +SAX.characters( +&Tcy +, 6) +SAX.characters(Т, 2) +SAX.characters( +&Tfr +, 6) +SAX.characters(𝔗, 4) +SAX.characters( +&Therefore +, 12) +SAX.characters(∴, 3) +SAX.characters( +&Theta +, 8) +SAX.characters(Θ, 2) +SAX.characters( +&ThickSpace +, 13) +SAX.characters(  , 6) +SAX.characters( +&ThinSpace +, 12) +SAX.characters( , 3) +SAX.characters( +&Tilde +, 8) +SAX.characters(∼, 3) +SAX.characters( +&TildeEqual +, 13) +SAX.characters(≃, 3) +SAX.characters( +&TildeFullEqual +, 17) +SAX.characters(≅, 3) +SAX.characters( +&TildeTilde +, 13) +SAX.characters(≈, 3) +SAX.characters( +&Topf +, 7) +SAX.characters(𝕋, 4) +SAX.characters( +&TripleDot +, 12) +SAX.characters(⃛, 3) +SAX.characters( +&Tscr +, 7) +SAX.characters(𝒯, 4) +SAX.characters( +&Tstrok +, 9) +SAX.characters(Ŧ, 2) +SAX.characters( +, 1) +SAX.characters(Ú, 2) +SAX.characters( +, 1) +SAX.characters(Ú, 2) +SAX.characters( +&Uarr +, 7) +SAX.characters(↟, 3) +SAX.characters( +&Uarrocir +, 11) +SAX.characters(⥉, 3) +SAX.characters( +&Ubrcy +, 8) +SAX.characters(Ў, 2) +SAX.characters( +&Ubreve +, 9) +SAX.characters(Ŭ, 2) +SAX.characters( +, 1) +SAX.characters(Û, 2) +SAX.characters( +, 1) +SAX.characters(Û, 2) +SAX.characters( +&Ucy +, 6) +SAX.characters(У, 2) +SAX.characters( +&Udblac +, 9) +SAX.characters(Ű, 2) +SAX.characters( +&Ufr +, 6) +SAX.characters(𝔘, 4) +SAX.characters( +, 1) +SAX.characters(Ù, 2) +SAX.characters( +, 1) +SAX.characters(Ù, 2) +SAX.characters( +&Umacr +, 8) +SAX.characters(Ū, 2) +SAX.characters( +&UnderBar +, 11) +SAX.characters(_, 1) +SAX.characters( +&UnderBrace +, 13) +SAX.characters(⏟, 3) +SAX.characters( +&UnderBracket +, 15) +SAX.characters(⎵, 3) +SAX.characters( +&UnderParenthesis +, 19) +SAX.characters(⏝, 3) +SAX.characters( +&Union +, 8) +SAX.characters(⋃, 3) +SAX.characters( +&UnionPlus +, 12) +SAX.characters(⊎, 3) +SAX.characters( +&Uogon +, 8) +SAX.characters(Ų, 2) +SAX.characters( +&Uopf +, 7) +SAX.characters(𝕌, 4) +SAX.characters( +&UpArrow +, 10) +SAX.characters(↑, 3) +SAX.characters( +&UpArrowBar +, 13) +SAX.characters(⤒, 3) +SAX.characters( +&UpArrowDownArrow +, 19) +SAX.characters(⇅, 3) +SAX.characters( +&UpDownArrow +, 14) +SAX.characters(↕, 3) +SAX.characters( +&UpEquilibrium +, 16) +SAX.characters(⥮, 3) +SAX.characters( +&UpTee +, 8) +SAX.characters(⊥, 3) +SAX.characters( +&UpTeeArrow +, 13) +SAX.characters(↥, 3) +SAX.characters( +&Uparrow +, 10) +SAX.characters(⇑, 3) +SAX.characters( +&Updownarrow +, 14) +SAX.characters(⇕, 3) +SAX.characters( +&UpperLeftArrow +, 17) +SAX.characters(↖, 3) +SAX.characters( +&UpperRightArrow +, 18) +SAX.characters(↗, 3) +SAX.characters( +&Upsi +, 7) +SAX.characters(ϒ, 2) +SAX.characters( +&Upsilon +, 10) +SAX.characters(Υ, 2) +SAX.characters( +&Uring +, 8) +SAX.characters(Ů, 2) +SAX.characters( +&Uscr +, 7) +SAX.characters(𝒰, 4) +SAX.characters( +&Utilde +, 9) +SAX.characters(Ũ, 2) +SAX.characters( +, 1) +SAX.characters(Ü, 2) +SAX.characters( +, 1) +SAX.characters(Ü, 2) +SAX.characters( +&VDash +, 8) +SAX.characters(⊫, 3) +SAX.characters( +&Vbar +, 7) +SAX.characters(⫫, 3) +SAX.characters( +&Vcy +, 6) +SAX.characters(В, 2) +SAX.characters( +&Vdash +, 8) +SAX.characters(⊩, 3) +SAX.characters( +&Vdashl +, 9) +SAX.characters(⫦, 3) +SAX.characters( +&Vee +, 6) +SAX.characters(⋁, 3) +SAX.characters( +&Verbar +, 9) +SAX.characters(‖, 3) +SAX.characters( +&Vert +, 7) +SAX.characters(‖, 3) +SAX.characters( +&VerticalBar +, 14) +SAX.characters(∣, 3) +SAX.characters( +&VerticalLine +, 15) +SAX.characters(|, 1) +SAX.characters( +&VerticalSeparator +, 20) +SAX.characters(❘, 3) +SAX.characters( +&VerticalTilde +, 16) +SAX.characters(≀, 3) +SAX.characters( +&VeryThinSpace +, 16) +SAX.characters( , 3) +SAX.characters( +&Vfr +, 6) +SAX.characters(𝔙, 4) +SAX.characters( +&Vopf +, 7) +SAX.characters(𝕍, 4) +SAX.characters( +&Vscr +, 7) +SAX.characters(𝒱, 4) +SAX.characters( +&Vvdash +, 9) +SAX.characters(⊪, 3) +SAX.characters( +&Wcirc +, 8) +SAX.characters(Ŵ, 2) +SAX.characters( +&Wedge +, 8) +SAX.characters(⋀, 3) +SAX.characters( +&Wfr +, 6) +SAX.characters(𝔚, 4) +SAX.characters( +&Wopf +, 7) +SAX.characters(𝕎, 4) +SAX.characters( +&Wscr +, 7) +SAX.characters(𝒲, 4) +SAX.characters( +&Xfr +, 6) +SAX.characters(𝔛, 4) +SAX.characters( +&Xi +, 5) +SAX.characters(Ξ, 2) +SAX.characters( +&Xopf +, 7) +SAX.characters(𝕏, 4) +SAX.characters( +&Xscr +, 7) +SAX.characters(𝒳, 4) +SAX.characters( +&YAcy +, 7) +SAX.characters(Я, 2) +SAX.characters( +&YIcy +, 7) +SAX.characters(Ї, 2) +SAX.characters( +&YUcy +, 7) +SAX.characters(Ю, 2) +SAX.characters( +, 1) +SAX.characters(Ý, 2) +SAX.characters( +, 1) +SAX.characters(Ý, 2) +SAX.characters( +&Ycirc +, 8) +SAX.characters(Ŷ, 2) +SAX.characters( +&Ycy +, 6) +SAX.characters(Ы, 2) +SAX.characters( +&Yfr +, 6) +SAX.characters(𝔜, 4) +SAX.characters( +&Yopf +, 7) +SAX.characters(𝕐, 4) +SAX.characters( +&Yscr +, 7) +SAX.characters(𝒴, 4) +SAX.characters( +&Yuml +, 7) +SAX.characters(Ÿ, 2) +SAX.characters( +&ZHcy +, 7) +SAX.characters(Ж, 2) +SAX.characters( +&Zacute +, 9) +SAX.characters(Ź, 2) +SAX.characters( +&Zcaron +, 9) +SAX.characters(Ž, 2) +SAX.characters( +&Zcy +, 6) +SAX.characters(З, 2) +SAX.characters( +&Zdot +, 7) +SAX.characters(Ż, 2) +SAX.characters( +&ZeroWidthSpace +, 17) +SAX.characters(​, 3) +SAX.characters( +&Zeta +, 7) +SAX.characters(Ζ, 2) +SAX.characters( +&Zfr +, 6) +SAX.characters(ℨ, 3) +SAX.characters( +&Zopf +, 7) +SAX.characters(ℤ, 3) +SAX.characters( +&Zscr +, 7) +SAX.characters(𝒵, 4) +SAX.characters( +, 1) +SAX.characters(á, 2) +SAX.characters( +, 1) +SAX.characters(á, 2) +SAX.characters( +&abreve +, 9) +SAX.characters(ă, 2) +SAX.characters( +&ac +, 5) +SAX.characters(∾, 3) +SAX.characters( +&acE +, 6) +SAX.characters(∾̳, 5) +SAX.characters( +&acd +, 6) +SAX.characters(∿, 3) +SAX.characters( +, 1) +SAX.characters(â, 2) +SAX.characters( +, 1) +SAX.characters(â, 2) +SAX.characters( +, 1) +SAX.characters(´, 2) +SAX.characters( +, 1) +SAX.characters(´, 2) +SAX.characters( +&acy +, 6) +SAX.characters(а, 2) +SAX.characters( +, 1) +SAX.characters(æ, 2) +SAX.characters( +, 1) +SAX.characters(æ, 2) +SAX.characters( +&af +, 5) +SAX.characters(⁡, 3) +SAX.characters( +&afr +, 6) +SAX.characters(𝔞, 4) +SAX.characters( +, 1) +SAX.characters(à, 2) +SAX.characters( +, 1) +SAX.characters(à, 2) +SAX.characters( +&alefsym +, 10) +SAX.characters(ℵ, 3) +SAX.characters( +&aleph +, 8) +SAX.characters(ℵ, 3) +SAX.characters( +&alpha +, 8) +SAX.characters(α, 2) +SAX.characters( +&amacr +, 8) +SAX.characters(ā, 2) +SAX.characters( +&amalg +, 8) +SAX.characters(⨿, 3) +SAX.characters( +, 1) +SAX.characters(&, 1) +SAX.characters( +, 1) +SAX.characters(&, 1) +SAX.characters( +&and +, 6) +SAX.characters(∧, 3) +SAX.characters( +&andand +, 9) +SAX.characters(⩕, 3) +SAX.characters( +&andd +, 7) +SAX.characters(⩜, 3) +SAX.characters( +&andslope +, 11) +SAX.characters(⩘, 3) +SAX.characters( +&andv +, 7) +SAX.characters(⩚, 3) +SAX.characters( +&ang +, 6) +SAX.characters(∠, 3) +SAX.characters( +&ange +, 7) +SAX.characters(⦤, 3) +SAX.characters( +&angle +, 8) +SAX.characters(∠, 3) +SAX.characters( +&angmsd +, 9) +SAX.characters(∡, 3) +SAX.characters( +&angmsdaa +, 11) +SAX.characters(⦨, 3) +SAX.characters( +&angmsdab +, 11) +SAX.characters(⦩, 3) +SAX.characters( +&angmsdac +, 11) +SAX.characters(⦪, 3) +SAX.characters( +&angmsdad +, 11) +SAX.characters(⦫, 3) +SAX.characters( +&angmsdae +, 11) +SAX.characters(⦬, 3) +SAX.characters( +&angmsdaf +, 11) +SAX.characters(⦭, 3) +SAX.characters( +&angmsdag +, 11) +SAX.characters(⦮, 3) +SAX.characters( +&angmsdah +, 11) +SAX.characters(⦯, 3) +SAX.characters( +&angrt +, 8) +SAX.characters(∟, 3) +SAX.characters( +&angrtvb +, 10) +SAX.characters(⊾, 3) +SAX.characters( +&angrtvbd +, 11) +SAX.characters(⦝, 3) +SAX.characters( +&angsph +, 9) +SAX.characters(∢, 3) +SAX.characters( +&angst +, 8) +SAX.characters(Å, 2) +SAX.characters( +&angzarr +, 10) +SAX.characters(⍼, 3) +SAX.characters( +&aogon +, 8) +SAX.characters(ą, 2) +SAX.characters( +&aopf +, 7) +SAX.characters(𝕒, 4) +SAX.characters( +&ap +, 5) +SAX.characters(≈, 3) +SAX.characters( +&apE +, 6) +SAX.characters(⩰, 3) +SAX.characters( +&apacir +, 9) +SAX.characters(⩯, 3) +SAX.characters( +&ape +, 6) +SAX.characters(≊, 3) +SAX.characters( +&apid +, 7) +SAX.characters(≋, 3) +SAX.characters( +&apos +, 7) +SAX.characters(', 1) +SAX.characters( +&approx +, 9) +SAX.characters(≈, 3) +SAX.characters( +&approxeq +, 11) +SAX.characters(≊, 3) +SAX.characters( +, 1) +SAX.characters(å, 2) +SAX.characters( +, 1) +SAX.characters(å, 2) +SAX.characters( +&ascr +, 7) +SAX.characters(𝒶, 4) +SAX.characters( +&ast +, 6) +SAX.characters(*, 1) +SAX.characters( +&asymp +, 8) +SAX.characters(≈, 3) +SAX.characters( +&asympeq +, 10) +SAX.characters(≍, 3) +SAX.characters( +, 1) +SAX.characters(ã, 2) +SAX.characters( +, 1) +SAX.characters(ã, 2) +SAX.characters( +, 1) +SAX.characters(ä, 2) +SAX.characters( +, 1) +SAX.characters(ä, 2) +SAX.characters( +&awconint +, 11) +SAX.characters(∳, 3) +SAX.characters( +&awint +, 8) +SAX.characters(⨑, 3) +SAX.characters( +&bNot +, 7) +SAX.characters(⫭, 3) +SAX.characters( +&backcong +, 11) +SAX.characters(≌, 3) +SAX.characters( +&backepsilon +, 14) +SAX.characters(϶, 2) +SAX.characters( +&backprime +, 12) +SAX.characters(‵, 3) +SAX.characters( +&backsim +, 10) +SAX.characters(∽, 3) +SAX.characters( +&backsimeq +, 12) +SAX.characters(⋍, 3) +SAX.characters( +&barvee +, 9) +SAX.characters(⊽, 3) +SAX.characters( +&barwed +, 9) +SAX.characters(⌅, 3) +SAX.characters( +&barwedge +, 11) +SAX.characters(⌅, 3) +SAX.characters( +&bbrk +, 7) +SAX.characters(⎵, 3) +SAX.characters( +&bbrktbrk +, 11) +SAX.characters(⎶, 3) +SAX.characters( +&bcong +, 8) +SAX.characters(≌, 3) +SAX.characters( +&bcy +, 6) +SAX.characters(б, 2) +SAX.characters( +&bdquo +, 8) +SAX.characters(„, 3) +SAX.characters( +&becaus +, 9) +SAX.characters(∵, 3) +SAX.characters( +&because +, 10) +SAX.characters(∵, 3) +SAX.characters( +&bemptyv +, 10) +SAX.characters(⦰, 3) +SAX.characters( +&bepsi +, 8) +SAX.characters(϶, 2) +SAX.characters( +&bernou +, 9) +SAX.characters(ℬ, 3) +SAX.characters( +&beta +, 7) +SAX.characters(β, 2) +SAX.characters( +&beth +, 7) +SAX.characters(ℶ, 3) +SAX.characters( +&between +, 10) +SAX.characters(≬, 3) +SAX.characters( +&bfr +, 6) +SAX.characters(𝔟, 4) +SAX.characters( +&bigcap +, 9) +SAX.characters(⋂, 3) +SAX.characters( +&bigcirc +, 10) +SAX.characters(◯, 3) +SAX.characters( +&bigcup +, 9) +SAX.characters(⋃, 3) +SAX.characters( +&bigodot +, 10) +SAX.characters(⨀, 3) +SAX.characters( +&bigoplus +, 11) +SAX.characters(⨁, 3) +SAX.characters( +&bigotimes +, 12) +SAX.characters(⨂, 3) +SAX.characters( +&bigsqcup +, 11) +SAX.characters(⨆, 3) +SAX.characters( +&bigstar +, 10) +SAX.characters(★, 3) +SAX.characters( +&bigtriangledown +, 18) +SAX.characters(▽, 3) +SAX.characters( +&bigtriangleup +, 16) +SAX.characters(△, 3) +SAX.characters( +&biguplus +, 11) +SAX.characters(⨄, 3) +SAX.characters( +&bigvee +, 9) +SAX.characters(⋁, 3) +SAX.characters( +&bigwedge +, 11) +SAX.characters(⋀, 3) +SAX.characters( +&bkarow +, 9) +SAX.characters(⤍, 3) +SAX.characters( +&blacklozenge +, 15) +SAX.characters(⧫, 3) +SAX.characters( +&blacksquare +, 14) +SAX.characters(▪, 3) +SAX.characters( +&blacktriangle +, 16) +SAX.characters(▴, 3) +SAX.characters( +&blacktriangledown +, 20) +SAX.characters(▾, 3) +SAX.characters( +&blacktriangleleft +, 20) +SAX.characters(◂, 3) +SAX.characters( +&blacktriangleright +, 21) +SAX.characters(▸, 3) +SAX.characters( +&blank +, 8) +SAX.characters(␣, 3) +SAX.characters( +&blk12 +, 8) +SAX.characters(▒, 3) +SAX.characters( +&blk14 +, 8) +SAX.characters(░, 3) +SAX.characters( +&blk34 +, 8) +SAX.characters(▓, 3) +SAX.characters( +&block +, 8) +SAX.characters(█, 3) +SAX.characters( +&bne +, 6) +SAX.characters(=⃥, 4) +SAX.characters( +&bnequiv +, 10) +SAX.characters(≡⃥, 6) +SAX.characters( +&bnot +, 7) +SAX.characters(⌐, 3) +SAX.characters( +&bopf +, 7) +SAX.characters(𝕓, 4) +SAX.characters( +&bot +, 6) +SAX.characters(⊥, 3) +SAX.characters( +&bottom +, 9) +SAX.characters(⊥, 3) +SAX.characters( +&bowtie +, 9) +SAX.characters(⋈, 3) +SAX.characters( +&boxDL +, 8) +SAX.characters(╗, 3) +SAX.characters( +&boxDR +, 8) +SAX.characters(╔, 3) +SAX.characters( +&boxDl +, 8) +SAX.characters(╖, 3) +SAX.characters( +&boxDr +, 8) +SAX.characters(╓, 3) +SAX.characters( +&boxH +, 7) +SAX.characters(═, 3) +SAX.characters( +&boxHD +, 8) +SAX.characters(╦, 3) +SAX.characters( +&boxHU +, 8) +SAX.characters(╩, 3) +SAX.characters( +&boxHd +, 8) +SAX.characters(╤, 3) +SAX.characters( +&boxHu +, 8) +SAX.characters(╧, 3) +SAX.characters( +&boxUL +, 8) +SAX.characters(╝, 3) +SAX.characters( +&boxUR +, 8) +SAX.characters(╚, 3) +SAX.characters( +&boxUl +, 8) +SAX.characters(╜, 3) +SAX.characters( +&boxUr +, 8) +SAX.characters(╙, 3) +SAX.characters( +&boxV +, 7) +SAX.characters(║, 3) +SAX.characters( +&boxVH +, 8) +SAX.characters(╬, 3) +SAX.characters( +&boxVL +, 8) +SAX.characters(╣, 3) +SAX.characters( +&boxVR +, 8) +SAX.characters(╠, 3) +SAX.characters( +&boxVh +, 8) +SAX.characters(╫, 3) +SAX.characters( +&boxVl +, 8) +SAX.characters(╢, 3) +SAX.characters( +&boxVr +, 8) +SAX.characters(╟, 3) +SAX.characters( +&boxbox +, 9) +SAX.characters(⧉, 3) +SAX.characters( +&boxdL +, 8) +SAX.characters(╕, 3) +SAX.characters( +&boxdR +, 8) +SAX.characters(╒, 3) +SAX.characters( +&boxdl +, 8) +SAX.characters(┐, 3) +SAX.characters( +&boxdr +, 8) +SAX.characters(┌, 3) +SAX.characters( +&boxh +, 7) +SAX.characters(─, 3) +SAX.characters( +&boxhD +, 8) +SAX.characters(╥, 3) +SAX.characters( +&boxhU +, 8) +SAX.characters(╨, 3) +SAX.characters( +&boxhd +, 8) +SAX.characters(┬, 3) +SAX.characters( +&boxhu +, 8) +SAX.characters(┴, 3) +SAX.characters( +&boxminus +, 11) +SAX.characters(⊟, 3) +SAX.characters( +&boxplus +, 10) +SAX.characters(⊞, 3) +SAX.characters( +&boxtimes +, 11) +SAX.characters(⊠, 3) +SAX.characters( +&boxuL +, 8) +SAX.characters(╛, 3) +SAX.characters( +&boxuR +, 8) +SAX.characters(╘, 3) +SAX.characters( +&boxul +, 8) +SAX.characters(┘, 3) +SAX.characters( +&boxur +, 8) +SAX.characters(└, 3) +SAX.characters( +&boxv +, 7) +SAX.characters(│, 3) +SAX.characters( +&boxvH +, 8) +SAX.characters(╪, 3) +SAX.characters( +&boxvL +, 8) +SAX.characters(╡, 3) +SAX.characters( +&boxvR +, 8) +SAX.characters(╞, 3) +SAX.characters( +&boxvh +, 8) +SAX.characters(┼, 3) +SAX.characters( +&boxvl +, 8) +SAX.characters(┤, 3) +SAX.characters( +&boxvr +, 8) +SAX.characters(├, 3) +SAX.characters( +&bprime +, 9) +SAX.characters(‵, 3) +SAX.characters( +&breve +, 8) +SAX.characters(˘, 2) +SAX.characters( +, 1) +SAX.characters(¦, 2) +SAX.characters( +, 1) +SAX.characters(¦, 2) +SAX.characters( +&bscr +, 7) +SAX.characters(𝒷, 4) +SAX.characters( +&bsemi +, 8) +SAX.characters(⁏, 3) +SAX.characters( +&bsim +, 7) +SAX.characters(∽, 3) +SAX.characters( +&bsime +, 8) +SAX.characters(⋍, 3) +SAX.characters( +&bsol +, 7) +SAX.characters(\, 1) +SAX.characters( +&bsolb +, 8) +SAX.characters(⧅, 3) +SAX.characters( +&bsolhsub +, 11) +SAX.characters(⟈, 3) +SAX.characters( +&bull +, 7) +SAX.characters(•, 3) +SAX.characters( +&bullet +, 9) +SAX.characters(•, 3) +SAX.characters( +&bump +, 7) +SAX.characters(≎, 3) +SAX.characters( +&bumpE +, 8) +SAX.characters(⪮, 3) +SAX.characters( +&bumpe +, 8) +SAX.characters(≏, 3) +SAX.characters( +&bumpeq +, 9) +SAX.characters(≏, 3) +SAX.characters( +&cacute +, 9) +SAX.characters(ć, 2) +SAX.characters( +&cap +, 6) +SAX.characters(∩, 3) +SAX.characters( +&capand +, 9) +SAX.characters(⩄, 3) +SAX.characters( +&capbrcup +, 11) +SAX.characters(⩉, 3) +SAX.characters( +&capcap +, 9) +SAX.characters(⩋, 3) +SAX.characters( +&capcup +, 9) +SAX.characters(⩇, 3) +SAX.characters( +&capdot +, 9) +SAX.characters(⩀, 3) +SAX.characters( +&caps +, 7) +SAX.characters(∩︀, 6) +SAX.characters( +&caret +, 8) +SAX.characters(⁁, 3) +SAX.characters( +&caron +, 8) +SAX.characters(ˇ, 2) +SAX.characters( +&ccaps +, 8) +SAX.characters(⩍, 3) +SAX.characters( +&ccaron +, 9) +SAX.characters(č, 2) +SAX.characters( +, 1) +SAX.characters(ç, 2) +SAX.characters( +, 1) +SAX.characters(ç, 2) +SAX.characters( +&ccirc +, 8) +SAX.characters(ĉ, 2) +SAX.characters( +&ccups +, 8) +SAX.characters(⩌, 3) +SAX.characters( +&ccupssm +, 10) +SAX.characters(⩐, 3) +SAX.characters( +&cdot +, 7) +SAX.characters(ċ, 2) +SAX.characters( +, 1) +SAX.characters(¸, 2) +SAX.characters( +, 1) +SAX.characters(¸, 2) +SAX.characters( +&cemptyv +, 10) +SAX.characters(⦲, 3) +SAX.characters( +, 1) +SAX.characters(¢, 2) +SAX.characters( +, 1) +SAX.characters(¢, 2) +SAX.characters( +, 1) +SAX.characters(¢, 2) +SAX.characters(erdot +, 6) +SAX.characters(·, 2) +SAX.characters( +&cfr +, 6) +SAX.characters(𝔠, 4) +SAX.characters( +&chcy +, 7) +SAX.characters(ч, 2) +SAX.characters( +&check +, 8) +SAX.characters(✓, 3) +SAX.characters( +&checkmark +, 12) +SAX.characters(✓, 3) +SAX.characters( +&chi +, 6) +SAX.characters(χ, 2) +SAX.characters( +&cir +, 6) +SAX.characters(○, 3) +SAX.characters( +&cirE +, 7) +SAX.characters(⧃, 3) +SAX.characters( +&circ +, 7) +SAX.characters(ˆ, 2) +SAX.characters( +&circeq +, 9) +SAX.characters(≗, 3) +SAX.characters( +&circlearrowleft +, 18) +SAX.characters(↺, 3) +SAX.characters( +&circlearrowright +, 19) +SAX.characters(↻, 3) +SAX.characters( +&circledR +, 11) +SAX.characters(®, 2) +SAX.characters( +&circledS +, 11) +SAX.characters(Ⓢ, 3) +SAX.characters( +&circledast +, 13) +SAX.characters(⊛, 3) +SAX.characters( +&circledcirc +, 14) +SAX.characters(⊚, 3) +SAX.characters( +&circleddash +, 14) +SAX.characters(⊝, 3) +SAX.characters( +&cire +, 7) +SAX.characters(≗, 3) +SAX.characters( +&cirfnint +, 11) +SAX.characters(⨐, 3) +SAX.characters( +&cirmid +, 9) +SAX.characters(⫯, 3) +SAX.characters( +&cirscir +, 10) +SAX.characters(⧂, 3) +SAX.characters( +&clubs +, 8) +SAX.characters(♣, 3) +SAX.characters( +&clubsuit +, 11) +SAX.characters(♣, 3) +SAX.characters( +&colon +, 8) +SAX.characters(:, 1) +SAX.characters( +&colone +, 9) +SAX.characters(≔, 3) +SAX.characters( +&coloneq +, 10) +SAX.characters(≔, 3) +SAX.characters( +&comma +, 8) +SAX.characters(,, 1) +SAX.characters( +&commat +, 9) +SAX.characters(@, 1) +SAX.characters( +&comp +, 7) +SAX.characters(∁, 3) +SAX.characters( +&compfn +, 9) +SAX.characters(∘, 3) +SAX.characters( +&complement +, 13) +SAX.characters(∁, 3) +SAX.characters( +&complexes +, 12) +SAX.characters(ℂ, 3) +SAX.characters( +&cong +, 7) +SAX.characters(≅, 3) +SAX.characters( +&congdot +, 10) +SAX.characters(⩭, 3) +SAX.characters( +&conint +, 9) +SAX.characters(∮, 3) +SAX.characters( +&copf +, 7) +SAX.characters(𝕔, 4) +SAX.characters( +&coprod +, 9) +SAX.characters(∐, 3) +SAX.characters( +, 1) +SAX.characters(©, 2) +SAX.characters( +, 1) +SAX.characters(©, 2) +SAX.characters( +, 1) +SAX.characters(©, 2) +SAX.characters(sr +, 3) +SAX.characters(℗, 3) +SAX.characters( +&crarr +, 8) +SAX.characters(↵, 3) +SAX.characters( +&cross +, 8) +SAX.characters(✗, 3) +SAX.characters( +&cscr +, 7) +SAX.characters(𝒸, 4) +SAX.characters( +&csub +, 7) +SAX.characters(⫏, 3) +SAX.characters( +&csube +, 8) +SAX.characters(⫑, 3) +SAX.characters( +&csup +, 7) +SAX.characters(⫐, 3) +SAX.characters( +&csupe +, 8) +SAX.characters(⫒, 3) +SAX.characters( +&ctdot +, 8) +SAX.characters(⋯, 3) +SAX.characters( +&cudarrl +, 10) +SAX.characters(⤸, 3) +SAX.characters( +&cudarrr +, 10) +SAX.characters(⤵, 3) +SAX.characters( +&cuepr +, 8) +SAX.characters(⋞, 3) +SAX.characters( +&cuesc +, 8) +SAX.characters(⋟, 3) +SAX.characters( +&cularr +, 9) +SAX.characters(↶, 3) +SAX.characters( +&cularrp +, 10) +SAX.characters(⤽, 3) +SAX.characters( +&cup +, 6) +SAX.characters(∪, 3) +SAX.characters( +&cupbrcap +, 11) +SAX.characters(⩈, 3) +SAX.characters( +&cupcap +, 9) +SAX.characters(⩆, 3) +SAX.characters( +&cupcup +, 9) +SAX.characters(⩊, 3) +SAX.characters( +&cupdot +, 9) +SAX.characters(⊍, 3) +SAX.characters( +&cupor +, 8) +SAX.characters(⩅, 3) +SAX.characters( +&cups +, 7) +SAX.characters(∪︀, 6) +SAX.characters( +&curarr +, 9) +SAX.characters(↷, 3) +SAX.characters( +&curarrm +, 10) +SAX.characters(⤼, 3) +SAX.characters( +&curlyeqprec +, 14) +SAX.characters(⋞, 3) +SAX.characters( +&curlyeqsucc +, 14) +SAX.characters(⋟, 3) +SAX.characters( +&curlyvee +, 11) +SAX.characters(⋎, 3) +SAX.characters( +&curlywedge +, 13) +SAX.characters(⋏, 3) +SAX.characters( +, 1) +SAX.characters(¤, 2) +SAX.characters( +, 1) +SAX.characters(¤, 2) +SAX.characters( +&curvearrowleft +, 17) +SAX.characters(↶, 3) +SAX.characters( +&curvearrowright +, 18) +SAX.characters(↷, 3) +SAX.characters( +&cuvee +, 8) +SAX.characters(⋎, 3) +SAX.characters( +&cuwed +, 8) +SAX.characters(⋏, 3) +SAX.characters( +&cwconint +, 11) +SAX.characters(∲, 3) +SAX.characters( +&cwint +, 8) +SAX.characters(∱, 3) +SAX.characters( +&cylcty +, 9) +SAX.characters(⌭, 3) +SAX.characters( +&dArr +, 7) +SAX.characters(⇓, 3) +SAX.characters( +&dHar +, 7) +SAX.characters(⥥, 3) +SAX.characters( +&dagger +, 9) +SAX.characters(†, 3) +SAX.characters( +&daleth +, 9) +SAX.characters(ℸ, 3) +SAX.characters( +&darr +, 7) +SAX.characters(↓, 3) +SAX.characters( +&dash +, 7) +SAX.characters(‐, 3) +SAX.characters( +&dashv +, 8) +SAX.characters(⊣, 3) +SAX.characters( +&dbkarow +, 10) +SAX.characters(⤏, 3) +SAX.characters( +&dblac +, 8) +SAX.characters(˝, 2) +SAX.characters( +&dcaron +, 9) +SAX.characters(ď, 2) +SAX.characters( +&dcy +, 6) +SAX.characters(д, 2) +SAX.characters( +&dd +, 5) +SAX.characters(ⅆ, 3) +SAX.characters( +&ddagger +, 10) +SAX.characters(‡, 3) +SAX.characters( +&ddarr +, 8) +SAX.characters(⇊, 3) +SAX.characters( +&ddotseq +, 10) +SAX.characters(⩷, 3) +SAX.characters( +, 1) +SAX.characters(°, 2) +SAX.characters( +, 1) +SAX.characters(°, 2) +SAX.characters( +&delta +, 8) +SAX.characters(δ, 2) +SAX.characters( +&demptyv +, 10) +SAX.characters(⦱, 3) +SAX.characters( +&dfisht +, 9) +SAX.characters(⥿, 3) +SAX.characters( +&dfr +, 6) +SAX.characters(𝔡, 4) +SAX.characters( +&dharl +, 8) +SAX.characters(⇃, 3) +SAX.characters( +&dharr +, 8) +SAX.characters(⇂, 3) +SAX.characters( +&diam +, 7) +SAX.characters(⋄, 3) +SAX.characters( +&diamond +, 10) +SAX.characters(⋄, 3) +SAX.characters( +&diamondsuit +, 14) +SAX.characters(♦, 3) +SAX.characters( +&diams +, 8) +SAX.characters(♦, 3) +SAX.characters( +&die +, 6) +SAX.characters(¨, 2) +SAX.characters( +&digamma +, 10) +SAX.characters(ϝ, 2) +SAX.characters( +&disin +, 8) +SAX.characters(⋲, 3) +SAX.characters( +&div +, 6) +SAX.characters(÷, 2) +SAX.characters( +, 1) +SAX.characters(÷, 2) +SAX.characters( +, 1) +SAX.characters(÷, 2) +SAX.characters( +, 1) +SAX.characters(÷, 2) +SAX.characters(ontimes +, 8) +SAX.characters(⋇, 3) +SAX.characters( +&divonx +, 9) +SAX.characters(⋇, 3) +SAX.characters( +&djcy +, 7) +SAX.characters(ђ, 2) +SAX.characters( +&dlcorn +, 9) +SAX.characters(⌞, 3) +SAX.characters( +&dlcrop +, 9) +SAX.characters(⌍, 3) +SAX.characters( +&dollar +, 9) +SAX.characters($, 1) +SAX.characters( +&dopf +, 7) +SAX.characters(𝕕, 4) +SAX.characters( +&dot +, 6) +SAX.characters(˙, 2) +SAX.characters( +&doteq +, 8) +SAX.characters(≐, 3) +SAX.characters( +&doteqdot +, 11) +SAX.characters(≑, 3) +SAX.characters( +&dotminus +, 11) +SAX.characters(∸, 3) +SAX.characters( +&dotplus +, 10) +SAX.characters(∔, 3) +SAX.characters( +&dotsquare +, 12) +SAX.characters(⊡, 3) +SAX.characters( +&doublebarwedge +, 17) +SAX.characters(⌆, 3) +SAX.characters( +&downarrow +, 12) +SAX.characters(↓, 3) +SAX.characters( +&downdownarrows +, 17) +SAX.characters(⇊, 3) +SAX.characters( +&downharpoonleft +, 18) +SAX.characters(⇃, 3) +SAX.characters( +&downharpoonright +, 19) +SAX.characters(⇂, 3) +SAX.characters( +&drbkarow +, 11) +SAX.characters(⤐, 3) +SAX.characters( +&drcorn +, 9) +SAX.characters(⌟, 3) +SAX.characters( +&drcrop +, 9) +SAX.characters(⌌, 3) +SAX.characters( +&dscr +, 7) +SAX.characters(𝒹, 4) +SAX.characters( +&dscy +, 7) +SAX.characters(ѕ, 2) +SAX.characters( +&dsol +, 7) +SAX.characters(⧶, 3) +SAX.characters( +&dstrok +, 9) +SAX.characters(đ, 2) +SAX.characters( +&dtdot +, 8) +SAX.characters(⋱, 3) +SAX.characters( +&dtri +, 7) +SAX.characters(▿, 3) +SAX.characters( +&dtrif +, 8) +SAX.characters(▾, 3) +SAX.characters( +&duarr +, 8) +SAX.characters(⇵, 3) +SAX.characters( +&duhar +, 8) +SAX.characters(⥯, 3) +SAX.characters( +&dwangle +, 10) +SAX.characters(⦦, 3) +SAX.characters( +&dzcy +, 7) +SAX.characters(џ, 2) +SAX.characters( +&dzigrarr +, 11) +SAX.characters(⟿, 3) +SAX.characters( +&eDDot +, 8) +SAX.characters(⩷, 3) +SAX.characters( +&eDot +, 7) +SAX.characters(≑, 3) +SAX.characters( +, 1) +SAX.characters(é, 2) +SAX.characters( +, 1) +SAX.characters(é, 2) +SAX.characters( +&easter +, 9) +SAX.characters(⩮, 3) +SAX.characters( +&ecaron +, 9) +SAX.characters(ě, 2) +SAX.characters( +&ecir +, 7) +SAX.characters(≖, 3) +SAX.characters( +, 1) +SAX.characters(ê, 2) +SAX.characters( +, 1) +SAX.characters(ê, 2) +SAX.characters( +&ecolon +, 9) +SAX.characters(≕, 3) +SAX.characters( +&ecy +, 6) +SAX.characters(э, 2) +SAX.characters( +&edot +, 7) +SAX.characters(ė, 2) +SAX.characters( +&ee +, 5) +SAX.characters(ⅇ, 3) +SAX.characters( +&efDot +, 8) +SAX.characters(≒, 3) +SAX.characters( +&efr +, 6) +SAX.characters(𝔢, 4) +SAX.characters( +&eg +, 5) +SAX.characters(⪚, 3) +SAX.characters( +, 1) +SAX.characters(è, 2) +SAX.characters( +, 1) +SAX.characters(è, 2) +SAX.characters( +&egs +, 6) +SAX.characters(⪖, 3) +SAX.characters( +&egsdot +, 9) +SAX.characters(⪘, 3) +SAX.characters( +&el +, 5) +SAX.characters(⪙, 3) +SAX.characters( +&elinters +, 11) +SAX.characters(⏧, 3) +SAX.characters( +&ell +, 6) +SAX.characters(ℓ, 3) +SAX.characters( +&els +, 6) +SAX.characters(⪕, 3) +SAX.characters( +&elsdot +, 9) +SAX.characters(⪗, 3) +SAX.characters( +&emacr +, 8) +SAX.characters(ē, 2) +SAX.characters( +&empty +, 8) +SAX.characters(∅, 3) +SAX.characters( +&emptyset +, 11) +SAX.characters(∅, 3) +SAX.characters( +&emptyv +, 9) +SAX.characters(∅, 3) +SAX.characters( +&emsp13 +, 9) +SAX.characters( , 3) +SAX.characters( +&emsp14 +, 9) +SAX.characters( , 3) +SAX.characters( +&emsp +, 7) +SAX.characters( , 3) +SAX.characters( +&eng +, 6) +SAX.characters(ŋ, 2) +SAX.characters( +&ensp +, 7) +SAX.characters( , 3) +SAX.characters( +&eogon +, 8) +SAX.characters(ę, 2) +SAX.characters( +&eopf +, 7) +SAX.characters(𝕖, 4) +SAX.characters( +&epar +, 7) +SAX.characters(⋕, 3) +SAX.characters( +&eparsl +, 9) +SAX.characters(⧣, 3) +SAX.characters( +&eplus +, 8) +SAX.characters(⩱, 3) +SAX.characters( +&epsi +, 7) +SAX.characters(ε, 2) +SAX.characters( +&epsilon +, 10) +SAX.characters(ε, 2) +SAX.characters( +&epsiv +, 8) +SAX.characters(ϵ, 2) +SAX.characters( +&eqcirc +, 9) +SAX.characters(≖, 3) +SAX.characters( +&eqcolon +, 10) +SAX.characters(≕, 3) +SAX.characters( +&eqsim +, 8) +SAX.characters(≂, 3) +SAX.characters( +&eqslantgtr +, 13) +SAX.characters(⪖, 3) +SAX.characters( +&eqslantless +, 14) +SAX.characters(⪕, 3) +SAX.characters( +&equals +, 9) +SAX.characters(=, 1) +SAX.characters( +&equest +, 9) +SAX.characters(≟, 3) +SAX.characters( +&equiv +, 8) +SAX.characters(≡, 3) +SAX.characters( +&equivDD +, 10) +SAX.characters(⩸, 3) +SAX.characters( +&eqvparsl +, 11) +SAX.characters(⧥, 3) +SAX.characters( +&erDot +, 8) +SAX.characters(≓, 3) +SAX.characters( +&erarr +, 8) +SAX.characters(⥱, 3) +SAX.characters( +&escr +, 7) +SAX.characters(ℯ, 3) +SAX.characters( +&esdot +, 8) +SAX.characters(≐, 3) +SAX.characters( +&esim +, 7) +SAX.characters(≂, 3) +SAX.characters( +&eta +, 6) +SAX.characters(η, 2) +SAX.characters( +, 1) +SAX.characters(ð, 2) +SAX.characters( +, 1) +SAX.characters(ð, 2) +SAX.characters( +, 1) +SAX.characters(ë, 2) +SAX.characters( +, 1) +SAX.characters(ë, 2) +SAX.characters( +&euro +, 7) +SAX.characters(€, 3) +SAX.characters( +&excl +, 7) +SAX.characters(!, 1) +SAX.characters( +&exist +, 8) +SAX.characters(∃, 3) +SAX.characters( +&expectation +, 14) +SAX.characters(ℰ, 3) +SAX.characters( +&exponentiale +, 15) +SAX.characters(ⅇ, 3) +SAX.characters( +&fallingdotseq +, 16) +SAX.characters(≒, 3) +SAX.characters( +&fcy +, 6) +SAX.characters(ф, 2) +SAX.characters( +&female +, 9) +SAX.characters(♀, 3) +SAX.characters( +&ffilig +, 9) +SAX.characters(ffi, 3) +SAX.characters( +&fflig +, 8) +SAX.characters(ff, 3) +SAX.characters( +&ffllig +, 9) +SAX.characters(ffl, 3) +SAX.characters( +&ffr +, 6) +SAX.characters(𝔣, 4) +SAX.characters( +&filig +, 8) +SAX.characters(fi, 3) +SAX.characters( +&fjlig +, 8) +SAX.characters(fj, 2) +SAX.characters( +&flat +, 7) +SAX.characters(♭, 3) +SAX.characters( +&fllig +, 8) +SAX.characters(fl, 3) +SAX.characters( +&fltns +, 8) +SAX.characters(▱, 3) +SAX.characters( +&fnof +, 7) +SAX.characters(ƒ, 2) +SAX.characters( +&fopf +, 7) +SAX.characters(𝕗, 4) +SAX.characters( +&forall +, 9) +SAX.characters(∀, 3) +SAX.characters( +&fork +, 7) +SAX.characters(⋔, 3) +SAX.characters( +&forkv +, 8) +SAX.characters(⫙, 3) +SAX.characters( +&fpartint +, 11) +SAX.characters(⨍, 3) +SAX.characters( +, 1) +SAX.characters(½, 2) +SAX.characters( +, 1) +SAX.characters(½, 2) +SAX.characters( +&frac13 +, 9) +SAX.characters(⅓, 3) +SAX.characters( +, 1) +SAX.characters(¼, 2) +SAX.characters( +, 1) +SAX.characters(¼, 2) +SAX.characters( +&frac15 +, 9) +SAX.characters(⅕, 3) +SAX.characters( +&frac16 +, 9) +SAX.characters(⅙, 3) +SAX.characters( +&frac18 +, 9) +SAX.characters(⅛, 3) +SAX.characters( +&frac23 +, 9) +SAX.characters(⅔, 3) +SAX.characters( +&frac25 +, 9) +SAX.characters(⅖, 3) +SAX.characters( +, 1) +SAX.characters(¾, 2) +SAX.characters( +, 1) +SAX.characters(¾, 2) +SAX.characters( +&frac35 +, 9) +SAX.characters(⅗, 3) +SAX.characters( +&frac38 +, 9) +SAX.characters(⅜, 3) +SAX.characters( +&frac45 +, 9) +SAX.characters(⅘, 3) +SAX.characters( +&frac56 +, 9) +SAX.characters(⅚, 3) +SAX.characters( +&frac58 +, 9) +SAX.characters(⅝, 3) +SAX.characters( +&frac78 +, 9) +SAX.characters(⅞, 3) +SAX.characters( +&frasl +, 8) +SAX.characters(⁄, 3) +SAX.characters( +&frown +, 8) +SAX.characters(⌢, 3) +SAX.characters( +&fscr +, 7) +SAX.characters(𝒻, 4) +SAX.characters( +&gE +, 5) +SAX.characters(≧, 3) +SAX.characters( +&gEl +, 6) +SAX.characters(⪌, 3) +SAX.characters( +&gacute +, 9) +SAX.characters(ǵ, 2) +SAX.characters( +&gamma +, 8) +SAX.characters(γ, 2) +SAX.characters( +&gammad +, 9) +SAX.characters(ϝ, 2) +SAX.characters( +&gap +, 6) +SAX.characters(⪆, 3) +SAX.characters( +&gbreve +, 9) +SAX.characters(ğ, 2) +SAX.characters( +&gcirc +, 8) +SAX.characters(ĝ, 2) +SAX.characters( +&gcy +, 6) +SAX.characters(г, 2) +SAX.characters( +&gdot +, 7) +SAX.characters(ġ, 2) +SAX.characters( +&ge +, 5) +SAX.characters(≥, 3) +SAX.characters( +&gel +, 6) +SAX.characters(⋛, 3) +SAX.characters( +&geq +, 6) +SAX.characters(≥, 3) +SAX.characters( +&geqq +, 7) +SAX.characters(≧, 3) +SAX.characters( +&geqslant +, 11) +SAX.characters(⩾, 3) +SAX.characters( +&ges +, 6) +SAX.characters(⩾, 3) +SAX.characters( +&gescc +, 8) +SAX.characters(⪩, 3) +SAX.characters( +&gesdot +, 9) +SAX.characters(⪀, 3) +SAX.characters( +&gesdoto +, 10) +SAX.characters(⪂, 3) +SAX.characters( +&gesdotol +, 11) +SAX.characters(⪄, 3) +SAX.characters( +&gesl +, 7) +SAX.characters(⋛︀, 6) +SAX.characters( +&gesles +, 9) +SAX.characters(⪔, 3) +SAX.characters( +&gfr +, 6) +SAX.characters(𝔤, 4) +SAX.characters( +&gg +, 5) +SAX.characters(≫, 3) +SAX.characters( +&ggg +, 6) +SAX.characters(⋙, 3) +SAX.characters( +&gimel +, 8) +SAX.characters(ℷ, 3) +SAX.characters( +&gjcy +, 7) +SAX.characters(ѓ, 2) +SAX.characters( +&gl +, 5) +SAX.characters(≷, 3) +SAX.characters( +&glE +, 6) +SAX.characters(⪒, 3) +SAX.characters( +&gla +, 6) +SAX.characters(⪥, 3) +SAX.characters( +&glj +, 6) +SAX.characters(⪤, 3) +SAX.characters( +&gnE +, 6) +SAX.characters(≩, 3) +SAX.characters( +&gnap +, 7) +SAX.characters(⪊, 3) +SAX.characters( +&gnapprox +, 11) +SAX.characters(⪊, 3) +SAX.characters( +&gne +, 6) +SAX.characters(⪈, 3) +SAX.characters( +&gneq +, 7) +SAX.characters(⪈, 3) +SAX.characters( +&gneqq +, 8) +SAX.characters(≩, 3) +SAX.characters( +&gnsim +, 8) +SAX.characters(⋧, 3) +SAX.characters( +&gopf +, 7) +SAX.characters(𝕘, 4) +SAX.characters( +&grave +, 8) +SAX.characters(`, 1) +SAX.characters( +&gscr +, 7) +SAX.characters(ℊ, 3) +SAX.characters( +&gsim +, 7) +SAX.characters(≳, 3) +SAX.characters( +&gsime +, 8) +SAX.characters(⪎, 3) +SAX.characters( +&gsiml +, 8) +SAX.characters(⪐, 3) +SAX.characters( +, 1) +SAX.characters(>, 1) +SAX.characters( +, 1) +SAX.characters(>, 1) +SAX.characters( +, 1) +SAX.characters(>, 1) +SAX.characters(cc +, 3) +SAX.characters(⪧, 3) +SAX.characters( +, 1) +SAX.characters(>, 1) +SAX.characters(cir +, 4) +SAX.characters(⩺, 3) +SAX.characters( +, 1) +SAX.characters(>, 1) +SAX.characters(dot +, 4) +SAX.characters(⋗, 3) +SAX.characters( +, 1) +SAX.characters(>, 1) +SAX.characters(lPar +, 5) +SAX.characters(⦕, 3) +SAX.characters( +, 1) +SAX.characters(>, 1) +SAX.characters(quest +, 6) +SAX.characters(⩼, 3) +SAX.characters( +, 1) +SAX.characters(>, 1) +SAX.characters(rapprox +, 8) +SAX.characters(⪆, 3) +SAX.characters( +, 1) +SAX.characters(>, 1) +SAX.characters(rarr +, 5) +SAX.characters(⥸, 3) +SAX.characters( +, 1) +SAX.characters(>, 1) +SAX.characters(rdot +, 5) +SAX.characters(⋗, 3) +SAX.characters( +, 1) +SAX.characters(>, 1) +SAX.characters(reqless +, 8) +SAX.characters(⋛, 3) +SAX.characters( +, 1) +SAX.characters(>, 1) +SAX.characters(reqqless +, 9) +SAX.characters(⪌, 3) +SAX.characters( +, 1) +SAX.characters(>, 1) +SAX.characters(rless +, 6) +SAX.characters(≷, 3) +SAX.characters( +, 1) +SAX.characters(>, 1) +SAX.characters(rsim +, 5) +SAX.characters(≳, 3) +SAX.characters( +&gvertneqq +, 12) +SAX.characters(≩︀, 6) +SAX.characters( +&gvnE +, 7) +SAX.characters(≩︀, 6) +SAX.characters( +&hArr +, 7) +SAX.characters(⇔, 3) +SAX.characters( +&hairsp +, 9) +SAX.characters( , 3) +SAX.characters( +&half +, 7) +SAX.characters(½, 2) +SAX.characters( +&hamilt +, 9) +SAX.characters(ℋ, 3) +SAX.characters( +&hardcy +, 9) +SAX.characters(ъ, 2) +SAX.characters( +&harr +, 7) +SAX.characters(↔, 3) +SAX.characters( +&harrcir +, 10) +SAX.characters(⥈, 3) +SAX.characters( +&harrw +, 8) +SAX.characters(↭, 3) +SAX.characters( +&hbar +, 7) +SAX.characters(ℏ, 3) +SAX.characters( +&hcirc +, 8) +SAX.characters(ĥ, 2) +SAX.characters( +&hearts +, 9) +SAX.characters(♥, 3) +SAX.characters( +&heartsuit +, 12) +SAX.characters(♥, 3) +SAX.characters( +&hellip +, 9) +SAX.characters(…, 3) +SAX.characters( +&hercon +, 9) +SAX.characters(⊹, 3) +SAX.characters( +&hfr +, 6) +SAX.characters(𝔥, 4) +SAX.characters( +&hksearow +, 11) +SAX.characters(⤥, 3) +SAX.characters( +&hkswarow +, 11) +SAX.characters(⤦, 3) +SAX.characters( +&hoarr +, 8) +SAX.characters(⇿, 3) +SAX.characters( +&homtht +, 9) +SAX.characters(∻, 3) +SAX.characters( +&hookleftarrow +, 16) +SAX.characters(↩, 3) +SAX.characters( +&hookrightarrow +, 17) +SAX.characters(↪, 3) +SAX.characters( +&hopf +, 7) +SAX.characters(𝕙, 4) +SAX.characters( +&horbar +, 9) +SAX.characters(―, 3) +SAX.characters( +&hscr +, 7) +SAX.characters(𝒽, 4) +SAX.characters( +&hslash +, 9) +SAX.characters(ℏ, 3) +SAX.characters( +&hstrok +, 9) +SAX.characters(ħ, 2) +SAX.characters( +&hybull +, 9) +SAX.characters(⁃, 3) +SAX.characters( +&hyphen +, 9) +SAX.characters(‐, 3) +SAX.characters( +, 1) +SAX.characters(í, 2) +SAX.characters( +, 1) +SAX.characters(í, 2) +SAX.characters( +&ic +, 5) +SAX.characters(⁣, 3) +SAX.characters( +, 1) +SAX.characters(î, 2) +SAX.characters( +, 1) +SAX.characters(î, 2) +SAX.characters( +&icy +, 6) +SAX.characters(и, 2) +SAX.characters( +&iecy +, 7) +SAX.characters(е, 2) +SAX.characters( +, 1) +SAX.characters(¡, 2) +SAX.characters( +, 1) +SAX.characters(¡, 2) +SAX.characters( +&iff +, 6) +SAX.characters(⇔, 3) +SAX.characters( +&ifr +, 6) +SAX.characters(𝔦, 4) +SAX.characters( +, 1) +SAX.characters(ì, 2) +SAX.characters( +, 1) +SAX.characters(ì, 2) +SAX.characters( +&ii +, 5) +SAX.characters(ⅈ, 3) +SAX.characters( +&iiiint +, 9) +SAX.characters(⨌, 3) +SAX.characters( +&iiint +, 8) +SAX.characters(∭, 3) +SAX.characters( +&iinfin +, 9) +SAX.characters(⧜, 3) +SAX.characters( +&iiota +, 8) +SAX.characters(℩, 3) +SAX.characters( +&ijlig +, 8) +SAX.characters(ij, 2) +SAX.characters( +&imacr +, 8) +SAX.characters(ī, 2) +SAX.characters( +&image +, 8) +SAX.characters(ℑ, 3) +SAX.characters( +&imagline +, 11) +SAX.characters(ℐ, 3) +SAX.characters( +&imagpart +, 11) +SAX.characters(ℑ, 3) +SAX.characters( +&imath +, 8) +SAX.characters(ı, 2) +SAX.characters( +&imof +, 7) +SAX.characters(⊷, 3) +SAX.characters( +&imped +, 8) +SAX.characters(Ƶ, 2) +SAX.characters( +&in +, 5) +SAX.characters(∈, 3) +SAX.characters( +&incare +, 9) +SAX.characters(℅, 3) +SAX.characters( +&infin +, 8) +SAX.characters(∞, 3) +SAX.characters( +&infintie +, 11) +SAX.characters(⧝, 3) +SAX.characters( +&inodot +, 9) +SAX.characters(ı, 2) +SAX.characters( +&int +, 6) +SAX.characters(∫, 3) +SAX.characters( +&intcal +, 9) +SAX.characters(⊺, 3) +SAX.characters( +&integers +, 11) +SAX.characters(ℤ, 3) +SAX.characters( +&intercal +, 11) +SAX.characters(⊺, 3) +SAX.characters( +&intlarhk +, 11) +SAX.characters(⨗, 3) +SAX.characters( +&intprod +, 10) +SAX.characters(⨼, 3) +SAX.characters( +&iocy +, 7) +SAX.characters(ё, 2) +SAX.characters( +&iogon +, 8) +SAX.characters(į, 2) +SAX.characters( +&iopf +, 7) +SAX.characters(𝕚, 4) +SAX.characters( +&iota +, 7) +SAX.characters(ι, 2) +SAX.characters( +&iprod +, 8) +SAX.characters(⨼, 3) +SAX.characters( +, 1) +SAX.characters(¿, 2) +SAX.characters( +, 1) +SAX.characters(¿, 2) +SAX.characters( +&iscr +, 7) +SAX.characters(𝒾, 4) +SAX.characters( +&isin +, 7) +SAX.characters(∈, 3) +SAX.characters( +&isinE +, 8) +SAX.characters(⋹, 3) +SAX.characters( +&isindot +, 10) +SAX.characters(⋵, 3) +SAX.characters( +&isins +, 8) +SAX.characters(⋴, 3) +SAX.characters( +&isinsv +, 9) +SAX.characters(⋳, 3) +SAX.characters( +&isinv +, 8) +SAX.characters(∈, 3) +SAX.characters( +&it +, 5) +SAX.characters(⁢, 3) +SAX.characters( +&itilde +, 9) +SAX.characters(ĩ, 2) +SAX.characters( +&iukcy +, 8) +SAX.characters(і, 2) +SAX.characters( +, 1) +SAX.characters(ï, 2) +SAX.characters( +, 1) +SAX.characters(ï, 2) +SAX.characters( +&jcirc +, 8) +SAX.characters(ĵ, 2) +SAX.characters( +&jcy +, 6) +SAX.characters(й, 2) +SAX.characters( +&jfr +, 6) +SAX.characters(𝔧, 4) +SAX.characters( +&jmath +, 8) +SAX.characters(ȷ, 2) +SAX.characters( +&jopf +, 7) +SAX.characters(𝕛, 4) +SAX.characters( +&jscr +, 7) +SAX.characters(𝒿, 4) +SAX.characters( +&jsercy +, 9) +SAX.characters(ј, 2) +SAX.characters( +&jukcy +, 8) +SAX.characters(є, 2) +SAX.characters( +&kappa +, 8) +SAX.characters(κ, 2) +SAX.characters( +&kappav +, 9) +SAX.characters(ϰ, 2) +SAX.characters( +&kcedil +, 9) +SAX.characters(ķ, 2) +SAX.characters( +&kcy +, 6) +SAX.characters(к, 2) +SAX.characters( +&kfr +, 6) +SAX.characters(𝔨, 4) +SAX.characters( +&kgreen +, 9) +SAX.characters(ĸ, 2) +SAX.characters( +&khcy +, 7) +SAX.characters(х, 2) +SAX.characters( +&kjcy +, 7) +SAX.characters(ќ, 2) +SAX.characters( +&kopf +, 7) +SAX.characters(𝕜, 4) +SAX.characters( +&kscr +, 7) +SAX.characters(𝓀, 4) +SAX.characters( +&lAarr +, 8) +SAX.characters(⇚, 3) +SAX.characters( +&lArr +, 7) +SAX.characters(⇐, 3) +SAX.characters( +&lAtail +, 9) +SAX.characters(⤛, 3) +SAX.characters( +&lBarr +, 8) +SAX.characters(⤎, 3) +SAX.characters( +&lE +, 5) +SAX.characters(≦, 3) +SAX.characters( +&lEg +, 6) +SAX.characters(⪋, 3) +SAX.characters( +&lHar +, 7) +SAX.characters(⥢, 3) +SAX.characters( +&lacute +, 9) +SAX.characters(ĺ, 2) +SAX.characters( +&laemptyv +, 11) +SAX.characters(⦴, 3) +SAX.characters( +&lagran +, 9) +SAX.characters(ℒ, 3) +SAX.characters( +&lambda +, 9) +SAX.characters(λ, 2) +SAX.characters( +&lang +, 7) +SAX.characters(⟨, 3) +SAX.characters( +&langd +, 8) +SAX.characters(⦑, 3) +SAX.characters( +&langle +, 9) +SAX.characters(⟨, 3) +SAX.characters( +&lap +, 6) +SAX.characters(⪅, 3) +SAX.characters( +, 1) +SAX.characters(«, 2) +SAX.characters( +, 1) +SAX.characters(«, 2) +SAX.characters( +&larr +, 7) +SAX.characters(←, 3) +SAX.characters( +&larrb +, 8) +SAX.characters(⇤, 3) +SAX.characters( +&larrbfs +, 10) +SAX.characters(⤟, 3) +SAX.characters( +&larrfs +, 9) +SAX.characters(⤝, 3) +SAX.characters( +&larrhk +, 9) +SAX.characters(↩, 3) +SAX.characters( +&larrlp +, 9) +SAX.characters(↫, 3) +SAX.characters( +&larrpl +, 9) +SAX.characters(⤹, 3) +SAX.characters( +&larrsim +, 10) +SAX.characters(⥳, 3) +SAX.characters( +&larrtl +, 9) +SAX.characters(↢, 3) +SAX.characters( +&lat +, 6) +SAX.characters(⪫, 3) +SAX.characters( +&latail +, 9) +SAX.characters(⤙, 3) +SAX.characters( +&late +, 7) +SAX.characters(⪭, 3) +SAX.characters( +&lates +, 8) +SAX.characters(⪭︀, 6) +SAX.characters( +&lbarr +, 8) +SAX.characters(⤌, 3) +SAX.characters( +&lbbrk +, 8) +SAX.characters(❲, 3) +SAX.characters( +&lbrace +, 9) +SAX.characters({, 1) +SAX.characters( +&lbrack +, 9) +SAX.characters([, 1) +SAX.characters( +&lbrke +, 8) +SAX.characters(⦋, 3) +SAX.characters( +&lbrksld +, 10) +SAX.characters(⦏, 3) +SAX.characters( +&lbrkslu +, 10) +SAX.characters(⦍, 3) +SAX.characters( +&lcaron +, 9) +SAX.characters(ľ, 2) +SAX.characters( +&lcedil +, 9) +SAX.characters(ļ, 2) +SAX.characters( +&lceil +, 8) +SAX.characters(⌈, 3) +SAX.characters( +&lcub +, 7) +SAX.characters({, 1) +SAX.characters( +&lcy +, 6) +SAX.characters(л, 2) +SAX.characters( +&ldca +, 7) +SAX.characters(⤶, 3) +SAX.characters( +&ldquo +, 8) +SAX.characters(“, 3) +SAX.characters( +&ldquor +, 9) +SAX.characters(„, 3) +SAX.characters( +&ldrdhar +, 10) +SAX.characters(⥧, 3) +SAX.characters( +&ldrushar +, 11) +SAX.characters(⥋, 3) +SAX.characters( +&ldsh +, 7) +SAX.characters(↲, 3) +SAX.characters( +&le +, 5) +SAX.characters(≤, 3) +SAX.characters( +&leftarrow +, 12) +SAX.characters(←, 3) +SAX.characters( +&leftarrowtail +, 16) +SAX.characters(↢, 3) +SAX.characters( +&leftharpoondown +, 18) +SAX.characters(↽, 3) +SAX.characters( +&leftharpoonup +, 16) +SAX.characters(↼, 3) +SAX.characters( +&leftleftarrows +, 17) +SAX.characters(⇇, 3) +SAX.characters( +&leftrightarrow +, 17) +SAX.characters(↔, 3) +SAX.characters( +&leftrightarrows +, 18) +SAX.characters(⇆, 3) +SAX.characters( +&leftrightharpoons +, 20) +SAX.characters(⇋, 3) +SAX.characters( +&leftrightsquigarrow +, 22) +SAX.characters(↭, 3) +SAX.characters( +&leftthreetimes +, 17) +SAX.characters(⋋, 3) +SAX.characters( +&leg +, 6) +SAX.characters(⋚, 3) +SAX.characters( +&leq +, 6) +SAX.characters(≤, 3) +SAX.characters( +&leqq +, 7) +SAX.characters(≦, 3) +SAX.characters( +&leqslant +, 11) +SAX.characters(⩽, 3) +SAX.characters( +&les +, 6) +SAX.characters(⩽, 3) +SAX.characters( +&lescc +, 8) +SAX.characters(⪨, 3) +SAX.characters( +&lesdot +, 9) +SAX.characters(⩿, 3) +SAX.characters( +&lesdoto +, 10) +SAX.characters(⪁, 3) +SAX.characters( +&lesdotor +, 11) +SAX.characters(⪃, 3) +SAX.characters( +&lesg +, 7) +SAX.characters(⋚︀, 6) +SAX.characters( +&lesges +, 9) +SAX.characters(⪓, 3) +SAX.characters( +&lessapprox +, 13) +SAX.characters(⪅, 3) +SAX.characters( +&lessdot +, 10) +SAX.characters(⋖, 3) +SAX.characters( +&lesseqgtr +, 12) +SAX.characters(⋚, 3) +SAX.characters( +&lesseqqgtr +, 13) +SAX.characters(⪋, 3) +SAX.characters( +&lessgtr +, 10) +SAX.characters(≶, 3) +SAX.characters( +&lesssim +, 10) +SAX.characters(≲, 3) +SAX.characters( +&lfisht +, 9) +SAX.characters(⥼, 3) +SAX.characters( +&lfloor +, 9) +SAX.characters(⌊, 3) +SAX.characters( +&lfr +, 6) +SAX.characters(𝔩, 4) +SAX.characters( +&lg +, 5) +SAX.characters(≶, 3) +SAX.characters( +&lgE +, 6) +SAX.characters(⪑, 3) +SAX.characters( +&lhard +, 8) +SAX.characters(↽, 3) +SAX.characters( +&lharu +, 8) +SAX.characters(↼, 3) +SAX.characters( +&lharul +, 9) +SAX.characters(⥪, 3) +SAX.characters( +&lhblk +, 8) +SAX.characters(▄, 3) +SAX.characters( +&ljcy +, 7) +SAX.characters(љ, 2) +SAX.characters( +&ll +, 5) +SAX.characters(≪, 3) +SAX.characters( +&llarr +, 8) +SAX.characters(⇇, 3) +SAX.characters( +&llcorner +, 11) +SAX.characters(⌞, 3) +SAX.characters( +&llhard +, 9) +SAX.characters(⥫, 3) +SAX.characters( +&lltri +, 8) +SAX.characters(◺, 3) +SAX.characters( +&lmidot +, 9) +SAX.characters(ŀ, 2) +SAX.characters( +&lmoust +, 9) +SAX.characters(⎰, 3) +SAX.characters( +&lmoustache +, 13) +SAX.characters(⎰, 3) +SAX.characters( +&lnE +, 6) +SAX.characters(≨, 3) +SAX.characters( +&lnap +, 7) +SAX.characters(⪉, 3) +SAX.characters( +&lnapprox +, 11) +SAX.characters(⪉, 3) +SAX.characters( +&lne +, 6) +SAX.characters(⪇, 3) +SAX.characters( +&lneq +, 7) +SAX.characters(⪇, 3) +SAX.characters( +&lneqq +, 8) +SAX.characters(≨, 3) +SAX.characters( +&lnsim +, 8) +SAX.characters(⋦, 3) +SAX.characters( +&loang +, 8) +SAX.characters(⟬, 3) +SAX.characters( +&loarr +, 8) +SAX.characters(⇽, 3) +SAX.characters( +&lobrk +, 8) +SAX.characters(⟦, 3) +SAX.characters( +&longleftarrow +, 16) +SAX.characters(⟵, 3) +SAX.characters( +&longleftrightarrow +, 21) +SAX.characters(⟷, 3) +SAX.characters( +&longmapsto +, 13) +SAX.characters(⟼, 3) +SAX.characters( +&longrightarrow +, 17) +SAX.characters(⟶, 3) +SAX.characters( +&looparrowleft +, 16) +SAX.characters(↫, 3) +SAX.characters( +&looparrowright +, 17) +SAX.characters(↬, 3) +SAX.characters( +&lopar +, 8) +SAX.characters(⦅, 3) +SAX.characters( +&lopf +, 7) +SAX.characters(𝕝, 4) +SAX.characters( +&loplus +, 9) +SAX.characters(⨭, 3) +SAX.characters( +&lotimes +, 10) +SAX.characters(⨴, 3) +SAX.characters( +&lowast +, 9) +SAX.characters(∗, 3) +SAX.characters( +&lowbar +, 9) +SAX.characters(_, 1) +SAX.characters( +&loz +, 6) +SAX.characters(◊, 3) +SAX.characters( +&lozenge +, 10) +SAX.characters(◊, 3) +SAX.characters( +&lozf +, 7) +SAX.characters(⧫, 3) +SAX.characters( +&lpar +, 7) +SAX.characters((, 1) +SAX.characters( +&lparlt +, 9) +SAX.characters(⦓, 3) +SAX.characters( +&lrarr +, 8) +SAX.characters(⇆, 3) +SAX.characters( +&lrcorner +, 11) +SAX.characters(⌟, 3) +SAX.characters( +&lrhar +, 8) +SAX.characters(⇋, 3) +SAX.characters( +&lrhard +, 9) +SAX.characters(⥭, 3) +SAX.characters( +&lrm +, 6) +SAX.characters(‎, 3) +SAX.characters( +&lrtri +, 8) +SAX.characters(⊿, 3) +SAX.characters( +&lsaquo +, 9) +SAX.characters(‹, 3) +SAX.characters( +&lscr +, 7) +SAX.characters(𝓁, 4) +SAX.characters( +&lsh +, 6) +SAX.characters(↰, 3) +SAX.characters( +&lsim +, 7) +SAX.characters(≲, 3) +SAX.characters( +&lsime +, 8) +SAX.characters(⪍, 3) +SAX.characters( +&lsimg +, 8) +SAX.characters(⪏, 3) +SAX.characters( +&lsqb +, 7) +SAX.characters([, 1) +SAX.characters( +&lsquo +, 8) +SAX.characters(‘, 3) +SAX.characters( +&lsquor +, 9) +SAX.characters(‚, 3) +SAX.characters( +&lstrok +, 9) +SAX.characters(ł, 2) +SAX.characters( +, 1) +SAX.characters(<, 1) +SAX.characters( +, 1) +SAX.characters(<, 1) +SAX.characters( +, 1) +SAX.characters(<, 1) +SAX.characters(cc +, 3) +SAX.characters(⪦, 3) +SAX.characters( +, 1) +SAX.characters(<, 1) +SAX.characters(cir +, 4) +SAX.characters(⩹, 3) +SAX.characters( +, 1) +SAX.characters(<, 1) +SAX.characters(dot +, 4) +SAX.characters(⋖, 3) +SAX.characters( +, 1) +SAX.characters(<, 1) +SAX.characters(hree +, 5) +SAX.characters(⋋, 3) +SAX.characters( +, 1) +SAX.characters(<, 1) +SAX.characters(imes +, 5) +SAX.characters(⋉, 3) +SAX.characters( +, 1) +SAX.characters(<, 1) +SAX.characters(larr +, 5) +SAX.characters(⥶, 3) +SAX.characters( +, 1) +SAX.characters(<, 1) +SAX.characters(quest +, 6) +SAX.characters(⩻, 3) +SAX.characters( +, 1) +SAX.characters(<, 1) +SAX.characters(rPar +, 5) +SAX.characters(⦖, 3) +SAX.characters( +, 1) +SAX.characters(<, 1) +SAX.characters(ri +, 3) +SAX.characters(◃, 3) +SAX.characters( +, 1) +SAX.characters(<, 1) +SAX.characters(rie +, 4) +SAX.characters(⊴, 3) +SAX.characters( +, 1) +SAX.characters(<, 1) +SAX.characters(rif +, 4) +SAX.characters(◂, 3) +SAX.characters( +&lurdshar +, 11) +SAX.characters(⥊, 3) +SAX.characters( +&luruhar +, 10) +SAX.characters(⥦, 3) +SAX.characters( +&lvertneqq +, 12) +SAX.characters(≨︀, 6) +SAX.characters( +&lvnE +, 7) +SAX.characters(≨︀, 6) +SAX.characters( +&mDDot +, 8) +SAX.characters(∺, 3) +SAX.characters( +, 1) +SAX.characters(¯, 2) +SAX.characters( +, 1) +SAX.characters(¯, 2) +SAX.characters( +&male +, 7) +SAX.characters(♂, 3) +SAX.characters( +&malt +, 7) +SAX.characters(✠, 3) +SAX.characters( +&maltese +, 10) +SAX.characters(✠, 3) +SAX.characters( +&map +, 6) +SAX.characters(↦, 3) +SAX.characters( +&mapsto +, 9) +SAX.characters(↦, 3) +SAX.characters( +&mapstodown +, 13) +SAX.characters(↧, 3) +SAX.characters( +&mapstoleft +, 13) +SAX.characters(↤, 3) +SAX.characters( +&mapstoup +, 11) +SAX.characters(↥, 3) +SAX.characters( +&marker +, 9) +SAX.characters(▮, 3) +SAX.characters( +&mcomma +, 9) +SAX.characters(⨩, 3) +SAX.characters( +&mcy +, 6) +SAX.characters(м, 2) +SAX.characters( +&mdash +, 8) +SAX.characters(—, 3) +SAX.characters( +&measuredangle +, 16) +SAX.characters(∡, 3) +SAX.characters( +&mfr +, 6) +SAX.characters(𝔪, 4) +SAX.characters( +&mho +, 6) +SAX.characters(℧, 3) +SAX.characters( +, 1) +SAX.characters(µ, 2) +SAX.characters( +, 1) +SAX.characters(µ, 2) +SAX.characters( +&mid +, 6) +SAX.characters(∣, 3) +SAX.characters( +&midast +, 9) +SAX.characters(*, 1) +SAX.characters( +&midcir +, 9) +SAX.characters(⫰, 3) +SAX.characters( +, 1) +SAX.characters(·, 2) +SAX.characters( +, 1) +SAX.characters(·, 2) +SAX.characters( +&minus +, 8) +SAX.characters(−, 3) +SAX.characters( +&minusb +, 9) +SAX.characters(⊟, 3) +SAX.characters( +&minusd +, 9) +SAX.characters(∸, 3) +SAX.characters( +&minusdu +, 10) +SAX.characters(⨪, 3) +SAX.characters( +&mlcp +, 7) +SAX.characters(⫛, 3) +SAX.characters( +&mldr +, 7) +SAX.characters(…, 3) +SAX.characters( +&mnplus +, 9) +SAX.characters(∓, 3) +SAX.characters( +&models +, 9) +SAX.characters(⊧, 3) +SAX.characters( +&mopf +, 7) +SAX.characters(𝕞, 4) +SAX.characters( +&mp +, 5) +SAX.characters(∓, 3) +SAX.characters( +&mscr +, 7) +SAX.characters(𝓂, 4) +SAX.characters( +&mstpos +, 9) +SAX.characters(∾, 3) +SAX.characters( +&mu +, 5) +SAX.characters(μ, 2) +SAX.characters( +&multimap +, 11) +SAX.characters(⊸, 3) +SAX.characters( +&mumap +, 8) +SAX.characters(⊸, 3) +SAX.characters( +&nGg +, 6) +SAX.characters(⋙̸, 5) +SAX.characters( +&nGt +, 6) +SAX.characters(≫⃒, 6) +SAX.characters( +&nGtv +, 7) +SAX.characters(≫̸, 5) +SAX.characters( +&nLeftarrow +, 13) +SAX.characters(⇍, 3) +SAX.characters( +&nLeftrightarrow +, 18) +SAX.characters(⇎, 3) +SAX.characters( +&nLl +, 6) +SAX.characters(⋘̸, 5) +SAX.characters( +&nLt +, 6) +SAX.characters(≪⃒, 6) +SAX.characters( +&nLtv +, 7) +SAX.characters(≪̸, 5) +SAX.characters( +&nRightarrow +, 14) +SAX.characters(⇏, 3) +SAX.characters( +&nVDash +, 9) +SAX.characters(⊯, 3) +SAX.characters( +&nVdash +, 9) +SAX.characters(⊮, 3) +SAX.characters( +&nabla +, 8) +SAX.characters(∇, 3) +SAX.characters( +&nacute +, 9) +SAX.characters(ń, 2) +SAX.characters( +&nang +, 7) +SAX.characters(∠⃒, 6) +SAX.characters( +&nap +, 6) +SAX.characters(≉, 3) +SAX.characters( +&napE +, 7) +SAX.characters(⩰̸, 5) +SAX.characters( +&napid +, 8) +SAX.characters(≋̸, 5) +SAX.characters( +&napos +, 8) +SAX.characters(ʼn, 2) +SAX.characters( +&napprox +, 10) +SAX.characters(≉, 3) +SAX.characters( +&natur +, 8) +SAX.characters(♮, 3) +SAX.characters( +&natural +, 10) +SAX.characters(♮, 3) +SAX.characters( +&naturals +, 11) +SAX.characters(ℕ, 3) +SAX.characters( +, 1) +SAX.characters( , 2) +SAX.characters( +, 1) +SAX.characters( , 2) +SAX.characters( +&nbump +, 8) +SAX.characters(≎̸, 5) +SAX.characters( +&nbumpe +, 9) +SAX.characters(≏̸, 5) +SAX.characters( +&ncap +, 7) +SAX.characters(⩃, 3) +SAX.characters( +&ncaron +, 9) +SAX.characters(ň, 2) +SAX.characters( +&ncedil +, 9) +SAX.characters(ņ, 2) +SAX.characters( +&ncong +, 8) +SAX.characters(≇, 3) +SAX.characters( +&ncongdot +, 11) +SAX.characters(⩭̸, 5) +SAX.characters( +&ncup +, 7) +SAX.characters(⩂, 3) +SAX.characters( +&ncy +, 6) +SAX.characters(н, 2) +SAX.characters( +&ndash +, 8) +SAX.characters(–, 3) +SAX.characters( +&ne +, 5) +SAX.characters(≠, 3) +SAX.characters( +&neArr +, 8) +SAX.characters(⇗, 3) +SAX.characters( +&nearhk +, 9) +SAX.characters(⤤, 3) +SAX.characters( +&nearr +, 8) +SAX.characters(↗, 3) +SAX.characters( +&nearrow +, 10) +SAX.characters(↗, 3) +SAX.characters( +&nedot +, 8) +SAX.characters(≐̸, 5) +SAX.characters( +&nequiv +, 9) +SAX.characters(≢, 3) +SAX.characters( +&nesear +, 9) +SAX.characters(⤨, 3) +SAX.characters( +&nesim +, 8) +SAX.characters(≂̸, 5) +SAX.characters( +&nexist +, 9) +SAX.characters(∄, 3) +SAX.characters( +&nexists +, 10) +SAX.characters(∄, 3) +SAX.characters( +&nfr +, 6) +SAX.characters(𝔫, 4) +SAX.characters( +&ngE +, 6) +SAX.characters(≧̸, 5) +SAX.characters( +&nge +, 6) +SAX.characters(≱, 3) +SAX.characters( +&ngeq +, 7) +SAX.characters(≱, 3) +SAX.characters( +&ngeqq +, 8) +SAX.characters(≧̸, 5) +SAX.characters( +&ngeqslant +, 12) +SAX.characters(⩾̸, 5) +SAX.characters( +&nges +, 7) +SAX.characters(⩾̸, 5) +SAX.characters( +&ngsim +, 8) +SAX.characters(≵, 3) +SAX.characters( +&ngt +, 6) +SAX.characters(≯, 3) +SAX.characters( +&ngtr +, 7) +SAX.characters(≯, 3) +SAX.characters( +&nhArr +, 8) +SAX.characters(⇎, 3) +SAX.characters( +&nharr +, 8) +SAX.characters(↮, 3) +SAX.characters( +&nhpar +, 8) +SAX.characters(⫲, 3) +SAX.characters( +&ni +, 5) +SAX.characters(∋, 3) +SAX.characters( +&nis +, 6) +SAX.characters(⋼, 3) +SAX.characters( +&nisd +, 7) +SAX.characters(⋺, 3) +SAX.characters( +&niv +, 6) +SAX.characters(∋, 3) +SAX.characters( +&njcy +, 7) +SAX.characters(њ, 2) +SAX.characters( +&nlArr +, 8) +SAX.characters(⇍, 3) +SAX.characters( +&nlE +, 6) +SAX.characters(≦̸, 5) +SAX.characters( +&nlarr +, 8) +SAX.characters(↚, 3) +SAX.characters( +&nldr +, 7) +SAX.characters(‥, 3) +SAX.characters( +&nle +, 6) +SAX.characters(≰, 3) +SAX.characters( +&nleftarrow +, 13) +SAX.characters(↚, 3) +SAX.characters( +&nleftrightarrow +, 18) +SAX.characters(↮, 3) +SAX.characters( +&nleq +, 7) +SAX.characters(≰, 3) +SAX.characters( +&nleqq +, 8) +SAX.characters(≦̸, 5) +SAX.characters( +&nleqslant +, 12) +SAX.characters(⩽̸, 5) +SAX.characters( +&nles +, 7) +SAX.characters(⩽̸, 5) +SAX.characters( +&nless +, 8) +SAX.characters(≮, 3) +SAX.characters( +&nlsim +, 8) +SAX.characters(≴, 3) +SAX.characters( +&nlt +, 6) +SAX.characters(≮, 3) +SAX.characters( +&nltri +, 8) +SAX.characters(⋪, 3) +SAX.characters( +&nltrie +, 9) +SAX.characters(⋬, 3) +SAX.characters( +&nmid +, 7) +SAX.characters(∤, 3) +SAX.characters( +&nopf +, 7) +SAX.characters(𝕟, 4) +SAX.characters( +, 1) +SAX.characters(¬, 2) +SAX.characters( +, 1) +SAX.characters(¬, 2) +SAX.characters( +, 1) +SAX.characters(¬, 2) +SAX.characters(in +, 3) +SAX.characters(∉, 3) +SAX.characters( +, 1) +SAX.characters(¬, 2) +SAX.characters(inE +, 4) +SAX.characters(⋹̸, 5) +SAX.characters( +, 1) +SAX.characters(¬, 2) +SAX.characters(indot +, 6) +SAX.characters(⋵̸, 5) +SAX.characters( +, 1) +SAX.characters(¬, 2) +SAX.characters(inva +, 5) +SAX.characters(∉, 3) +SAX.characters( +, 1) +SAX.characters(¬, 2) +SAX.characters(invb +, 5) +SAX.characters(⋷, 3) +SAX.characters( +, 1) +SAX.characters(¬, 2) +SAX.characters(invc +, 5) +SAX.characters(⋶, 3) +SAX.characters( +, 1) +SAX.characters(¬, 2) +SAX.characters(ni +, 3) +SAX.characters(∌, 3) +SAX.characters( +, 1) +SAX.characters(¬, 2) +SAX.characters(niva +, 5) +SAX.characters(∌, 3) +SAX.characters( +, 1) +SAX.characters(¬, 2) +SAX.characters(nivb +, 5) +SAX.characters(⋾, 3) +SAX.characters( +, 1) +SAX.characters(¬, 2) +SAX.characters(nivc +, 5) +SAX.characters(⋽, 3) +SAX.characters( +&npar +, 7) +SAX.characters(∦, 3) +SAX.characters( +&nparallel +, 12) +SAX.characters(∦, 3) +SAX.characters( +&nparsl +, 9) +SAX.characters(⫽⃥, 6) +SAX.characters( +&npart +, 8) +SAX.characters(∂̸, 5) +SAX.characters( +&npolint +, 10) +SAX.characters(⨔, 3) +SAX.characters( +&npr +, 6) +SAX.characters(⊀, 3) +SAX.characters( +&nprcue +, 9) +SAX.characters(⋠, 3) +SAX.characters( +&npre +, 7) +SAX.characters(⪯̸, 5) +SAX.characters( +&nprec +, 8) +SAX.characters(⊀, 3) +SAX.characters( +&npreceq +, 10) +SAX.characters(⪯̸, 5) +SAX.characters( +&nrArr +, 8) +SAX.characters(⇏, 3) +SAX.characters( +&nrarr +, 8) +SAX.characters(↛, 3) +SAX.characters( +&nrarrc +, 9) +SAX.characters(⤳̸, 5) +SAX.characters( +&nrarrw +, 9) +SAX.characters(↝̸, 5) +SAX.characters( +&nrightarrow +, 14) +SAX.characters(↛, 3) +SAX.characters( +&nrtri +, 8) +SAX.characters(⋫, 3) +SAX.characters( +&nrtrie +, 9) +SAX.characters(⋭, 3) +SAX.characters( +&nsc +, 6) +SAX.characters(⊁, 3) +SAX.characters( +&nsccue +, 9) +SAX.characters(⋡, 3) +SAX.characters( +&nsce +, 7) +SAX.characters(⪰̸, 5) +SAX.characters( +&nscr +, 7) +SAX.characters(𝓃, 4) +SAX.characters( +&nshortmid +, 12) +SAX.characters(∤, 3) +SAX.characters( +&nshortparallel +, 17) +SAX.characters(∦, 3) +SAX.characters( +&nsim +, 7) +SAX.characters(≁, 3) +SAX.characters( +&nsime +, 8) +SAX.characters(≄, 3) +SAX.characters( +&nsimeq +, 9) +SAX.characters(≄, 3) +SAX.characters( +&nsmid +, 8) +SAX.characters(∤, 3) +SAX.characters( +&nspar +, 8) +SAX.characters(∦, 3) +SAX.characters( +&nsqsube +, 10) +SAX.characters(⋢, 3) +SAX.characters( +&nsqsupe +, 10) +SAX.characters(⋣, 3) +SAX.characters( +&nsub +, 7) +SAX.characters(⊄, 3) +SAX.characters( +&nsubE +, 8) +SAX.characters(⫅̸, 5) +SAX.characters( +&nsube +, 8) +SAX.characters(⊈, 3) +SAX.characters( +&nsubset +, 10) +SAX.characters(⊂⃒, 6) +SAX.characters( +&nsubseteq +, 12) +SAX.characters(⊈, 3) +SAX.characters( +&nsubseteqq +, 13) +SAX.characters(⫅̸, 5) +SAX.characters( +&nsucc +, 8) +SAX.characters(⊁, 3) +SAX.characters( +&nsucceq +, 10) +SAX.characters(⪰̸, 5) +SAX.characters( +&nsup +, 7) +SAX.characters(⊅, 3) +SAX.characters( +&nsupE +, 8) +SAX.characters(⫆̸, 5) +SAX.characters( +&nsupe +, 8) +SAX.characters(⊉, 3) +SAX.characters( +&nsupset +, 10) +SAX.characters(⊃⃒, 6) +SAX.characters( +&nsupseteq +, 12) +SAX.characters(⊉, 3) +SAX.characters( +&nsupseteqq +, 13) +SAX.characters(⫆̸, 5) +SAX.characters( +&ntgl +, 7) +SAX.characters(≹, 3) +SAX.characters( +, 1) +SAX.characters(ñ, 2) +SAX.characters( +, 1) +SAX.characters(ñ, 2) +SAX.characters( +&ntlg +, 7) +SAX.characters(≸, 3) +SAX.characters( +&ntriangleleft +, 16) +SAX.characters(⋪, 3) +SAX.characters( +&ntrianglelefteq +, 18) +SAX.characters(⋬, 3) +SAX.characters( +&ntriangleright +, 17) +SAX.characters(⋫, 3) +SAX.characters( +&ntrianglerighteq +, 19) +SAX.characters(⋭, 3) +SAX.characters( +&nu +, 5) +SAX.characters(ν, 2) +SAX.characters( +&num +, 6) +SAX.characters(#, 1) +SAX.characters( +&numero +, 9) +SAX.characters(№, 3) +SAX.characters( +&numsp +, 8) +SAX.characters( , 3) +SAX.characters( +&nvDash +, 9) +SAX.characters(⊭, 3) +SAX.characters( +&nvHarr +, 9) +SAX.characters(⤄, 3) +SAX.characters( +&nvap +, 7) +SAX.characters(≍⃒, 6) +SAX.characters( +&nvdash +, 9) +SAX.characters(⊬, 3) +SAX.characters( +&nvge +, 7) +SAX.characters(≥⃒, 6) +SAX.characters( +&nvgt +, 7) +SAX.characters(>⃒, 4) +SAX.characters( +&nvinfin +, 10) +SAX.characters(⧞, 3) +SAX.characters( +&nvlArr +, 9) +SAX.characters(⤂, 3) +SAX.characters( +&nvle +, 7) +SAX.characters(≤⃒, 6) +SAX.characters( +&nvlt +, 7) +SAX.characters(<⃒, 4) +SAX.characters( +&nvltrie +, 10) +SAX.characters(⊴⃒, 6) +SAX.characters( +&nvrArr +, 9) +SAX.characters(⤃, 3) +SAX.characters( +&nvrtrie +, 10) +SAX.characters(⊵⃒, 6) +SAX.characters( +&nvsim +, 8) +SAX.characters(∼⃒, 6) +SAX.characters( +&nwArr +, 8) +SAX.characters(⇖, 3) +SAX.characters( +&nwarhk +, 9) +SAX.characters(⤣, 3) +SAX.characters( +&nwarr +, 8) +SAX.characters(↖, 3) +SAX.characters( +&nwarrow +, 10) +SAX.characters(↖, 3) +SAX.characters( +&nwnear +, 9) +SAX.characters(⤧, 3) +SAX.characters( +&oS +, 5) +SAX.characters(Ⓢ, 3) +SAX.characters( +, 1) +SAX.characters(ó, 2) +SAX.characters( +, 1) +SAX.characters(ó, 2) +SAX.characters( +&oast +, 7) +SAX.characters(⊛, 3) +SAX.characters( +&ocir +, 7) +SAX.characters(⊚, 3) +SAX.characters( +, 1) +SAX.characters(ô, 2) +SAX.characters( +, 1) +SAX.characters(ô, 2) +SAX.characters( +&ocy +, 6) +SAX.characters(о, 2) +SAX.characters( +&odash +, 8) +SAX.characters(⊝, 3) +SAX.characters( +&odblac +, 9) +SAX.characters(ő, 2) +SAX.characters( +&odiv +, 7) +SAX.characters(⨸, 3) +SAX.characters( +&odot +, 7) +SAX.characters(⊙, 3) +SAX.characters( +&odsold +, 9) +SAX.characters(⦼, 3) +SAX.characters( +&oelig +, 8) +SAX.characters(œ, 2) +SAX.characters( +&ofcir +, 8) +SAX.characters(⦿, 3) +SAX.characters( +&ofr +, 6) +SAX.characters(𝔬, 4) +SAX.characters( +&ogon +, 7) +SAX.characters(˛, 2) +SAX.characters( +, 1) +SAX.characters(ò, 2) +SAX.characters( +, 1) +SAX.characters(ò, 2) +SAX.characters( +&ogt +, 6) +SAX.characters(⧁, 3) +SAX.characters( +&ohbar +, 8) +SAX.characters(⦵, 3) +SAX.characters( +&ohm +, 6) +SAX.characters(Ω, 2) +SAX.characters( +&oint +, 7) +SAX.characters(∮, 3) +SAX.characters( +&olarr +, 8) +SAX.characters(↺, 3) +SAX.characters( +&olcir +, 8) +SAX.characters(⦾, 3) +SAX.characters( +&olcross +, 10) +SAX.characters(⦻, 3) +SAX.characters( +&oline +, 8) +SAX.characters(‾, 3) +SAX.characters( +&olt +, 6) +SAX.characters(⧀, 3) +SAX.characters( +&omacr +, 8) +SAX.characters(ō, 2) +SAX.characters( +&omega +, 8) +SAX.characters(ω, 2) +SAX.characters( +&omicron +, 10) +SAX.characters(ο, 2) +SAX.characters( +&omid +, 7) +SAX.characters(⦶, 3) +SAX.characters( +&ominus +, 9) +SAX.characters(⊖, 3) +SAX.characters( +&oopf +, 7) +SAX.characters(𝕠, 4) +SAX.characters( +&opar +, 7) +SAX.characters(⦷, 3) +SAX.characters( +&operp +, 8) +SAX.characters(⦹, 3) +SAX.characters( +&oplus +, 8) +SAX.characters(⊕, 3) +SAX.characters( +&or +, 5) +SAX.characters(∨, 3) +SAX.characters( +&orarr +, 8) +SAX.characters(↻, 3) +SAX.characters( +&ord +, 6) +SAX.characters(⩝, 3) +SAX.characters( +&order +, 8) +SAX.characters(ℴ, 3) +SAX.characters( +&orderof +, 10) +SAX.characters(ℴ, 3) +SAX.characters( +, 1) +SAX.characters(ª, 2) +SAX.characters( +, 1) +SAX.characters(ª, 2) +SAX.characters( +, 1) +SAX.characters(º, 2) +SAX.characters( +, 1) +SAX.characters(º, 2) +SAX.characters( +&origof +, 9) +SAX.characters(⊶, 3) +SAX.characters( +&oror +, 7) +SAX.characters(⩖, 3) +SAX.characters( +&orslope +, 10) +SAX.characters(⩗, 3) +SAX.characters( +&orv +, 6) +SAX.characters(⩛, 3) +SAX.characters( +&oscr +, 7) +SAX.characters(ℴ, 3) +SAX.characters( +, 1) +SAX.characters(ø, 2) +SAX.characters( +, 1) +SAX.characters(ø, 2) +SAX.characters( +&osol +, 7) +SAX.characters(⊘, 3) +SAX.characters( +, 1) +SAX.characters(õ, 2) +SAX.characters( +, 1) +SAX.characters(õ, 2) +SAX.characters( +&otimes +, 9) +SAX.characters(⊗, 3) +SAX.characters( +&otimesas +, 11) +SAX.characters(⨶, 3) +SAX.characters( +, 1) +SAX.characters(ö, 2) +SAX.characters( +, 1) +SAX.characters(ö, 2) +SAX.characters( +&ovbar +, 8) +SAX.characters(⌽, 3) +SAX.characters( +&par +, 6) +SAX.characters(∥, 3) +SAX.characters( +, 1) +SAX.characters(¶, 2) +SAX.characters( +, 1) +SAX.characters(¶, 2) +SAX.characters( +, 1) +SAX.characters(¶, 2) +SAX.characters(llel +, 5) +SAX.characters(∥, 3) +SAX.characters( +&parsim +, 9) +SAX.characters(⫳, 3) +SAX.characters( +&parsl +, 8) +SAX.characters(⫽, 3) +SAX.characters( +&part +, 7) +SAX.characters(∂, 3) +SAX.characters( +&pcy +, 6) +SAX.characters(п, 2) +SAX.characters( +&percnt +, 9) +SAX.characters(%, 1) +SAX.characters( +&period +, 9) +SAX.characters(., 1) +SAX.characters( +&permil +, 9) +SAX.characters(‰, 3) +SAX.characters( +&perp +, 7) +SAX.characters(⊥, 3) +SAX.characters( +&pertenk +, 10) +SAX.characters(‱, 3) +SAX.characters( +&pfr +, 6) +SAX.characters(𝔭, 4) +SAX.characters( +&phi +, 6) +SAX.characters(φ, 2) +SAX.characters( +&phiv +, 7) +SAX.characters(ϕ, 2) +SAX.characters( +&phmmat +, 9) +SAX.characters(ℳ, 3) +SAX.characters( +&phone +, 8) +SAX.characters(☎, 3) +SAX.characters( +&pi +, 5) +SAX.characters(π, 2) +SAX.characters( +&pitchfork +, 12) +SAX.characters(⋔, 3) +SAX.characters( +&piv +, 6) +SAX.characters(ϖ, 2) +SAX.characters( +&planck +, 9) +SAX.characters(ℏ, 3) +SAX.characters( +&planckh +, 10) +SAX.characters(ℎ, 3) +SAX.characters( +&plankv +, 9) +SAX.characters(ℏ, 3) +SAX.characters( +&plus +, 7) +SAX.characters(+, 1) +SAX.characters( +&plusacir +, 11) +SAX.characters(⨣, 3) +SAX.characters( +&plusb +, 8) +SAX.characters(⊞, 3) +SAX.characters( +&pluscir +, 10) +SAX.characters(⨢, 3) +SAX.characters( +&plusdo +, 9) +SAX.characters(∔, 3) +SAX.characters( +&plusdu +, 9) +SAX.characters(⨥, 3) +SAX.characters( +&pluse +, 8) +SAX.characters(⩲, 3) +SAX.characters( +, 1) +SAX.characters(±, 2) +SAX.characters( +, 1) +SAX.characters(±, 2) +SAX.characters( +&plussim +, 10) +SAX.characters(⨦, 3) +SAX.characters( +&plustwo +, 10) +SAX.characters(⨧, 3) +SAX.characters( +&pm +, 5) +SAX.characters(±, 2) +SAX.characters( +&pointint +, 11) +SAX.characters(⨕, 3) +SAX.characters( +&popf +, 7) +SAX.characters(𝕡, 4) +SAX.characters( +, 1) +SAX.characters(£, 2) +SAX.characters( +, 1) +SAX.characters(£, 2) +SAX.characters( +&pr +, 5) +SAX.characters(≺, 3) +SAX.characters( +&prE +, 6) +SAX.characters(⪳, 3) +SAX.characters( +&prap +, 7) +SAX.characters(⪷, 3) +SAX.characters( +&prcue +, 8) +SAX.characters(≼, 3) +SAX.characters( +&pre +, 6) +SAX.characters(⪯, 3) +SAX.characters( +&prec +, 7) +SAX.characters(≺, 3) +SAX.characters( +&precapprox +, 13) +SAX.characters(⪷, 3) +SAX.characters( +&preccurlyeq +, 14) +SAX.characters(≼, 3) +SAX.characters( +&preceq +, 9) +SAX.characters(⪯, 3) +SAX.characters( +&precnapprox +, 14) +SAX.characters(⪹, 3) +SAX.characters( +&precneqq +, 11) +SAX.characters(⪵, 3) +SAX.characters( +&precnsim +, 11) +SAX.characters(⋨, 3) +SAX.characters( +&precsim +, 10) +SAX.characters(≾, 3) +SAX.characters( +&prime +, 8) +SAX.characters(′, 3) +SAX.characters( +&primes +, 9) +SAX.characters(ℙ, 3) +SAX.characters( +&prnE +, 7) +SAX.characters(⪵, 3) +SAX.characters( +&prnap +, 8) +SAX.characters(⪹, 3) +SAX.characters( +&prnsim +, 9) +SAX.characters(⋨, 3) +SAX.characters( +&prod +, 7) +SAX.characters(∏, 3) +SAX.characters( +&profalar +, 11) +SAX.characters(⌮, 3) +SAX.characters( +&profline +, 11) +SAX.characters(⌒, 3) +SAX.characters( +&profsurf +, 11) +SAX.characters(⌓, 3) +SAX.characters( +&prop +, 7) +SAX.characters(∝, 3) +SAX.characters( +&propto +, 9) +SAX.characters(∝, 3) +SAX.characters( +&prsim +, 8) +SAX.characters(≾, 3) +SAX.characters( +&prurel +, 9) +SAX.characters(⊰, 3) +SAX.characters( +&pscr +, 7) +SAX.characters(𝓅, 4) +SAX.characters( +&psi +, 6) +SAX.characters(ψ, 2) +SAX.characters( +&puncsp +, 9) +SAX.characters( , 3) +SAX.characters( +&qfr +, 6) +SAX.characters(𝔮, 4) +SAX.characters( +&qint +, 7) +SAX.characters(⨌, 3) +SAX.characters( +&qopf +, 7) +SAX.characters(𝕢, 4) +SAX.characters( +&qprime +, 9) +SAX.characters(⁗, 3) +SAX.characters( +&qscr +, 7) +SAX.characters(𝓆, 4) +SAX.characters( +&quaternions +, 14) +SAX.characters(ℍ, 3) +SAX.characters( +&quatint +, 10) +SAX.characters(⨖, 3) +SAX.characters( +&quest +, 8) +SAX.characters(?, 1) +SAX.characters( +&questeq +, 10) +SAX.characters(≟, 3) +SAX.characters( +, 1) +SAX.characters(", 1) +SAX.characters( +, 1) +SAX.characters(", 1) +SAX.characters( +&rAarr +, 8) +SAX.characters(⇛, 3) +SAX.characters( +&rArr +, 7) +SAX.characters(⇒, 3) +SAX.characters( +&rAtail +, 9) +SAX.characters(⤜, 3) +SAX.characters( +&rBarr +, 8) +SAX.characters(⤏, 3) +SAX.characters( +&rHar +, 7) +SAX.characters(⥤, 3) +SAX.characters( +&race +, 7) +SAX.characters(∽̱, 5) +SAX.characters( +&racute +, 9) +SAX.characters(ŕ, 2) +SAX.characters( +&radic +, 8) +SAX.characters(√, 3) +SAX.characters( +&raemptyv +, 11) +SAX.characters(⦳, 3) +SAX.characters( +&rang +, 7) +SAX.characters(⟩, 3) +SAX.characters( +&rangd +, 8) +SAX.characters(⦒, 3) +SAX.characters( +&range +, 8) +SAX.characters(⦥, 3) +SAX.characters( +&rangle +, 9) +SAX.characters(⟩, 3) +SAX.characters( +, 1) +SAX.characters(», 2) +SAX.characters( +, 1) +SAX.characters(», 2) +SAX.characters( +&rarr +, 7) +SAX.characters(→, 3) +SAX.characters( +&rarrap +, 9) +SAX.characters(⥵, 3) +SAX.characters( +&rarrb +, 8) +SAX.characters(⇥, 3) +SAX.characters( +&rarrbfs +, 10) +SAX.characters(⤠, 3) +SAX.characters( +&rarrc +, 8) +SAX.characters(⤳, 3) +SAX.characters( +&rarrfs +, 9) +SAX.characters(⤞, 3) +SAX.characters( +&rarrhk +, 9) +SAX.characters(↪, 3) +SAX.characters( +&rarrlp +, 9) +SAX.characters(↬, 3) +SAX.characters( +&rarrpl +, 9) +SAX.characters(⥅, 3) +SAX.characters( +&rarrsim +, 10) +SAX.characters(⥴, 3) +SAX.characters( +&rarrtl +, 9) +SAX.characters(↣, 3) +SAX.characters( +&rarrw +, 8) +SAX.characters(↝, 3) +SAX.characters( +&ratail +, 9) +SAX.characters(⤚, 3) +SAX.characters( +&ratio +, 8) +SAX.characters(∶, 3) +SAX.characters( +&rationals +, 12) +SAX.characters(ℚ, 3) +SAX.characters( +&rbarr +, 8) +SAX.characters(⤍, 3) +SAX.characters( +&rbbrk +, 8) +SAX.characters(❳, 3) +SAX.characters( +&rbrace +, 9) +SAX.characters(}, 1) +SAX.characters( +&rbrack +, 9) +SAX.characters(], 1) +SAX.characters( +&rbrke +, 8) +SAX.characters(⦌, 3) +SAX.characters( +&rbrksld +, 10) +SAX.characters(⦎, 3) +SAX.characters( +&rbrkslu +, 10) +SAX.characters(⦐, 3) +SAX.characters( +&rcaron +, 9) +SAX.characters(ř, 2) +SAX.characters( +&rcedil +, 9) +SAX.characters(ŗ, 2) +SAX.characters( +&rceil +, 8) +SAX.characters(⌉, 3) +SAX.characters( +&rcub +, 7) +SAX.characters(}, 1) +SAX.characters( +&rcy +, 6) +SAX.characters(р, 2) +SAX.characters( +&rdca +, 7) +SAX.characters(⤷, 3) +SAX.characters( +&rdldhar +, 10) +SAX.characters(⥩, 3) +SAX.characters( +&rdquo +, 8) +SAX.characters(”, 3) +SAX.characters( +&rdquor +, 9) +SAX.characters(”, 3) +SAX.characters( +&rdsh +, 7) +SAX.characters(↳, 3) +SAX.characters( +&real +, 7) +SAX.characters(ℜ, 3) +SAX.characters( +&realine +, 10) +SAX.characters(ℛ, 3) +SAX.characters( +&realpart +, 11) +SAX.characters(ℜ, 3) +SAX.characters( +&reals +, 8) +SAX.characters(ℝ, 3) +SAX.characters( +&rect +, 7) +SAX.characters(▭, 3) +SAX.characters( +, 1) +SAX.characters(®, 2) +SAX.characters( +, 1) +SAX.characters(®, 2) +SAX.characters( +&rfisht +, 9) +SAX.characters(⥽, 3) +SAX.characters( +&rfloor +, 9) +SAX.characters(⌋, 3) +SAX.characters( +&rfr +, 6) +SAX.characters(𝔯, 4) +SAX.characters( +&rhard +, 8) +SAX.characters(⇁, 3) +SAX.characters( +&rharu +, 8) +SAX.characters(⇀, 3) +SAX.characters( +&rharul +, 9) +SAX.characters(⥬, 3) +SAX.characters( +&rho +, 6) +SAX.characters(ρ, 2) +SAX.characters( +&rhov +, 7) +SAX.characters(ϱ, 2) +SAX.characters( +&rightarrow +, 13) +SAX.characters(→, 3) +SAX.characters( +&rightarrowtail +, 17) +SAX.characters(↣, 3) +SAX.characters( +&rightharpoondown +, 19) +SAX.characters(⇁, 3) +SAX.characters( +&rightharpoonup +, 17) +SAX.characters(⇀, 3) +SAX.characters( +&rightleftarrows +, 18) +SAX.characters(⇄, 3) +SAX.characters( +&rightleftharpoons +, 20) +SAX.characters(⇌, 3) +SAX.characters( +&rightrightarrows +, 19) +SAX.characters(⇉, 3) +SAX.characters( +&rightsquigarrow +, 18) +SAX.characters(↝, 3) +SAX.characters( +&rightthreetimes +, 18) +SAX.characters(⋌, 3) +SAX.characters( +&ring +, 7) +SAX.characters(˚, 2) +SAX.characters( +&risingdotseq +, 15) +SAX.characters(≓, 3) +SAX.characters( +&rlarr +, 8) +SAX.characters(⇄, 3) +SAX.characters( +&rlhar +, 8) +SAX.characters(⇌, 3) +SAX.characters( +&rlm +, 6) +SAX.characters(‏, 3) +SAX.characters( +&rmoust +, 9) +SAX.characters(⎱, 3) +SAX.characters( +&rmoustache +, 13) +SAX.characters(⎱, 3) +SAX.characters( +&rnmid +, 8) +SAX.characters(⫮, 3) +SAX.characters( +&roang +, 8) +SAX.characters(⟭, 3) +SAX.characters( +&roarr +, 8) +SAX.characters(⇾, 3) +SAX.characters( +&robrk +, 8) +SAX.characters(⟧, 3) +SAX.characters( +&ropar +, 8) +SAX.characters(⦆, 3) +SAX.characters( +&ropf +, 7) +SAX.characters(𝕣, 4) +SAX.characters( +&roplus +, 9) +SAX.characters(⨮, 3) +SAX.characters( +&rotimes +, 10) +SAX.characters(⨵, 3) +SAX.characters( +&rpar +, 7) +SAX.characters(), 1) +SAX.characters( +&rpargt +, 9) +SAX.characters(⦔, 3) +SAX.characters( +&rppolint +, 11) +SAX.characters(⨒, 3) +SAX.characters( +&rrarr +, 8) +SAX.characters(⇉, 3) +SAX.characters( +&rsaquo +, 9) +SAX.characters(›, 3) +SAX.characters( +&rscr +, 7) +SAX.characters(𝓇, 4) +SAX.characters( +&rsh +, 6) +SAX.characters(↱, 3) +SAX.characters( +&rsqb +, 7) +SAX.characters(], 1) +SAX.characters( +&rsquo +, 8) +SAX.characters(’, 3) +SAX.characters( +&rsquor +, 9) +SAX.characters(’, 3) +SAX.characters( +&rthree +, 9) +SAX.characters(⋌, 3) +SAX.characters( +&rtimes +, 9) +SAX.characters(⋊, 3) +SAX.characters( +&rtri +, 7) +SAX.characters(▹, 3) +SAX.characters( +&rtrie +, 8) +SAX.characters(⊵, 3) +SAX.characters( +&rtrif +, 8) +SAX.characters(▸, 3) +SAX.characters( +&rtriltri +, 11) +SAX.characters(⧎, 3) +SAX.characters( +&ruluhar +, 10) +SAX.characters(⥨, 3) +SAX.characters( +&rx +, 5) +SAX.characters(℞, 3) +SAX.characters( +&sacute +, 9) +SAX.characters(ś, 2) +SAX.characters( +&sbquo +, 8) +SAX.characters(‚, 3) +SAX.characters( +&sc +, 5) +SAX.characters(≻, 3) +SAX.characters( +&scE +, 6) +SAX.characters(⪴, 3) +SAX.characters( +&scap +, 7) +SAX.characters(⪸, 3) +SAX.characters( +&scaron +, 9) +SAX.characters(š, 2) +SAX.characters( +&sccue +, 8) +SAX.characters(≽, 3) +SAX.characters( +&sce +, 6) +SAX.characters(⪰, 3) +SAX.characters( +&scedil +, 9) +SAX.characters(ş, 2) +SAX.characters( +&scirc +, 8) +SAX.characters(ŝ, 2) +SAX.characters( +&scnE +, 7) +SAX.characters(⪶, 3) +SAX.characters( +&scnap +, 8) +SAX.characters(⪺, 3) +SAX.characters( +&scnsim +, 9) +SAX.characters(⋩, 3) +SAX.characters( +&scpolint +, 11) +SAX.characters(⨓, 3) +SAX.characters( +&scsim +, 8) +SAX.characters(≿, 3) +SAX.characters( +&scy +, 6) +SAX.characters(с, 2) +SAX.characters( +&sdot +, 7) +SAX.characters(⋅, 3) +SAX.characters( +&sdotb +, 8) +SAX.characters(⊡, 3) +SAX.characters( +&sdote +, 8) +SAX.characters(⩦, 3) +SAX.characters( +&seArr +, 8) +SAX.characters(⇘, 3) +SAX.characters( +&searhk +, 9) +SAX.characters(⤥, 3) +SAX.characters( +&searr +, 8) +SAX.characters(↘, 3) +SAX.characters( +&searrow +, 10) +SAX.characters(↘, 3) +SAX.characters( +, 1) +SAX.characters(§, 2) +SAX.characters( +, 1) +SAX.characters(§, 2) +SAX.characters( +&semi +, 7) +SAX.characters(;, 1) +SAX.characters( +&seswar +, 9) +SAX.characters(⤩, 3) +SAX.characters( +&setminus +, 11) +SAX.characters(∖, 3) +SAX.characters( +&setmn +, 8) +SAX.characters(∖, 3) +SAX.characters( +&sext +, 7) +SAX.characters(✶, 3) +SAX.characters( +&sfr +, 6) +SAX.characters(𝔰, 4) +SAX.characters( +&sfrown +, 9) +SAX.characters(⌢, 3) +SAX.characters( +&sharp +, 8) +SAX.characters(♯, 3) +SAX.characters( +&shchcy +, 9) +SAX.characters(щ, 2) +SAX.characters( +&shcy +, 7) +SAX.characters(ш, 2) +SAX.characters( +&shortmid +, 11) +SAX.characters(∣, 3) +SAX.characters( +&shortparallel +, 16) +SAX.characters(∥, 3) +SAX.characters( +, 1) +SAX.characters(­, 2) +SAX.characters( +, 1) +SAX.characters(­, 2) +SAX.characters( +&sigma +, 8) +SAX.characters(σ, 2) +SAX.characters( +&sigmaf +, 9) +SAX.characters(ς, 2) +SAX.characters( +&sigmav +, 9) +SAX.characters(ς, 2) +SAX.characters( +&sim +, 6) +SAX.characters(∼, 3) +SAX.characters( +&simdot +, 9) +SAX.characters(⩪, 3) +SAX.characters( +&sime +, 7) +SAX.characters(≃, 3) +SAX.characters( +&simeq +, 8) +SAX.characters(≃, 3) +SAX.characters( +&simg +, 7) +SAX.characters(⪞, 3) +SAX.characters( +&simgE +, 8) +SAX.characters(⪠, 3) +SAX.characters( +&siml +, 7) +SAX.characters(⪝, 3) +SAX.characters( +&simlE +, 8) +SAX.characters(⪟, 3) +SAX.characters( +&simne +, 8) +SAX.characters(≆, 3) +SAX.characters( +&simplus +, 10) +SAX.characters(⨤, 3) +SAX.characters( +&simrarr +, 10) +SAX.characters(⥲, 3) +SAX.characters( +&slarr +, 8) +SAX.characters(←, 3) +SAX.characters( +&smallsetminus +, 16) +SAX.characters(∖, 3) +SAX.characters( +&smashp +, 9) +SAX.characters(⨳, 3) +SAX.characters( +&smeparsl +, 11) +SAX.characters(⧤, 3) +SAX.characters( +&smid +, 7) +SAX.characters(∣, 3) +SAX.characters( +&smile +, 8) +SAX.characters(⌣, 3) +SAX.characters( +&smt +, 6) +SAX.characters(⪪, 3) +SAX.characters( +&smte +, 7) +SAX.characters(⪬, 3) +SAX.characters( +&smtes +, 8) +SAX.characters(⪬︀, 6) +SAX.characters( +&softcy +, 9) +SAX.characters(ь, 2) +SAX.characters( +&sol +, 6) +SAX.characters(/, 1) +SAX.characters( +&solb +, 7) +SAX.characters(⧄, 3) +SAX.characters( +&solbar +, 9) +SAX.characters(⌿, 3) +SAX.characters( +&sopf +, 7) +SAX.characters(𝕤, 4) +SAX.characters( +&spades +, 9) +SAX.characters(♠, 3) +SAX.characters( +&spadesuit +, 12) +SAX.characters(♠, 3) +SAX.characters( +&spar +, 7) +SAX.characters(∥, 3) +SAX.characters( +&sqcap +, 8) +SAX.characters(⊓, 3) +SAX.characters( +&sqcaps +, 9) +SAX.characters(⊓︀, 6) +SAX.characters( +&sqcup +, 8) +SAX.characters(⊔, 3) +SAX.characters( +&sqcups +, 9) +SAX.characters(⊔︀, 6) +SAX.characters( +&sqsub +, 8) +SAX.characters(⊏, 3) +SAX.characters( +&sqsube +, 9) +SAX.characters(⊑, 3) +SAX.characters( +&sqsubset +, 11) +SAX.characters(⊏, 3) +SAX.characters( +&sqsubseteq +, 13) +SAX.characters(⊑, 3) +SAX.characters( +&sqsup +, 8) +SAX.characters(⊐, 3) +SAX.characters( +&sqsupe +, 9) +SAX.characters(⊒, 3) +SAX.characters( +&sqsupset +, 11) +SAX.characters(⊐, 3) +SAX.characters( +&sqsupseteq +, 13) +SAX.characters(⊒, 3) +SAX.characters( +&squ +, 6) +SAX.characters(□, 3) +SAX.characters( +&square +, 9) +SAX.characters(□, 3) +SAX.characters( +&squarf +, 9) +SAX.characters(▪, 3) +SAX.characters( +&squf +, 7) +SAX.characters(▪, 3) +SAX.characters( +&srarr +, 8) +SAX.characters(→, 3) +SAX.characters( +&sscr +, 7) +SAX.characters(𝓈, 4) +SAX.characters( +&ssetmn +, 9) +SAX.characters(∖, 3) +SAX.characters( +&ssmile +, 9) +SAX.characters(⌣, 3) +SAX.characters( +&sstarf +, 9) +SAX.characters(⋆, 3) +SAX.characters( +&star +, 7) +SAX.characters(☆, 3) +SAX.characters( +&starf +, 8) +SAX.characters(★, 3) +SAX.characters( +&straightepsilon +, 18) +SAX.characters(ϵ, 2) +SAX.characters( +&straightphi +, 14) +SAX.characters(ϕ, 2) +SAX.characters( +&strns +, 8) +SAX.characters(¯, 2) +SAX.characters( +&sub +, 6) +SAX.characters(⊂, 3) +SAX.characters( +&subE +, 7) +SAX.characters(⫅, 3) +SAX.characters( +&subdot +, 9) +SAX.characters(⪽, 3) +SAX.characters( +&sube +, 7) +SAX.characters(⊆, 3) +SAX.characters( +&subedot +, 10) +SAX.characters(⫃, 3) +SAX.characters( +&submult +, 10) +SAX.characters(⫁, 3) +SAX.characters( +&subnE +, 8) +SAX.characters(⫋, 3) +SAX.characters( +&subne +, 8) +SAX.characters(⊊, 3) +SAX.characters( +&subplus +, 10) +SAX.characters(⪿, 3) +SAX.characters( +&subrarr +, 10) +SAX.characters(⥹, 3) +SAX.characters( +&subset +, 9) +SAX.characters(⊂, 3) +SAX.characters( +&subseteq +, 11) +SAX.characters(⊆, 3) +SAX.characters( +&subseteqq +, 12) +SAX.characters(⫅, 3) +SAX.characters( +&subsetneq +, 12) +SAX.characters(⊊, 3) +SAX.characters( +&subsetneqq +, 13) +SAX.characters(⫋, 3) +SAX.characters( +&subsim +, 9) +SAX.characters(⫇, 3) +SAX.characters( +&subsub +, 9) +SAX.characters(⫕, 3) +SAX.characters( +&subsup +, 9) +SAX.characters(⫓, 3) +SAX.characters( +&succ +, 7) +SAX.characters(≻, 3) +SAX.characters( +&succapprox +, 13) +SAX.characters(⪸, 3) +SAX.characters( +&succcurlyeq +, 14) +SAX.characters(≽, 3) +SAX.characters( +&succeq +, 9) +SAX.characters(⪰, 3) +SAX.characters( +&succnapprox +, 14) +SAX.characters(⪺, 3) +SAX.characters( +&succneqq +, 11) +SAX.characters(⪶, 3) +SAX.characters( +&succnsim +, 11) +SAX.characters(⋩, 3) +SAX.characters( +&succsim +, 10) +SAX.characters(≿, 3) +SAX.characters( +&sum +, 6) +SAX.characters(∑, 3) +SAX.characters( +&sung +, 7) +SAX.characters(♪, 3) +SAX.characters( +, 1) +SAX.characters(¹, 2) +SAX.characters( +, 1) +SAX.characters(¹, 2) +SAX.characters( +, 1) +SAX.characters(², 2) +SAX.characters( +, 1) +SAX.characters(², 2) +SAX.characters( +, 1) +SAX.characters(³, 2) +SAX.characters( +, 1) +SAX.characters(³, 2) +SAX.characters( +&sup +, 6) +SAX.characters(⊃, 3) +SAX.characters( +&supE +, 7) +SAX.characters(⫆, 3) +SAX.characters( +&supdot +, 9) +SAX.characters(⪾, 3) +SAX.characters( +&supdsub +, 10) +SAX.characters(⫘, 3) +SAX.characters( +&supe +, 7) +SAX.characters(⊇, 3) +SAX.characters( +&supedot +, 10) +SAX.characters(⫄, 3) +SAX.characters( +&suphsol +, 10) +SAX.characters(⟉, 3) +SAX.characters( +&suphsub +, 10) +SAX.characters(⫗, 3) +SAX.characters( +&suplarr +, 10) +SAX.characters(⥻, 3) +SAX.characters( +&supmult +, 10) +SAX.characters(⫂, 3) +SAX.characters( +&supnE +, 8) +SAX.characters(⫌, 3) +SAX.characters( +&supne +, 8) +SAX.characters(⊋, 3) +SAX.characters( +&supplus +, 10) +SAX.characters(⫀, 3) +SAX.characters( +&supset +, 9) +SAX.characters(⊃, 3) +SAX.characters( +&supseteq +, 11) +SAX.characters(⊇, 3) +SAX.characters( +&supseteqq +, 12) +SAX.characters(⫆, 3) +SAX.characters( +&supsetneq +, 12) +SAX.characters(⊋, 3) +SAX.characters( +&supsetneqq +, 13) +SAX.characters(⫌, 3) +SAX.characters( +&supsim +, 9) +SAX.characters(⫈, 3) +SAX.characters( +&supsub +, 9) +SAX.characters(⫔, 3) +SAX.characters( +&supsup +, 9) +SAX.characters(⫖, 3) +SAX.characters( +&swArr +, 8) +SAX.characters(⇙, 3) +SAX.characters( +&swarhk +, 9) +SAX.characters(⤦, 3) +SAX.characters( +&swarr +, 8) +SAX.characters(↙, 3) +SAX.characters( +&swarrow +, 10) +SAX.characters(↙, 3) +SAX.characters( +&swnwar +, 9) +SAX.characters(⤪, 3) +SAX.characters( +, 1) +SAX.characters(ß, 2) +SAX.characters( +, 1) +SAX.characters(ß, 2) +SAX.characters( +&target +, 9) +SAX.characters(⌖, 3) +SAX.characters( +&tau +, 6) +SAX.characters(τ, 2) +SAX.characters( +&tbrk +, 7) +SAX.characters(⎴, 3) +SAX.characters( +&tcaron +, 9) +SAX.characters(ť, 2) +SAX.characters( +&tcedil +, 9) +SAX.characters(ţ, 2) +SAX.characters( +&tcy +, 6) +SAX.characters(т, 2) +SAX.characters( +&tdot +, 7) +SAX.characters(⃛, 3) +SAX.characters( +&telrec +, 9) +SAX.characters(⌕, 3) +SAX.characters( +&tfr +, 6) +SAX.characters(𝔱, 4) +SAX.characters( +&there4 +, 9) +SAX.characters(∴, 3) +SAX.characters( +&therefore +, 12) +SAX.characters(∴, 3) +SAX.characters( +&theta +, 8) +SAX.characters(θ, 2) +SAX.characters( +&thetasym +, 11) +SAX.characters(ϑ, 2) +SAX.characters( +&thetav +, 9) +SAX.characters(ϑ, 2) +SAX.characters( +&thickapprox +, 14) +SAX.characters(≈, 3) +SAX.characters( +&thicksim +, 11) +SAX.characters(∼, 3) +SAX.characters( +&thinsp +, 9) +SAX.characters( , 3) +SAX.characters( +&thkap +, 8) +SAX.characters(≈, 3) +SAX.characters( +&thksim +, 9) +SAX.characters(∼, 3) +SAX.characters( +, 1) +SAX.characters(þ, 2) +SAX.characters( +, 1) +SAX.characters(þ, 2) +SAX.characters( +&tilde +, 8) +SAX.characters(˜, 2) +SAX.characters( +, 1) +SAX.characters(×, 2) +SAX.characters( +, 1) +SAX.characters(×, 2) +SAX.characters( +, 1) +SAX.characters(×, 2) +SAX.characters(b +, 2) +SAX.characters(⊠, 3) +SAX.characters( +, 1) +SAX.characters(×, 2) +SAX.characters(bar +, 4) +SAX.characters(⨱, 3) +SAX.characters( +, 1) +SAX.characters(×, 2) +SAX.characters(d +, 2) +SAX.characters(⨰, 3) +SAX.characters( +&tint +, 7) +SAX.characters(∭, 3) +SAX.characters( +&toea +, 7) +SAX.characters(⤨, 3) +SAX.characters( +&top +, 6) +SAX.characters(⊤, 3) +SAX.characters( +&topbot +, 9) +SAX.characters(⌶, 3) +SAX.characters( +&topcir +, 9) +SAX.characters(⫱, 3) +SAX.characters( +&topf +, 7) +SAX.characters(𝕥, 4) +SAX.characters( +&topfork +, 10) +SAX.characters(⫚, 3) +SAX.characters( +&tosa +, 7) +SAX.characters(⤩, 3) +SAX.characters( +&tprime +, 9) +SAX.characters(‴, 3) +SAX.characters( +&trade +, 8) +SAX.characters(™, 3) +SAX.characters( +&triangle +, 11) +SAX.characters(▵, 3) +SAX.characters( +&triangledown +, 15) +SAX.characters(▿, 3) +SAX.characters( +&triangleleft +, 15) +SAX.characters(◃, 3) +SAX.characters( +&trianglelefteq +, 17) +SAX.characters(⊴, 3) +SAX.characters( +&triangleq +, 12) +SAX.characters(≜, 3) +SAX.characters( +&triangleright +, 16) +SAX.characters(▹, 3) +SAX.characters( +&trianglerighteq +, 18) +SAX.characters(⊵, 3) +SAX.characters( +&tridot +, 9) +SAX.characters(◬, 3) +SAX.characters( +&trie +, 7) +SAX.characters(≜, 3) +SAX.characters( +&triminus +, 11) +SAX.characters(⨺, 3) +SAX.characters( +&triplus +, 10) +SAX.characters(⨹, 3) +SAX.characters( +&trisb +, 8) +SAX.characters(⧍, 3) +SAX.characters( +&tritime +, 10) +SAX.characters(⨻, 3) +SAX.characters( +&trpezium +, 11) +SAX.characters(⏢, 3) +SAX.characters( +&tscr +, 7) +SAX.characters(𝓉, 4) +SAX.characters( +&tscy +, 7) +SAX.characters(ц, 2) +SAX.characters( +&tshcy +, 8) +SAX.characters(ћ, 2) +SAX.characters( +&tstrok +, 9) +SAX.characters(ŧ, 2) +SAX.characters( +&twixt +, 8) +SAX.characters(≬, 3) +SAX.characters( +&twoheadleftarrow +, 19) +SAX.characters(↞, 3) +SAX.characters( +&twoheadrightarrow +, 20) +SAX.characters(↠, 3) +SAX.characters( +&uArr +, 7) +SAX.characters(⇑, 3) +SAX.characters( +&uHar +, 7) +SAX.characters(⥣, 3) +SAX.characters( +, 1) +SAX.characters(ú, 2) +SAX.characters( +, 1) +SAX.characters(ú, 2) +SAX.characters( +&uarr +, 7) +SAX.characters(↑, 3) +SAX.characters( +&ubrcy +, 8) +SAX.characters(ў, 2) +SAX.characters( +&ubreve +, 9) +SAX.characters(ŭ, 2) +SAX.characters( +, 1) +SAX.characters(û, 2) +SAX.characters( +, 1) +SAX.characters(û, 2) +SAX.characters( +&ucy +, 6) +SAX.characters(у, 2) +SAX.characters( +&udarr +, 8) +SAX.characters(⇅, 3) +SAX.characters( +&udblac +, 9) +SAX.characters(ű, 2) +SAX.characters( +&udhar +, 8) +SAX.characters(⥮, 3) +SAX.characters( +&ufisht +, 9) +SAX.characters(⥾, 3) +SAX.characters( +&ufr +, 6) +SAX.characters(𝔲, 4) +SAX.characters( +, 1) +SAX.characters(ù, 2) +SAX.characters( +, 1) +SAX.characters(ù, 2) +SAX.characters( +&uharl +, 8) +SAX.characters(↿, 3) +SAX.characters( +&uharr +, 8) +SAX.characters(↾, 3) +SAX.characters( +&uhblk +, 8) +SAX.characters(▀, 3) +SAX.characters( +&ulcorn +, 9) +SAX.characters(⌜, 3) +SAX.characters( +&ulcorner +, 11) +SAX.characters(⌜, 3) +SAX.characters( +&ulcrop +, 9) +SAX.characters(⌏, 3) +SAX.characters( +&ultri +, 8) +SAX.characters(◸, 3) +SAX.characters( +&umacr +, 8) +SAX.characters(ū, 2) +SAX.characters( +, 1) +SAX.characters(¨, 2) +SAX.characters( +, 1) +SAX.characters(¨, 2) +SAX.characters( +&uogon +, 8) +SAX.characters(ų, 2) +SAX.characters( +&uopf +, 7) +SAX.characters(𝕦, 4) +SAX.characters( +&uparrow +, 10) +SAX.characters(↑, 3) +SAX.characters( +&updownarrow +, 14) +SAX.characters(↕, 3) +SAX.characters( +&upharpoonleft +, 16) +SAX.characters(↿, 3) +SAX.characters( +&upharpoonright +, 17) +SAX.characters(↾, 3) +SAX.characters( +&uplus +, 8) +SAX.characters(⊎, 3) +SAX.characters( +&upsi +, 7) +SAX.characters(υ, 2) +SAX.characters( +&upsih +, 8) +SAX.characters(ϒ, 2) +SAX.characters( +&upsilon +, 10) +SAX.characters(υ, 2) +SAX.characters( +&upuparrows +, 13) +SAX.characters(⇈, 3) +SAX.characters( +&urcorn +, 9) +SAX.characters(⌝, 3) +SAX.characters( +&urcorner +, 11) +SAX.characters(⌝, 3) +SAX.characters( +&urcrop +, 9) +SAX.characters(⌎, 3) +SAX.characters( +&uring +, 8) +SAX.characters(ů, 2) +SAX.characters( +&urtri +, 8) +SAX.characters(◹, 3) +SAX.characters( +&uscr +, 7) +SAX.characters(𝓊, 4) +SAX.characters( +&utdot +, 8) +SAX.characters(⋰, 3) +SAX.characters( +&utilde +, 9) +SAX.characters(ũ, 2) +SAX.characters( +&utri +, 7) +SAX.characters(▵, 3) +SAX.characters( +&utrif +, 8) +SAX.characters(▴, 3) +SAX.characters( +&uuarr +, 8) +SAX.characters(⇈, 3) +SAX.characters( +, 1) +SAX.characters(ü, 2) +SAX.characters( +, 1) +SAX.characters(ü, 2) +SAX.characters( +&uwangle +, 10) +SAX.characters(⦧, 3) +SAX.characters( +&vArr +, 7) +SAX.characters(⇕, 3) +SAX.characters( +&vBar +, 7) +SAX.characters(⫨, 3) +SAX.characters( +&vBarv +, 8) +SAX.characters(⫩, 3) +SAX.characters( +&vDash +, 8) +SAX.characters(⊨, 3) +SAX.characters( +&vangrt +, 9) +SAX.characters(⦜, 3) +SAX.characters( +&varepsilon +, 13) +SAX.characters(ϵ, 2) +SAX.characters( +&varkappa +, 11) +SAX.characters(ϰ, 2) +SAX.characters( +&varnothing +, 13) +SAX.characters(∅, 3) +SAX.characters( +&varphi +, 9) +SAX.characters(ϕ, 2) +SAX.characters( +&varpi +, 8) +SAX.characters(ϖ, 2) +SAX.characters( +&varpropto +, 12) +SAX.characters(∝, 3) +SAX.characters( +&varr +, 7) +SAX.characters(↕, 3) +SAX.characters( +&varrho +, 9) +SAX.characters(ϱ, 2) +SAX.characters( +&varsigma +, 11) +SAX.characters(ς, 2) +SAX.characters( +&varsubsetneq +, 15) +SAX.characters(⊊︀, 6) +SAX.characters( +&varsubsetneqq +, 16) +SAX.characters(⫋︀, 6) +SAX.characters( +&varsupsetneq +, 15) +SAX.characters(⊋︀, 6) +SAX.characters( +&varsupsetneqq +, 16) +SAX.characters(⫌︀, 6) +SAX.characters( +&vartheta +, 11) +SAX.characters(ϑ, 2) +SAX.characters( +&vartriangleleft +, 18) +SAX.characters(⊲, 3) +SAX.characters( +&vartriangleright +, 19) +SAX.characters(⊳, 3) +SAX.characters( +&vcy +, 6) +SAX.characters(в, 2) +SAX.characters( +&vdash +, 8) +SAX.characters(⊢, 3) +SAX.characters( +&vee +, 6) +SAX.characters(∨, 3) +SAX.characters( +&veebar +, 9) +SAX.characters(⊻, 3) +SAX.characters( +&veeeq +, 8) +SAX.characters(≚, 3) +SAX.characters( +&vellip +, 9) +SAX.characters(⋮, 3) +SAX.characters( +&verbar +, 9) +SAX.characters(|, 1) +SAX.characters( +&vert +, 7) +SAX.characters(|, 1) +SAX.characters( +&vfr +, 6) +SAX.characters(𝔳, 4) +SAX.characters( +&vltri +, 8) +SAX.characters(⊲, 3) +SAX.characters( +&vnsub +, 8) +SAX.characters(⊂⃒, 6) +SAX.characters( +&vnsup +, 8) +SAX.characters(⊃⃒, 6) +SAX.characters( +&vopf +, 7) +SAX.characters(𝕧, 4) +SAX.characters( +&vprop +, 8) +SAX.characters(∝, 3) +SAX.characters( +&vrtri +, 8) +SAX.characters(⊳, 3) +SAX.characters( +&vscr +, 7) +SAX.characters(𝓋, 4) +SAX.characters( +&vsubnE +, 9) +SAX.characters(⫋︀, 6) +SAX.characters( +&vsubne +, 9) +SAX.characters(⊊︀, 6) +SAX.characters( +&vsupnE +, 9) +SAX.characters(⫌︀, 6) +SAX.characters( +&vsupne +, 9) +SAX.characters(⊋︀, 6) +SAX.characters( +&vzigzag +, 10) +SAX.characters(⦚, 3) +SAX.characters( +&wcirc +, 8) +SAX.characters(ŵ, 2) +SAX.characters( +&wedbar +, 9) +SAX.characters(⩟, 3) +SAX.characters( +&wedge +, 8) +SAX.characters(∧, 3) +SAX.characters( +&wedgeq +, 9) +SAX.characters(≙, 3) +SAX.characters( +&weierp +, 9) +SAX.characters(℘, 3) +SAX.characters( +&wfr +, 6) +SAX.characters(𝔴, 4) +SAX.characters( +&wopf +, 7) +SAX.characters(𝕨, 4) +SAX.characters( +&wp +, 5) +SAX.characters(℘, 3) +SAX.characters( +&wr +, 5) +SAX.characters(≀, 3) +SAX.characters( +&wreath +, 9) +SAX.characters(≀, 3) +SAX.characters( +&wscr +, 7) +SAX.characters(𝓌, 4) +SAX.characters( +&xcap +, 7) +SAX.characters(⋂, 3) +SAX.characters( +&xcirc +, 8) +SAX.characters(◯, 3) +SAX.characters( +&xcup +, 7) +SAX.characters(⋃, 3) +SAX.characters( +&xdtri +, 8) +SAX.characters(▽, 3) +SAX.characters( +&xfr +, 6) +SAX.characters(𝔵, 4) +SAX.characters( +&xhArr +, 8) +SAX.characters(⟺, 3) +SAX.characters( +&xharr +, 8) +SAX.characters(⟷, 3) +SAX.characters( +&xi +, 5) +SAX.characters(ξ, 2) +SAX.characters( +&xlArr +, 8) +SAX.characters(⟸, 3) +SAX.characters( +&xlarr +, 8) +SAX.characters(⟵, 3) +SAX.characters( +&xmap +, 7) +SAX.characters(⟼, 3) +SAX.characters( +&xnis +, 7) +SAX.characters(⋻, 3) +SAX.characters( +&xodot +, 8) +SAX.characters(⨀, 3) +SAX.characters( +&xopf +, 7) +SAX.characters(𝕩, 4) +SAX.characters( +&xoplus +, 9) +SAX.characters(⨁, 3) +SAX.characters( +&xotime +, 9) +SAX.characters(⨂, 3) +SAX.characters( +&xrArr +, 8) +SAX.characters(⟹, 3) +SAX.characters( +&xrarr +, 8) +SAX.characters(⟶, 3) +SAX.characters( +&xscr +, 7) +SAX.characters(𝓍, 4) +SAX.characters( +&xsqcup +, 9) +SAX.characters(⨆, 3) +SAX.characters( +&xuplus +, 9) +SAX.characters(⨄, 3) +SAX.characters( +&xutri +, 8) +SAX.characters(△, 3) +SAX.characters( +&xvee +, 7) +SAX.characters(⋁, 3) +SAX.characters( +&xwedge +, 9) +SAX.characters(⋀, 3) +SAX.characters( +, 1) +SAX.characters(ý, 2) +SAX.characters( +, 1) +SAX.characters(ý, 2) +SAX.characters( +&yacy +, 7) +SAX.characters(я, 2) +SAX.characters( +&ycirc +, 8) +SAX.characters(ŷ, 2) +SAX.characters( +&ycy +, 6) +SAX.characters(ы, 2) +SAX.characters( +, 1) +SAX.characters(¥, 2) +SAX.characters( +, 1) +SAX.characters(¥, 2) +SAX.characters( +&yfr +, 6) +SAX.characters(𝔶, 4) +SAX.characters( +&yicy +, 7) +SAX.characters(ї, 2) +SAX.characters( +&yopf +, 7) +SAX.characters(𝕪, 4) +SAX.characters( +&yscr +, 7) +SAX.characters(𝓎, 4) +SAX.characters( +&yucy +, 7) +SAX.characters(ю, 2) +SAX.characters( +, 1) +SAX.characters(ÿ, 2) +SAX.characters( +, 1) +SAX.characters(ÿ, 2) +SAX.characters( +&zacute +, 9) +SAX.characters(ź, 2) +SAX.characters( +&zcaron +, 9) +SAX.characters(ž, 2) +SAX.characters( +&zcy +, 6) +SAX.characters(з, 2) +SAX.characters( +&zdot +, 7) +SAX.characters(ż, 2) +SAX.characters( +&zeetrf +, 9) +SAX.characters(ℨ, 3) +SAX.characters( +&zeta +, 7) +SAX.characters(ζ, 2) +SAX.characters( +&zfr +, 6) +SAX.characters(𝔷, 4) +SAX.characters( +&zhcy +, 7) +SAX.characters(ж, 2) +SAX.characters( +&zigrarr +, 10) +SAX.characters(⇝, 3) +SAX.characters( +&zopf +, 7) +SAX.characters(𝕫, 4) +SAX.characters( +&zscr +, 7) +SAX.characters(𝓏, 4) +SAX.characters( +&zwj +, 6) +SAX.characters(‍, 3) +SAX.characters( +&zwnj +, 7) +SAX.characters(‌, 3) +SAX.characters( +, 1) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/libxml2/result/HTML/html5_enc.html b/libxml2/result/HTML/html5_enc.html new file mode 100644 index 0000000..30edf29 --- /dev/null +++ b/libxml2/result/HTML/html5_enc.html @@ -0,0 +1,9 @@ + + + + + + +

    très

    + + diff --git a/libxml2/result/HTML/html5_enc.html.sax b/libxml2/result/HTML/html5_enc.html.sax new file mode 100644 index 0000000..6c5802f --- /dev/null +++ b/libxml2/result/HTML/html5_enc.html.sax @@ -0,0 +1,30 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.characters( +, 1) +SAX.startElement(head) +SAX.characters( +, 1) +SAX.startElement(meta, charset='iso-8859-1') +SAX.endElement(meta) +SAX.characters( +, 1) +SAX.endElement(head) +SAX.characters( +, 1) +SAX.startElement(body) +SAX.characters( + , 3) +SAX.startElement(p) +SAX.characters(très, 5) +SAX.endElement(p) +SAX.characters( +, 1) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/libxml2/result/HTML/implied1.html b/libxml2/result/HTML/implied1.html new file mode 100644 index 0000000..a937900 --- /dev/null +++ b/libxml2/result/HTML/implied1.html @@ -0,0 +1,6 @@ + + + +x + + diff --git a/libxml2/result/HTML/implied1.html.sax b/libxml2/result/HTML/implied1.html.sax new file mode 100644 index 0000000..531bdf6 --- /dev/null +++ b/libxml2/result/HTML/implied1.html.sax @@ -0,0 +1,12 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.startElement(head) +SAX.characters( , 3) +SAX.endElement(head) +SAX.startElement(body) +SAX.characters(x +, 2) +SAX.endElement(body) +SAX.endElement(html) +SAX.endDocument() diff --git a/libxml2/result/HTML/issue318.html b/libxml2/result/HTML/issue318.html new file mode 100644 index 0000000..dd31c26 --- /dev/null +++ b/libxml2/result/HTML/issue318.html @@ -0,0 +1,6 @@ + + + + + + diff --git a/libxml2/result/HTML/issue318.html.sax b/libxml2/result/HTML/issue318.html.sax new file mode 100644 index 0000000..f2f608b --- /dev/null +++ b/libxml2/result/HTML/issue318.html.sax @@ -0,0 +1,22 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(html, -//W3C//DTD HTML 4.01//EN, ) +SAX.startElement(html) +SAX.characters( +, 1) +SAX.startElement(head) +SAX.startElement(meta, http-equiv='\"content-type\"', content='\"text/html;charset=utf-8\"') +SAX.endElement(meta) +SAX.endElement(head) +SAX.characters( +, 1) +SAX.startElement(body) +SAX.characters( +, 1) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/libxml2/result/HTML/issue380.html b/libxml2/result/HTML/issue380.html new file mode 100644 index 0000000..13b7db1 --- /dev/null +++ b/libxml2/result/HTML/issue380.html @@ -0,0 +1,6 @@ + + + + ... + + diff --git a/libxml2/result/HTML/issue380.html.sax b/libxml2/result/HTML/issue380.html.sax new file mode 100644 index 0000000..b53845c --- /dev/null +++ b/libxml2/result/HTML/issue380.html.sax @@ -0,0 +1,20 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.characters( + , 3) +SAX.startElement(body) +SAX.characters( + , 5) +SAX.comment([if !supportLists]) +SAX.characters(..., 3) +SAX.comment([endif]) +SAX.characters( + , 3) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/libxml2/result/HTML/liclose.html b/libxml2/result/HTML/liclose.html new file mode 100644 index 0000000..62391dc --- /dev/null +++ b/libxml2/result/HTML/liclose.html @@ -0,0 +1,15 @@ + + + + + + +
      +
    • First item +
    • +
    • Second item, closes the first one +
    • +
    + + + diff --git a/libxml2/result/HTML/liclose.html.sax b/libxml2/result/HTML/liclose.html.sax new file mode 100644 index 0000000..50fa778 --- /dev/null +++ b/libxml2/result/HTML/liclose.html.sax @@ -0,0 +1,38 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(HTML, -//W3C//DTD HTML 4.0 Transitional//EN, http://www.w3.org/TR/REC-html40/loose.dtd) +SAX.startElement(html) +SAX.characters( +, 1) +SAX.startElement(head) +SAX.characters( + , 3) +SAX.startElement(title) +SAX.endElement(title) +SAX.characters( +, 1) +SAX.endElement(head) +SAX.characters( +, 1) +SAX.startElement(body) +SAX.characters( +, 1) +SAX.startElement(ul) +SAX.characters( +, 1) +SAX.startElement(li) +SAX.characters(First item +, 11) +SAX.endElement(li) +SAX.startElement(li) +SAX.characters(Second item, closes the first , 34) +SAX.endElement(li) +SAX.endElement(ul) +SAX.characters( + +, 2) +SAX.endElement(body) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/libxml2/result/HTML/lt.html b/libxml2/result/HTML/lt.html new file mode 100644 index 0000000..c29f74f --- /dev/null +++ b/libxml2/result/HTML/lt.html @@ -0,0 +1,6 @@ + + + + + + diff --git a/libxml2/result/HTML/lt.html.sax b/libxml2/result/HTML/lt.html.sax new file mode 100644 index 0000000..43e1b11 --- /dev/null +++ b/libxml2/result/HTML/lt.html.sax @@ -0,0 +1,19 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.characters( +, 1) +SAX.startElement(head) +SAX.characters( +, 1) +SAX.startElement(meta, name='Author', content='Root <root@aol.com>') +SAX.endElement(meta) +SAX.characters( +, 1) +SAX.endElement(head) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/libxml2/result/HTML/names.html b/libxml2/result/HTML/names.html new file mode 100644 index 0000000..dd7dcc2 --- /dev/null +++ b/libxml2/result/HTML/names.html @@ -0,0 +1,6 @@ + + + + + + diff --git a/libxml2/result/HTML/names.html.sax b/libxml2/result/HTML/names.html.sax new file mode 100644 index 0000000..7810c49 --- /dev/null +++ b/libxml2/result/HTML/names.html.sax @@ -0,0 +1,19 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.characters( +, 1) +SAX.startElement(body) +SAX.characters( + , 3) +SAX.startElement(o:p) +SAX.endElement(o:p) +SAX.characters( +, 1) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/libxml2/result/HTML/noscript.html b/libxml2/result/HTML/noscript.html new file mode 100644 index 0000000..454e943 --- /dev/null +++ b/libxml2/result/HTML/noscript.html @@ -0,0 +1,10 @@ + + + + omg + + + +

    yo

    + + diff --git a/libxml2/result/HTML/noscript.html.sax b/libxml2/result/HTML/noscript.html.sax new file mode 100644 index 0000000..a4d036f --- /dev/null +++ b/libxml2/result/HTML/noscript.html.sax @@ -0,0 +1,38 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(html, , ) +SAX.startElement(html) +SAX.characters( + , 5) +SAX.startElement(head) +SAX.characters( + , 9) +SAX.startElement(title) +SAX.characters(omg, 3) +SAX.endElement(title) +SAX.characters( + , 9) +SAX.startElement(noscript) +SAX.startElement(link, rel='stylesheet', href='http://foo.com') +SAX.endElement(link) +SAX.endElement(noscript) +SAX.characters( + , 5) +SAX.endElement(head) +SAX.characters( + , 5) +SAX.startElement(body, id='xxx') +SAX.characters( + , 9) +SAX.startElement(p) +SAX.characters(yo, 2) +SAX.endElement(p) +SAX.characters( + , 5) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/libxml2/result/HTML/pre.html b/libxml2/result/HTML/pre.html new file mode 100644 index 0000000..f83a7cb --- /dev/null +++ b/libxml2/result/HTML/pre.html @@ -0,0 +1,6 @@ + + + +
    + + diff --git a/libxml2/result/HTML/pre.html.sax b/libxml2/result/HTML/pre.html.sax new file mode 100644 index 0000000..bdf1b75 --- /dev/null +++ b/libxml2/result/HTML/pre.html.sax @@ -0,0 +1,23 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.characters( +, 1) +SAX.startElement(body) +SAX.characters( +, 1) +SAX.startElement(pre) +SAX.startElement(a, href='toto') +SAX.endElement(a) +SAX.startElement(img, src='titi') +SAX.endElement(img) +SAX.endElement(pre) +SAX.characters( +, 1) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/libxml2/result/HTML/python.html b/libxml2/result/HTML/python.html new file mode 100644 index 0000000..befe71e --- /dev/null +++ b/libxml2/result/HTML/python.html @@ -0,0 +1,9 @@ + + + + +Python Programming Language + + + + diff --git a/libxml2/result/HTML/python.html.sax b/libxml2/result/HTML/python.html.sax new file mode 100644 index 0000000..f825954 --- /dev/null +++ b/libxml2/result/HTML/python.html.sax @@ -0,0 +1,29 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(html, -//W3C//DTD HTML 4.01 Transitional//EN, http://www.w3.org/TR/html4/loose.dtd) +SAX.comment(?xml-stylesheet href="./css/ht2html.css" type="text/css"?) +SAX.startElement(html) +SAX.characters( +, 1) +SAX.comment( THIS PAGE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ) +SAX.characters( +, 1) +SAX.startElement(head) +SAX.characters( +, 1) +SAX.startElement(title) +SAX.characters(Python Programming Language, 27) +SAX.endElement(title) +SAX.characters( +, 1) +SAX.endElement(head) +SAX.characters( +, 1) +SAX.startElement(body) +SAX.characters( +, 1) +SAX.endElement(body) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/libxml2/result/HTML/reg1.html b/libxml2/result/HTML/reg1.html new file mode 100644 index 0000000..893d6a2 --- /dev/null +++ b/libxml2/result/HTML/reg1.html @@ -0,0 +1,12 @@ + + + +Regression test 1 + + +

    Regression test 1

    +

    +Ok file no problem +

    + + diff --git a/libxml2/result/HTML/reg1.html.sax b/libxml2/result/HTML/reg1.html.sax new file mode 100644 index 0000000..758fd4f --- /dev/null +++ b/libxml2/result/HTML/reg1.html.sax @@ -0,0 +1,36 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.characters( +, 1) +SAX.startElement(head) +SAX.characters( +, 1) +SAX.startElement(title) +SAX.characters(Regression test 1, 17) +SAX.endElement(title) +SAX.characters( +, 1) +SAX.endElement(head) +SAX.characters( +, 1) +SAX.startElement(body) +SAX.characters( +, 1) +SAX.startElement(h1) +SAX.characters(Regression test 1, 17) +SAX.endElement(h1) +SAX.characters( +, 1) +SAX.startElement(p) +SAX.characters( +Ok file no problem +, 20) +SAX.endElement(p) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/libxml2/result/HTML/reg2.html b/libxml2/result/HTML/reg2.html new file mode 100644 index 0000000..88cf9d3 --- /dev/null +++ b/libxml2/result/HTML/reg2.html @@ -0,0 +1,15 @@ + + + +Regression test 2 + + +

    Regression test 2

    +

    +Autoclose of tag P +

    +

    +Ok file no problem +

    + + diff --git a/libxml2/result/HTML/reg2.html.sax b/libxml2/result/HTML/reg2.html.sax new file mode 100644 index 0000000..c9fe5cb --- /dev/null +++ b/libxml2/result/HTML/reg2.html.sax @@ -0,0 +1,41 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.characters( +, 1) +SAX.startElement(head) +SAX.characters( +, 1) +SAX.startElement(title) +SAX.characters(Regression test 2, 17) +SAX.endElement(title) +SAX.characters( +, 1) +SAX.endElement(head) +SAX.characters( +, 1) +SAX.startElement(body) +SAX.characters( +, 1) +SAX.startElement(h1) +SAX.characters(Regression test 2, 17) +SAX.endElement(h1) +SAX.characters( +, 1) +SAX.startElement(p) +SAX.characters( +Autoclose of tag P +, 20) +SAX.endElement(p) +SAX.startElement(p) +SAX.characters( +Ok file no problem +, 20) +SAX.endElement(p) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/libxml2/result/HTML/reg3.html b/libxml2/result/HTML/reg3.html new file mode 100644 index 0000000..d35ac0d --- /dev/null +++ b/libxml2/result/HTML/reg3.html @@ -0,0 +1,16 @@ + + + +Regression test 3 + + +

    Regression test 3

    +

    +Autoclose of tag P +

    +
    +

    +Ok file no problem +

    + + diff --git a/libxml2/result/HTML/reg3.html.sax b/libxml2/result/HTML/reg3.html.sax new file mode 100644 index 0000000..a2ea57e --- /dev/null +++ b/libxml2/result/HTML/reg3.html.sax @@ -0,0 +1,45 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.characters( +, 1) +SAX.startElement(head) +SAX.characters( +, 1) +SAX.startElement(title) +SAX.characters(Regression test 3, 17) +SAX.endElement(title) +SAX.characters( +, 1) +SAX.endElement(head) +SAX.characters( +, 1) +SAX.startElement(body) +SAX.characters( +, 1) +SAX.startElement(h1) +SAX.characters(Regression test 3, 17) +SAX.endElement(h1) +SAX.characters( +, 1) +SAX.startElement(p) +SAX.characters( +Autoclose of tag P +, 20) +SAX.endElement(p) +SAX.startElement(hr) +SAX.endElement(hr) +SAX.characters( +, 1) +SAX.startElement(p) +SAX.characters( +Ok file no problem +, 20) +SAX.endElement(p) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/libxml2/result/HTML/reg4.html b/libxml2/result/HTML/reg4.html new file mode 100644 index 0000000..eb1ba09 --- /dev/null +++ b/libxml2/result/HTML/reg4.html @@ -0,0 +1,14 @@ + + + +Regression test 4 + + +

    Regression test 4

    +

    +Wrong close of tag P +

    +
    + + + diff --git a/libxml2/result/HTML/reg4.html.err b/libxml2/result/HTML/reg4.html.err new file mode 100644 index 0000000..6515f70 --- /dev/null +++ b/libxml2/result/HTML/reg4.html.err @@ -0,0 +1,3 @@ +./test/HTML/reg4.html:10: HTML parser error : Unexpected end tag : p +

    + ^ diff --git a/libxml2/result/HTML/reg4.html.sax b/libxml2/result/HTML/reg4.html.sax new file mode 100644 index 0000000..3ed6c9d --- /dev/null +++ b/libxml2/result/HTML/reg4.html.sax @@ -0,0 +1,43 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.characters( +, 1) +SAX.startElement(head) +SAX.characters( +, 1) +SAX.startElement(title) +SAX.characters(Regression test 4, 17) +SAX.endElement(title) +SAX.characters( +, 1) +SAX.endElement(head) +SAX.characters( +, 1) +SAX.startElement(body) +SAX.characters( +, 1) +SAX.startElement(h1) +SAX.characters(Regression test 4, 17) +SAX.endElement(h1) +SAX.characters( +, 1) +SAX.startElement(p) +SAX.characters( +Wrong close of tag P +, 22) +SAX.endElement(p) +SAX.startElement(hr) +SAX.endElement(hr) +SAX.characters( +, 1) +SAX.error: Unexpected end tag : p +SAX.characters( +, 1) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/libxml2/result/HTML/repeat.html b/libxml2/result/HTML/repeat.html new file mode 100644 index 0000000..71cf72e --- /dev/null +++ b/libxml2/result/HTML/repeat.html @@ -0,0 +1,7 @@ + + + + + + + diff --git a/libxml2/result/HTML/repeat.html.sax b/libxml2/result/HTML/repeat.html.sax new file mode 100644 index 0000000..50b3a76 --- /dev/null +++ b/libxml2/result/HTML/repeat.html.sax @@ -0,0 +1,14 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.startElement(body) +SAX.startElement(td) +SAX.endElement(td) +SAX.startElement(td) +SAX.comment( ) +SAX.characters( +, 1) +SAX.endElement(td) +SAX.endElement(body) +SAX.endElement(html) +SAX.endDocument() diff --git a/libxml2/result/HTML/script.html b/libxml2/result/HTML/script.html new file mode 100644 index 0000000..5b95a1f --- /dev/null +++ b/libxml2/result/HTML/script.html @@ -0,0 +1,10 @@ + + +Script tests + + + + + diff --git a/libxml2/result/HTML/script.html.sax b/libxml2/result/HTML/script.html.sax new file mode 100644 index 0000000..5925ecc --- /dev/null +++ b/libxml2/result/HTML/script.html.sax @@ -0,0 +1,32 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.characters( +, 1) +SAX.startElement(head) +SAX.startElement(title) +SAX.characters(Script tests, 12) +SAX.endElement(title) +SAX.endElement(head) +SAX.characters( +, 1) +SAX.startElement(body) +SAX.characters( +, 1) +SAX.startElement(script, language='javascript') +SAX.cdata( + if (window.open<max) ;, 28) +SAX.endElement(script) +SAX.characters( +, 1) +SAX.startElement(input, onclick='if(window.open<max);') +SAX.endElement(input) +SAX.characters( +, 1) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/libxml2/result/HTML/script2.html b/libxml2/result/HTML/script2.html new file mode 100644 index 0000000..2ad9b95 --- /dev/null +++ b/libxml2/result/HTML/script2.html @@ -0,0 +1,17 @@ + + + + +Test Page + + +
    + +

    + PříliÅ¡ žluÅ¥ouÄký kůň úpÄ›l Äábelksé ódy; +

    +
    + + diff --git a/libxml2/result/HTML/script2.html.sax b/libxml2/result/HTML/script2.html.sax new file mode 100644 index 0000000..405549d --- /dev/null +++ b/libxml2/result/HTML/script2.html.sax @@ -0,0 +1,50 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(html, -//W3C//DTD XHTML 1.0 Strict//EN, http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd) +SAX.startElement(html, xmlns='http://www.w3.org/1999/xhtml') +SAX.characters( + , 2) +SAX.startElement(head) +SAX.characters( + , 3) +SAX.startElement(meta, http-equiv='Content-Type', content='text/html; charset=UTF-8') +SAX.endElement(meta) +SAX.characters( +, 1) +SAX.startElement(title) +SAX.characters(Test Page, 9) +SAX.endElement(title) +SAX.characters( +, 1) +SAX.endElement(head) +SAX.characters( +, 1) +SAX.startElement(body) +SAX.characters( +, 1) +SAX.startElement(div, id='portal') +SAX.characters( +, 1) +SAX.startElement(script, type='text/javascript') +SAX.cdata( + documen.write("Př, 74) +SAX.endElement(script) +SAX.characters( + , 2) +SAX.startElement(p) +SAX.characters( + Příliš , 58) +SAX.endElement(p) +SAX.characters( +, 1) +SAX.endElement(div) +SAX.characters( +, 1) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( + +, 2) +SAX.endDocument() diff --git a/libxml2/result/HTML/test2.html b/libxml2/result/HTML/test2.html new file mode 100644 index 0000000..eaa8864 --- /dev/null +++ b/libxml2/result/HTML/test2.html @@ -0,0 +1,38 @@ + + + Linux Today + + + +
    + + + + + + +
    +Atipa Linux solutions. Your reliable cluster, server, and workstation solution. Win a Free Celeron Linux Workstation! + + +Linux Today Logo
    linux.com partner

    +
    + +[
    headlines | +features | +commercial | +security | +jobs | +volt | +contribute/submit | +advertise | +search | +site digests | +mailing lists | +about us | +link us ] +
    +

    +

    + + diff --git a/libxml2/result/HTML/test2.html.sax b/libxml2/result/HTML/test2.html.sax new file mode 100644 index 0000000..fd328dd --- /dev/null +++ b/libxml2/result/HTML/test2.html.sax @@ -0,0 +1,145 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(HTML, -//W3C//DTD HTML 4.0 Transitional//EN, http://www.w3.org/TR/REC-html40/loose.dtd) +SAX.startElement(html) +SAX.startElement(head) +SAX.characters( , 1) +SAX.startElement(title) +SAX.characters(Linux Today, 11) +SAX.endElement(title) +SAX.endElement(head) +SAX.characters( +, 1) +SAX.startElement(body, bgcolor='White', link='Blue', text='Black', vlink='Black', alink='Red') +SAX.characters( + +, 2) +SAX.startElement(center) +SAX.characters( +, 1) +SAX.startElement(table, border='0', width='100%', cellspacing='0', cellpadding='0') +SAX.characters( + , 9) +SAX.startElement(tr, bgcolor='#FFFFFF') +SAX.characters( + , 17) +SAX.startElement(td, height='90') +SAX.characters( +, 1) +SAX.startElement(a, href='http://linuxtoday.com/cgi-bin/click.pl?adnum=49') +SAX.startElement(img, src='/pics/door_linux.gif', border='0', width='468', height='60', alt='Atipa Linux solutions. Your reliable cluster, server, and workstation solution. Win a Free Celeron Linux Workstation!') +SAX.endElement(img) +SAX.endElement(a) +SAX.characters( + + , 18) +SAX.endElement(td) +SAX.characters( + , 5) +SAX.startElement(td) +SAX.startElement(img, src='/pics/lt.gif', vspace='5', alt='Linux Today Logo') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='-1') +SAX.startElement(a, href='http://linux.com') +SAX.characters(linux.com, 9) +SAX.endElement(a) +SAX.characters( partner, 8) +SAX.endElement(font) +SAX.startElement(p) +SAX.endElement(p) +SAX.endElement(td) +SAX.characters( + + , 10) +SAX.endElement(tr) +SAX.characters( +, 1) +SAX.endElement(table) +SAX.characters( +, 1) +SAX.startElement(font, size='2', face='Helvetica') +SAX.characters( +[ , 3) +SAX.startElement(a, href='http://linuxtoday.com/') +SAX.characters(headlines, 9) +SAX.endElement(a) +SAX.characters( | +, 3) +SAX.startElement(a, href='http://features.linuxtoday.com/') +SAX.characters(features, 8) +SAX.endElement(a) +SAX.characters( | +, 3) +SAX.startElement(a, href='http://commercial.linuxtoday.com/') +SAX.characters(commercial, 10) +SAX.endElement(a) +SAX.characters( | +, 3) +SAX.startElement(a, href='http://security.linuxtoday.com/') +SAX.characters(security, 8) +SAX.endElement(a) +SAX.characters( | +, 3) +SAX.startElement(a, href='http://jobs.linuxtoday.com/') +SAX.characters(jobs, 4) +SAX.endElement(a) +SAX.characters( | +, 3) +SAX.startElement(a, href='http://linuxtoday.com/volt/') +SAX.characters(volt, 4) +SAX.endElement(a) +SAX.characters( | +, 4) +SAX.startElement(a, href='http://linuxtoday.com/contrib.pl') +SAX.characters(contribute/submit, 17) +SAX.endElement(a) +SAX.characters( | +, 3) +SAX.startElement(a, href='http://linuxtoday.com/advertise/') +SAX.characters(advertise, 9) +SAX.endElement(a) +SAX.characters( | +, 3) +SAX.startElement(a, href='http://linuxtoday.com/search.html') +SAX.characters(search, 6) +SAX.endElement(a) +SAX.characters( | +, 3) +SAX.startElement(a, href='http://linuxtoday.com/digests/') +SAX.characters(site digests, 12) +SAX.endElement(a) +SAX.characters( | +, 3) +SAX.startElement(a, href='http://linuxtoday.com/mail-lists') +SAX.characters(mailing lists, 13) +SAX.endElement(a) +SAX.characters( | +, 3) +SAX.startElement(a, href='http://linuxtoday.com/about/') +SAX.characters(about us, 8) +SAX.endElement(a) +SAX.characters( | +, 3) +SAX.startElement(a, href='http://linuxtoday.com/linkus.html') +SAX.characters(link us, 7) +SAX.endElement(a) +SAX.characters( ], 2) +SAX.endElement(font) +SAX.characters( +, 1) +SAX.endElement(center) +SAX.characters( +, 1) +SAX.startElement(p) +SAX.characters( +, 1) +SAX.endElement(p) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/libxml2/result/HTML/test3.html b/libxml2/result/HTML/test3.html new file mode 100644 index 0000000..d76b370 --- /dev/null +++ b/libxml2/result/HTML/test3.html @@ -0,0 +1,59 @@ + + + + + + +

    Component Package diagram ProblemDomain

    +

    +
    +
    +
    +Stereotype problem domain
    +
    +Alias Problem Domain
    +
    Note
    +
    The Problem Domain package is the model behind the Human +
    Interface, thats stores and manipulates the Family Tree. +
    + +
    +

    +
    +
    + +

    Class HumanInterface.FamilyFrame +

    +

    Class ProblemDomain.Birth +

    +

    Class ProblemDomain.Death +

    +

    Class ProblemDomain.Divorce +

    +

    Class ProblemDomain.Family +

    +

    Class ProblemDomain.Individual +

    +

    Class ProblemDomain.LifeEvent +

    +

    Class ProblemDomain.Marriage +

    +

    Class ProblemDomain.Note +

    +
    + +

    Links

    + + + + + + + + diff --git a/libxml2/result/HTML/test3.html.err b/libxml2/result/HTML/test3.html.err new file mode 100644 index 0000000..c743503 --- /dev/null +++ b/libxml2/result/HTML/test3.html.err @@ -0,0 +1,12 @@ +./test/HTML/test3.html:6: HTML parser error : Unexpected end tag : p +


    + ^ +./test/HTML/test3.html:13: HTML parser error : Unexpected end tag : p +


    + ^ +./test/HTML/test3.html:27: HTML parser error : Opening and ending tag mismatch: h4 and b +

    Links

    + ^ +./test/HTML/test3.html:27: HTML parser error : Unexpected end tag : b +

    Links

    + ^ diff --git a/libxml2/result/HTML/test3.html.sax b/libxml2/result/HTML/test3.html.sax new file mode 100644 index 0000000..81500df --- /dev/null +++ b/libxml2/result/HTML/test3.html.sax @@ -0,0 +1,236 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.characters( +, 1) +SAX.startElement(head) +SAX.characters( +, 1) +SAX.startElement(base, target='contents') +SAX.endElement(base) +SAX.characters( +, 1) +SAX.endElement(head) +SAX.characters( +, 1) +SAX.startElement(body) +SAX.startElement(a, name='ProblemDomain.Package') +SAX.startElement(h2) +SAX.characters(Component Package diagram Prob, 39) +SAX.endElement(h2) +SAX.characters( +, 1) +SAX.endElement(a) +SAX.startElement(p) +SAX.endElement(p) +SAX.startElement(hr) +SAX.endElement(hr) +SAX.error: Unexpected end tag : p +SAX.characters( +, 1) +SAX.startElement(dl) +SAX.characters( +, 1) +SAX.startElement(dt) +SAX.startElement(b) +SAX.characters(Stereotype , 11) +SAX.endElement(b) +SAX.characters(problem domain, 14) +SAX.endElement(dt) +SAX.characters( +, 1) +SAX.startElement(dt) +SAX.startElement(b) +SAX.characters(Alias , 6) +SAX.endElement(b) +SAX.characters(Problem Domain, 14) +SAX.endElement(dt) +SAX.characters( +, 1) +SAX.startElement(dt) +SAX.startElement(b) +SAX.characters(Note , 5) +SAX.endElement(b) +SAX.endElement(dt) +SAX.startElement(dd) +SAX.characters(The Problem Domain package is , 57) +SAX.characters( +, 1) +SAX.startElement(dd) +SAX.characters(Interface, thats stores and ma, 56) +SAX.characters( +, 1) +SAX.endElement(dd) +SAX.endElement(dd) +SAX.endElement(dl) +SAX.characters( +, 1) +SAX.startElement(p) +SAX.endElement(p) +SAX.startElement(hr) +SAX.endElement(hr) +SAX.error: Unexpected end tag : p +SAX.characters( +, 1) +SAX.startElement(dl) +SAX.characters( +, 1) +SAX.characters( +, 1) +SAX.startElement(dt) +SAX.startElement(h4) +SAX.characters(Class , 6) +SAX.startElement(a, href='HumanInterface.FamilyFrame.html#HumanInterface.FamilyFrame') +SAX.characters(HumanInterface.FamilyFrame, 26) +SAX.endElement(a) +SAX.endElement(h4) +SAX.endElement(dt) +SAX.characters( +, 1) +SAX.startElement(dt) +SAX.startElement(h4) +SAX.characters(Class , 6) +SAX.startElement(a, href='ProblemDomain.Birth.html#ProblemDomain.Birth') +SAX.characters(ProblemDomain.Birth, 19) +SAX.endElement(a) +SAX.endElement(h4) +SAX.endElement(dt) +SAX.characters( +, 1) +SAX.startElement(dt) +SAX.startElement(h4) +SAX.characters(Class , 6) +SAX.startElement(a, href='ProblemDomain.Death.html#ProblemDomain.Death') +SAX.characters(ProblemDomain.Death, 19) +SAX.endElement(a) +SAX.endElement(h4) +SAX.endElement(dt) +SAX.characters( +, 1) +SAX.startElement(dt) +SAX.startElement(h4) +SAX.characters(Class , 6) +SAX.startElement(a, href='ProblemDomain.Divorce.html#ProblemDomain.Divorce') +SAX.characters(ProblemDomain.Divorce, 21) +SAX.endElement(a) +SAX.endElement(h4) +SAX.endElement(dt) +SAX.characters( +, 1) +SAX.startElement(dt) +SAX.startElement(h4) +SAX.characters(Class , 6) +SAX.startElement(a, href='ProblemDomain.Family.html#ProblemDomain.Family') +SAX.characters(ProblemDomain.Family, 20) +SAX.endElement(a) +SAX.endElement(h4) +SAX.endElement(dt) +SAX.characters( +, 1) +SAX.startElement(dt) +SAX.startElement(h4) +SAX.characters(Class , 6) +SAX.startElement(a, href='ProblemDomain.Individual.html#ProblemDomain.Individual') +SAX.characters(ProblemDomain.Individual, 24) +SAX.endElement(a) +SAX.endElement(h4) +SAX.endElement(dt) +SAX.characters( +, 1) +SAX.startElement(dt) +SAX.startElement(h4) +SAX.characters(Class , 6) +SAX.startElement(a, href='ProblemDomain.LifeEvent.html#ProblemDomain.LifeEvent') +SAX.characters(ProblemDomain.LifeEvent, 23) +SAX.endElement(a) +SAX.endElement(h4) +SAX.endElement(dt) +SAX.characters( +, 1) +SAX.startElement(dt) +SAX.startElement(h4) +SAX.characters(Class , 6) +SAX.startElement(a, href='ProblemDomain.Marriage.html#ProblemDomain.Marriage') +SAX.characters(ProblemDomain.Marriage, 22) +SAX.endElement(a) +SAX.endElement(h4) +SAX.endElement(dt) +SAX.characters( +, 1) +SAX.startElement(dt) +SAX.startElement(h4) +SAX.characters(Class , 6) +SAX.startElement(a, href='ProblemDomain.Note.html#ProblemDomain.Note') +SAX.characters(ProblemDomain.Note, 18) +SAX.endElement(a) +SAX.endElement(h4) +SAX.endElement(dt) +SAX.characters( +, 1) +SAX.endElement(dl) +SAX.characters( +, 1) +SAX.characters( +, 1) +SAX.startElement(h4) +SAX.startElement(b) +SAX.characters(Links, 5) +SAX.error: Opening and ending tag mismatch: h4 and b +SAX.endElement(b) +SAX.endElement(h4) +SAX.error: Unexpected end tag : b +SAX.characters( +, 1) +SAX.startElement(ul) +SAX.startElement(li) +SAX.startElement(b) +SAX.characters(Link to , 8) +SAX.endElement(b) +SAX.startElement(a, href='HumanInterface.Package.html#HumanInterface.Package') +SAX.characters(HumanInterface, 14) +SAX.endElement(a) +SAX.endElement(li) +SAX.endElement(ul) +SAX.characters( +, 1) +SAX.startElement(dir) +SAX.endElement(dir) +SAX.characters( +, 1) +SAX.startElement(ul) +SAX.startElement(li) +SAX.startElement(b) +SAX.characters(Link to , 8) +SAX.endElement(b) +SAX.startElement(a, href='DataManagement.FlatFile.Package.html#DataManagement.FlatFile.Package') +SAX.characters(DataManagement.FlatFile, 23) +SAX.endElement(a) +SAX.endElement(li) +SAX.endElement(ul) +SAX.characters( +, 1) +SAX.startElement(dir) +SAX.endElement(dir) +SAX.characters( +, 1) +SAX.startElement(ul) +SAX.startElement(li) +SAX.startElement(b) +SAX.characters(Link to , 8) +SAX.endElement(b) +SAX.startElement(a, href='DataManagement.Package.html#DataManagement.Package') +SAX.characters(DataManagement, 14) +SAX.endElement(a) +SAX.endElement(li) +SAX.endElement(ul) +SAX.characters( +, 1) +SAX.startElement(dir) +SAX.endElement(dir) +SAX.characters( +, 1) +SAX.endElement(body) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/libxml2/result/HTML/utf8bug.html b/libxml2/result/HTML/utf8bug.html new file mode 100644 index 0000000..922128c --- /dev/null +++ b/libxml2/result/HTML/utf8bug.html @@ -0,0 +1,215 @@ + + + + + + + + +شهير بلاگ + + + + + + + + + + + + + + +
    + + + + + +
    + + 
    +
    +
    + + + + + +
    + + +خانه + +تماس با من + +آرشيو + +جستجو در سایت + +درباره من + + + +RSS + + + +
    +

    + يکشنبه، 15 ارديبهشت 1387  + -   + Sunday, May 04, 2008 +

    +
    +
    +
    +
    + + + + +
    + + + + +
    + + + + + + + + + + +
    +
    + تاريخ درج: چهارشنبه، 29 اسÙند 1386 + - Wednesday, March 19, 2008      + نويسنده:       + Ø¯ÙØ¹Ø§Øª مشاهده: 2688 + بار      كد: 341 +
    +
    + + + +
    +
    +
    +
    + +
    + + + + +
    + عکس محصول هنر یکی از همکاران است. روی آن کلیک کند. +
    +
    + +
    +

    +
    +
      +نظرات + کاربران:
    • +حاجی Ø¬ÙØ±Ø³ÙˆÙ†:
      4/5/2008 - + 7:08:00 PM
      با درود به شما... بدون هیچ گونه طنز + Ùˆ دستکاری توسط حاجی دایی نقل شده است این ها Ú©Ù‡ در بیان جدی + اینقدر طناز هستند وای به روزی Ú©Ù‡ بخواهند طنز بنویسند. ببین + شهیر جان Ú†Ù‡ کسانی سر جوانان ما را با اصلاحات 8 سال گول + مالیدند.. این ها را بخوانید :::::((دبيركل مجمع اسلامي بانوان + Ú¯ÙØª: به نظر مي‌رسد آقاي خاتمي قصد ÙØ§ØµÙ„Ù‡ Ú¯Ø±ÙØªÙ† از تندروها + را ندارد Ùˆ تا اين روند ادامه دارد ما با تندروها در يك ائتلا٠+ شركت نمي‌كنيم. به گزارش خبرنگار سياسي خبرگزاري ÙØ§Ø±Ø³ØŒ + ÙØ§Ø·Ù…Ù‡ كروبي دبيركل مجمع اسلامي بانوان عصر امروز شنبه در جمع + خبرنگاران رسانه‌هاي گروهي روند برگزاري انتخابات هشتمين + دوره مجلس شوراي اسلامي را تحليل كرد. وي ضمن برشمردن مرزبندي خود + با جربان تندروي اصلاح طلب Ø§ÙØ²ÙˆØ¯: اين ما نيستيم كه با ستاد ائتلا٠+ اصلاح طلبان اختلا٠داريم اما انحصارگري برخي از گروه‌ها + جريان اصلاحات را دچار از هم‌گسستگي كرد. داوطلب هشتمين دوره + انتخابات مجلس شوراي اسلامي درباره تشكيل ستاد مردمي اصلاحات خاطر + نشان كرد: آقاي خاتمي به توصيه‌ها Ùˆ نظرات دوستانشان توجهي + ندارند Ùˆ اگر اين امكان وجود داشت كه همه جريانات اصلاح طلب زير + يك عنوان ÙØ¹Ø§Ù„يت كنند حتما از آن استقبال مي‌كرديم اما به + نظر نمي‌رسد كه آقاي خاتمي بخواهد از تندروها ÙØ§ØµÙ„Ù‡ بگيرد Ùˆ + تا اين روند ادامه داشته باشد ما با تندروها در يك ائتلا٠شركت + نمي‌كنيم. وي در مورد شركت تشكل متبوع خود در مرحله بعدي + انتخابات مجلس Ú¯ÙØª: برخي از كانديداهاي نزديك به ما به مرحله دوم + انتخابات راه ÙŠØ§ÙØªÙ‡â€ŒØ§Ù†Ø¯ Ùˆ ما با تمام توان در اين مرحله از + آنها Ø¯ÙØ§Ø¹ خواهيم كرد. كروبي تاكيد كرد: گروهي انحصارگر با + اقدامات غيرعقلاني Ùˆ تندروي‌هاي خود اتوبوس اصلاحات را در دره + سرنگون كردند)))) Ù„Ø·ÙØ§ پیدا کنید پرتقال ÙØ±ÙˆØ´ را......واقعا این + ها Ù…ÛŒ خواهند دوباره وارد مجلس Ùˆ دولت شوند.....اووووووووووووووو + لالالالالالا........نه!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! البته این + مجمع بانوان بیشتر به Ø³ÙØ±Ù‡ های نذر Ùˆ سبزی پاک کردن های خونه + مامان بزرگ Ùˆ خاله زنک بازی های عصر قاجاریه Ùˆ مجلس پا تختی Ùˆ + حنا بندون عروس شباهت دارد. مهندس جان گویا ما از دست این ....Ùˆ + عیالش باید برویم گوشه همان ابدارخانه Ùˆ شاغلام Ùˆ چایی + دیشلمه....شما تشری٠نمی آورید؟
    • +

    • +سیاوش:
      4/3/2008 - 9:28:00 PM
      مرد هزار چهره مرد هزار چهره کیست؟شخصیتی ساخته Ùˆ پرداخته مهران مدیری، پیمان قاسم خانی Ùˆ دیگر نویسندگان؟ تنها Ù‡Ø¯ÙØ´ آنست Ú©Ù‡ چند روز تعطیلات، مارا سرگم کند Ùˆ دیگر هیچ؟ مرد هزار چهره یک طنز است یک طنز تلخ، برداشتی واقعی از جامعه ایرانی. من جوانم پس دردآشنای جوانانم Ùˆ خود را با خود Ùˆ دیگر جوانان طر٠می کنم بسیار اند جوانانی Ú©Ù‡ مصداق مرد هزار چهره هستند جوانانی سودا زده یا به قول خود مسعود "جو گیر" Ú©Ù‡ هر با محصولی کهنه را با تعریÙÛŒ جدید به آنها ارائه کنند چنان با تمام Ùˆ جود Ù…ÛŒ پذیرند Ú©Ù‡ گویی راه ÙØ§Ø¦Ù‚ آمدن بر تمام مشکلاتشان را ÛŒØ§ÙØªÙ‡ اند Ùˆ Ù…ÛŒ خرند، خواه این تحÙÙ‡ تئوری بر Ú¯Ø±ÙØªÙ‡ از تÙکرات خشک Ùˆ ÙØ³ÛŒÙ„ÛŒ گروهی باشد یا مدل ملیجک وار لباسی در پشت ویترین ÙØ±ÙˆØ´Ú¯Ø§Ù‡. مهم نیست Ú†Ù‡ باشد! مهم نیست دلیل انتخابش Ú†Ù‡ باشد! مهم نیست نتیجه این انتخاب چیست! تنها مهم است Ú©Ù‡ Ù…ÛŒ گویند از این Ø·Ø±Ù Ø¨ÙØ±Ù…ائید!حال این Ø¨ÙØ±Ù…ائید Ú†Ù‡ معنایی دارد باز هم مهم نیست!!! وای بر ما Ú©Ù‡ نه خود را Ù…ÛŒ شناسیم Ùˆ نه در جهت شناخت خویش قدم Ù…ÛŒ گذاریم. وای بر ما Ú©Ù‡ دیگر حتی ندای درون خویش را نمی توانیم بشنویم. وای بر ما Ú©Ù‡ نمی دانیم Ú†Ù‡ Ù…ÛŒ خواهیم Ùˆ هر بار Ú©Ù‡ چیزی Ù…ÛŒ خواهیم Ùˆ در مسیر وصال پا Ù…ÛŒ گذاریم به میانه راه نرسیده چنان مجذوب زرق Ùˆ برق راههای دیگر Ù…ÛŒ شویم Ú©Ù‡ مبدا Ùˆ مقصد را یکجا ÙØ±Ø§Ù…وش Ù…ÛŒ کنیم. وای بر ما Ú©Ù‡ نمی توانیم در برابر هر آنچه در مقابل انسانیت ما ایستاده "نه"بگوییم. درست است Ú©Ù‡ ما جوانان به تنهایی مقصر نیستیم اما چون شروع تقصیریم پس Ù…ÛŒ توانیم از ابتدا مانع مشکل هم باشیم. با احترام سیاوش
      + 
      +بسیار زیبا سیاوش جان. درود بر تو. شهیر +
    • +

    • +احسان __ خط سوم:
      4/3/2008 - 8:21:00 PM
      با سلام Ùˆ ادای احترام وکسب اجازه از شهیر عزیز . از عماد جان عزیزم بخاطر زحمتی Ú©Ù‡ کشیدند Ùˆ اطلاعات خوبی Ú©Ù‡ دادند ØŒ به سهم خودم تشکر Ù…ÛŒ کنم . با کمال شرمندگی از اینکه "بدون هماهنگی" Ùˆ " اجازه ای قبلی شما" Ùˆ "بسرعت" ØŒ معدود اشتباهات تایپی را Ú©Ù‡ با توجه به حجم مطلب ØŒ امری کاملا اجتناب ناپذیر است ØŒ سعی کردم Ú©Ù‡ اصلاح کنم ØŒ از شما پوزش Ù…ÛŒ خواهم . البته عماد جان عزیزم ØŒ بد نیست بدانید Ú©Ù‡ در میزان اشتباه در تایپ هرگز به پای بنده نخواهید رسید ! شاهد ادعای حقیر، شهیر Ùˆ حسین جان عزیزم هستند Ú©Ù‡ خبردارند Ú©Ù‡ چگونه بنده در یک Ùقره عملیات تایپ ØŒ دو ØµÙØ­Ù‡ ای کامل را جا انداختم !!! کاÙÛŒ است بپرسید ØŒ در نهایت صداقت ØŒ بر این رکورد بی نظیر Ùˆ تاریخی شهادت خواهند داد ! باز هم از زحمات عماد جان Ùˆ نیز سوالات خوب حسین جان تشکر Ù…ÛŒ کنم Ú©Ù‡ ان وعده ای مقاله ای عیدانه ای Ù…ÙØµÙ„ شهیر را در باره ای زنده یاد مرحوم مصدق ØŒ در وسع خود بجای اوردند . ضمن انکه هیچکدام از دوستان، این زحمت ارزشمند عماد جان را دلیل ان نخواهند دانست Ú©Ù‡ شهیرعزیز بعد از بازگشت از Ù…Ø³Ø§ÙØ±Øª ØŒ سر ÙØ±ØµØª وعده ای خود را عمل نکنند . مشتاقانه اما نه عجولانه ØŒ منتظر مقاله ای شهیر هم خواهیم ماند. با احترام : احسان
      + 
      +احسان جان، من Ùکر کردم قضیه شامل مرور زمان شده است. تا امروز Ú©Ù‡ نرسیده ام دست به این پروژه بزنم. اگر عشق به Ø­ÙØ¸ ارتباط با شما ها نبود تا روز 25 اپریل به خودم مرخصی Ù…ÛŒ دادم. در این Ø³ÙØ± خدا Ù…ÛŒ داند چند هزار مایل در 3 قاره را پیموده ام. از پوست Ú©Ù„ÙØª خودم در عجبم Ú©Ù‡ چطوری تونستم اخبار را دنبال کنم Ùˆ چند مقاله کوتاه بنویسم. Ú¯Ø±ÙØªØ§Ø±ÛŒ زیاد بود. شهیر +
    • +

    • +عماد Û²Û´ ساله از اصÙهان:
      4/3/2008 - 7:14:00 PM
      شهير جان اگر طولانی شد ببخشيد چاره ای نبود احسان جان از کمک شما نيز در ويرايش اين مطلب متشکرم اميدوارم حسين عزیز نيز راضی باشد
      + 
      +ممنون از زحمتی که کشیدی عماد جان. شهیر +
    • +

    • +حسین:
      4/3/2008 - 7:04:00 PM
      سلام آقا شهیر با اجازه شما خواستم از عماد عزیز وهمچنین سرور بزرگوار آقااحسان تشکر کنم وبه آقا عمادبگویم دستت درد نکنه بابت زحمتت ÙˆÙوق العاده عالی بود.قسمتی Ú©Ù‡ نوشتید" خود دکتر مصدق در تقریراتشان به اشتباه بودن تصمیمشان مبنی بر Ø§Ø³ØªØ¹ÙØ§Ø¡ اقرار Ù…ÛŒ کنند"واقعا جالب وحاکی از روح بلند دکتر مصدق هست .بااینکه سوالات خرد وریز زیاد هست اما از اینکه به سوالات عمده من با توجه به کتاب دکتر مصدق پاسخ دادید بازهم تشکر میکنم .میخواستم این پاسخ را برای نویسنده مقاله رجانیوز copy&paste
      +کنم Ú¯ÙØªÙ… شاید هرچند به احتمال ضعی٠برای سایت دوست داشتنی آقا شهیر مشکلی پیش +آید.خواستم با حذ٠نام آقا شهیر وشما از کامنت اینکار را بکنم احتمال دادم راضی +نباشید .بنابراین ÙØ¹Ù„ا علیرغم میل ÙØ±Ø§ÙˆØ§Ù† از اینکار صر٠نظر کردم .بهرحال بازهم +ممنون ومتشکر
    • +

    • +حاجی Ø¬ÙØ±Ø³ÙˆÙ†:
      4/3/2008 - 6:06:00 PM FOO!
      با درود از قدیم Ú¯ÙØªÙ‡ اند Ú©Ù‡ یک کلمه هم از مادر عروس بشنوید. بنابراین به Ø§ÙØ§Ø¶Ø§Øª اخیر کشور دوست Ùˆ برادر Ùˆ سوسیالیست چین عزیز Ùˆ جان جانان کمونیست عنایت Ø¨ÙØ±Ù…ایید: رادیو ÙØ±Ø¯Ø§: ديپلمات ها در وين Ú¯ÙØªÙ‡ اند: Ú©Ù‡ چين، از Ù…Ø®Ø§Ù„ÙØ§Ù† تشديد تحريم های ايران در شورای امينت، اطلاعات خود درباره ارتباط برنامه هسته ای تهران با تلاش برای دستيابی سلاح اتمی را در اختيار آژانس بين المللی انرژی اتمی قرار داده است. العجب!!!!!! انتخاب :با وجود اینکه چین به شدت با تحریمهای شورای امنیت سازمان ملل علیه ایران Ù…Ø®Ø§Ù„ÙØª Ù…ÛŒ کرد، اطلاعاتی در رابطه با ÙØ¹Ø§Ù„یتهای هسته ای ایران در اختیار مقامات آژانس بین المللی انرژی اتمی قرار داده Ú©Ù‡ بر اساس آن ایران در تلاش برای دست یابی به سلاح های اتمی است. به گزارش خبرنگار سرویس بین الملل خبرگزاری انتخاب به نقل از ÙØ§Ú©Ø³ نیوز؛جان بولتون ،نمایندۀ پیشین ایالات متحدۀ امریکا در سازمان ملل،در این باره Ú¯ÙØª: اقدام اینچنینی از سوی چین به دلیل روابط نظامی Ú©Ù‡ میان دو کشور [ایران Ùˆ چین] برقرار است، بسیار قابل توجه است. خبرنگار انتخاب Ù…ÛŒ Ø§ÙØ²Ø§ÛŒØ¯Ø› در حالی چین به این اقدام دست زده است Ú©Ù‡ همکاری های تجاری Ùˆ نظامی ایران با این کشور بطور بی سابقه ای Ø§ÙØ²Ø§ÛŒØ´ ÛŒØ§ÙØªÙ‡ است. یا باب الحوائج!!!!! رادیو زمانه: چین با وجود Ù…Ø®Ø§Ù„ÙØª با تحریم‌های شدید شورای امنیت علیه تهران، اطلاعاتی درباره تلاش‌های تهران برای ساخت تسلیحات هسته‌ای به آژانس بین‌المللی انرژی اتمی ارائه کرده است. آسوشیتدپرس با اعلام این خبر به نقل از چند دیپلمات آشنا با پرونده هسته‌ای ایران نوشت، Ù¾Ú©Ù† به همراه مسکو همواره بر سر راه شورای امنیت Ùˆ امریکا برای اعمال مجازات های سخت تر علیه تهران به دلیل مقاومت هسته ای این کشور به صورت یک مانع عمل کرده‌اند. این گزارش Ù…ÛŒ Ø§ÙØ²Ø§ÛŒØ¯ØŒ تصمیم چین برای ارائه اطلاعاتی جهت Ø§Ø³ØªÙØ§Ø¯Ù‡ در تحقیقات آژانس انرژی اتمی درباره برنامه تسلیحات هسته‌ای ایران، گویای Ø§ÙØ²Ø§ÛŒØ´ نارضایتی بین‌المللی درباره برنامه هسته‌ای جمهوری اسلامی است Ú©Ù‡ حتی تلاش برای ساخت چنین تسلیحاتی را نیز تکذیب می‌کند. بر اساس این گزارش، دو دیپلمات بلندپایه Ú©Ù‡ ارتباط نزدیکی با آژانس بین‌المللی انرژی اتمی دارند این اقدام چین را برملا کرده‌اند. آژانس بین‌المللی انرژی اتمی از اظهار نظر در این باره خودداری کرده است. العجب. من مامور Ùˆ معذور..حالا از پدر عروس چند کلمه بشنوید: سخنگوی آژانس بین المللی انرژی اتمی ادعای برخی از رسانه های غربی را درباره این Ú©Ù‡ چین اطلاعاتی را درباره برنامه هسته ای ایران در اختیار آژانس قرار داده است ØŒ تکذیب کرد . ملیسا Ùلمینگ در Ú¯ÙØª Ùˆ Ú¯Ùˆ با خبرنگار واحد مرکزی خبر تاکید کرد : آژانس بین المللی انرژی اتمی هرگز درباره اطلاعات محرمانه Ø¯Ø±ÛŒØ§ÙØªÛŒ از کشورها اظهار نظر نمی کند . ÙˆÛŒ Ú¯ÙØª: هم +
    • +
    +
    +
    +
    +
    + + diff --git a/libxml2/result/HTML/utf8bug.html.sax b/libxml2/result/HTML/utf8bug.html.sax new file mode 100644 index 0000000..3140b82 --- /dev/null +++ b/libxml2/result/HTML/utf8bug.html.sax @@ -0,0 +1,726 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.characters( + +, 2) +SAX.startElement(head) +SAX.characters( +, 1) +SAX.startElement(meta, http-equiv='Content-Language', content='en-us') +SAX.endElement(meta) +SAX.characters( +, 1) +SAX.startElement(meta, http-equiv='Content-Type', content='text/html; charset=utf-8') +SAX.endElement(meta) +SAX.characters( +, 1) +SAX.startElement(link, href='CSS.css', type='text/css', rel='stylesheet') +SAX.endElement(link) +SAX.characters( +, 1) +SAX.startElement(link, rel='SHORTCUT ICON', href='favicon.ico') +SAX.endElement(link) +SAX.characters( +, 1) +SAX.startElement(title) +SAX.characters(شهير , 17) +SAX.endElement(title) +SAX.characters( +, 1) +SAX.endElement(head) +SAX.characters( + +, 2) +SAX.startElement(body) +SAX.characters( + +, 2) +SAX.startElement(table, border='0', width='100%', id='MainTBL', cellspacing='0', cellpadding='0') +SAX.characters( + , 2) +SAX.startElement(tr) +SAX.characters( + , 3) +SAX.startElement(td, class='Header1') +SAX.characters( + , 3) +SAX.startElement(table, border='0', width='100%', cellspacing='0', cellpadding='0', height='100%') +SAX.characters( + , 4) +SAX.startElement(tr) +SAX.characters( + , 5) +SAX.startElement(td) +SAX.characters( + , 5) +SAX.startElement(img, border='0', src='Shell/Shahir.ShahidSales1.png', width='442', height='110') +SAX.endElement(img) +SAX.endElement(td) +SAX.characters( + , 5) +SAX.startElement(td) +SAX.characters( , 2) +SAX.endElement(td) +SAX.characters( + , 4) +SAX.endElement(tr) +SAX.characters( + , 3) +SAX.endElement(table) +SAX.characters( + , 3) +SAX.endElement(td) +SAX.characters( + , 2) +SAX.endElement(tr) +SAX.characters( + , 2) +SAX.startElement(tr) +SAX.characters( + , 3) +SAX.startElement(td, height='28') +SAX.characters( + , 4) +SAX.startElement(div, id='SideBar1') +SAX.characters( + , 5) +SAX.startElement(table, width='100%') +SAX.characters( + , 5) +SAX.startElement(tr) +SAX.characters( + , 5) +SAX.startElement(td) +SAX.characters( + , 6) +SAX.startElement(span, class='Item') +SAX.characters( +, 1) +SAX.startElement(a, href='Index.asp') +SAX.characters( +خانه , 10) +SAX.endElement(a) +SAX.endElement(span) +SAX.characters( , 1) +SAX.startElement(span, class='Item') +SAX.characters( +, 1) +SAX.startElement(a, href='Contact.asp') +SAX.characters( +تماس , 20) +SAX.endElement(a) +SAX.endElement(span) +SAX.characters( , 1) +SAX.startElement(span, class='Item') +SAX.characters( +, 1) +SAX.startElement(a, href='Archive.asp') +SAX.characters( +آرشي, 12) +SAX.endElement(a) +SAX.endElement(span) +SAX.characters( , 1) +SAX.startElement(span, class='Item') +SAX.characters( +, 1) +SAX.startElement(a, href='Search.asp') +SAX.characters( +جستج, 26) +SAX.endElement(a) +SAX.endElement(span) +SAX.characters( , 1) +SAX.startElement(span, class='Item') +SAX.characters( +, 1) +SAX.startElement(a, href='http://shahirblog.com/detail.asp?id=30') +SAX.characters( +دربا, 19) +SAX.endElement(a) +SAX.endElement(span) +SAX.characters( , 1) +SAX.startElement(span, class='Item') +SAX.characters( +, 1) +SAX.startElement(a, href='RSS2.asp') +SAX.characters( + +, 2) +SAX.startElement(img, src='showimage.aspx?path=Files_Upload\192.png&width=%>', border='0') +SAX.endElement(img) +SAX.characters( +RSS , 5) +SAX.endElement(a) +SAX.endElement(span) +SAX.characters( , 1) +SAX.startElement(span, class='Item') +SAX.characters( +, 1) +SAX.startElement(a, href='') +SAX.characters( + , 2) +SAX.endElement(a) +SAX.endElement(span) +SAX.characters( + , 5) +SAX.endElement(td) +SAX.characters( + , 5) +SAX.startElement(td, align='left') +SAX.characters( + , 5) +SAX.startElement(div, id='DateTime') +SAX.characters( + , 5) +SAX.startElement(p, align='left') +SAX.characters( + , 5) +SAX.characters(ي, 2) +SAX.characters(ک, 2) +SAX.characters(ش, 2) +SAX.characters(ن, 2) +SAX.characters(ب, 2) +SAX.characters(ه, 2) +SAX.characters(،, 2) +SAX.characters( , 2) +SAX.characters(15, 2) +SAX.characters( , 2) +SAX.characters(ا, 2) +SAX.characters(ر, 2) +SAX.characters(د, 2) +SAX.characters(ي, 2) +SAX.characters(ب, 2) +SAX.characters(ه, 2) +SAX.characters(ش, 2) +SAX.characters(ت, 2) +SAX.characters( , 2) +SAX.characters(1387, 4) +SAX.characters( , 2) +SAX.characters( + -, 7) +SAX.characters( , 2) +SAX.characters( , 2) +SAX.characters( + , 6) +SAX.startElement(span, dir='ltr') +SAX.characters(Sunday, May 04, 2008, 20) +SAX.endElement(span) +SAX.characters( + , 5) +SAX.endElement(p) +SAX.endElement(div) +SAX.characters( + , 5) +SAX.endElement(td) +SAX.characters( + , 5) +SAX.endElement(tr) +SAX.characters( + , 5) +SAX.endElement(table) +SAX.characters( + , 4) +SAX.endElement(div) +SAX.characters( + , 3) +SAX.endElement(td) +SAX.characters( + , 2) +SAX.endElement(tr) +SAX.characters( + , 2) +SAX.startElement(tr) +SAX.characters( + , 3) +SAX.startElement(td, valign='top') +SAX.characters( + , 3) +SAX.startElement(table, border='0', width='100%', cellspacing='0', cellpadding='0', id='Content') +SAX.characters( + , 4) +SAX.startElement(tr) +SAX.characters( + , 5) +SAX.startElement(td, class='Right', valign='top', style='padding-right: 60px') +SAX.characters( + , 6) +SAX.startElement(table, width='100%') +SAX.characters( + , 7) +SAX.startElement(tr) +SAX.characters( + , 8) +SAX.startElement(td, valign='top') +SAX.characters( + +, 10) +SAX.startElement(script) +SAX.cdata( +var tgs = new Array( 'div','t, 539) +SAX.endElement(script) +SAX.characters( + +, 2) +SAX.startElement(table, width='100%', id='NewsDetail') +SAX.characters( + , 2) +SAX.startElement(tr) +SAX.characters( + , 3) +SAX.startElement(td, valign='top') +SAX.characters( + , 3) +SAX.startElement(div, class='News_Info') +SAX.characters( + , 4) +SAX.characters(ت, 2) +SAX.characters(ا, 2) +SAX.characters(ر, 2) +SAX.characters(ي, 2) +SAX.characters(خ, 2) +SAX.characters( , 1) +SAX.characters(د, 2) +SAX.characters(ر, 2) +SAX.characters(ج, 2) +SAX.characters(: , 2) +SAX.startElement(font, color='#000000') +SAX.characters(چ, 2) +SAX.characters(ه, 2) +SAX.characters(ا, 2) +SAX.characters(ر, 2) +SAX.characters(ش, 2) +SAX.characters(ن, 2) +SAX.characters(ب, 2) +SAX.characters(ه, 2) +SAX.characters(،, 2) +SAX.characters( , 2) +SAX.characters(29, 2) +SAX.characters( , 2) +SAX.characters(ا, 2) +SAX.characters(س, 2) +SAX.characters(ف, 2) +SAX.characters(ن, 2) +SAX.characters(د, 2) +SAX.characters( , 2) +SAX.characters(1386 + - Wednesday, March 19, 36) +SAX.endElement(font) +SAX.characters( , 2) +SAX.characters( , 2) +SAX.characters( , 2) +SAX.characters( , 2) +SAX.characters( , 2) +SAX.characters( + , 5) +SAX.characters(ن, 2) +SAX.characters(و, 2) +SAX.characters(ي, 2) +SAX.characters(س, 2) +SAX.characters(ن, 2) +SAX.characters(د, 2) +SAX.characters(ه, 2) +SAX.characters(: , 2) +SAX.startElement(font, color='#000000') +SAX.endElement(font) +SAX.characters( , 2) +SAX.characters( , 2) +SAX.characters( , 2) +SAX.characters( , 2) +SAX.characters( , 2) +SAX.characters( + , 5) +SAX.characters(د, 2) +SAX.characters(ف, 2) +SAX.characters(ع, 2) +SAX.characters(ا, 2) +SAX.characters(ت, 2) +SAX.characters( , 1) +SAX.characters(م, 2) +SAX.characters(ش, 2) +SAX.characters(ا, 2) +SAX.characters(ه, 2) +SAX.characters(د, 2) +SAX.characters(ه, 2) +SAX.characters(: , 2) +SAX.startElement(font, color='#000000') +SAX.characters(2688, 4) +SAX.endElement(font) +SAX.characters( + , 5) +SAX.characters(ب, 2) +SAX.characters(ا, 2) +SAX.characters(ر, 2) +SAX.characters( , 2) +SAX.characters( , 2) +SAX.characters( , 2) +SAX.characters( , 2) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.characters(ك, 2) +SAX.characters(د, 2) +SAX.characters(: , 2) +SAX.startElement(font, color='#000000') +SAX.characters(341, 3) +SAX.endElement(font) +SAX.characters( + , 3) +SAX.endElement(div) +SAX.characters( + , 3) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + , 3) +SAX.comment( +
    اندازه فونت:  + کوچک  + معمولی  + بزرگ  +
    ) +SAX.characters( + + + , 7) +SAX.startElement(div, class='Titr1') +SAX.characters( + , 5) +SAX.endElement(div) +SAX.characters( + , 3) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + , 3) +SAX.startElement(div, id='NewsBody') +SAX.characters( + + , 8) +SAX.startElement(div, class='Image') +SAX.characters( + + , 10) +SAX.startElement(a, href='showimage.aspx?path=Files_Upload\302.JPG&Width=', rel='lightbox', title='شهير بلاگ') +SAX.characters( + , 5) +SAX.startElement(img, src='showimage.aspx?path=Files_Upload\302.JPG&Width=220', align='left', border='1') +SAX.endElement(img) +SAX.characters( + , 5) +SAX.endElement(a) +SAX.endElement(div) +SAX.characters( + , 4) +SAX.startElement(strong) +SAX.startElement(font, size='4') +SAX.startElement(font, color='#0000ff') +SAX.characters(عکس, 6) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(font, color='#0000ff') +SAX.characters(محصو, 81) +SAX.endElement(font) +SAX.endElement(font) +SAX.endElement(strong) +SAX.startElement(s1) +SAX.characters( , 2) +SAX.endElement(s1) +SAX.endElement(div) +SAX.characters( + , 3) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + , 3) +SAX.startElement(div, align='left') +SAX.characters( + , 4) +SAX.startElement(a, href='printfriendly.asp?id=341') +SAX.characters( + , 4) +SAX.startElement(img, src='shell/PrintFriendly.png', border='0') +SAX.endElement(img) +SAX.endElement(a) +SAX.characters( + , 4) +SAX.startElement(a, href='#', onclick='window.open('SendNews.asp?PageID=341','myWin','toolbar=no,directories=no,location=no,status=no,menubar=no,resizable=yes,scrollbars=no,width=500, height=200'); return false') +SAX.characters( + , 4) +SAX.startElement(img, border='0', src='Shell/SendToFriends.jpg', width='140', height='30') +SAX.endElement(img) +SAX.characters( + , 4) +SAX.endElement(a) +SAX.characters( + , 3) +SAX.endElement(div) +SAX.characters( + , 3) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + , 3) +SAX.endElement(td) +SAX.characters( + , 2) +SAX.endElement(tr) +SAX.characters( + , 2) +SAX.startElement(tr) +SAX.characters( + , 3) +SAX.startElement(td) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + , 3) +SAX.startElement(hr) +SAX.endElement(hr) +SAX.startElement(div, id='Comments') +SAX.startElement(ul) +SAX.startElement(b) +SAX.characters(ن, 2) +SAX.characters(ظ, 2) +SAX.characters(ر, 2) +SAX.characters(ا, 2) +SAX.characters(ت, 2) +SAX.characters( + , 3) +SAX.characters(ک, 2) +SAX.characters(ا, 2) +SAX.characters(ر, 2) +SAX.characters(ب, 2) +SAX.characters(ر, 2) +SAX.characters(ا, 2) +SAX.characters(ن, 2) +SAX.characters(:, 1) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(li) +SAX.startElement(font, color='blue') +SAX.characters(حاجی , 22) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='1') +SAX.characters(4/5/2008 - + 7:08:00 PM, 23) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(با در, 28) +SAX.characters( , 2) +SAX.characters(بدون , 476) +SAX.characters(‌, 3) +SAX.characters(رسد آ, 203) +SAX.characters(‌, 3) +SAX.characters(كنيم. , 222) +SAX.characters(‌, 3) +SAX.characters(هاي گ, 403) +SAX.characters(‌, 3) +SAX.characters(ها + ج, 56) +SAX.characters(‌, 3) +SAX.characters(گسست, 230) +SAX.characters(‌, 3) +SAX.characters(ها و ن, 240) +SAX.characters(‌, 3) +SAX.characters(كردي, 38) +SAX.characters(‌, 3) +SAX.characters(رسد ك, 209) +SAX.characters(‌, 3) +SAX.characters(كنيم. , 241) +SAX.characters(‌, 3) +SAX.characters(اند و , 221) +SAX.characters(‌, 3) +SAX.characters(هاي خ, 848) +SAX.endElement(li) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(li) +SAX.startElement(font, color='blue') +SAX.characters(سیاو, 11) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='1') +SAX.characters(4/3/2008 - 9:28:00 PM, 21) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(مرد ه, 693) +SAX.characters(", 1) +SAX.characters(جو گی, 11) +SAX.characters(", 1) +SAX.characters( که هر, 1460) +SAX.characters(", 1) +SAX.characters(نه, 4) +SAX.characters(", 1) +SAX.characters(بگوی, 233) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.characters( , 2) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.startElement(font, color='#800000') +SAX.characters(بسیا, 67) +SAX.endElement(font) +SAX.endElement(li) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(li) +SAX.startElement(font, color='blue') +SAX.characters(احسا, 26) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='1') +SAX.characters(4/3/2008 - 8:21:00 PM, 21) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(با سل, 291) +SAX.characters(", 1) +SAX.characters(بدون , 23) +SAX.characters(", 1) +SAX.characters( و , 4) +SAX.characters(", 1) +SAX.characters( اجاز, 32) +SAX.characters(", 1) +SAX.characters( و , 4) +SAX.characters(", 1) +SAX.characters(بسرع, 10) +SAX.characters(", 1) +SAX.characters( ، معد, 1482) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.characters( , 2) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.startElement(font, color='#800000') +SAX.characters(احسا, 602) +SAX.endElement(font) +SAX.endElement(li) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(li) +SAX.startElement(font, color='blue') +SAX.characters(عماد , 41) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='1') +SAX.characters(4/3/2008 - 7:14:00 PM, 21) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(شهير , 227) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.characters( , 2) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.startElement(font, color='#800000') +SAX.characters(ممنو, 68) +SAX.endElement(font) +SAX.endElement(li) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(li) +SAX.startElement(font, color='blue') +SAX.characters(حسین:, 9) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='1') +SAX.characters(4/3/2008 - 7:04:00 PM, 21) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(سلام , 841) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +کنم گ, 440) +SAX.endElement(li) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(li) +SAX.startElement(font, color='blue') +SAX.characters(حاجی , 22) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='1') +SAX.characters(4/3/2008 - 6:06:00 PM FOO!, 26) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(با در, 1999) +SAX.characters(‌, 3) +SAX.characters(های ش, 98) +SAX.characters(‌, 3) +SAX.characters(های ت, 59) +SAX.characters(‌, 3) +SAX.characters(ای به , 27) +SAX.characters(‌, 3) +SAX.characters(المل, 186) +SAX.characters(‌, 3) +SAX.characters(ای ای, 299) +SAX.characters(‌, 3) +SAX.characters(اند. ا, 223) +SAX.characters(‌, 3) +SAX.characters(ای ای, 65) +SAX.characters(‌, 3) +SAX.characters(المل, 47) +SAX.characters(‌, 3) +SAX.characters(ای جم, 130) +SAX.characters(‌, 3) +SAX.characters(کند. ب, 132) +SAX.characters(‌, 3) +SAX.characters(المل, 93) +SAX.characters(‌, 3) +SAX.characters(اند. آ, 25) +SAX.characters(‌, 3) +SAX.characters(المل, 814) +SAX.endElement(li) +SAX.endElement(ul) +SAX.endElement(div) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(table) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(table) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(table) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(table) +SAX.endElement(body) +SAX.endElement(html) +SAX.endDocument() diff --git a/libxml2/result/HTML/wired.html b/libxml2/result/HTML/wired.html new file mode 100644 index 0000000..f9c4018 --- /dev/null +++ b/libxml2/result/HTML/wired.html @@ -0,0 +1,576 @@ + + +Top Stories News from Wired News + + + + + + + +
    + + + + + + + +
    + +
    True to the Original
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +

       updated 10:15 a.m.  15.Oct.99.PDT
    + + + + + + + + + + +
    + + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    SECTIONS
    Business
    Culture
    Technology
    Politics
    +WIRE SERVICE NEWS
    Top Headlines
    Sports
    Finance
    + FREE DELIVERY
    + + + + + +
    +
    + + + + + + + + + +  +
    +
    + + +
    +
    + STOCKS
    Get Quote:
    +  +
    +Financial Services
    +
    +
    +
    + + + Datek + Wired Index Fund + internet.com Index Fund + GetSmart's MortgageFinder +
    Today's Summary
    Wired Index | All Indexes
    Portfolios
    FIND A BOOK
    + + + + + + + + + + +
    +
    + + + + +
    +
    + + + +
    +

    + Powered by barnesandnoble.com + +
    + + +

    +
    + +
    WIRED + MAGAZINE
    + + +
    + +Wired Magazine
    + +Issue 7.11 +
    +
    + + +Subscribe to Wired.
    Special offer!
    + + +
    +
    + HOTWIRED +
    +Frontdoor
    +Webmonkey
    +Webmonkey Guides
    +RGB Gallery
    +Animation Express
    +Suck.com
    +
    +
    + HOTBOT +
    +Search
    +Shopping
    +
    +
    +
    + + + Wired News staff

    + + + + Contact us
    + + +

    + + Wired News delivered
    by PalmPilot,
    Outlook Express,
    In-Box Direct,
    +or PointCast

    + + + +
    +
    + + + + + + + + + + + + + + + +
    +
    +
    +
    + + + + +Nomad's Land

    Homeless, but ID'd, in Seattle
    8:15 a.m. The city council approves a plan to track the homeless by a numbering system, saying it'll improve services. The implications worry privacy advocates, naturally. By Craig Bicknell.
    in Politics
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
     HITS & MISC.
      +
    + + Calendar of E-Vents
    Ongoing goings-on.

    Rants & Raves
    Readers on Apple's G4 ... AOL's passwords ... MS vs. Linux.

    +
     CURRENT HOO-HA
      + +
    + +MP3 Rocks the Web
    Download the sound.
    Sponsored by Musicmaker


    + +The Wireless World
    Networking gets unplugged.
    Sponsored by Ericsson


    + +Digital Hollywood
    The buzz of tech.

    + +IPO Outlook
    Deals in the pipeline.
    Sponsored by Sun


    + +E-Biz
    Business unusual.
    Sponsored by IBM


    + +Med-Tech Center
    From the bleeding edge.
    Sponsored by WebMD


    + +The Linux Effect
    Not just for geeks.


    + +Executive Summary
    CEOs, COOs, CIOs unite.
    Sponsored by Vignette


    + +Making the Grade
    Reading, writing, and ROM.
    Sponsored by U of Phoenix


    + +Infostructure
    An IS/IT resource
    Sponsored by Sprint

    + +Y2K Watch
    Tick... Tick... Tick...

    + +More Hoo-Ha
     
    + +
    +
     MEANWHILE...
      +
    + + + +Führer Furor

    +Contruction workers in Berlin opened an old wound in the German psyche this week when they accidentally stumbled across Adolf Hitler's bunker while excavating near the Brandenburg Gate. The bunker, just south of the Gate, was where Hitler and his closest associates barricaded themselves as the Red Army approached Berlin in the waning days of World War II. It is also where the Führer and his bride, Eva Braun, committed suicide rather than fall into the hands of the Russians. Although the bunker's location has never been a mystery, it has been sealed off since the end of the war to keep neo-Nazis from turning it into a shrine. +

    +
  • More from Lycos +


  • +
    + + + 
    + +
    + +Other Top Stories
    +
    + + +Wall Street Keeps Reeling
    10:15 a.m. The Dow and Nasdaq suffer sizeable losses during the first half of Friday trading. Why? Wholesale prices are the highest this decade, and Greenspan is concerned about stock prices.
    in Reuters

    The Market's Madness
    9:10 a.m. The bulls and the bears are in the midst of a Battle Royale, and all this turbulence is not a healthy thing. So say the experts.
    in Reuters

    'Want a Loan? What's Your Race?'
    3:00 a.m. The Federal Reserve is in the middle of changing banking regulations to let banks collect data on the race, sex, religion, and national origin of their customers. By Declan McCullagh.
    in Politics

    Music Regs: A Bagful of Noise
    3:00 a.m. The struggle to come up with a digital music standard that would minimize download piracy is pushing right up against the holiday gift-giving season. By Jennifer Sullivan.
    in Business

    Can't Beat 'Em? Green 'Em
    3:00 a.m. High-tech companies are notoriously environmentally unfriendly, and a growing number of "Greenies" are trying to change things from the inside ... with varying results. By Chris Gaither.
    in Technology

    Y2K Cloud Over MS Office
    3:00 a.m. Windows NT sales remain strong, but corporate clients are wary of upgrading to MS Office 2000. Analysts say that means strong, but not stunning, Microsoft earnings.
    in Business

    Med-Tech
    Biochips for Custom Chemo
    3:00 a.m. Different cancer patients need different medicine, but doctors can rarely determine the best match. New biochip technology promises chemotherapy tailored to a tumor's genetic make-up. By Kristen Philipkoski.
    in Technology

    High Stakes in Priceline Suit
    3:00 a.m. It's not just another round of Redmond-bashing. A Priceline.com lawsuit against Microsoft's Expedia.com may have a big impact on how Net companies protect their business models. By Joanna Glasner.
    in Business

    Biodiversity Merges Online
    3:00 a.m. The far-flung databases on global biodiversity get together to form one monster database. Soon the red-eyed tree frog will be eyeing those Swedish lingonberries. From the Environment News Service.
    in Technology

    + + + + +
    +Elsewhere Today
    +
    + + +FCC: Hands-Off on Broadband
    The Industry Standard

    White House Lashes Out on Treaty
    Lycos

    Steve Jobs at 44
    Time

    Computers May Run on Gas
    ZDNN

    Much Is Free in the Wired World
    The New York Times (Registration Required)

    Melissa: I'm Baaaack
    USA Today

    Domain Owners Surrender Privacy
    MSNBC

    Dividing to Conquer in VC Game
    The Washington Post

    The Red Hat Diaries
    Salon

    Screensaver to Predict Climate
    BBC News

    + + + + + +
    + +
    + + + +
    +
    + +

    + +

    +Send us feedback + |  +Work at Wired Digital + |  +Advertise with us +
    +About Wired Digital + |  +Our Privacy Policy
    + + +

    +

    Copyright © 1994-99 Wired Digital Inc. All rights reserved. + +
    + + + + + + + + + + +

    +
    + + +
    + + +
    + + diff --git a/libxml2/result/HTML/wired.html.err b/libxml2/result/HTML/wired.html.err new file mode 100644 index 0000000..156b663 --- /dev/null +++ b/libxml2/result/HTML/wired.html.err @@ -0,0 +1,54 @@ +./test/HTML/wired.html:170: HTML parser error : Unexpected end tag : form + + ^ +./test/HTML/wired.html:265: HTML parser error : Unexpected end tag : form + + ^ +./test/HTML/wired.html:346: HTML parser error : Opening and ending tag mismatch: td and font + + ^ +./test/HTML/wired.html:374: HTML parser error : Opening and ending tag mismatch: td and font +Readers on Apple's G4 ... AOL's passwords ... MS vs. Linux.



    Vignette + ^ +./test/HTML/wired.html:408: HTML parser error : Opening and ending tag mismatch: a and font +com&BANNER=Sprint" style="text-decoration:none">Sprint + ^ +./test/HTML/wired.html:408: HTML parser error : Unexpected end tag : font< +" style="text-decoration:none">Sprint + ^ +./test/HTML/wired.html:414: HTML parser error : Opening and ending tag mismatch: td and font + + ^ +./test/HTML/wired.html:414: HTML parser error : Opening and ending tag mismatch: td and font + + ^ +./test/HTML/wired.html:414: HTML parser error : Opening and ending tag mismatch: td and font + + ^ +./test/HTML/wired.html:414: HTML parser error : Opening and ending tag mismatch: td and font + + ^ +./test/HTML/wired.html:414: HTML parser error : Opening and ending tag mismatch: td and font + + ^ +./test/HTML/wired.html:414: HTML parser error : Opening and ending tag mismatch: td and font + + ^ +./test/HTML/wired.html:414: HTML parser error : Opening and ending tag mismatch: td and font + + ^ +./test/HTML/wired.html:414: HTML parser error : Opening and ending tag mismatch: td and font + + ^ +./test/HTML/wired.html:414: HTML parser error : Opening and ending tag mismatch: td and font + + ^ +./test/HTML/wired.html:414: HTML parser error : Opening and ending tag mismatch: td and font + + ^ diff --git a/libxml2/result/HTML/wired.html.sax b/libxml2/result/HTML/wired.html.sax new file mode 100644 index 0000000..341675f --- /dev/null +++ b/libxml2/result/HTML/wired.html.sax @@ -0,0 +1,2786 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( Vignette StoryServer 4 Fri Oct 15 11:37:12 1999 ) +SAX.startElement(html) +SAX.startElement(head) +SAX.startElement(title) +SAX.characters(Top Stories News from Wired Ne, 32) +SAX.endElement(title) +SAX.endElement(head) +SAX.startElement(body, bgcolor='#FFFFFF', text='#000000', link='#333399', vlink='#660066', alink='#666699') +SAX.characters( + +, 2) +SAX.startElement(table, border='0', width='600', cellspacing='0', cellpadding='0') +SAX.characters( + , 3) +SAX.startElement(tr) +SAX.characters( + , 5) +SAX.startElement(td, valign='top', align='LEFT') +SAX.startElement(table, border='0', cellpadding='0', cellspacing='0', width='468', height='60', bgcolor='#FFFFFF') +SAX.startElement(form, method='GET', action='http://nsads.hotwired.com/event.ng/Type=click&ProfileID=9688&RunID=14074&AdID=22584&GroupID=1&FamilyID=2684&TagValues=8.25.156.159.166.171.172.174.179.180.181.182.183.196.197.199.208.389.412.436.2041.6750.78456.79630.81880&Redirect=http://www.springstreet.com/aa/citysearch.htm', id='form1', name='form1') +SAX.characters( +, 1) +SAX.startElement(tr) +SAX.startElement(td, bgcolor='#330099') +SAX.startElement(input, name='city', type='text', size='7', maxlength='20', value='Seattle') +SAX.endElement(input) +SAX.endElement(td) +SAX.characters( +, 1) +SAX.startElement(td, rowspan='2', align='LEFT', bgcolor='FFFFFF') +SAX.startElement(input, type='IMAGE', src='http://static.wired.com/advertising/blipverts/allapartments/990625jpa_ssthome.gif', width='375', height='60', border='0', value='search', hspace='0', alt='Search over 6,000,000 Apts with SpringStreet') +SAX.endElement(input) +SAX.endElement(td) +SAX.endElement(tr) +SAX.characters( +, 1) +SAX.startElement(tr) +SAX.startElement(td, bgcolor='#330099') +SAX.characters( +, 1) +SAX.startElement(select, name='state') +SAX.characters( +, 1) +SAX.startElement(option, value='WA', selected) +SAX.characters(WA, 2) +SAX.characters( +, 1) +SAX.endElement(option) +SAX.startElement(option, value='AL') +SAX.characters(AL, 2) +SAX.endElement(option) +SAX.startElement(option, value='AK') +SAX.characters(AK, 2) +SAX.endElement(option) +SAX.characters( +, 1) +SAX.startElement(option, value='AZ') +SAX.characters(AZ, 2) +SAX.endElement(option) +SAX.characters( +, 1) +SAX.startElement(option, value='AR') +SAX.characters(AR, 2) +SAX.endElement(option) +SAX.characters( +, 1) +SAX.startElement(option, value='CA') +SAX.characters(CA, 2) +SAX.endElement(option) +SAX.characters( +, 1) +SAX.startElement(option, value='CO') +SAX.characters(CO, 2) +SAX.endElement(option) +SAX.characters( +, 1) +SAX.startElement(option, value='CT') +SAX.characters(CT, 2) +SAX.endElement(option) +SAX.characters( +, 1) +SAX.startElement(option, value='DE') +SAX.characters(DE, 2) +SAX.endElement(option) +SAX.characters( +, 1) +SAX.startElement(option, value='DC') +SAX.characters(DC, 2) +SAX.endElement(option) +SAX.characters( +, 1) +SAX.startElement(option, value='FL') +SAX.characters(FL, 2) +SAX.endElement(option) +SAX.characters( +, 1) +SAX.startElement(option, value='GA') +SAX.characters(GA, 2) +SAX.endElement(option) +SAX.startElement(option, value='HI') +SAX.characters(HI, 2) +SAX.endElement(option) +SAX.characters( +, 1) +SAX.startElement(option, value='ID') +SAX.characters(ID, 2) +SAX.endElement(option) +SAX.characters( +, 1) +SAX.startElement(option, value='IL') +SAX.characters(IL, 2) +SAX.endElement(option) +SAX.characters( +, 1) +SAX.startElement(option, value='IN') +SAX.characters(IN, 2) +SAX.endElement(option) +SAX.startElement(option, value='IA') +SAX.characters(IA, 2) +SAX.endElement(option) +SAX.startElement(option, value='KS') +SAX.characters(KS, 2) +SAX.endElement(option) +SAX.startElement(option, value='KY') +SAX.characters(KY, 2) +SAX.endElement(option) +SAX.characters( +, 1) +SAX.startElement(option, value='LA') +SAX.characters(LA, 2) +SAX.endElement(option) +SAX.characters( +, 1) +SAX.startElement(option, value='ME') +SAX.characters(ME, 2) +SAX.endElement(option) +SAX.startElement(option, value='MD') +SAX.characters(MD, 2) +SAX.endElement(option) +SAX.characters( +, 1) +SAX.startElement(option, value='MA') +SAX.characters(MA, 2) +SAX.endElement(option) +SAX.characters( +, 1) +SAX.startElement(option, value='MI') +SAX.characters(MI, 2) +SAX.endElement(option) +SAX.startElement(option, value='MN') +SAX.characters(MN, 2) +SAX.endElement(option) +SAX.startElement(option, value='MS') +SAX.characters(MS, 2) +SAX.endElement(option) +SAX.characters( +, 1) +SAX.startElement(option, value='MO') +SAX.characters(MO, 2) +SAX.endElement(option) +SAX.characters( +, 1) +SAX.startElement(option, value='MT') +SAX.characters(MT, 2) +SAX.endElement(option) +SAX.startElement(option, value='NE') +SAX.characters(NE, 2) +SAX.endElement(option) +SAX.characters( +, 1) +SAX.startElement(option, value='NV') +SAX.characters(NV, 2) +SAX.endElement(option) +SAX.startElement(option, value='NH') +SAX.characters(NH, 2) +SAX.endElement(option) +SAX.characters( +, 1) +SAX.startElement(option, value='NJ') +SAX.characters(NJ, 2) +SAX.endElement(option) +SAX.characters( +, 1) +SAX.startElement(option, value='NM') +SAX.characters(NM, 2) +SAX.endElement(option) +SAX.startElement(option, value='NY') +SAX.characters(NY, 2) +SAX.endElement(option) +SAX.characters( +, 1) +SAX.startElement(option, value='NC') +SAX.characters(NC, 2) +SAX.endElement(option) +SAX.characters( +, 1) +SAX.startElement(option, value='ND') +SAX.characters(ND, 2) +SAX.endElement(option) +SAX.characters( +, 1) +SAX.startElement(option, value='OH') +SAX.characters(OH, 2) +SAX.endElement(option) +SAX.startElement(option, value='OK') +SAX.characters(OK, 2) +SAX.endElement(option) +SAX.characters( +, 1) +SAX.startElement(option, value='OR') +SAX.characters(OR, 2) +SAX.endElement(option) +SAX.characters( +, 1) +SAX.startElement(option, value='PA') +SAX.characters(PA, 2) +SAX.endElement(option) +SAX.characters( +, 1) +SAX.startElement(option, value='PR') +SAX.characters(PR, 2) +SAX.endElement(option) +SAX.startElement(option, value='RI') +SAX.characters(RI, 2) +SAX.endElement(option) +SAX.characters( +, 1) +SAX.startElement(option, value='SC') +SAX.characters(SC, 2) +SAX.endElement(option) +SAX.characters( , 1) +SAX.characters( +, 1) +SAX.startElement(option, value='SD') +SAX.characters(SD, 2) +SAX.endElement(option) +SAX.startElement(option, value='TN') +SAX.characters(TN, 2) +SAX.endElement(option) +SAX.startElement(option, value='TX') +SAX.characters(TX, 2) +SAX.endElement(option) +SAX.characters( +, 1) +SAX.startElement(option, value='UT') +SAX.characters(UT, 2) +SAX.endElement(option) +SAX.characters( +, 1) +SAX.startElement(option, value='VT') +SAX.characters(VT, 2) +SAX.endElement(option) +SAX.characters( +, 1) +SAX.startElement(option, value='VA') +SAX.characters(VA, 2) +SAX.endElement(option) +SAX.characters( +, 1) +SAX.startElement(option, value='WA') +SAX.characters(WA, 2) +SAX.endElement(option) +SAX.characters( +, 1) +SAX.startElement(option, value='WV') +SAX.characters(WV, 2) +SAX.endElement(option) +SAX.characters( +, 1) +SAX.startElement(option, value='WI') +SAX.characters(WI, 2) +SAX.endElement(option) +SAX.characters( +, 1) +SAX.startElement(option, value='WY') +SAX.characters(WY, 2) +SAX.endElement(option) +SAX.characters( +, 1) +SAX.endElement(select) +SAX.startElement(input, type='hidden', name='source', value='2hb8bhc059') +SAX.endElement(input) +SAX.characters( +, 1) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(form) +SAX.characters( +, 1) +SAX.endElement(table) +SAX.endElement(td) +SAX.characters( + , 5) +SAX.startElement(td, valign='top', align='RIGHT') +SAX.startElement(a, href='http://nsads.hotwired.com/event.ng/Type=click&ProfileID=5597&RunID=17167&AdID=22588&GroupID=1&FamilyID=3228&TagValues=8.25.159.171.172.174.179.180.181.182.183.196.197.199.208.241.389.412.436.2035.6749.6750.70367.78456.79630.81880&Redirect=http:%2F%2Fwww.hp.com%2Fgo%2Foriginal%20', target='_top') +SAX.startElement(img, src='http://static.wired.com/advertising/blipverts/hp_colorinkjet/hp_970c_120x60_6.gif', border='1', height='60', width='120', alt='True to the Original') +SAX.endElement(img) +SAX.endElement(a) +SAX.endElement(td) +SAX.characters( + , 3) +SAX.endElement(tr) +SAX.characters( +, 1) +SAX.endElement(table) +SAX.characters( + +, 2) +SAX.comment( WIRED NEWS header ) +SAX.characters( +, 1) +SAX.comment( CMD_HOST = scoop.hotwired.com ) +SAX.characters( + +, 2) +SAX.startElement(a, name='#') +SAX.endElement(a) +SAX.characters( +, 1) +SAX.startElement(table, border='0', width='600', cellspacing='0', cellpadding='0') +SAX.characters( + + , 4) +SAX.startElement(tr) +SAX.startElement(td) +SAX.endElement(td) +SAX.startElement(td, colspan='2') +SAX.startElement(img, src='http://static.wired.com/news/images/spacer.gif', height='5', width='447', alt='') +SAX.endElement(img) +SAX.endElement(td) +SAX.characters( +, 1) +SAX.endElement(tr) +SAX.characters( + + , 4) +SAX.startElement(tr) +SAX.characters( + , 8) +SAX.startElement(td, valign='BOTTOM', align='RIGHT', class='wired', bgcolor='#FFFFFF') +SAX.startElement(a, href='/news/0,1287,,00.html') +SAX.startElement(img, src='http://static.wired.com/news/images/wired_000000.gif', width='153', height='30', border='0') +SAX.endElement(img) +SAX.endElement(a) +SAX.endElement(td) +SAX.characters( + , 7) +SAX.startElement(td, bgcolor='#FF0000', valign='BOTTOM', align='LEFT', width='97') +SAX.startElement(a, href='/news/0,1287,,00.html') +SAX.startElement(img, src='http://static.wired.com/news/images/news_ffffff.gif', width='103', height='30', border='0') +SAX.endElement(img) +SAX.endElement(a) +SAX.endElement(td) +SAX.characters( + + +, 3) +SAX.startElement(td, bgcolor='#FF0000', align='left', valign='center') +SAX.startElement(nobr) +SAX.startElement(img, src='http://static.wired.com/news/images/spacer.gif', width='344', height='1') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='1', face='Verdana, Arial, Geneva, sans-serif', color='#FFFFFF') +SAX.characters( , 2) +SAX.characters( , 2) +SAX.characters( , 2) +SAX.startElement(b) +SAX.characters(updated 10:15 a.m., 18) +SAX.characters( , 2) +SAX.characters( , 2) +SAX.characters(15.Oct.99.PDT, 13) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(nobr) +SAX.endElement(td) +SAX.characters( + + + , 11) +SAX.endElement(tr) +SAX.characters( + , 5) +SAX.startElement(tr) +SAX.characters( + , 8) +SAX.startElement(td, valign='MIDDLE', align='RIGHT', bgcolor='#FFFFFF') +SAX.startElement(img, src='http://static.wired.com/news/images/spacer.gif', width='1', height='30') +SAX.endElement(img) +SAX.endElement(td) +SAX.characters( + + , 14) +SAX.startElement(td, colspan='2', bgcolor='#999999') +SAX.characters( + + , 9) +SAX.startElement(table, border='0', cellspacing='0', cellpadding='5') +SAX.characters( +, 1) +SAX.startElement(form, name='RedirectSearch', action='http://redirect.wired.com/search') +SAX.characters( + , 17) +SAX.startElement(tr) +SAX.characters( + , 15) +SAX.startElement(td) +SAX.characters( +, 2) +SAX.startElement(font, face='courier', size='1') +SAX.startElement(input, type='TEXT', name='query', size='20', value='') +SAX.endElement(input) +SAX.endElement(font) +SAX.characters( + , 13) +SAX.endElement(td) +SAX.characters( + + , 14) +SAX.startElement(td) +SAX.characters( +, 1) +SAX.startElement(select, name='url') +SAX.characters( + + , 4) +SAX.startElement(option, value='http://search.hotwired.com/search97/s97.vts?Action=FilterSearch&Filter=docs_filter.hts&ResultTemplate=vignette.hts&Collection=vignette&QueryMode=Internet&Query=', selected) +SAX.characters(Wired News, 10) +SAX.endElement(option) +SAX.characters( + , 3) +SAX.startElement(option, value='http://search.hotwired.com/search97/s97.vts?Action=FilterSearch&Filter=docs_filter.hts&ResultTemplate=webmonkey.hts&Collection=webmonkey&QueryMode=Internet&Query=') +SAX.characters(Webmonkey, 9) +SAX.endElement(option) +SAX.characters( + , 2) +SAX.startElement(option, value='http://search.hotwired.com/search97/s97.vts?collection=webmonkey_guides&Action=FilterSearch&filter=docs_filter.hts&ResultTemplate=webmonkey_guides.hts&QueryMode=Internet&Query=') +SAX.characters(Webmonkey Guides, 16) +SAX.endElement(option) +SAX.characters( + , 2) +SAX.startElement(option, value='http://search.hotwired.com/search97/s97.vts?collection=hotwired&Action=FilterSearch&filter=docs_filter.hts&ResultTemplate=hotwired_archive.hts&QueryMode=Internet&Query=') +SAX.characters(HotWired Archives, 17) +SAX.endElement(option) +SAX.characters( + , 3) +SAX.startElement(option, value='http://search.hotwired.com/search97/s97.vts?Action=FilterSearch&Filter=docs_filter.hts&ResultTemplate=magazine.hts&Collection=magazine&QueryMode=Internet&Query=') +SAX.characters(Wired Magazine, 14) +SAX.endElement(option) +SAX.characters( + , 3) +SAX.startElement(option, value='http://search.hotwired.com/search97/s97.vts?Action=FilterSearch&Filter=docs_filter.hts&ResultTemplate=animation.hts&Collection=animation&QueryMode=Internet&Query=') +SAX.characters(Animation Express, 17) +SAX.endElement(option) +SAX.characters( + , 3) +SAX.startElement(option, value='http://search.hotwired.com/search97/s97.vts?collection=suck&Action=FilterSearch&filter=docs_filter.hts&ResultTemplate=suck.hts&QueryMode=Internet&Query=') +SAX.characters(Suck.com, 8) +SAX.endElement(option) +SAX.characters( + , 2) +SAX.startElement(option, value='http://search.hotwired.com/search97/s97.vts?collection=uber_hotwired&Action=FilterSearch&filter=docs_filter.hts&ResultTemplate=uber_hotwired.hts&QueryMode=Internet&Query=') +SAX.characters(All of HotWired, 15) +SAX.endElement(option) +SAX.characters( + , 2) +SAX.startElement(option, value='http://www.hotbot.com/?SM=MC&DV=0&LG=any&RD=RG&DC=10&DE=2&_v=2&OPs=MDRTP&MT=') +SAX.characters(The Web -> HotBot, 17) +SAX.endElement(option) +SAX.characters( +, 1) +SAX.endElement(select) +SAX.characters( + + + + , 16) +SAX.endElement(td) +SAX.characters( + , 13) +SAX.startElement(td) +SAX.characters( + , 16) +SAX.startElement(input, type='SUBMIT', name='SUBMIT', value='SEARCH') +SAX.endElement(input) +SAX.characters( + , 13) +SAX.endElement(td) +SAX.characters( + , 11) +SAX.endElement(tr) +SAX.characters( + , 3) +SAX.endElement(form) +SAX.characters( + , 16) +SAX.endElement(table) +SAX.characters( + , 11) +SAX.endElement(td) +SAX.characters( + , 9) +SAX.endElement(tr) +SAX.characters( +, 1) +SAX.comment( + + +
    +Sponsored bySun Microsystems. We're the dot in .com + +) +SAX.characters( +, 1) +SAX.endElement(table) +SAX.characters( +, 1) +SAX.comment( end WIRED NEWS header ) +SAX.characters( + +, 2) +SAX.comment( begin upper left side Navigation ) +SAX.characters( + +, 2) +SAX.startElement(table, border='0', cellpadding='3', cellspacing='0', align='LEFT', bgcolor='#FFFFFF') +SAX.characters( + , 3) +SAX.startElement(tr) +SAX.characters( + , 6) +SAX.startElement(td, bgcolor='#FF0000') +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#FFFFFF') +SAX.characters( + , 8) +SAX.startElement(img, src='http://static.wired.com/news/images/spacer.gif', width='147', height='1', border='0') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(b) +SAX.characters(SECTIONS, 8) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( + , 3) +SAX.endElement(tr) +SAX.characters( + +, 2) +SAX.startElement(tr) +SAX.startElement(td, bgcolor='#CCFFCC') +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#000000') +SAX.startElement(a, href='/news/business/0,1367,,00.html') +SAX.characters(Business, 8) +SAX.endElement(a) +SAX.endElement(font) +SAX.endElement(td) +SAX.endElement(tr) +SAX.startElement(tr) +SAX.startElement(td, bgcolor='#99FF99') +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#000000') +SAX.startElement(a, href='/news/culture/0,1284,,00.html') +SAX.characters(Culture, 7) +SAX.endElement(a) +SAX.endElement(font) +SAX.endElement(td) +SAX.endElement(tr) +SAX.startElement(tr) +SAX.startElement(td, bgcolor='#CCFFCC') +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#000000') +SAX.startElement(a, href='/news/technology/0,1282,,00.html') +SAX.characters(Technology, 10) +SAX.endElement(a) +SAX.endElement(font) +SAX.endElement(td) +SAX.endElement(tr) +SAX.startElement(tr) +SAX.startElement(td, bgcolor='#99FF99') +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#000000') +SAX.startElement(a, href='/news/politics/0,1283,,00.html') +SAX.characters(Politics, 8) +SAX.endElement(a) +SAX.endElement(font) +SAX.endElement(td) +SAX.endElement(tr) +SAX.startElement(tr) +SAX.characters( +, 1) +SAX.startElement(td, bgcolor='#FF0000') +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#FFFFFF') +SAX.characters( +, 1) +SAX.startElement(b) +SAX.characters(WIRE SERVICE NEWS, 17) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( +, 1) +SAX.endElement(tr) +SAX.characters( + +, 2) +SAX.startElement(tr) +SAX.characters( +, 1) +SAX.startElement(td, bgcolor='#99FF99') +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#000000') +SAX.startElement(a, href='/news/news/reuters/') +SAX.characters(Top Headlines, 13) +SAX.endElement(a) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( +, 1) +SAX.endElement(tr) +SAX.characters( + +, 2) +SAX.startElement(tr) +SAX.characters( +, 1) +SAX.startElement(td, bgcolor='#CCFFCC') +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#000000') +SAX.startElement(a, href='/news/news/reuters/sports/') +SAX.characters(Sports, 6) +SAX.endElement(a) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( +, 1) +SAX.endElement(tr) +SAX.characters( + +, 2) +SAX.startElement(tr) +SAX.characters( +, 1) +SAX.startElement(td, bgcolor='#99FF99') +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#000000') +SAX.startElement(a, href='/news/news/reuters/business/') +SAX.characters(Finance, 7) +SAX.endElement(a) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( +, 1) +SAX.endElement(tr) +SAX.characters( +, 1) +SAX.comment( End upper left nav ) +SAX.comment( Begin lower Left Nav ) +SAX.characters( + , 5) +SAX.startElement(tr) +SAX.characters( + , 6) +SAX.startElement(td, bgcolor='#FF0000') +SAX.startElement(font, face='Verdana, Arial, Helvetica, sans-serif', color='#FFFFFF') +SAX.characters( + , 8) +SAX.startElement(b) +SAX.startElement(font, size='1') +SAX.characters(FREE DELIVERY, 13) +SAX.endElement(font) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( + , 5) +SAX.endElement(tr) +SAX.characters( + , 5) +SAX.startElement(tr) +SAX.characters( + , 6) +SAX.startElement(td, bgcolor='#99FF99') +SAX.characters( +, 1) +SAX.startElement(table, cellspacing='0', cellpadding='0', border='0') +SAX.characters( + , 3) +SAX.startElement(tr) +SAX.startElement(td, bgcolor='#99FF99') +SAX.characters( + , 4) +SAX.startElement(form, action='http://r.hotwired.com/r/hw_wm_r_nav_nwsltr/http://perl.hotwired.com/massmail/cgiParser.cgi', method='get', target='_top') +SAX.characters( + + , 3) +SAX.startElement(input, type='hidden', name='success_page', value='http://www.hotwired.com/email/signup/wirednews-ascii.html') +SAX.endElement(input) +SAX.characters( + +, 3) +SAX.startElement(input, type='hidden', name='failure_page', value='http://www.hotwired.com/email/signup/wirednews-ascii.html') +SAX.endElement(input) +SAX.characters( + +, 3) +SAX.startElement(input, type='hidden', name='LIST', value='wn_ascii') +SAX.endElement(input) +SAX.characters( +, 1) +SAX.startElement(input, type='hidden', name='SOURCE', value='other') +SAX.endElement(input) +SAX.characters( + , 2) +SAX.startElement(input, type='hidden', name='ACTION', value='subscribe') +SAX.endElement(input) +SAX.characters( + +, 3) +SAX.startElement(input, type='TEXT', name='from', size='10', value='enter email') +SAX.endElement(input) +SAX.characters( , 2) +SAX.characters( +, 1) +SAX.endElement(form) +SAX.endElement(td) +SAX.characters( + , 4) +SAX.startElement(td, valign='top', bgcolor='#99FF99') +SAX.characters( + , 3) +SAX.startElement(input, type='SUBMIT', name='SUBMIT', value='GO') +SAX.endElement(input) +SAX.characters( + + , 5) +SAX.endElement(td) +SAX.characters( + , 2) +SAX.endElement(tr) +SAX.characters( , 4) +SAX.error: Unexpected end tag : form +SAX.characters( +, 1) +SAX.endElement(table) +SAX.endElement(td) +SAX.characters( + , 3) +SAX.endElement(tr) +SAX.characters( + , 3) +SAX.startElement(tr) +SAX.characters( + , 6) +SAX.startElement(td, bgcolor='#FF0000') +SAX.startElement(font, face='Verdana, Arial, Helvetica, sans-serif', color='#FFFFFF') +SAX.characters( + , 8) +SAX.startElement(b) +SAX.startElement(font, size='1') +SAX.characters(STOCKS, 6) +SAX.endElement(font) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( + , 3) +SAX.endElement(tr) +SAX.characters( + , 3) +SAX.startElement(tr) +SAX.characters( + , 6) +SAX.startElement(td, bgcolor='#99FF99') +SAX.startElement(font, face='Verdana, Arial, Helvetica, sans-serif', size='1') +SAX.characters(Get Quote:, 10) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( + , 3) +SAX.endElement(tr) +SAX.characters( + , 3) +SAX.startElement(tr) +SAX.characters( + , 5) +SAX.startElement(td, bgcolor='#99FF99', marginwidth='0', marginheight='0') +SAX.startElement(form, method='get', action='http://r.wired.com/r/10020/http://stocks.wired.com/stocks_quotes.asp') +SAX.startElement(input, type='TEXT', name='Symbol', size='12') +SAX.endElement(input) +SAX.characters( , 2) +SAX.startElement(input, type='SUBMIT', name='submit', value='GO') +SAX.endElement(input) +SAX.endElement(form) +SAX.endElement(td) +SAX.characters( + , 3) +SAX.endElement(tr) +SAX.characters( +, 1) +SAX.comment( BEGIN BUTTON ADS ) +SAX.characters( + + , 5) +SAX.startElement(tr) +SAX.startElement(td, bgcolor='#CCFFCC') +SAX.characters( +, 1) +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#000000') +SAX.characters(Financial Services, 18) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.startElement(center) +SAX.characters( +, 1) +SAX.startElement(img, src='http://static.wired.com/news/images/spacer.gif', height='3', width='5', alt='') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(img, src='http://static.wired.com/news/images/button_ads_news10.gif', width='143', height='56', border='0', alt='', usemap='#buttons', hspace='0', vspace='0') +SAX.endElement(img) +SAX.characters( +, 1) +SAX.endElement(center) +SAX.characters( + +, 2) +SAX.startElement(map, name='buttons') +SAX.characters( + , 9) +SAX.startElement(area, shape='RECT', alt='Datek', coords='0,0,69,24', href='http://r.wired.com/r/1649/http://ads16.focalink.com/SmartBanner/page/1266.631') +SAX.endElement(area) +SAX.characters( + , 9) +SAX.startElement(area, shape='RECT', alt='Wired Index Fund', coords='73,0,142,24', href='http://r.wired.com/r/227/http://www.gffunds.com/wired') +SAX.endElement(area) +SAX.characters( + , 9) +SAX.startElement(area, shape='RECT', alt='internet.com Index Fund', coords='73,31,142,55', href='http://r.wired.com/r/298/http://www.gffunds.com/isdex/') +SAX.endElement(area) +SAX.characters( + , 9) +SAX.startElement(area, shape='RECT', alt='GetSmart's MortgageFinder', coords='0,31,69,55', href='http://r.wired.com/r/294/http://www.getsmartinc.com/mortgage/HomeBanner?BANNERNAME=www.getsmartinc.com/mwired001m6075x25') +SAX.endElement(area) +SAX.endElement(map) +SAX.characters( + , 9) +SAX.endElement(td) +SAX.characters( + , 3) +SAX.endElement(tr) +SAX.characters( , 1) +SAX.comment( END BUTTON ADS ) +SAX.characters( + + , 6) +SAX.startElement(tr) +SAX.characters( + , 6) +SAX.startElement(td, bgcolor='#99FF99') +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#000000') +SAX.startElement(a, href='http://redirect.wired.com/redir/51/http://stocks.wired.com/') +SAX.characters(Today's Summary, 15) +SAX.endElement(a) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( + , 3) +SAX.endElement(tr) +SAX.characters( + , 3) +SAX.startElement(tr) +SAX.characters( + , 6) +SAX.startElement(td, bgcolor='#CCFFCC') +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#000000') +SAX.startElement(a, href='http://r.wired.com/r/hb_fin_r_wn_top/http://stocks.wired.com/stocks_indexes_detail.asp?Symbol=$WIRED') +SAX.characters(Wired Index, 11) +SAX.endElement(a) +SAX.characters( | , 3) +SAX.startElement(a, href='http://redirect.wired.com/redir/52/http://stocks.wired.com/stocks_indexes.asp ') +SAX.characters(All Indexes, 11) +SAX.endElement(a) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( + , 3) +SAX.endElement(tr) +SAX.characters( + , 3) +SAX.startElement(tr) +SAX.characters( + , 6) +SAX.startElement(td, bgcolor='#99FF99') +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#000000') +SAX.startElement(a, href='http://redirect.wired.com/redir/53/http://stocks.wired.com/stocks_portfolios.asp') +SAX.characters(Portfolios, 10) +SAX.endElement(a) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( + , 3) +SAX.endElement(tr) +SAX.characters( + +, 2) +SAX.comment( BEGIN B&N spot ) +SAX.characters( + +, 2) +SAX.startElement(tr) +SAX.characters( + , 3) +SAX.startElement(td, bgcolor='#FF0000') +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#FFFFFF') +SAX.startElement(b) +SAX.characters(FIND A BOOK, 11) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( +, 1) +SAX.endElement(tr) +SAX.characters( +, 1) +SAX.startElement(tr) +SAX.startElement(td, bgcolor='#CCFFCC') +SAX.characters( +, 1) +SAX.startElement(table, cellspacing='0', cellpadding='0', border='0', width='145') +SAX.characters( + , 17) +SAX.startElement(tr) +SAX.startElement(td, bgcolor='#CCFFCC') +SAX.characters( + , 17) +SAX.startElement(form, action='http://r.wired.com/r/wn_nav_c_bn/http://barnesandnoble.bfast.com/booklink/click') +SAX.characters( +, 1) +SAX.startElement(input, type='hidden', name='sourceid', value='383471') +SAX.endElement(input) +SAX.characters( +, 1) +SAX.startElement(input, type='hidden', name='categoryid', value='categorydropdown') +SAX.endElement(input) +SAX.characters( + , 17) +SAX.startElement(font, size='2') +SAX.characters( + , 17) +SAX.startElement(select, name='Subjects', size='4') +SAX.characters( +, 1) +SAX.startElement(option, value='301') +SAX.characters(Business Top 20 +, 16) +SAX.endElement(option) +SAX.startElement(option, value='500') +SAX.characters(Computers +, 10) +SAX.endElement(option) +SAX.startElement(option, value='503') +SAX.characters(Computer Games +, 15) +SAX.endElement(option) +SAX.startElement(option, value='1604') +SAX.characters(Current Affairs +, 16) +SAX.endElement(option) +SAX.startElement(option, value='511') +SAX.characters(Cyberculture +, 13) +SAX.endElement(option) +SAX.startElement(option, value='510') +SAX.characters(Internet/Web +, 13) +SAX.endElement(option) +SAX.startElement(option, value='303') +SAX.characters(Investing +, 10) +SAX.endElement(option) +SAX.startElement(option, value='1606') +SAX.characters(Law +, 4) +SAX.endElement(option) +SAX.startElement(option, value='513') +SAX.characters(Multimedia + +, 12) +SAX.endElement(option) +SAX.startElement(option, value='1605') +SAX.characters(Newsmakers +, 11) +SAX.endElement(option) +SAX.startElement(option, value='1607') +SAX.characters(Politics/Govt. + + , 17) +SAX.endElement(option) +SAX.startElement(option, value='315') +SAX.characters( Web Business + , 16) +SAX.endElement(option) +SAX.startElement(option, value='2800') +SAX.characters( Bargain Books + , 40) +SAX.endElement(option) +SAX.startElement(option, value='4') +SAX.characters(Other + + + + + + , 14) +SAX.endElement(option) +SAX.endElement(select) +SAX.endElement(font) +SAX.endElement(form) +SAX.endElement(td) +SAX.endElement(tr) +SAX.characters( + , 2) +SAX.startElement(tr, align='left', valign='top') +SAX.characters( + , 17) +SAX.startElement(td, valign='top', bgcolor='#CCFFCC') +SAX.characters( , 1) +SAX.startElement(input, type='submit', value='GO') +SAX.endElement(input) +SAX.characters( + +, 2) +SAX.startElement(img, src='http://barnesandnoble.bfast.com/booklink/serve?sourceid=383471&is_search=Y', border='0', align='top') +SAX.endElement(img) +SAX.characters( +, 1) +SAX.comment( + +) +SAX.characters( +, 1) +SAX.endElement(td) +SAX.characters( + + , 35) +SAX.endElement(tr) +SAX.characters( + , 17) +SAX.startElement(tr, align='left', valign='top') +SAX.characters( + + , 11) +SAX.startElement(td, align='left', valign='top', colspan='2', rowspan='1', bgcolor='#CCFFCC') +SAX.characters( +, 1) +SAX.startElement(p) +SAX.characters( + , 9) +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, ', color='#000000') +SAX.characters(Powered by , 11) +SAX.startElement(a, href='http://r.wired.com/r/wn_nav_c_bn/http://barnesandnoble.bfast.com/booklink/click?sourceid=383471') +SAX.characters(barnesandnoble.com, 18) +SAX.endElement(a) +SAX.characters( + , 2) +SAX.endElement(font) +SAX.characters( +, 1) +SAX.startElement(br, clear='all') +SAX.endElement(br) +SAX.characters( + + +, 3) +SAX.endElement(p) +SAX.endElement(td) +SAX.characters( + , 9) +SAX.endElement(tr) +SAX.characters( , 2) +SAX.error: Unexpected end tag : form +SAX.characters( + , 9) +SAX.endElement(table) +SAX.characters( + +, 2) +SAX.endElement(td) +SAX.endElement(tr) +SAX.characters( + , 2) +SAX.comment( END B&N spot ) +SAX.characters( + +, 7) +SAX.comment( BEGIN MAGAZINE SPOT ) +SAX.characters( + + , 3) +SAX.startElement(tr) +SAX.characters( + , 6) +SAX.startElement(td, bgcolor='#000000') +SAX.startElement(font, color='#FFFFFF', face='Verdana, Arial, Helvetica, sans-serif', size='1') +SAX.startElement(b) +SAX.characters(WIRED + MAGAZINE , 22) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( + , 3) +SAX.endElement(tr) +SAX.characters( +, 1) +SAX.startElement(tr) +SAX.characters( +, 2) +SAX.startElement(td, bgcolor='#FFFF99', align='CENTER') +SAX.characters( +, 1) +SAX.startElement(font, face='verdana, arial, helvetica, sans-serif', size='1') +SAX.characters( +, 1) +SAX.startElement(b) +SAX.characters( +, 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 2) +SAX.startElement(a, href='http://www.wired.com/wired/') +SAX.startElement(img, src='http://static.wired.com/news/images/wiredcover.gif', width='91', height='109', border='0', alt='Wired Magazine') +SAX.endElement(img) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(b) +SAX.characters( + +Issue 7.11 +, 13) +SAX.endElement(font) +SAX.characters( +, 1) +SAX.endElement(td) +SAX.characters( +, 1) +SAX.endElement(tr) +SAX.characters( + +, 2) +SAX.startElement(tr) +SAX.characters( +, 2) +SAX.startElement(td, bgcolor='#FFFF99', align='center') +SAX.characters( +, 1) +SAX.startElement(font, face='verdana, arial, helvetica, sans-serif', size='1') +SAX.characters( + +, 3) +SAX.startElement(a, href='http://www.wired.com/wired/subscribe/special/79WN') +SAX.characters(Subscribe to Wired., 19) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Special offer!, 14) +SAX.endElement(a) +SAX.characters( + + +, 3) +SAX.endElement(font) +SAX.characters( +, 1) +SAX.endElement(td) +SAX.characters( +, 1) +SAX.endElement(tr) +SAX.characters( +, 1) +SAX.comment( END MAGAZINE SPOT ) +SAX.characters( + + , 4) +SAX.startElement(tr) +SAX.characters( + , 5) +SAX.startElement(td, bgcolor='#000000') +SAX.characters( + , 6) +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#FFFFFF') +SAX.startElement(b) +SAX.characters(HOTWIRED, 8) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( + , 3) +SAX.endElement(tr) +SAX.characters( + , 3) +SAX.startElement(tr) +SAX.characters( + , 6) +SAX.startElement(td, bgcolor='#FFFF99') +SAX.characters( , 1) +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#000000') +SAX.characters( +, 1) +SAX.startElement(a, href='http://www.hotwired.com/') +SAX.characters(Frontdoor, 9) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.startElement(a, href='http://www.hotwired.com/webmonkey/') +SAX.characters(Webmonkey, 9) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.startElement(a, href='http://www.hotwired.com/webmonkey/guides/index.html') +SAX.characters(Webmonkey Guides, 16) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.startElement(a, href='http://www.hotwired.com/rgb/') +SAX.characters(RGB Gallery, 11) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.startElement(a, href='http://www.hotwired.com/animation/') +SAX.characters(Animation Express, 17) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.startElement(a, href='http://go.suck.com/su_wnfd') +SAX.characters(Suck.com, 8) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( + , 3) +SAX.endElement(tr) +SAX.characters( + + , 8) +SAX.startElement(tr) +SAX.characters( + , 5) +SAX.startElement(td, bgcolor='#000000') +SAX.characters( + , 6) +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#FFFFFF') +SAX.startElement(b) +SAX.characters(HOTBOT, 6) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( + , 3) +SAX.endElement(tr) +SAX.characters( + , 3) +SAX.startElement(tr) +SAX.characters( + , 6) +SAX.startElement(td, bgcolor='#FFFF99') +SAX.characters( , 1) +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#000000') +SAX.characters( +, 1) +SAX.startElement(a, href='http://redirect.wired.com/redir/54/http://www.hotbot.com/') +SAX.characters(Search, 6) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.startElement(a, href='http://shop.hotbot.com/') +SAX.characters(Shopping, 8) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( + , 3) +SAX.endElement(tr) +SAX.characters( + + , 6) +SAX.startElement(tr) +SAX.startElement(td) +SAX.characters( + , 3) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + , 3) +SAX.startElement(font, face='Verdana, Arial, Helvetica, sans-serif', size='1') +SAX.characters( + , 3) +SAX.startElement(font, face='Verdana, Arial, Helvetica, sans-serif', size='1') +SAX.characters( + Wired News , 14) +SAX.startElement(a, href='/news/who/0,1362,,00.html') +SAX.characters(staff, 5) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + + , 4) +SAX.comment( Wired News is hiring

    ) +SAX.characters( + + , 4) +SAX.startElement(b) +SAX.startElement(a, href='/news/feedback/0,1364,,00.html') +SAX.characters(Contact us, 10) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.characters( + + + , 7) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + + , 6) +SAX.startElement(font, face='Verdana, Arial, Helvetica, sans-serif', size='1') +SAX.characters(Wired News delivered, 21) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(by , 3) +SAX.startElement(a, href='/news/palmpilot/0,1365,,00.html') +SAX.characters(PalmPilot, 9) +SAX.endElement(a) +SAX.characters(,, 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://www.hotwired.com/email/signup/wn_outlook.html') +SAX.characters(Outlook Express, 16) +SAX.endElement(a) +SAX.characters(,, 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://redirect.wired.com/redir/55/http://form.netscape.com/ibd/html/ibd_frameset.html') +SAX.characters(In-Box Direct, 13) +SAX.endElement(a) +SAX.characters(,, 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +or , 4) +SAX.startElement(a, href='/news/pointcast/0,1366,,00.html') +SAX.characters(PointCast, 9) +SAX.endElement(a) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 2) +SAX.comment( TRACKING ) +SAX.characters( +, 1) +SAX.startElement(img, src='http://www.wired.com/special/modx/news.gif', height='1', width='1', alt='') +SAX.endElement(img) +SAX.characters( +, 1) +SAX.error: Opening and ending tag mismatch: td and font +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( + , 3) +SAX.endElement(tr) +SAX.characters( + +, 2) +SAX.endElement(table) +SAX.characters( + +, 2) +SAX.comment( end lower left side Navigation ) +SAX.characters( +, 1) +SAX.comment( CONTENT TABLE ) +SAX.characters( + +, 2) +SAX.startElement(table, border='0', width='447', cellspacing='0', cellpadding='0', bordercolor='#66FF00') +SAX.characters( + , 2) +SAX.startElement(tr) +SAX.characters( + , 3) +SAX.startElement(td, valign='TOP', align='LEFT', rowspan='2') +SAX.characters( + , 4) +SAX.startElement(img, src='http://static.wired.com/news/images/spacer.gif', height='1', width='15', alt='') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + , 3) +SAX.endElement(td) +SAX.characters( + , 3) +SAX.startElement(td, colspan='3', valign='TOP', align='LEFT') +SAX.startElement(img, src='http://static.wired.com/news/images/spacer.gif', height='7', width='432', alt='') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + + +, 3) +SAX.comment( SQL query for Package here ) +SAX.characters( + +, 2) +SAX.startElement(font, face='Verdana, Arial, Geneva, sans-serif', size='2') +SAX.startElement(b) +SAX.startElement(i) +SAX.characters(Nomad's Land, 12) +SAX.endElement(i) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(img, src='http://static.wired.com/news/images/pix155.gif', height='10', width='155', alt='') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment( IBD_SUBJECT: Homeless, but ID'd, in Seattle ) +SAX.startElement(font, face='Arial, Helvetica, sans-serif', size='5') +SAX.startElement(b) +SAX.startElement(a, href='/news/politics/0,1283,31911,00.html') +SAX.characters(Homeless, but ID'd, in Seattle, 30) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='1', face='Verdana, Arial, Geneva, sans-serif', color='#FF0000') +SAX.characters(8:15 a.m., 9) +SAX.endElement(font) +SAX.characters( , 2) +SAX.startElement(font, face='Verdana, Arial, Geneva, sans-serif', size='2') +SAX.characters(The city council approves a pl, 180) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='Verdana, Arial, Helvetica, sans-serif', size='1') +SAX.startElement(i) +SAX.startElement(a, href='/news/politics/0,1283,,00.html') +SAX.characters(in, 2) +SAX.characters( , 2) +SAX.characters(Politics, 8) +SAX.endElement(a) +SAX.endElement(i) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(table, bgcolor='#F0F0F0', cellpadding='0', cellspacing='0', border='0', width='147', align='RIGHT') +SAX.characters( + , 2) +SAX.comment( Commentary Frag Begin ) +SAX.characters( + , 9) +SAX.startElement(tr) +SAX.characters( + , 11) +SAX.startElement(td, bgcolor='#000000') +SAX.characters( , 2) +SAX.endElement(td) +SAX.characters( + , 11) +SAX.startElement(td, bgcolor='#000000') +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#FFFFFF') +SAX.startElement(b) +SAX.characters(HITS , 5) +SAX.characters(&, 1) +SAX.characters( MISC., 6) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( + , 9) +SAX.endElement(tr) +SAX.characters( + , 9) +SAX.startElement(tr) +SAX.characters( + , 11) +SAX.startElement(td) +SAX.characters( , 2) +SAX.endElement(td) +SAX.characters( + , 11) +SAX.startElement(td) +SAX.startElement(img, src='http://static.wired.com/news/images/spacer.gif', height='5', width='5', alt='') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + + , 4) +SAX.startElement(font, size='2', face='Arial,Helvetica, sans-serif') +SAX.startElement(b) +SAX.startElement(a, href='/news/commentarySection/0,1292,31664,00.html') +SAX.characters(Calendar of E-Vents, 19) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='2', face='Arial, Helvetica, sans-serif') +SAX.startElement(font, size='1', face='Arial, Geneva, sans-serif', color='#000000') +SAX.characters(Ongoing goings-on. , 19) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='2', face='Arial,Helvetica, sans-serif') +SAX.startElement(b) +SAX.startElement(a, href='/news/commentarySection/0,1292,31926,00.html') +SAX.characters(Rants & Raves, 13) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='2', face='Arial, Helvetica, sans-serif') +SAX.startElement(font, size='1', face='Arial, Geneva, sans-serif', color='#000000') +SAX.characters(Readers on Apple's G4 ... AOL', 59) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( , 2) +SAX.error: Opening and ending tag mismatch: td and font +SAX.endElement(font) +SAX.error: Opening and ending tag mismatch: td and font +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( + , 9) +SAX.endElement(tr) +SAX.characters( +, 1) +SAX.comment( Commentary Frag End ) +SAX.characters( +, 1) +SAX.startElement(tr) +SAX.characters( +, 2) +SAX.startElement(td, align='left', bgcolor='#000000') +SAX.characters( , 2) +SAX.endElement(td) +SAX.characters( +, 2) +SAX.startElement(td, bgcolor='#000000') +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#FFFFFF') +SAX.startElement(b) +SAX.characters(CURRENT HOO-HA, 14) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( +, 1) +SAX.endElement(tr) +SAX.characters( + +, 2) +SAX.startElement(tr) +SAX.characters( +, 2) +SAX.startElement(td) +SAX.characters( , 2) +SAX.endElement(td) +SAX.characters( +, 1) +SAX.startElement(td) +SAX.characters( +, 1) +SAX.startElement(img, src='http://static.wired.com/news/images/spacer.gif', height='5', width='5', alt='') +SAX.endElement(img) +SAX.characters( +, 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 2) +SAX.startElement(font, size='2', face='Arial,Helvetica, sans-serif') +SAX.startElement(b) +SAX.startElement(a, href='/news/mp3/0,1285,,00.html') +SAX.characters(MP3 Rocks the Web, 17) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='2', face='Arial, Helvetica, sans-serif') +SAX.startElement(font, size='1', face='Arial, Geneva, sans-serif', color='#000000') +SAX.characters(Download the sound. , 21) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(i) +SAX.characters(Sponsored by , 13) +SAX.startElement(a, href='http://r.hotwired.com/r/wn_fd_mp3_r_mscm_txt/http://webfarm.mediaplex.com/click_thru_request/164-1361b-1052', style='text-decoration:none') +SAX.startElement(font, color='#000000') +SAX.characters(Musicmaker, 10) +SAX.endElement(font) +SAX.endElement(a) +SAX.endElement(i) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 3) +SAX.startElement(font, size='2', face='Arial,Helvetica, sans-serif') +SAX.startElement(b) +SAX.startElement(a, href='/news/wireless/0,1382,,00.html') +SAX.characters(The Wireless World, 18) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='2', face='Arial, Helvetica, sans-serif') +SAX.startElement(font, size='1', face='Arial, Geneva, sans-serif', color='#000000') +SAX.characters(Networking gets unplugged. , 28) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(i) +SAX.characters(Sponsored by , 13) +SAX.startElement(a, href='http://www.ericsson.se/get/internet/default.shtml', style='text-decoration:none') +SAX.startElement(font, color='#000000') +SAX.characters(Ericsson, 8) +SAX.endElement(font) +SAX.endElement(a) +SAX.endElement(i) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 3) +SAX.startElement(font, size='2', face='Arial,Helvetica, sans-serif') +SAX.startElement(b) +SAX.startElement(a, href='/news/digiwood/0,1412,,00.html') +SAX.characters(Digital Hollywood, 17) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='2', face='Arial, Helvetica, sans-serif') +SAX.startElement(font, size='1', face='Arial, Geneva, sans-serif', color='#000000') +SAX.characters(The buzz of tech., 17) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 3) +SAX.startElement(font, size='2', face='Arial,Helvetica, sans-serif') +SAX.startElement(b) +SAX.startElement(a, href='/news/ipo/0,1350,,00.html') +SAX.characters(IPO Outlook, 11) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='2', face='Arial, Helvetica, sans-serif') +SAX.startElement(font, size='1', face='Arial, Geneva, sans-serif', color='#000000') +SAX.characters(Deals in the pipeline. , 24) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(i) +SAX.characters(Sponsored by , 13) +SAX.startElement(a, href='http://r.hotwired.com/r/wn_ipo_r_sun_txt/http://sun.com/ads/smi/brand/hotwired.html', style='text-decoration:none') +SAX.startElement(font, color='#000000') +SAX.characters(Sun, 3) +SAX.endElement(font) +SAX.endElement(a) +SAX.endElement(i) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 3) +SAX.startElement(font, size='2', face='Arial,Helvetica, sans-serif') +SAX.startElement(b) +SAX.startElement(a, href='/news/ebiz/0,1272,,00.html') +SAX.characters(E-Biz, 5) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='2', face='Arial, Helvetica, sans-serif') +SAX.startElement(font, size='1', face='Arial, Geneva, sans-serif', color='#000000') +SAX.characters(Business unusual. , 19) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(i) +SAX.characters(Sponsored by , 13) +SAX.startElement(a, href='http://r.wired.com/r/wn_fd_r_ebiz_ibm_txt/http://www.ibm.com', style='text-decoration:none') +SAX.startElement(font, color='#000000') +SAX.characters(IBM, 3) +SAX.endElement(font) +SAX.endElement(a) +SAX.endElement(i) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 3) +SAX.startElement(font, size='2', face='Arial,Helvetica, sans-serif') +SAX.startElement(b) +SAX.startElement(a, href='/news/medtech/0,1286,,00.html') +SAX.characters(Med-Tech Center, 15) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='2', face='Arial, Helvetica, sans-serif') +SAX.startElement(font, size='1', face='Arial, Geneva, sans-serif', color='#000000') +SAX.characters(From the bleeding edge., 23) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(i) +SAX.characters(Sponsored by WebMD, 18) +SAX.endElement(i) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 3) +SAX.startElement(font, size='2', face='Arial,Helvetica, sans-serif') +SAX.startElement(b) +SAX.startElement(a, href='/news/linux/0,1411,,00.html') +SAX.characters(The Linux Effect, 16) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='2', face='Arial, Helvetica, sans-serif') +SAX.startElement(font, size='1', face='Arial, Geneva, sans-serif', color='#000000') +SAX.characters(Not just for geeks., 19) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( , 1) +SAX.startElement(img, src='http://static.wired.com/news/images/spacer.gif', height='7', width='5', alt='') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 2) +SAX.startElement(font, size='2', face='Arial,Helvetica, sans-serif') +SAX.startElement(b) +SAX.startElement(a, href='/news/exec/0,1370,,00.html') +SAX.characters(Executive Summary, 17) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='1', face='Arial, Helvetica, sans-serif', color='#000000') +SAX.characters(CEOs, COOs, CIOs unite. , 25) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(i) +SAX.characters(Sponsored by , 13) +SAX.startElement(a, href='http://r.wired.com/r/wn_exec_r_vign/http://www.vignette.com/', style='text-decoration:none') +SAX.startElement(font, color='#000000') +SAX.characters(Vignette, 8) +SAX.error: Opening and ending tag mismatch: a and font +SAX.endElement(font) +SAX.endElement(a) +SAX.endElement(i) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 3) +SAX.startElement(font, size='2', face='Arial,Helvetica, sans-serif') +SAX.startElement(b) +SAX.startElement(a, href='/news/school/0,1383,,00.html') +SAX.characters(Making the Grade, 16) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='2', face='Arial, Helvetica, sans-serif') +SAX.startElement(font, size='1', face='Arial, Geneva, sans-serif', color='#000000') +SAX.characters(Reading, writing, and ROM. , 28) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(i) +SAX.characters(Sponsored by , 13) +SAX.startElement(a, href='http://r.hotwired.com/r/wn_sch_r_nav_uop/http://ads25.focalink.com/SmartBanner/page?12630.53', style='text-decoration:none') +SAX.startElement(font, color='#000000') +SAX.characters(U of Phoenix, 12) +SAX.endElement(font) +SAX.endElement(a) +SAX.endElement(i) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 3) +SAX.startElement(font, size='2', face='Arial,Helvetica, sans-serif') +SAX.startElement(b) +SAX.startElement(a, href='/news/infostructure/0,1377,,00.html') +SAX.characters(Infostructure, 13) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='1', face='Arial, Helvetica, sans-serif', color='#000000') +SAX.characters(An IS/IT resource , 18) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(i) +SAX.characters(Sponsored by , 13) +SAX.startElement(a, href='http://r.wired.com/r/wn_is_r_ssec/http://ad.doubleclick.net/clk;653163;3599571;s?http://www.sprintbiz.com/s +ervlet/appservlet?from=/wired/sprint/&template=/security/security.html&SITE= +wired.com&BANNER=Sprint', style='text-decoration:none') +SAX.startElement(font, color='#000000') +SAX.characters(Sprint, 6) +SAX.error: Opening and ending tag mismatch: a and font +SAX.endElement(font) +SAX.endElement(a) +SAX.endElement(i) +SAX.error: Unexpected end tag : font< +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 3) +SAX.startElement(font, size='2', face='Arial,Helvetica, sans-serif') +SAX.startElement(b) +SAX.startElement(a, href='/news/y2k/0,1360,,00.html') +SAX.characters(Y2K Watch, 9) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='2', face='Arial, Helvetica, sans-serif') +SAX.startElement(font, size='1', face='Arial, Geneva, sans-serif', color='#000000') +SAX.characters(Tick... Tick... Tick..., 23) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 3) +SAX.startElement(font, face='Arial, Helvetica, sans-serif', size='2') +SAX.startElement(b) +SAX.startElement(i) +SAX.startElement(a, href='/news/special_reports/1,1293,,00.html') +SAX.characters(More Hoo-Ha, 11) +SAX.endElement(a) +SAX.endElement(i) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( , 2) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 2) +SAX.error: Opening and ending tag mismatch: td and font +SAX.endElement(font) +SAX.error: Opening and ending tag mismatch: td and font +SAX.endElement(font) +SAX.error: Opening and ending tag mismatch: td and font +SAX.endElement(font) +SAX.error: Opening and ending tag mismatch: td and font +SAX.endElement(font) +SAX.error: Opening and ending tag mismatch: td and font +SAX.endElement(font) +SAX.error: Opening and ending tag mismatch: td and font +SAX.endElement(font) +SAX.error: Opening and ending tag mismatch: td and font +SAX.endElement(font) +SAX.error: Opening and ending tag mismatch: td and font +SAX.endElement(font) +SAX.error: Opening and ending tag mismatch: td and font +SAX.endElement(font) +SAX.error: Opening and ending tag mismatch: td and font +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( +, 1) +SAX.endElement(tr) +SAX.characters( +, 1) +SAX.comment( start of Gen News ) +SAX.characters( + , 17) +SAX.startElement(tr) +SAX.characters( + , 20) +SAX.startElement(td, bgcolor='#000000') +SAX.characters( , 2) +SAX.endElement(td) +SAX.characters( + , 11) +SAX.startElement(td, bgcolor='#000000') +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#FFFFFF') +SAX.startElement(b) +SAX.characters(MEANWHILE..., 12) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( + , 9) +SAX.endElement(tr) +SAX.characters( + + , 10) +SAX.startElement(tr) +SAX.characters( + , 12) +SAX.startElement(td) +SAX.characters( , 2) +SAX.endElement(td) +SAX.characters( + , 11) +SAX.startElement(td, align='left', valign='top') +SAX.characters( + , 11) +SAX.startElement(img, src='http://static.wired.com/news/images/spacer.gif', height='5', width='5', alt='') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + + +, 3) +SAX.comment( 31942 ) +SAX.characters( +, 1) +SAX.startElement(font, size='2', face='Arial, Helvetica, sans-serif', color='#000000') +SAX.startElement(b) +SAX.characters(F, 1) +SAX.characters(ührer Furor, 12) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='1', face='Arial, Geneva, sans-serif', color='#000000') +SAX.startElement(p) +SAX.characters( +Contruction workers in Berlin, 634) +SAX.characters( +, 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(p) +SAX.startElement(li) +SAX.characters(More from , 10) +SAX.startElement(a, href='http://www.lycos.com/news/flash/hitlerbunker.html?v=wn1015&lpv=1') +SAX.characters(Lycos, 5) +SAX.endElement(a) +SAX.endElement(li) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + , 2) +SAX.endElement(td) +SAX.characters( + , 9) +SAX.endElement(tr) +SAX.characters( +, 1) +SAX.comment( end of Gen News ) +SAX.characters( +, 1) +SAX.endElement(table) +SAX.characters( + + +, 3) +SAX.startElement(font, size='1') +SAX.characters( , 2) +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.characters( + +, 2) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 2) +SAX.startElement(font, face='Verdana, Arial, Geneva, sans-serif', size='2') +SAX.startElement(b) +SAX.startElement(i) +SAX.characters(Other Top Stories, 17) +SAX.endElement(i) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.startElement(img, src='http://static.wired.com/news/images/pix155.gif', height='10', width='155', alt='') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 2) +SAX.comment( SQL query here ) +SAX.characters( +, 1) +SAX.comment( IBD_SUBJECT:Wall Street Keeps Reeling ) +SAX.startElement(font, face='Arial, Helvetica, sans-serif', size='3') +SAX.startElement(b) +SAX.startElement(a, href='/news/reuters/0,1349,31934,00.html') +SAX.characters(Wall Street Keeps Reeling, 25) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#ff0000', face='Verdana, Arial, Geneva, sans-serif', size='1') +SAX.characters(10:15 a.m., 10) +SAX.endElement(font) +SAX.characters( , 2) +SAX.startElement(font, face='Verdana, Arial, Geneva, sans-serif', size='2') +SAX.characters(The Dow and Nasdaq suffer size, 180) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='Verdana, Arial, Helvetica, sans-serif', size='1') +SAX.startElement(i) +SAX.startElement(a, href='/news/reuters/0,1349,,00.html') +SAX.characters(in, 2) +SAX.characters( , 2) +SAX.characters(Reuters, 7) +SAX.endElement(a) +SAX.endElement(i) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment( IBD_SUBJECT:The Market's Madness ) +SAX.startElement(font, face='Arial, Helvetica, sans-serif', size='3') +SAX.startElement(b) +SAX.startElement(a, href='/news/reuters/0,1349,31935,00.html') +SAX.characters(The Market's Madness, 20) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#ff0000', face='Verdana, Arial, Geneva, sans-serif', size='1') +SAX.characters(9:10 a.m., 9) +SAX.endElement(font) +SAX.characters( , 2) +SAX.startElement(font, face='Verdana, Arial, Geneva, sans-serif', size='2') +SAX.characters(The bulls and the bears are in, 128) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='Verdana, Arial, Helvetica, sans-serif', size='1') +SAX.startElement(i) +SAX.startElement(a, href='/news/reuters/0,1349,,00.html') +SAX.characters(in, 2) +SAX.characters( , 2) +SAX.characters(Reuters, 7) +SAX.endElement(a) +SAX.endElement(i) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment( IBD_SUBJECT:'Want a Loan? What's Your Race?' ) +SAX.startElement(font, face='Arial, Helvetica, sans-serif', size='3') +SAX.startElement(b) +SAX.startElement(a, href='/news/politics/0,1283,31533,00.html') +SAX.characters('Want a Loan? What's Your Race, 32) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#ff0000', face='Verdana, Arial, Geneva, sans-serif', size='1') +SAX.characters(3:00 a.m., 9) +SAX.endElement(font) +SAX.characters( , 2) +SAX.startElement(font, face='Verdana, Arial, Geneva, sans-serif', size='2') +SAX.characters(The Federal Reserve is in the , 184) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='Verdana, Arial, Helvetica, sans-serif', size='1') +SAX.startElement(i) +SAX.startElement(a, href='/news/politics/0,1283,,00.html') +SAX.characters(in, 2) +SAX.characters( , 2) +SAX.characters(Politics, 8) +SAX.endElement(a) +SAX.endElement(i) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment( IBD_SUBJECT:Music Regs: A Bagful of Noise ) +SAX.startElement(font, face='Arial, Helvetica, sans-serif', size='3') +SAX.startElement(b) +SAX.startElement(a, href='/news/business/0,1367,31832,00.html') +SAX.characters(Music Regs: A Bagful of Noise, 29) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#ff0000', face='Verdana, Arial, Geneva, sans-serif', size='1') +SAX.characters(3:00 a.m., 9) +SAX.endElement(font) +SAX.characters( , 2) +SAX.startElement(font, face='Verdana, Arial, Geneva, sans-serif', size='2') +SAX.characters(The struggle to come up with a, 171) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='Verdana, Arial, Helvetica, sans-serif', size='1') +SAX.startElement(i) +SAX.startElement(a, href='/news/business/0,1367,,00.html') +SAX.characters(in, 2) +SAX.characters( , 2) +SAX.characters(Business, 8) +SAX.endElement(a) +SAX.endElement(i) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment( IBD_SUBJECT:Can't Beat 'Em? Green 'Em ) +SAX.startElement(font, face='Arial, Helvetica, sans-serif', size='3') +SAX.startElement(b) +SAX.startElement(a, href='/news/technology/0,1282,31927,00.html') +SAX.characters(Can't Beat 'Em? Green 'Em, 25) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#ff0000', face='Verdana, Arial, Geneva, sans-serif', size='1') +SAX.characters(3:00 a.m., 9) +SAX.endElement(font) +SAX.characters( , 2) +SAX.startElement(font, face='Verdana, Arial, Geneva, sans-serif', size='2') +SAX.characters(High-tech companies are notori, 186) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='Verdana, Arial, Helvetica, sans-serif', size='1') +SAX.startElement(i) +SAX.startElement(a, href='/news/technology/0,1282,,00.html') +SAX.characters(in, 2) +SAX.characters( , 2) +SAX.characters(Technology, 10) +SAX.endElement(a) +SAX.endElement(i) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment( IBD_SUBJECT:Y2K Cloud Over MS Office ) +SAX.startElement(font, face='Arial, Helvetica, sans-serif', size='3') +SAX.startElement(b) +SAX.startElement(a, href='/news/business/0,1367,31932,00.html') +SAX.characters(Y2K Cloud Over MS Office, 24) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#ff0000', face='Verdana, Arial, Geneva, sans-serif', size='1') +SAX.characters(3:00 a.m., 9) +SAX.endElement(font) +SAX.characters( , 2) +SAX.startElement(font, face='Verdana, Arial, Geneva, sans-serif', size='2') +SAX.characters(Windows NT sales remain strong, 165) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='Verdana, Arial, Helvetica, sans-serif', size='1') +SAX.startElement(i) +SAX.startElement(a, href='/news/business/0,1367,,00.html') +SAX.characters(in, 2) +SAX.characters( , 2) +SAX.characters(Business, 8) +SAX.endElement(a) +SAX.endElement(i) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#FF0000', face='Verdana, Arial, Geneva, sans-serif', size='1') +SAX.characters(Med-Tech, 8) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment( IBD_SUBJECT:Biochips for Custom Chemo ) +SAX.startElement(font, face='Arial, Helvetica, sans-serif', size='3') +SAX.startElement(b) +SAX.startElement(a, href='/news/technology/0,1282,31914,00.html') +SAX.characters(Biochips for Custom Chemo, 25) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#ff0000', face='Verdana, Arial, Geneva, sans-serif', size='1') +SAX.characters(3:00 a.m., 9) +SAX.endElement(font) +SAX.characters( , 2) +SAX.startElement(font, face='Verdana, Arial, Geneva, sans-serif', size='2') +SAX.characters(Different cancer patients need, 207) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='Verdana, Arial, Helvetica, sans-serif', size='1') +SAX.startElement(i) +SAX.startElement(a, href='/news/technology/0,1282,,00.html') +SAX.characters(in, 2) +SAX.characters( , 2) +SAX.characters(Technology, 10) +SAX.endElement(a) +SAX.endElement(i) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment( IBD_SUBJECT:High Stakes in Priceline Suit ) +SAX.startElement(font, face='Arial, Helvetica, sans-serif', size='3') +SAX.startElement(b) +SAX.startElement(a, href='/news/business/0,1367,31916,00.html') +SAX.characters(High Stakes in Priceline Suit, 29) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#ff0000', face='Verdana, Arial, Geneva, sans-serif', size='1') +SAX.characters(3:00 a.m., 9) +SAX.endElement(font) +SAX.characters( , 2) +SAX.startElement(font, face='Verdana, Arial, Geneva, sans-serif', size='2') +SAX.characters(It's not just another round of, 196) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='Verdana, Arial, Helvetica, sans-serif', size='1') +SAX.startElement(i) +SAX.startElement(a, href='/news/business/0,1367,,00.html') +SAX.characters(in, 2) +SAX.characters( , 2) +SAX.characters(Business, 8) +SAX.endElement(a) +SAX.endElement(i) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment( IBD_SUBJECT:Biodiversity Merges Online ) +SAX.startElement(font, face='Arial, Helvetica, sans-serif', size='3') +SAX.startElement(b) +SAX.startElement(a, href='/news/technology/0,1282,31918,00.html') +SAX.characters(Biodiversity Merges Online, 26) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#ff0000', face='Verdana, Arial, Geneva, sans-serif', size='1') +SAX.characters(3:00 a.m., 9) +SAX.endElement(font) +SAX.characters( , 2) +SAX.startElement(font, face='Verdana, Arial, Geneva, sans-serif', size='2') +SAX.characters(The far-flung databases on glo, 196) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='Verdana, Arial, Helvetica, sans-serif', size='1') +SAX.startElement(i) +SAX.startElement(a, href='/news/technology/0,1282,,00.html') +SAX.characters(in, 2) +SAX.characters( , 2) +SAX.characters(Technology, 10) +SAX.endElement(a) +SAX.endElement(i) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment( SQL above ) +SAX.characters( + + + +, 12) +SAX.comment(----TRADES-------) +SAX.characters( +, 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.startElement(font, face='Verdana, Arial, Geneva, sans-serif', size='2') +SAX.startElement(b) +SAX.startElement(i) +SAX.characters(Elsewhere Today, 15) +SAX.endElement(i) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.startElement(img, src='http://static.wired.com/news/images/pix155.gif', height='10', width='155', alt='') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 2) +SAX.comment( SQL query here ) +SAX.characters( +, 1) +SAX.startElement(font, face='helvetica, arial', size='3') +SAX.startElement(b) +SAX.startElement(a, href='http://www.thestandard.com/articles/display/0,1449,6975,00.html?home.tf') +SAX.characters(FCC: Hands-Off on Broadband, 27) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='geneva, arial', size='2') +SAX.startElement(cite) +SAX.characters(The Industry Standard, 21) +SAX.endElement(cite) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='helvetica, arial', size='3') +SAX.startElement(b) +SAX.startElement(a, href='http://news.lycos.com/stories/TopNews/19991014RTNEWS-ARMS-TREATY.asp') +SAX.characters(White House Lashes Out on Trea, 32) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='geneva, arial', size='2') +SAX.characters(Lycos, 5) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='helvetica, arial', size='3') +SAX.startElement(b) +SAX.startElement(a, href='http://www.pathfinder.com/time/magazine/articles/0,3266,32207,00.html') +SAX.characters(Steve Jobs at 44, 16) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='geneva, arial', size='2') +SAX.startElement(cite) +SAX.characters(Time, 4) +SAX.endElement(cite) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='helvetica, arial', size='3') +SAX.startElement(b) +SAX.startElement(a, href='http://www.zdnet.com/zdnn/stories/news/0,4586,2353608,00.html') +SAX.characters(Computers May Run on Gas, 24) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='geneva, arial', size='2') +SAX.characters(ZDNN, 4) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='helvetica, arial', size='3') +SAX.startElement(b) +SAX.startElement(a, href='http://www.nytimes.com/library/tech/99/10/biztech/articles/14free.html') +SAX.characters(Much Is Free in the Wired Worl, 31) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='geneva, arial', size='2') +SAX.startElement(cite) +SAX.characters(The New York Times, 18) +SAX.endElement(cite) +SAX.characters( (Registration Required), 24) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='helvetica, arial', size='3') +SAX.startElement(b) +SAX.startElement(a, href='http://www.usatoday.com/life/cyber/nb/nb4.htm') +SAX.characters(Melissa: I'm Baaaack, 20) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='geneva, arial', size='2') +SAX.startElement(cite) +SAX.characters(USA Today, 9) +SAX.endElement(cite) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='helvetica, arial', size='3') +SAX.startElement(b) +SAX.startElement(a, href='http://www.msnbc.com/news/322926.asp') +SAX.characters(Domain Owners Surrender Privac, 31) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='geneva, arial', size='2') +SAX.characters(MSNBC, 5) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='helvetica, arial', size='3') +SAX.startElement(b) +SAX.startElement(a, href='http://www.washingtonpost.com/wp-srv/business/longterm/tech/techthursday/download/download.htm') +SAX.characters(Dividing to Conquer in VC Game, 30) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='geneva, arial', size='2') +SAX.startElement(cite) +SAX.characters(The Washington Post, 19) +SAX.endElement(cite) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='helvetica, arial', size='3') +SAX.startElement(b) +SAX.startElement(a, href='http://www.salon.com/tech/books/1999/10/14/redhat_book/index.html') +SAX.characters(The Red Hat Diaries, 19) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='geneva, arial', size='2') +SAX.characters(Salon, 5) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='helvetica, arial', size='3') +SAX.startElement(b) +SAX.startElement(a, href='http://news.bbc.co.uk/hi/english/sci/tech/newsid_473000/473856.stm') +SAX.characters(Screensaver to Predict Climate, 30) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='geneva, arial', size='2') +SAX.characters(BBC News, 8) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment( SQL above ) +SAX.characters( + + + +, 4) +SAX.comment( - - - - - - - - - - - - ) +SAX.characters( + + , 6) +SAX.endElement(td) +SAX.characters( + , 3) +SAX.endElement(tr) +SAX.characters( + + , 4) +SAX.startElement(tr) +SAX.characters( + , 4) +SAX.startElement(td, valign='TOP', align='LEFT') +SAX.characters( + + , 6) +SAX.startElement(img, src='http://static.wired.com/news/images/spacer.gif', height='1', width='280', alt='') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + + , 7) +SAX.comment( FOOTER ) +SAX.characters( + +, 2) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(img, src='http://static.wired.com/news/images/pix155.gif', height='10', width='155', border='0', usemap='#navstrip.map', alt='') +SAX.endElement(img) +SAX.characters( +, 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 2) +SAX.startElement(img, src='http://static.wired.com/news/images/navstrip_off.gif', height='17', width='126', usemap='#navstrip.map', border='0', alt='') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 2) +SAX.startElement(p) +SAX.startElement(font, face='Verdana, Arial, Geneva, sans-serif', size='1') +SAX.characters( +, 1) +SAX.startElement(a, href='http://www.wired.com/news/feedback.html') +SAX.characters(Send us feedback, 16) +SAX.endElement(a) +SAX.characters( +, 1) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.characters( +, 1) +SAX.startElement(a, href='http://www.hotwired.com/jobs/') +SAX.characters(Work at Wired Digital, 21) +SAX.endElement(a) +SAX.characters( +, 1) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.characters( +, 1) +SAX.startElement(a, href='http://home.wired.com/advertising/') +SAX.characters(Advertise with us, 17) +SAX.endElement(a) +SAX.characters( +, 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.startElement(a, href='http://home.wired.com/') +SAX.characters(About Wired Digital, 19) +SAX.endElement(a) +SAX.characters( +, 1) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.characters( +, 1) +SAX.startElement(a, href='http://www.wired.com/home/digital/privacy/') +SAX.characters(Our Privacy Policy, 18) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( + + +, 3) +SAX.endElement(p) +SAX.startElement(p) +SAX.startElement(font, face='Verdana, Arial, Geneva', size='1') +SAX.startElement(a, href='http://www.wired.com/home/copyright.html') +SAX.characters(Copyright, 9) +SAX.endElement(a) +SAX.characters( , 1) +SAX.characters(©, 2) +SAX.characters( 1994-99 Wired Digital Inc. Al, 48) +SAX.endElement(font) +SAX.characters( + +, 2) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.comment( TRACKING ) +SAX.characters( +, 1) +SAX.startElement(img, src='http://www.wired.com/special/modx/news.gif', height='1', width='1', alt='') +SAX.endElement(img) +SAX.characters( + +, 2) +SAX.startElement(map, name='navstrip.map') +SAX.characters( +, 1) +SAX.startElement(area, shape='rect', coords='0,0,14,16', href='/news') +SAX.endElement(area) +SAX.characters( +, 1) +SAX.startElement(area, shape='rect', coords='15,0 31,16', href='/news/business/') +SAX.endElement(area) +SAX.characters( +, 1) +SAX.startElement(area, shape='rect', coords='32,0,48,16', href='/news/culture/') +SAX.endElement(area) +SAX.characters( +, 1) +SAX.startElement(area, shape='rect', coords='49,0,65,16', href='/news/technology/') +SAX.endElement(area) +SAX.characters( +, 1) +SAX.startElement(area, shape='rect', coords='66,0,83,16', href='/news/politics/') +SAX.endElement(area) +SAX.characters( +, 1) +SAX.endElement(map) +SAX.characters( + , 2) +SAX.endElement(p) +SAX.endElement(td) +SAX.characters( + , 4) +SAX.startElement(td, valign='TOP', align='LEFT') +SAX.characters( + , 5) +SAX.startElement(img, src='http://static.wired.com/news/images/spacer.gif', height='1', width='5', alt='') +SAX.endElement(img) +SAX.characters( + , 4) +SAX.endElement(td) +SAX.characters( + , 4) +SAX.startElement(td, valign='TOP', align='LEFT') +SAX.characters( + , 4) +SAX.endElement(td) +SAX.characters( + , 3) +SAX.endElement(tr) +SAX.characters( +, 1) +SAX.endElement(table) +SAX.characters( + + +, 3) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( + +, 2) +SAX.endDocument() diff --git a/libxml2/result/HTML/xml-declaration-1.html b/libxml2/result/HTML/xml-declaration-1.html new file mode 100644 index 0000000..e4e9c35 --- /dev/null +++ b/libxml2/result/HTML/xml-declaration-1.html @@ -0,0 +1,4 @@ + + +

    öäüß

    + diff --git a/libxml2/result/HTML/xml-declaration-1.html.sax b/libxml2/result/HTML/xml-declaration-1.html.sax new file mode 100644 index 0000000..c1ce23e --- /dev/null +++ b/libxml2/result/HTML/xml-declaration-1.html.sax @@ -0,0 +1,13 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment(?xml encoding="UTF-8") +SAX.startElement(html) +SAX.startElement(body) +SAX.startElement(p) +SAX.characters(öäüß, 8) +SAX.endElement(p) +SAX.characters( +, 1) +SAX.endElement(body) +SAX.endElement(html) +SAX.endDocument() diff --git a/libxml2/result/SVG/4rects.xml b/libxml2/result/SVG/4rects.xml new file mode 100644 index 0000000..7676351 --- /dev/null +++ b/libxml2/result/SVG/4rects.xml @@ -0,0 +1,10 @@ + + + + Four separate rectangles + + + + + + diff --git a/libxml2/result/SVG/a-valid.xml b/libxml2/result/SVG/a-valid.xml new file mode 100644 index 0000000..7693cde --- /dev/null +++ b/libxml2/result/SVG/a-valid.xml @@ -0,0 +1,9 @@ + + + + This valid svg document draws a triangle which is a hyperlink + + +

    + + diff --git a/libxml2/result/SVG/a-wf.xml b/libxml2/result/SVG/a-wf.xml new file mode 100644 index 0000000..69ffacb --- /dev/null +++ b/libxml2/result/SVG/a-wf.xml @@ -0,0 +1,8 @@ + + + This well formed svg document draws a triangle which is a hyperlink + + +

    + + diff --git a/libxml2/result/SVG/bike.xml b/libxml2/result/SVG/bike.xml new file mode 100644 index 0000000..2ce3060 --- /dev/null +++ b/libxml2/result/SVG/bike.xml @@ -0,0 +1,40 @@ + + + + + Kona Lavadome mountain bike + + This picture shows a mountain bike, a human-propelled, + multi-terrain vehicle. While it can be succesfully used on moorland, + forest, roads, and large hills it is not actually suitable for going + up mountains. + + + + 14/12 gauge double butted spoke + + + black anodised low torsion hub + + + twin wall, eyeletted rim + + + 8 speed, wide ratio gearing + + + double cross lacing of 32 spokes + + + + + Front wheel + The front wheel provides grip, steering and some shock absorption + + + + + + + + diff --git a/libxml2/result/SVG/circle.xml b/libxml2/result/SVG/circle.xml new file mode 100644 index 0000000..fc1e781 --- /dev/null +++ b/libxml2/result/SVG/circle.xml @@ -0,0 +1,9 @@ + + + + This is a blue circle with a red outline + + + + + diff --git a/libxml2/result/SVG/defs.xml b/libxml2/result/SVG/defs.xml new file mode 100644 index 0000000..92121b8 --- /dev/null +++ b/libxml2/result/SVG/defs.xml @@ -0,0 +1,14 @@ + + + + + + + + + + Defining things for later use + + + diff --git a/libxml2/result/SVG/desc.xml b/libxml2/result/SVG/desc.xml new file mode 100644 index 0000000..9ef710f --- /dev/null +++ b/libxml2/result/SVG/desc.xml @@ -0,0 +1,14 @@ + + + + + + Company sales by region + + + This is a bar chart which shows + company sales by region. + + + + diff --git a/libxml2/result/SVG/ellipse.xml b/libxml2/result/SVG/ellipse.xml new file mode 100644 index 0000000..dc65d3e --- /dev/null +++ b/libxml2/result/SVG/ellipse.xml @@ -0,0 +1,9 @@ + + + + This is an ellipse, axis aligned and centered on the origin + + + + + diff --git a/libxml2/result/SVG/flower2.xml b/libxml2/result/SVG/flower2.xml new file mode 100644 index 0000000..f714f43 --- /dev/null +++ b/libxml2/result/SVG/flower2.xml @@ -0,0 +1,10 @@ + + + + This sample SVG file draws a flower + + + + + + diff --git a/libxml2/result/SVG/gradient.xml b/libxml2/result/SVG/gradient.xml new file mode 100644 index 0000000..c572cd8 --- /dev/null +++ b/libxml2/result/SVG/gradient.xml @@ -0,0 +1,16 @@ + + + + Gradient example + + + + + + + + + + + + diff --git a/libxml2/result/SVG/group01.xml b/libxml2/result/SVG/group01.xml new file mode 100644 index 0000000..b5a8d0f --- /dev/null +++ b/libxml2/result/SVG/group01.xml @@ -0,0 +1,14 @@ + + + + Two groups, each of two rectangles + + + + + + + + + + diff --git a/libxml2/result/SVG/group02.xml b/libxml2/result/SVG/group02.xml new file mode 100644 index 0000000..0454295 --- /dev/null +++ b/libxml2/result/SVG/group02.xml @@ -0,0 +1,12 @@ + + + + Two named groups + + + + + + + + diff --git a/libxml2/result/SVG/group03.xml b/libxml2/result/SVG/group03.xml new file mode 100644 index 0000000..0fcb5bc --- /dev/null +++ b/libxml2/result/SVG/group03.xml @@ -0,0 +1,12 @@ + + + + Groups can nest + + + + + + + + diff --git a/libxml2/result/SVG/image-valid.xml b/libxml2/result/SVG/image-valid.xml new file mode 100644 index 0000000..cfb7547 --- /dev/null +++ b/libxml2/result/SVG/image-valid.xml @@ -0,0 +1,9 @@ + + + + This graphic links to an external image + + + My image + + diff --git a/libxml2/result/SVG/image-wf.xml b/libxml2/result/SVG/image-wf.xml new file mode 100644 index 0000000..ee1acac --- /dev/null +++ b/libxml2/result/SVG/image-wf.xml @@ -0,0 +1,8 @@ + + + This links to an external image + + + My image + + diff --git a/libxml2/result/SVG/lin-gradient.xml b/libxml2/result/SVG/lin-gradient.xml new file mode 100644 index 0000000..f49f203 --- /dev/null +++ b/libxml2/result/SVG/lin-gradient.xml @@ -0,0 +1,15 @@ + + + + Linear gradient example + + + + + + + + + + + diff --git a/libxml2/result/SVG/marker.xml b/libxml2/result/SVG/marker.xml new file mode 100644 index 0000000..88f3be5 --- /dev/null +++ b/libxml2/result/SVG/marker.xml @@ -0,0 +1,25 @@ + + + + + + + + + An double-headed arrow example using markers + + + + + + + + + + + + + + + diff --git a/libxml2/result/SVG/mask.xml b/libxml2/result/SVG/mask.xml new file mode 100644 index 0000000..3a2357c --- /dev/null +++ b/libxml2/result/SVG/mask.xml @@ -0,0 +1,12 @@ + + + + Example of using a mask + + + + + + + + diff --git a/libxml2/result/SVG/mathswitch.xml b/libxml2/result/SVG/mathswitch.xml new file mode 100644 index 0000000..7f9b704 --- /dev/null +++ b/libxml2/result/SVG/mathswitch.xml @@ -0,0 +1,29 @@ + + + This example uses the switch element to provide a + fallback graphical representation of an equation, if + MathML is not supported. + + + + + + + + + + + + + + Formula goes here + + + + diff --git a/libxml2/result/SVG/parentns.xml b/libxml2/result/SVG/parentns.xml new file mode 100644 index 0000000..a42053c --- /dev/null +++ b/libxml2/result/SVG/parentns.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/libxml2/result/SVG/path01.xml b/libxml2/result/SVG/path01.xml new file mode 100644 index 0000000..c64bf5b --- /dev/null +++ b/libxml2/result/SVG/path01.xml @@ -0,0 +1,4 @@ + + + + diff --git a/libxml2/result/SVG/path02.xml b/libxml2/result/SVG/path02.xml new file mode 100644 index 0000000..b74f975 --- /dev/null +++ b/libxml2/result/SVG/path02.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/libxml2/result/SVG/patternfill.xml b/libxml2/result/SVG/patternfill.xml new file mode 100644 index 0000000..d6c0685 --- /dev/null +++ b/libxml2/result/SVG/patternfill.xml @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/libxml2/result/SVG/polyline.xml b/libxml2/result/SVG/polyline.xml new file mode 100644 index 0000000..6fc9903 --- /dev/null +++ b/libxml2/result/SVG/polyline.xml @@ -0,0 +1,8 @@ + + + + A sample polyline, and equivalent path + + + + diff --git a/libxml2/result/SVG/private.xml b/libxml2/result/SVG/private.xml new file mode 100644 index 0000000..d06034f --- /dev/null +++ b/libxml2/result/SVG/private.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + This chart includes private data in another namespace + + + diff --git a/libxml2/result/SVG/rad-gradient.xml b/libxml2/result/SVG/rad-gradient.xml new file mode 100644 index 0000000..503cf9d --- /dev/null +++ b/libxml2/result/SVG/rad-gradient.xml @@ -0,0 +1,16 @@ + + + + Radial gradient example with three gradient stops + + + + + + + + + + + + diff --git a/libxml2/result/SVG/rectangle.xml b/libxml2/result/SVG/rectangle.xml new file mode 100644 index 0000000..2c2a92d --- /dev/null +++ b/libxml2/result/SVG/rectangle.xml @@ -0,0 +1,9 @@ + + + + This is a rectangle + + + + + diff --git a/libxml2/result/SVG/richdesc.xml b/libxml2/result/SVG/richdesc.xml new file mode 100644 index 0000000..698e40d --- /dev/null +++ b/libxml2/result/SVG/richdesc.xml @@ -0,0 +1,11 @@ + + + + This is an example SVG file + The global description uses markup from the + mydoc namespace. + + + + + diff --git a/libxml2/result/SVG/script.xml b/libxml2/result/SVG/script.xml new file mode 100644 index 0000000..e5af1e9 --- /dev/null +++ b/libxml2/result/SVG/script.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/libxml2/result/SVG/structure01.xml b/libxml2/result/SVG/structure01.xml new file mode 100644 index 0000000..9cc9b5f --- /dev/null +++ b/libxml2/result/SVG/structure01.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/libxml2/result/SVG/style.xml b/libxml2/result/SVG/style.xml new file mode 100644 index 0000000..ef59bf9 --- /dev/null +++ b/libxml2/result/SVG/style.xml @@ -0,0 +1,10 @@ + + + + + + + Here is my title + diff --git a/libxml2/result/SVG/switch.xml b/libxml2/result/SVG/switch.xml new file mode 100644 index 0000000..c7bfd60 --- /dev/null +++ b/libxml2/result/SVG/switch.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + diff --git a/libxml2/result/SVG/symbol-use.xml b/libxml2/result/SVG/symbol-use.xml new file mode 100644 index 0000000..ad05933 --- /dev/null +++ b/libxml2/result/SVG/symbol-use.xml @@ -0,0 +1,27 @@ + + + + + + + + + + Examples of inline and referenced content + + + + + + + + + + + + + + + + + diff --git a/libxml2/result/SVG/template.xml b/libxml2/result/SVG/template.xml new file mode 100644 index 0000000..a452896 --- /dev/null +++ b/libxml2/result/SVG/template.xml @@ -0,0 +1,8 @@ + + + This well formed svg document contains a hyperlink + + +

    + + diff --git a/libxml2/result/SVG/text01.xml b/libxml2/result/SVG/text01.xml new file mode 100644 index 0000000..0e2b44b --- /dev/null +++ b/libxml2/result/SVG/text01.xml @@ -0,0 +1,11 @@ + + + + + XYZ + + ABC + + + + diff --git a/libxml2/result/SVG/text02.xml b/libxml2/result/SVG/text02.xml new file mode 100644 index 0000000..6dac61f --- /dev/null +++ b/libxml2/result/SVG/text02.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + 123 + ABC + 456 + DEF diff --git a/libxml2/result/SVG/text03.xml b/libxml2/result/SVG/text03.xml new file mode 100644 index 0000000..be92031 --- /dev/null +++ b/libxml2/result/SVG/text03.xml @@ -0,0 +1,7 @@ + + + + 123 + 456 + + diff --git a/libxml2/result/SVG/toap01.xml b/libxml2/result/SVG/toap01.xml new file mode 100644 index 0000000..9aa70f8 --- /dev/null +++ b/libxml2/result/SVG/toap01.xml @@ -0,0 +1,8 @@ + + + + Simple text on a path + + + Text on path + diff --git a/libxml2/result/SVG/toap02.xml b/libxml2/result/SVG/toap02.xml new file mode 100644 index 0000000..dbd8bcd --- /dev/null +++ b/libxml2/result/SVG/toap02.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + General graphics on a path + + + + + + + + + + + + + + + + + diff --git a/libxml2/result/SVG/transform.xml b/libxml2/result/SVG/transform.xml new file mode 100644 index 0000000..c5fd8c9 --- /dev/null +++ b/libxml2/result/SVG/transform.xml @@ -0,0 +1,25 @@ + + + + Demonstration of coordinate transforms + + + This prints 12 pixels high. + This prints 12 pixels high. + + + + + + This prints 24 pixels high. + + + This prints 12 pixels high. + + + + diff --git a/libxml2/result/SVG/trivial.xml b/libxml2/result/SVG/trivial.xml new file mode 100644 index 0000000..e30fd29 --- /dev/null +++ b/libxml2/result/SVG/trivial.xml @@ -0,0 +1,4 @@ + + + + diff --git a/libxml2/result/SVG/twin-gradients.xml b/libxml2/result/SVG/twin-gradients.xml new file mode 100644 index 0000000..bd30810 --- /dev/null +++ b/libxml2/result/SVG/twin-gradients.xml @@ -0,0 +1,18 @@ + + + + Gradients apply to leaf nodes + + + + + + + + + + + + + + diff --git a/libxml2/result/SVG/v-template.xml b/libxml2/result/SVG/v-template.xml new file mode 100644 index 0000000..0d09808 --- /dev/null +++ b/libxml2/result/SVG/v-template.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/libxml2/result/SVG/viewport-nest.xml b/libxml2/result/SVG/viewport-nest.xml new file mode 100644 index 0000000..879e21e --- /dev/null +++ b/libxml2/result/SVG/viewport-nest.xml @@ -0,0 +1,12 @@ + + + + This SVG drawing embeds another one, + thus establishing a new viewport + + + + + + diff --git a/libxml2/result/SVG/viewport-transform.xml b/libxml2/result/SVG/viewport-transform.xml new file mode 100644 index 0000000..77a7547 --- /dev/null +++ b/libxml2/result/SVG/viewport-transform.xml @@ -0,0 +1,44 @@ + + + + Transformation with establishment of a new viewport + + + This prints 12 pixels high. + This prints 12 pixels high. + + + + + + This prints 24 pixels high. + + + This prints 12 pixels high. + + + + + + + + + + This prints 36 pixels high. + This prints 36 pixels high. + + + + + diff --git a/libxml2/result/SVG/viewport.xml b/libxml2/result/SVG/viewport.xml new file mode 100644 index 0000000..98e15aa --- /dev/null +++ b/libxml2/result/SVG/viewport.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/libxml2/result/SVG/wf-template.xml b/libxml2/result/SVG/wf-template.xml new file mode 100644 index 0000000..f9593c7 --- /dev/null +++ b/libxml2/result/SVG/wf-template.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/libxml2/result/URI/file.uri b/libxml2/result/URI/file.uri new file mode 100644 index 0000000..8d8b7a7 --- /dev/null +++ b/libxml2/result/URI/file.uri @@ -0,0 +1 @@ +file:///foo.txt diff --git a/libxml2/result/URI/port.uri b/libxml2/result/URI/port.uri new file mode 100644 index 0000000..4b22322 --- /dev/null +++ b/libxml2/result/URI/port.uri @@ -0,0 +1,2 @@ +nbd://:10888 +https://example.com:12345/ diff --git a/libxml2/result/URI/smith.uri b/libxml2/result/URI/smith.uri new file mode 100644 index 0000000..d336d54 --- /dev/null +++ b/libxml2/result/URI/smith.uri @@ -0,0 +1,15 @@ +/bar +bar +bar +bar +baz + +foo/ +foo +foo +../foo./ +../foo/ +/foo +../foo +../../foo +../../../foo diff --git a/libxml2/result/URI/uri.data b/libxml2/result/URI/uri.data new file mode 100644 index 0000000..90c7905 --- /dev/null +++ b/libxml2/result/URI/uri.data @@ -0,0 +1,21 @@ +http://foo.com/path/to/index.html?orig +http://foo.com/path/to/ +http://foo.com/path/to/bar +http://foo.com/path/to/bar#baz +http://foo.com/path/to/bar?baz +http://foo.com/path/to/bar?baz#baz2 +http://foo.com/path/to/index.html?orig#baz +http://foo.com/path/to/index.html?baz +http://foo.com/path/to/index.html?baz#baz2 +http://foo.com/path/up.a.notch.html#wow +http://foo.com/path/up.a.notch.html?wow +http://foo.com/path/up.a.notch.html?wow#wow2 +http://foo.com/root.cgi#OK +http://foo.com/root.cgi?OK +http://foo.com/root.cgi?OK#OK2 +http://elsewhere.com/#deep +http://elsewhere.com/?deep +http://elsewhere.com/?deep#deep2 +http://elsewhere.com/bar +http://elsewhere.com:8080/bar +http://:8080 diff --git a/libxml2/result/VC/AttributeDefaultLegal b/libxml2/result/VC/AttributeDefaultLegal new file mode 100644 index 0000000..6b61686 --- /dev/null +++ b/libxml2/result/VC/AttributeDefaultLegal @@ -0,0 +1,12 @@ +./test/VC/AttributeDefaultLegal:4: validity error : Attribute doc of At: invalid default value + + ^ +./test/VC/AttributeDefaultLegal:6: validity error : Attribute doc of bad: invalid default value + + ^ +./test/VC/AttributeDefaultLegal:8: validity error : Attribute doc of bad2: invalid default value + + ^ +./test/VC/AttributeDefaultLegal:11: element doc: validity error : No declaration for attribute val of element doc + + ^ diff --git a/libxml2/result/VC/AttributeDefaultLegal.rdr b/libxml2/result/VC/AttributeDefaultLegal.rdr new file mode 100644 index 0000000..6b61686 --- /dev/null +++ b/libxml2/result/VC/AttributeDefaultLegal.rdr @@ -0,0 +1,12 @@ +./test/VC/AttributeDefaultLegal:4: validity error : Attribute doc of At: invalid default value + + ^ +./test/VC/AttributeDefaultLegal:6: validity error : Attribute doc of bad: invalid default value + + ^ +./test/VC/AttributeDefaultLegal:8: validity error : Attribute doc of bad2: invalid default value + + ^ +./test/VC/AttributeDefaultLegal:11: element doc: validity error : No declaration for attribute val of element doc + + ^ diff --git a/libxml2/result/VC/AttributeNmtokens b/libxml2/result/VC/AttributeNmtokens new file mode 100644 index 0000000..4c19285 --- /dev/null +++ b/libxml2/result/VC/AttributeNmtokens @@ -0,0 +1,3 @@ +./test/VC/AttributeNmtokens:6: element test: validity error : Syntax of value for attribute attr1 of test is not valid + + ^ diff --git a/libxml2/result/VC/AttributeNmtokens.rdr b/libxml2/result/VC/AttributeNmtokens.rdr new file mode 100644 index 0000000..4c19285 --- /dev/null +++ b/libxml2/result/VC/AttributeNmtokens.rdr @@ -0,0 +1,3 @@ +./test/VC/AttributeNmtokens:6: element test: validity error : Syntax of value for attribute attr1 of test is not valid + + ^ diff --git a/libxml2/result/VC/DuplicateType b/libxml2/result/VC/DuplicateType new file mode 100644 index 0000000..34e2c20 --- /dev/null +++ b/libxml2/result/VC/DuplicateType @@ -0,0 +1,3 @@ +./test/VC/DuplicateType:3: validity error : Definition of a has duplicate references of c + + ^ diff --git a/libxml2/result/VC/DuplicateType.rdr b/libxml2/result/VC/DuplicateType.rdr new file mode 100644 index 0000000..34e2c20 --- /dev/null +++ b/libxml2/result/VC/DuplicateType.rdr @@ -0,0 +1,3 @@ +./test/VC/DuplicateType:3: validity error : Definition of a has duplicate references of c + + ^ diff --git a/libxml2/result/VC/ElementValid b/libxml2/result/VC/ElementValid new file mode 100644 index 0000000..d6b50a7 --- /dev/null +++ b/libxml2/result/VC/ElementValid @@ -0,0 +1,3 @@ +./test/VC/ElementValid:3: validity error : Validation failed: no DTD found ! + + ^ diff --git a/libxml2/result/VC/ElementValid.rdr b/libxml2/result/VC/ElementValid.rdr new file mode 100644 index 0000000..d6b50a7 --- /dev/null +++ b/libxml2/result/VC/ElementValid.rdr @@ -0,0 +1,3 @@ +./test/VC/ElementValid:3: validity error : Validation failed: no DTD found ! + + ^ diff --git a/libxml2/result/VC/ElementValid2 b/libxml2/result/VC/ElementValid2 new file mode 100644 index 0000000..db47c89 --- /dev/null +++ b/libxml2/result/VC/ElementValid2 @@ -0,0 +1,3 @@ +./test/VC/ElementValid2:4: element p: validity error : No declaration for element p +

    + ^ diff --git a/libxml2/result/VC/ElementValid2.rdr b/libxml2/result/VC/ElementValid2.rdr new file mode 100644 index 0000000..cae331b --- /dev/null +++ b/libxml2/result/VC/ElementValid2.rdr @@ -0,0 +1,6 @@ +./test/VC/ElementValid2:4: element p: validity error : No declaration for element p +

    + ^ +./test/VC/ElementValid2:5: element p: validity error : No declaration for element p + +^ diff --git a/libxml2/result/VC/ElementValid3 b/libxml2/result/VC/ElementValid3 new file mode 100644 index 0000000..2fc236d --- /dev/null +++ b/libxml2/result/VC/ElementValid3 @@ -0,0 +1,3 @@ +./test/VC/ElementValid3:4: element doc: validity error : Element doc was declared EMPTY this one has content +Oops, this element was declared EMPTY + ^ diff --git a/libxml2/result/VC/ElementValid3.rdr b/libxml2/result/VC/ElementValid3.rdr new file mode 100644 index 0000000..5f4e03e --- /dev/null +++ b/libxml2/result/VC/ElementValid3.rdr @@ -0,0 +1,6 @@ +./test/VC/ElementValid3:4: element doc: validity error : Element doc was declared EMPTY this one has content +Oops, this element was declared EMPTY + ^ +./test/VC/ElementValid3:5: element doc: validity error : Element doc was declared EMPTY this one has content + +^ diff --git a/libxml2/result/VC/ElementValid4 b/libxml2/result/VC/ElementValid4 new file mode 100644 index 0000000..4791db5 --- /dev/null +++ b/libxml2/result/VC/ElementValid4 @@ -0,0 +1,3 @@ +./test/VC/ElementValid4:7: element doc: validity error : Element c is not declared in doc list of possible children + This seems Ok but this was not declared + ^ diff --git a/libxml2/result/VC/ElementValid4.rdr b/libxml2/result/VC/ElementValid4.rdr new file mode 100644 index 0000000..289a527 --- /dev/null +++ b/libxml2/result/VC/ElementValid4.rdr @@ -0,0 +1,6 @@ +./test/VC/ElementValid4:7: element doc: validity error : Element c is not declared in doc list of possible children + This seems Ok but this was not declared + ^ +./test/VC/ElementValid4:8: element doc: validity error : Element c is not declared in doc list of possible children + +^ diff --git a/libxml2/result/VC/ElementValid5 b/libxml2/result/VC/ElementValid5 new file mode 100644 index 0000000..bd064f6 --- /dev/null +++ b/libxml2/result/VC/ElementValid5 @@ -0,0 +1,3 @@ +./test/VC/ElementValid5:7: element doc: validity error : Element doc content does not follow the DTD, expecting (a , b* , c+), got (a b c b) + but thiswas not declaredseems + ^ diff --git a/libxml2/result/VC/ElementValid5.rdr b/libxml2/result/VC/ElementValid5.rdr new file mode 100644 index 0000000..91eef9c --- /dev/null +++ b/libxml2/result/VC/ElementValid5.rdr @@ -0,0 +1,9 @@ +./test/VC/ElementValid5:7: element doc: validity error : Element doc content does not follow the DTD, expecting (a , b* , c+), got (a b c b) + but thiswas not declaredseems + ^ +./test/VC/ElementValid5:8: element doc: validity error : Element doc content does not follow the DTD, Misplaced b + +^ +./test/VC/ElementValid5:8: element doc: validity error : Element doc content does not follow the DTD, Expecting more children + +^ diff --git a/libxml2/result/VC/ElementValid6 b/libxml2/result/VC/ElementValid6 new file mode 100644 index 0000000..1cbf8fd --- /dev/null +++ b/libxml2/result/VC/ElementValid6 @@ -0,0 +1,3 @@ +./test/VC/ElementValid6:7: element doc: validity error : Element doc content does not follow the DTD, expecting (a , b? , c+)?, got (a b) +lacks c + ^ diff --git a/libxml2/result/VC/ElementValid6.rdr b/libxml2/result/VC/ElementValid6.rdr new file mode 100644 index 0000000..3b51d1a --- /dev/null +++ b/libxml2/result/VC/ElementValid6.rdr @@ -0,0 +1,6 @@ +./test/VC/ElementValid6:7: element doc: validity error : Element doc content does not follow the DTD, expecting (a , b? , c+)?, got (a b) +lacks c + ^ +./test/VC/ElementValid6:8: element doc: validity error : Element doc content does not follow the DTD, Expecting more children + +^ diff --git a/libxml2/result/VC/ElementValid7 b/libxml2/result/VC/ElementValid7 new file mode 100644 index 0000000..4ce9dbf --- /dev/null +++ b/libxml2/result/VC/ElementValid7 @@ -0,0 +1,3 @@ +./test/VC/ElementValid7:7: element doc: validity error : Element doc content does not follow the DTD, expecting ((a | b)* , c+ , a , b? , c , a?), got (a b a c c a) + + ^ diff --git a/libxml2/result/VC/ElementValid7.rdr b/libxml2/result/VC/ElementValid7.rdr new file mode 100644 index 0000000..ecafd1d --- /dev/null +++ b/libxml2/result/VC/ElementValid7.rdr @@ -0,0 +1,6 @@ +./test/VC/ElementValid7:7: element doc: validity error : Element doc content does not follow the DTD, expecting ((a | b)* , c+ , a , b? , c , a?), got (a b a c c a) + + ^ +./test/VC/ElementValid7:8: element doc: validity error : Element doc content does not follow the DTD, Expecting more children + +^ diff --git a/libxml2/result/VC/ElementValid8 b/libxml2/result/VC/ElementValid8 new file mode 100644 index 0000000..7962630 --- /dev/null +++ b/libxml2/result/VC/ElementValid8 @@ -0,0 +1,3 @@ +./test/VC/ElementValid8:7: validity error : Content model of doc is not deterministic: ((a , b) | (a , c)) + doc is non-deterministic + ^ diff --git a/libxml2/result/VC/ElementValid8.rdr b/libxml2/result/VC/ElementValid8.rdr new file mode 100644 index 0000000..7962630 --- /dev/null +++ b/libxml2/result/VC/ElementValid8.rdr @@ -0,0 +1,3 @@ +./test/VC/ElementValid8:7: validity error : Content model of doc is not deterministic: ((a , b) | (a , c)) + doc is non-deterministic + ^ diff --git a/libxml2/result/VC/Enumeration b/libxml2/result/VC/Enumeration new file mode 100644 index 0000000..30896fc --- /dev/null +++ b/libxml2/result/VC/Enumeration @@ -0,0 +1,3 @@ +./test/VC/Enumeration:5: element doc: validity error : Value "v4" for attribute val of doc is not among the enumerated set + + ^ diff --git a/libxml2/result/VC/Enumeration.rdr b/libxml2/result/VC/Enumeration.rdr new file mode 100644 index 0000000..30896fc --- /dev/null +++ b/libxml2/result/VC/Enumeration.rdr @@ -0,0 +1,3 @@ +./test/VC/Enumeration:5: element doc: validity error : Value "v4" for attribute val of doc is not among the enumerated set + + ^ diff --git a/libxml2/result/VC/NS2 b/libxml2/result/VC/NS2 new file mode 100644 index 0000000..abd1f88 --- /dev/null +++ b/libxml2/result/VC/NS2 @@ -0,0 +1,3 @@ +./test/VC/NS2:9: element doc: validity error : No declaration for attribute attr of element doc + + ^ diff --git a/libxml2/result/VC/NS2.rdr b/libxml2/result/VC/NS2.rdr new file mode 100644 index 0000000..abd1f88 --- /dev/null +++ b/libxml2/result/VC/NS2.rdr @@ -0,0 +1,3 @@ +./test/VC/NS2:9: element doc: validity error : No declaration for attribute attr of element doc + + ^ diff --git a/libxml2/result/VC/NS3 b/libxml2/result/VC/NS3 new file mode 100644 index 0000000..8032036 --- /dev/null +++ b/libxml2/result/VC/NS3 @@ -0,0 +1,6 @@ +./test/VC/NS3:9: element foo: validity error : Value for attribute xmlns of foo is different from default "http://example.com/fooo" +xmlns="http://example.com/foo" xmlns:foo="http://example.com/fo" foo:info="toto" + ^ +./test/VC/NS3:9: element foo: validity error : Value for attribute xmlns of foo must be "http://example.com/fooo" +xmlns="http://example.com/foo" xmlns:foo="http://example.com/fo" foo:info="toto" + ^ diff --git a/libxml2/result/VC/NS3.rdr b/libxml2/result/VC/NS3.rdr new file mode 100644 index 0000000..8032036 --- /dev/null +++ b/libxml2/result/VC/NS3.rdr @@ -0,0 +1,6 @@ +./test/VC/NS3:9: element foo: validity error : Value for attribute xmlns of foo is different from default "http://example.com/fooo" +xmlns="http://example.com/foo" xmlns:foo="http://example.com/fo" foo:info="toto" + ^ +./test/VC/NS3:9: element foo: validity error : Value for attribute xmlns of foo must be "http://example.com/fooo" +xmlns="http://example.com/foo" xmlns:foo="http://example.com/fo" foo:info="toto" + ^ diff --git a/libxml2/result/VC/OneID b/libxml2/result/VC/OneID new file mode 100644 index 0000000..4fa513a --- /dev/null +++ b/libxml2/result/VC/OneID @@ -0,0 +1,3 @@ +./test/VC/OneID:4: validity error : Element doc has 2 ID attribute defined in the internal subset : id + + ^ diff --git a/libxml2/result/VC/OneID.rdr b/libxml2/result/VC/OneID.rdr new file mode 100644 index 0000000..4fa513a --- /dev/null +++ b/libxml2/result/VC/OneID.rdr @@ -0,0 +1,3 @@ +./test/VC/OneID:4: validity error : Element doc has 2 ID attribute defined in the internal subset : id + + ^ diff --git a/libxml2/result/VC/OneID2 b/libxml2/result/VC/OneID2 new file mode 100644 index 0000000..f4a064a --- /dev/null +++ b/libxml2/result/VC/OneID2 @@ -0,0 +1,3 @@ +./test/VC/OneID2:3: validity error : Element doc has 2 ID attribute defined in the internal subset : id + + ^ diff --git a/libxml2/result/VC/OneID2.rdr b/libxml2/result/VC/OneID2.rdr new file mode 100644 index 0000000..f4a064a --- /dev/null +++ b/libxml2/result/VC/OneID2.rdr @@ -0,0 +1,3 @@ +./test/VC/OneID2:3: validity error : Element doc has 2 ID attribute defined in the internal subset : id + + ^ diff --git a/libxml2/result/VC/OneID3 b/libxml2/result/VC/OneID3 new file mode 100644 index 0000000..053cc6f --- /dev/null +++ b/libxml2/result/VC/OneID3 @@ -0,0 +1,3 @@ +test/VC/dtds/doc.dtd:2: validity error : Element doc has 2 ID attribute defined in the external subset : val + + ^ diff --git a/libxml2/result/VC/OneID3.rdr b/libxml2/result/VC/OneID3.rdr new file mode 100644 index 0000000..053cc6f --- /dev/null +++ b/libxml2/result/VC/OneID3.rdr @@ -0,0 +1,3 @@ +test/VC/dtds/doc.dtd:2: validity error : Element doc has 2 ID attribute defined in the external subset : val + + ^ diff --git a/libxml2/result/VC/PENesting b/libxml2/result/VC/PENesting new file mode 100644 index 0000000..705e24c --- /dev/null +++ b/libxml2/result/VC/PENesting @@ -0,0 +1,3 @@ +./test/VC/PENesting:1: parser error : StartTag: invalid element name + "> + ^ diff --git a/libxml2/result/VC/PENesting.rdr b/libxml2/result/VC/PENesting.rdr new file mode 100644 index 0000000..7f82e13 --- /dev/null +++ b/libxml2/result/VC/PENesting.rdr @@ -0,0 +1,4 @@ +./test/VC/PENesting:1: parser error : StartTag: invalid element name + "> + ^ +./test/VC/PENesting : failed to parse diff --git a/libxml2/result/VC/PENesting2 b/libxml2/result/VC/PENesting2 new file mode 100644 index 0000000..f138827 --- /dev/null +++ b/libxml2/result/VC/PENesting2 @@ -0,0 +1,3 @@ +./test/VC/PENesting2:1: parser error : StartTag: invalid element name + + ^ diff --git a/libxml2/result/VC/PENesting2.rdr b/libxml2/result/VC/PENesting2.rdr new file mode 100644 index 0000000..71cb053 --- /dev/null +++ b/libxml2/result/VC/PENesting2.rdr @@ -0,0 +1,4 @@ +./test/VC/PENesting2:1: parser error : StartTag: invalid element name + + ^ +./test/VC/PENesting2 : failed to parse diff --git a/libxml2/result/VC/UniqueElementTypeDeclaration b/libxml2/result/VC/UniqueElementTypeDeclaration new file mode 100644 index 0000000..8537041 --- /dev/null +++ b/libxml2/result/VC/UniqueElementTypeDeclaration @@ -0,0 +1,3 @@ +test/VC/dtds/a.dtd:1: validity error : Redefinition of element a + + ^ diff --git a/libxml2/result/VC/UniqueElementTypeDeclaration.rdr b/libxml2/result/VC/UniqueElementTypeDeclaration.rdr new file mode 100644 index 0000000..8537041 --- /dev/null +++ b/libxml2/result/VC/UniqueElementTypeDeclaration.rdr @@ -0,0 +1,3 @@ +test/VC/dtds/a.dtd:1: validity error : Redefinition of element a + + ^ diff --git a/libxml2/result/VC/UniqueElementTypeDeclaration2 b/libxml2/result/VC/UniqueElementTypeDeclaration2 new file mode 100644 index 0000000..c328d92 --- /dev/null +++ b/libxml2/result/VC/UniqueElementTypeDeclaration2 @@ -0,0 +1,3 @@ +./test/VC/UniqueElementTypeDeclaration2:6: validity error : Redefinition of element a + + ^ diff --git a/libxml2/result/VC/UniqueElementTypeDeclaration2.rdr b/libxml2/result/VC/UniqueElementTypeDeclaration2.rdr new file mode 100644 index 0000000..c328d92 --- /dev/null +++ b/libxml2/result/VC/UniqueElementTypeDeclaration2.rdr @@ -0,0 +1,3 @@ +./test/VC/UniqueElementTypeDeclaration2:6: validity error : Redefinition of element a + + ^ diff --git a/libxml2/result/XInclude/base.xml b/libxml2/result/XInclude/base.xml new file mode 100644 index 0000000..9dae82d --- /dev/null +++ b/libxml2/result/XInclude/base.xml @@ -0,0 +1,12 @@ + + + + http://example.org/one/two + + ents/one/two2 + + ents/one2/two + + docs/one/two/three/four + + diff --git a/libxml2/result/XInclude/base.xml.rdr b/libxml2/result/XInclude/base.xml.rdr new file mode 100644 index 0000000..f1c2fad --- /dev/null +++ b/libxml2/result/XInclude/base.xml.rdr @@ -0,0 +1,26 @@ +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 elem 0 0 +2 3 #text 0 1 + http://example.org/one/two + +1 15 elem 0 0 +1 1 elem 0 0 +2 3 #text 0 1 + ents/one/two2 + +1 15 elem 0 0 +1 1 elem 0 0 +2 3 #text 0 1 + ents/one2/two + +1 15 elem 0 0 +1 1 elem 0 0 +2 3 #text 0 1 + docs/one/two/three/four + +1 15 elem 0 0 +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/libxml2/result/XInclude/coalesce.xml b/libxml2/result/XInclude/coalesce.xml new file mode 100644 index 0000000..192015a --- /dev/null +++ b/libxml2/result/XInclude/coalesce.xml @@ -0,0 +1,10 @@ + + + + start + + start + + end + + diff --git a/libxml2/result/XInclude/coalesce.xml.rdr b/libxml2/result/XInclude/coalesce.xml.rdr new file mode 100644 index 0000000..95a32aa --- /dev/null +++ b/libxml2/result/XInclude/coalesce.xml.rdr @@ -0,0 +1,17 @@ +0 1 test 0 0 +1 14 #text 0 1 + +1 1 t1 0 0 +2 3 #text 0 1 + start + +2 3 #text 0 1 + start + +2 3 #text 0 1 + end + +1 15 t1 0 0 +1 14 #text 0 1 + +0 15 test 0 0 diff --git a/libxml2/result/XInclude/docids.xml b/libxml2/result/XInclude/docids.xml new file mode 100644 index 0000000..ad8e6e6 --- /dev/null +++ b/libxml2/result/XInclude/docids.xml @@ -0,0 +1,19 @@ + + + + + +]> + + + + + + + + + + + + diff --git a/libxml2/result/XInclude/docids.xml.rdr b/libxml2/result/XInclude/docids.xml.rdr new file mode 100644 index 0000000..dedeb67 --- /dev/null +++ b/libxml2/result/XInclude/docids.xml.rdr @@ -0,0 +1,35 @@ +0 10 book 0 0 +0 1 book 0 0 +1 14 #text 0 1 + +1 1 doc 0 0 +2 14 #text 0 1 + +2 1 isid 1 0 +2 14 #text 0 1 + +2 1 isid 1 0 +2 14 #text 0 1 + +1 15 doc 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 including another XML document with IDs +1 14 #text 0 1 + +1 1 doc 0 0 +2 14 #text 0 1 + +2 1 isid 1 0 +2 14 #text 0 1 + +2 1 isid 1 0 +2 14 #text 0 1 + +2 1 isid 1 0 +2 14 #text 0 1 + +1 15 doc 0 0 +1 14 #text 0 1 + +0 15 book 0 0 diff --git a/libxml2/result/XInclude/fallback.xml b/libxml2/result/XInclude/fallback.xml new file mode 100644 index 0000000..6f41f80 --- /dev/null +++ b/libxml2/result/XInclude/fallback.xml @@ -0,0 +1,5 @@ + + + + Inclusion failed + diff --git a/libxml2/result/XInclude/fallback.xml.err b/libxml2/result/XInclude/fallback.xml.err new file mode 100644 index 0000000..3239da0 --- /dev/null +++ b/libxml2/result/XInclude/fallback.xml.err @@ -0,0 +1 @@ +I/O warning : failed to load "test/XInclude/docs/something.xml": No such file or directory diff --git a/libxml2/result/XInclude/fallback.xml.rdr b/libxml2/result/XInclude/fallback.xml.rdr new file mode 100644 index 0000000..d558872 --- /dev/null +++ b/libxml2/result/XInclude/fallback.xml.rdr @@ -0,0 +1,12 @@ +0 1 x 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 Simple test of a fallback on unavailable URI +1 14 #text 0 1 + +1 1 warning 0 0 +2 3 #text 0 1 Inclusion failed +1 15 warning 0 0 +1 14 #text 0 1 + +0 15 x 0 0 diff --git a/libxml2/result/XInclude/fallback2.xml b/libxml2/result/XInclude/fallback2.xml new file mode 100644 index 0000000..d91b0a1 --- /dev/null +++ b/libxml2/result/XInclude/fallback2.xml @@ -0,0 +1,6 @@ + + + There is no b.xml ... + There is no c.xml ... + + diff --git a/libxml2/result/XInclude/fallback2.xml.err b/libxml2/result/XInclude/fallback2.xml.err new file mode 100644 index 0000000..288ed21 --- /dev/null +++ b/libxml2/result/XInclude/fallback2.xml.err @@ -0,0 +1,2 @@ +I/O warning : failed to load "test/XInclude/docs/b.xml": No such file or directory +I/O warning : failed to load "test/XInclude/docs/c.xml": No such file or directory diff --git a/libxml2/result/XInclude/fallback2.xml.rdr b/libxml2/result/XInclude/fallback2.xml.rdr new file mode 100644 index 0000000..2fca4f0 --- /dev/null +++ b/libxml2/result/XInclude/fallback2.xml.rdr @@ -0,0 +1,11 @@ +0 1 a 0 0 +1 14 #text 0 1 + +1 3 #text 0 1 There is no b.xml ... +1 14 #text 0 1 + +1 3 #text 0 1 There is no c.xml ... +1 14 #text 0 1 + + +0 15 a 0 0 diff --git a/libxml2/result/XInclude/fallback3.xml b/libxml2/result/XInclude/fallback3.xml new file mode 100644 index 0000000..b423551 --- /dev/null +++ b/libxml2/result/XInclude/fallback3.xml @@ -0,0 +1,8 @@ + + + +

    something

    +

    really

    +

    simple

    + +
    diff --git a/libxml2/result/XInclude/fallback3.xml.rdr b/libxml2/result/XInclude/fallback3.xml.rdr new file mode 100644 index 0000000..aa2f137 --- /dev/null +++ b/libxml2/result/XInclude/fallback3.xml.rdr @@ -0,0 +1,25 @@ +0 1 a 0 0 +1 14 #text 0 1 + +1 1 doc 0 0 +2 14 #text 0 1 + +2 1 p 0 0 +3 3 #text 0 1 something +2 15 p 0 0 +2 14 #text 0 1 + +2 1 p 0 0 +3 3 #text 0 1 really +2 15 p 0 0 +2 14 #text 0 1 + +2 1 p 0 0 +3 3 #text 0 1 simple +2 15 p 0 0 +2 14 #text 0 1 + +1 15 doc 0 0 +1 14 #text 0 1 + +0 15 a 0 0 diff --git a/libxml2/result/XInclude/fallback4.xml b/libxml2/result/XInclude/fallback4.xml new file mode 100644 index 0000000..9883fd5 --- /dev/null +++ b/libxml2/result/XInclude/fallback4.xml @@ -0,0 +1,10 @@ + + + + +

    something

    +

    really

    +

    simple

    +
    + +
    diff --git a/libxml2/result/XInclude/fallback4.xml.err b/libxml2/result/XInclude/fallback4.xml.err new file mode 100644 index 0000000..2515677 --- /dev/null +++ b/libxml2/result/XInclude/fallback4.xml.err @@ -0,0 +1 @@ +I/O warning : failed to load "test/XInclude/docs/c.xml": No such file or directory diff --git a/libxml2/result/XInclude/fallback4.xml.rdr b/libxml2/result/XInclude/fallback4.xml.rdr new file mode 100644 index 0000000..628b951 --- /dev/null +++ b/libxml2/result/XInclude/fallback4.xml.rdr @@ -0,0 +1,29 @@ +0 1 a 0 0 +1 14 #text 0 1 + +1 14 #text 0 1 + +1 1 doc 0 0 +2 14 #text 0 1 + +2 1 p 0 0 +3 3 #text 0 1 something +2 15 p 0 0 +2 14 #text 0 1 + +2 1 p 0 0 +3 3 #text 0 1 really +2 15 p 0 0 +2 14 #text 0 1 + +2 1 p 0 0 +3 3 #text 0 1 simple +2 15 p 0 0 +2 14 #text 0 1 + +1 15 doc 0 0 +1 14 #text 0 1 + +1 14 #text 0 1 + +0 15 a 0 0 diff --git a/libxml2/result/XInclude/fallback5.xml b/libxml2/result/XInclude/fallback5.xml new file mode 100644 index 0000000..0ba503d --- /dev/null +++ b/libxml2/result/XInclude/fallback5.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libxml2/result/XInclude/fallback5.xml.err b/libxml2/result/XInclude/fallback5.xml.err new file mode 100644 index 0000000..f30bc69 --- /dev/null +++ b/libxml2/result/XInclude/fallback5.xml.err @@ -0,0 +1,16 @@ +I/O warning : failed to load "test/XInclude/docs/a01.xml": No such file or directory +I/O warning : failed to load "test/XInclude/docs/a02.xml": No such file or directory +I/O warning : failed to load "test/XInclude/docs/a03.xml": No such file or directory +I/O warning : failed to load "test/XInclude/docs/a04.xml": No such file or directory +I/O warning : failed to load "test/XInclude/docs/a05.xml": No such file or directory +I/O warning : failed to load "test/XInclude/docs/a06.xml": No such file or directory +I/O warning : failed to load "test/XInclude/docs/a07.xml": No such file or directory +I/O warning : failed to load "test/XInclude/docs/a08.xml": No such file or directory +I/O warning : failed to load "test/XInclude/docs/a09.xml": No such file or directory +I/O warning : failed to load "test/XInclude/docs/a10.xml": No such file or directory +I/O warning : failed to load "test/XInclude/docs/a11.xml": No such file or directory +I/O warning : failed to load "test/XInclude/docs/a12.xml": No such file or directory +I/O warning : failed to load "test/XInclude/docs/a13.xml": No such file or directory +I/O warning : failed to load "test/XInclude/docs/a14.xml": No such file or directory +I/O warning : failed to load "test/XInclude/docs/a15.xml": No such file or directory +I/O warning : failed to load "test/XInclude/docs/a16.xml": No such file or directory diff --git a/libxml2/result/XInclude/fallback5.xml.rdr b/libxml2/result/XInclude/fallback5.xml.rdr new file mode 100644 index 0000000..0e1dab7 --- /dev/null +++ b/libxml2/result/XInclude/fallback5.xml.rdr @@ -0,0 +1,116 @@ +0 1 a 0 0 +1 14 #text 0 1 + +1 14 #text 0 1 + +1 1 elem 1 0 +1 14 #text 0 1 + +1 14 #text 0 1 + +1 1 elem 1 0 +1 14 #text 0 1 + +1 14 #text 0 1 + +1 1 elem 1 0 +1 14 #text 0 1 + +1 14 #text 0 1 + +1 1 elem 1 0 +1 14 #text 0 1 + +1 14 #text 0 1 + +1 1 elem 1 0 +1 14 #text 0 1 + +1 14 #text 0 1 + +1 1 elem 1 0 +1 14 #text 0 1 + +1 14 #text 0 1 + +1 1 elem 1 0 +1 14 #text 0 1 + +1 14 #text 0 1 + +1 1 elem 1 0 +1 14 #text 0 1 + +1 14 #text 0 1 + +1 1 elem 1 0 +1 14 #text 0 1 + +1 14 #text 0 1 + +1 1 elem 1 0 +1 14 #text 0 1 + +1 14 #text 0 1 + +1 1 elem 1 0 +1 14 #text 0 1 + +1 14 #text 0 1 + +1 1 elem 1 0 +1 14 #text 0 1 + +1 14 #text 0 1 + +1 1 elem 1 0 +1 14 #text 0 1 + +1 14 #text 0 1 + +1 1 elem 1 0 +1 14 #text 0 1 + +1 14 #text 0 1 + +1 1 elem 1 0 +1 14 #text 0 1 + +1 14 #text 0 1 + +1 1 elem 1 0 +1 14 #text 0 1 + +1 14 #text 0 1 + +1 14 #text 0 1 + +1 14 #text 0 1 + +1 14 #text 0 1 + +1 14 #text 0 1 + +1 14 #text 0 1 + +1 14 #text 0 1 + +1 14 #text 0 1 + +1 14 #text 0 1 + +1 14 #text 0 1 + +1 14 #text 0 1 + +1 14 #text 0 1 + +1 14 #text 0 1 + +1 14 #text 0 1 + +1 14 #text 0 1 + +1 14 #text 0 1 + +0 15 a 0 0 diff --git a/libxml2/result/XInclude/fallback6.xml b/libxml2/result/XInclude/fallback6.xml new file mode 100644 index 0000000..b6e11d7 --- /dev/null +++ b/libxml2/result/XInclude/fallback6.xml @@ -0,0 +1,4 @@ + + + + diff --git a/libxml2/result/XInclude/fallback6.xml.err b/libxml2/result/XInclude/fallback6.xml.err new file mode 100644 index 0000000..288ed21 --- /dev/null +++ b/libxml2/result/XInclude/fallback6.xml.err @@ -0,0 +1,2 @@ +I/O warning : failed to load "test/XInclude/docs/b.xml": No such file or directory +I/O warning : failed to load "test/XInclude/docs/c.xml": No such file or directory diff --git a/libxml2/result/XInclude/fallback6.xml.rdr b/libxml2/result/XInclude/fallback6.xml.rdr new file mode 100644 index 0000000..375f167 --- /dev/null +++ b/libxml2/result/XInclude/fallback6.xml.rdr @@ -0,0 +1,6 @@ +0 1 doc 0 0 +1 14 #text 0 1 + +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/libxml2/result/XInclude/fallback7.xml b/libxml2/result/XInclude/fallback7.xml new file mode 100644 index 0000000..f5d3718 --- /dev/null +++ b/libxml2/result/XInclude/fallback7.xml @@ -0,0 +1,15 @@ + + + text + + text + + + + text + + + + text + + diff --git a/libxml2/result/XInclude/fallback7.xml.err b/libxml2/result/XInclude/fallback7.xml.err new file mode 100644 index 0000000..5acd3cc --- /dev/null +++ b/libxml2/result/XInclude/fallback7.xml.err @@ -0,0 +1 @@ +I/O warning : failed to load "test/XInclude/without-reader/404.xml": No such file or directory diff --git a/libxml2/result/XInclude/fallback8.xml b/libxml2/result/XInclude/fallback8.xml new file mode 100644 index 0000000..1b2508f --- /dev/null +++ b/libxml2/result/XInclude/fallback8.xml @@ -0,0 +1,4 @@ + + + text not found + diff --git a/libxml2/result/XInclude/fallback8.xml.err b/libxml2/result/XInclude/fallback8.xml.err new file mode 100644 index 0000000..4327677 --- /dev/null +++ b/libxml2/result/XInclude/fallback8.xml.err @@ -0,0 +1 @@ +I/O warning : failed to load "test/XInclude/docs/404.txt": No such file or directory diff --git a/libxml2/result/XInclude/fallback8.xml.rdr b/libxml2/result/XInclude/fallback8.xml.rdr new file mode 100644 index 0000000..f99d17e --- /dev/null +++ b/libxml2/result/XInclude/fallback8.xml.rdr @@ -0,0 +1,7 @@ +0 1 doc 0 0 +1 14 #text 0 1 + +1 3 #text 0 1 text not found +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/libxml2/result/XInclude/include.xml b/libxml2/result/XInclude/include.xml new file mode 100644 index 0000000..3a9366d --- /dev/null +++ b/libxml2/result/XInclude/include.xml @@ -0,0 +1,9 @@ + + + + +

    something

    +

    really

    +

    simple

    +
    +
    diff --git a/libxml2/result/XInclude/include.xml.rdr b/libxml2/result/XInclude/include.xml.rdr new file mode 100644 index 0000000..66135a4 --- /dev/null +++ b/libxml2/result/XInclude/include.xml.rdr @@ -0,0 +1,28 @@ +0 1 x 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 Simple test of including another XML document +1 14 #text 0 1 + +1 1 doc 0 0 +2 14 #text 0 1 + +2 1 p 0 0 +3 3 #text 0 1 something +2 15 p 0 0 +2 14 #text 0 1 + +2 1 p 0 0 +3 3 #text 0 1 really +2 15 p 0 0 +2 14 #text 0 1 + +2 1 p 0 0 +3 3 #text 0 1 simple +2 15 p 0 0 +2 14 #text 0 1 + +1 15 doc 0 0 +1 14 #text 0 1 + +0 15 x 0 0 diff --git a/libxml2/result/XInclude/invalid_char.xml.err b/libxml2/result/XInclude/invalid_char.xml.err new file mode 100644 index 0000000..d47e725 --- /dev/null +++ b/libxml2/result/XInclude/invalid_char.xml.err @@ -0,0 +1,3 @@ +./test/XInclude/docs/invalid_char.xml:2: element include: XInclude error : test/XInclude/ents/invalid_char.txt contains invalid char +./test/XInclude/docs/invalid_char.xml:2: element include: XInclude error : could not load test/XInclude/ents/invalid_char.txt, and no fallback was found +./test/XInclude/docs/invalid_char.xml : failed to parse diff --git a/libxml2/result/XInclude/invalid_char.xml.rdr b/libxml2/result/XInclude/invalid_char.xml.rdr new file mode 100644 index 0000000..398c314 --- /dev/null +++ b/libxml2/result/XInclude/invalid_char.xml.rdr @@ -0,0 +1,3 @@ +0 1 x 0 0 +1 14 #text 0 1 + diff --git a/libxml2/result/XInclude/issue1120-1.xml b/libxml2/result/XInclude/issue1120-1.xml new file mode 100644 index 0000000..5d83cc9 --- /dev/null +++ b/libxml2/result/XInclude/issue1120-1.xml @@ -0,0 +1,4 @@ + + + Network access is not allowed + diff --git a/libxml2/result/XInclude/issue1120-1.xml.err b/libxml2/result/XInclude/issue1120-1.xml.err new file mode 100644 index 0000000..c134bed --- /dev/null +++ b/libxml2/result/XInclude/issue1120-1.xml.err @@ -0,0 +1 @@ +I/O error : failed to load "http://example.invalid/file.txt": Attempt to load network entity diff --git a/libxml2/result/XInclude/issue1120-2.xml b/libxml2/result/XInclude/issue1120-2.xml new file mode 100644 index 0000000..af5bde9 --- /dev/null +++ b/libxml2/result/XInclude/issue1120-2.xml @@ -0,0 +1,4 @@ + + +

    Network access is not allowed

    +
    diff --git a/libxml2/result/XInclude/issue1120-2.xml.err b/libxml2/result/XInclude/issue1120-2.xml.err new file mode 100644 index 0000000..051f592 --- /dev/null +++ b/libxml2/result/XInclude/issue1120-2.xml.err @@ -0,0 +1 @@ +I/O error : failed to load "http://example.invalid/file.xml": Attempt to load network entity diff --git a/libxml2/result/XInclude/issue424-1.xml b/libxml2/result/XInclude/issue424-1.xml new file mode 100644 index 0000000..ff87b0e --- /dev/null +++ b/libxml2/result/XInclude/issue424-1.xml @@ -0,0 +1,6 @@ + + +

    Something

    +

    Something

    +

    Something

    +
    diff --git a/libxml2/result/XInclude/issue424-2.xml b/libxml2/result/XInclude/issue424-2.xml new file mode 100644 index 0000000..ff87b0e --- /dev/null +++ b/libxml2/result/XInclude/issue424-2.xml @@ -0,0 +1,6 @@ + + +

    Something

    +

    Something

    +

    Something

    +
    diff --git a/libxml2/result/XInclude/issue733.xml b/libxml2/result/XInclude/issue733.xml new file mode 100644 index 0000000..808ec42 --- /dev/null +++ b/libxml2/result/XInclude/issue733.xml @@ -0,0 +1,7 @@ + + + + Content 1 + Content 2 + + diff --git a/libxml2/result/XInclude/issue733.xml.rdr b/libxml2/result/XInclude/issue733.xml.rdr new file mode 100644 index 0000000..6cd9e6b --- /dev/null +++ b/libxml2/result/XInclude/issue733.xml.rdr @@ -0,0 +1,16 @@ +0 1 reference 0 0 +1 14 #text 0 1 + +1 1 para 0 0 +2 3 #text 0 1 Content 1 +1 15 para 0 0 +1 14 #text 0 1 + +1 1 para 0 0 +2 3 #text 0 1 Content 2 +1 15 para 0 0 +1 14 #text 0 1 + +1 14 #text 0 1 + +0 15 reference 0 0 diff --git a/libxml2/result/XInclude/loop.xml.err b/libxml2/result/XInclude/loop.xml.err new file mode 100644 index 0000000..bdd3888 --- /dev/null +++ b/libxml2/result/XInclude/loop.xml.err @@ -0,0 +1,2 @@ +./test/XInclude/without-reader/loop.xml:2: element include: XInclude error : inclusion loop detected +./test/XInclude/without-reader/loop.xml : failed to parse diff --git a/libxml2/result/XInclude/max-recurse.xml.err b/libxml2/result/XInclude/max-recurse.xml.err new file mode 100644 index 0000000..43efa48 --- /dev/null +++ b/libxml2/result/XInclude/max-recurse.xml.err @@ -0,0 +1,2 @@ +./test/XInclude/without-reader/max-recurse.xml:42: element include: XInclude error : maximum recursion depth exceeded +./test/XInclude/without-reader/max-recurse.xml : failed to parse diff --git a/libxml2/result/XInclude/nodes.xml b/libxml2/result/XInclude/nodes.xml new file mode 100644 index 0000000..48030d1 --- /dev/null +++ b/libxml2/result/XInclude/nodes.xml @@ -0,0 +1,5 @@ + + + +

    something

    really

    simple

    +
    diff --git a/libxml2/result/XInclude/nodes.xml.rdr b/libxml2/result/XInclude/nodes.xml.rdr new file mode 100644 index 0000000..0e53878 --- /dev/null +++ b/libxml2/result/XInclude/nodes.xml.rdr @@ -0,0 +1,18 @@ +0 1 x 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 Simple test of including a set of nodes from an XML document +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 something +1 15 p 0 0 +1 1 p 0 0 +2 3 #text 0 1 really +1 15 p 0 0 +1 1 p 0 0 +2 3 #text 0 1 simple +1 15 p 0 0 +1 14 #text 0 1 + +0 15 x 0 0 diff --git a/libxml2/result/XInclude/nodes2.xml b/libxml2/result/XInclude/nodes2.xml new file mode 100644 index 0000000..fac2d82 --- /dev/null +++ b/libxml2/result/XInclude/nodes2.xml @@ -0,0 +1,5 @@ + + + +

    something

    really

    simple

    +
    diff --git a/libxml2/result/XInclude/nodes2.xml.rdr b/libxml2/result/XInclude/nodes2.xml.rdr new file mode 100644 index 0000000..0e53878 --- /dev/null +++ b/libxml2/result/XInclude/nodes2.xml.rdr @@ -0,0 +1,18 @@ +0 1 x 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 Simple test of including a set of nodes from an XML document +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 something +1 15 p 0 0 +1 1 p 0 0 +2 3 #text 0 1 really +1 15 p 0 0 +1 1 p 0 0 +2 3 #text 0 1 simple +1 15 p 0 0 +1 14 #text 0 1 + +0 15 x 0 0 diff --git a/libxml2/result/XInclude/nodes3.xml.err b/libxml2/result/XInclude/nodes3.xml.err new file mode 100644 index 0000000..ec42d94 --- /dev/null +++ b/libxml2/result/XInclude/nodes3.xml.err @@ -0,0 +1,2 @@ +./test/XInclude/docs/nodes3.xml:3: element include: XInclude error : Invalid fragment identifier in URI ../ents/something.xml#xpointer(//p) use the xpointer attribute +./test/XInclude/docs/nodes3.xml : failed to parse diff --git a/libxml2/result/XInclude/nodes3.xml.rdr b/libxml2/result/XInclude/nodes3.xml.rdr new file mode 100644 index 0000000..cf964f0 --- /dev/null +++ b/libxml2/result/XInclude/nodes3.xml.rdr @@ -0,0 +1,6 @@ +0 1 x 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 Simple test of including a set of nodes from an XML document +1 14 #text 0 1 + diff --git a/libxml2/result/XInclude/ns1.xml b/libxml2/result/XInclude/ns1.xml new file mode 100644 index 0000000..ab41fb7 --- /dev/null +++ b/libxml2/result/XInclude/ns1.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/libxml2/result/XInclude/ns1.xml.err b/libxml2/result/XInclude/ns1.xml.err new file mode 100644 index 0000000..d750bc3 --- /dev/null +++ b/libxml2/result/XInclude/ns1.xml.err @@ -0,0 +1 @@ +I/O warning : failed to load "test/XInclude/without-reader/b.xml": No such file or directory diff --git a/libxml2/result/XInclude/recursive.xml b/libxml2/result/XInclude/recursive.xml new file mode 100644 index 0000000..4af1738 --- /dev/null +++ b/libxml2/result/XInclude/recursive.xml @@ -0,0 +1,3 @@ + +is a test + diff --git a/libxml2/result/XInclude/recursive.xml.rdr b/libxml2/result/XInclude/recursive.xml.rdr new file mode 100644 index 0000000..cafce16 --- /dev/null +++ b/libxml2/result/XInclude/recursive.xml.rdr @@ -0,0 +1,6 @@ +0 1 this 0 0 +1 1 sub-inc 0 0 +2 3 #text 0 1 is a test + +1 15 sub-inc 0 0 +0 15 this 0 0 diff --git a/libxml2/result/XInclude/red.xml b/libxml2/result/XInclude/red.xml new file mode 100644 index 0000000..87adf84 --- /dev/null +++ b/libxml2/result/XInclude/red.xml @@ -0,0 +1,9 @@ + + + + Introduction + + + Introduction + + diff --git a/libxml2/result/XInclude/red.xml.rdr b/libxml2/result/XInclude/red.xml.rdr new file mode 100644 index 0000000..de332db --- /dev/null +++ b/libxml2/result/XInclude/red.xml.rdr @@ -0,0 +1,26 @@ +0 1 book 0 0 +1 14 #text 0 1 + +1 1 chapter 0 0 +2 14 #text 0 1 + +2 1 para 0 0 +3 3 #text 0 1 Introduction +2 15 para 0 0 +2 14 #text 0 1 + +1 15 chapter 0 0 +1 14 #text 0 1 + +1 1 chapter 0 0 +2 14 #text 0 1 + +2 1 para 0 0 +3 3 #text 0 1 Introduction +2 15 para 0 0 +2 14 #text 0 1 + +1 15 chapter 0 0 +1 14 #text 0 1 + +0 15 book 0 0 diff --git a/libxml2/result/XInclude/tstencoding.xml b/libxml2/result/XInclude/tstencoding.xml new file mode 100644 index 0000000..a1c5179 --- /dev/null +++ b/libxml2/result/XInclude/tstencoding.xml @@ -0,0 +1,6 @@ + + + + test with accents in ISO-8859-1: À Á é è + + diff --git a/libxml2/result/XInclude/tstencoding.xml.rdr b/libxml2/result/XInclude/tstencoding.xml.rdr new file mode 100644 index 0000000..a0cc69b --- /dev/null +++ b/libxml2/result/XInclude/tstencoding.xml.rdr @@ -0,0 +1,11 @@ +0 1 x 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 Simple test of including another text document +1 14 #text 0 1 + +1 3 #text 0 1 test with accents in ISO-8859-1: À à é è + +1 14 #text 0 1 + +0 15 x 0 0 diff --git a/libxml2/result/XInclude/txtinclude.xml b/libxml2/result/XInclude/txtinclude.xml new file mode 100644 index 0000000..0114e4f --- /dev/null +++ b/libxml2/result/XInclude/txtinclude.xml @@ -0,0 +1,6 @@ + + + + this is some text in ASCII + + diff --git a/libxml2/result/XInclude/txtinclude.xml.rdr b/libxml2/result/XInclude/txtinclude.xml.rdr new file mode 100644 index 0000000..a4cc3b4 --- /dev/null +++ b/libxml2/result/XInclude/txtinclude.xml.rdr @@ -0,0 +1,11 @@ +0 1 x 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 Simple test of including another text document +1 14 #text 0 1 + +1 3 #text 0 1 this is some text in ASCII + +1 14 #text 0 1 + +0 15 x 0 0 diff --git a/libxml2/result/XPath/expr/base b/libxml2/result/XPath/expr/base new file mode 100644 index 0000000..57c93cf --- /dev/null +++ b/libxml2/result/XPath/expr/base @@ -0,0 +1,68 @@ + +======================== +Expression: 1 +Object is a number : 1 + +======================== +Expression: 1+2 +Object is a number : 3 + +======================== +Expression: 2*3 +Object is a number : 6 + +======================== +Expression: 1+2*3+4 +Object is a number : 11 + +======================== +Expression: (1+2)*(3+4) +Object is a number : 21 + +======================== +Expression: 1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1 +Object is a number : 21 + +======================== +Expression: 0.000000000000000000000000000000000000000000000000001 +Object is a number : 1e-51 + +======================== +Expression: -0.000000000000000000000000000000000000000000000000001 +Object is a number : -1e-51 + +======================== +Expression: 1e2147483648 +Object is a number : Infinity + +======================== +Expression: 1e4294967296 +Object is a number : Infinity + +======================== +Expression: 1e9223372036854775808 +Object is a number : Infinity + +======================== +Expression: 1e18446744073709551616 +Object is a number : Infinity + +======================== +Expression: 1e-2147483649 +Object is a number : 0 + +======================== +Expression: 1e-4294967296 +Object is a number : 0 + +======================== +Expression: 1e-9223372036854775809 +Object is a number : 0 + +======================== +Expression: 1e-18446744073709551616 +Object is a number : 0 + +======================== +Expression: self::-name +Object is empty (NULL) diff --git a/libxml2/result/XPath/expr/compare b/libxml2/result/XPath/expr/compare new file mode 100644 index 0000000..21a88d0 --- /dev/null +++ b/libxml2/result/XPath/expr/compare @@ -0,0 +1,184 @@ + +======================== +Expression: 0<0 +Object is a Boolean : false + +======================== +Expression: 0<=0 +Object is a Boolean : true + +======================== +Expression: 0>0 +Object is a Boolean : false + +======================== +Expression: 0>=0 +Object is a Boolean : true + +======================== +Expression: 0<1 +Object is a Boolean : true + +======================== +Expression: 0<=1 +Object is a Boolean : true + +======================== +Expression: 0>1 +Object is a Boolean : false + +======================== +Expression: 0>=1 +Object is a Boolean : false + +======================== +Expression: 1<0 +Object is a Boolean : false + +======================== +Expression: 1<=0 +Object is a Boolean : false + +======================== +Expression: 1>0 +Object is a Boolean : true + +======================== +Expression: 1>=0 +Object is a Boolean : true + +======================== +Expression: 1<1 +Object is a Boolean : false + +======================== +Expression: 1<=1 +Object is a Boolean : true + +======================== +Expression: 1>1 +Object is a Boolean : false + +======================== +Expression: 1>=1 +Object is a Boolean : true + +======================== +Expression: '0'<1 +Object is a Boolean : true + +======================== +Expression: '0'<=1 +Object is a Boolean : true + +======================== +Expression: '0'>1 +Object is a Boolean : false + +======================== +Expression: '0'>=1 +Object is a Boolean : false + +======================== +Expression: 0<'1.2' +Object is a Boolean : true + +======================== +Expression: 0<='1.2' +Object is a Boolean : true + +======================== +Expression: 0>'1.2' +Object is a Boolean : false + +======================== +Expression: 0>='1.2' +Object is a Boolean : false + +======================== +Expression: 0<'-0.2' +Object is a Boolean : false + +======================== +Expression: 0<='-0.2' +Object is a Boolean : false + +======================== +Expression: 0>'-0.2' +Object is a Boolean : true + +======================== +Expression: 0>='-0.2' +Object is a Boolean : true + +======================== +Expression: false()<1 +Object is a Boolean : true + +======================== +Expression: false()<=1 +Object is a Boolean : true + +======================== +Expression: 0>true() +Object is a Boolean : false + +======================== +Expression: 0>=true() +Object is a Boolean : false + +======================== +Expression: 'a' > 'a' +Object is a Boolean : false + +======================== +Expression: 'a' > 'b' +Object is a Boolean : false + +======================== +Expression: 'b' > 'a' +Object is a Boolean : false + +======================== +Expression: 'a' < 'a' +Object is a Boolean : false + +======================== +Expression: 'a' < 'b' +Object is a Boolean : false + +======================== +Expression: 'b' < 'a' +Object is a Boolean : false + +======================== +Expression: 'a' >= 'a' +Object is a Boolean : false + +======================== +Expression: 'a' >= 'b' +Object is a Boolean : false + +======================== +Expression: 'b' >= 'a' +Object is a Boolean : false + +======================== +Expression: 'a' <= 'a' +Object is a Boolean : false + +======================== +Expression: 'a' <= 'b' +Object is a Boolean : false + +======================== +Expression: 'b' <= 'a' +Object is a Boolean : false + +======================== +Expression: 'a' > '0.0' +Object is a Boolean : false + +======================== +Expression: 'a' < '0.0' +Object is a Boolean : false diff --git a/libxml2/result/XPath/expr/equality b/libxml2/result/XPath/expr/equality new file mode 100644 index 0000000..44b4c22 --- /dev/null +++ b/libxml2/result/XPath/expr/equality @@ -0,0 +1,104 @@ + +======================== +Expression: 1=1 +Object is a Boolean : true + +======================== +Expression: 1!=1 +Object is a Boolean : false + +======================== +Expression: 1=0 +Object is a Boolean : false + +======================== +Expression: 1!=0 +Object is a Boolean : true + +======================== +Expression: true()=true() +Object is a Boolean : true + +======================== +Expression: true()!=true() +Object is a Boolean : false + +======================== +Expression: true()=false() +Object is a Boolean : false + +======================== +Expression: false()!=true() +Object is a Boolean : true + +======================== +Expression: 'test'='test' +Object is a Boolean : true + +======================== +Expression: 'test'!='test' +Object is a Boolean : false + +======================== +Expression: 'test2'='test' +Object is a Boolean : false + +======================== +Expression: 'test2'!='test' +Object is a Boolean : true + +======================== +Expression: false()=0 +Object is a Boolean : true + +======================== +Expression: false()!=0 +Object is a Boolean : false + +======================== +Expression: false()=1 +Object is a Boolean : false + +======================== +Expression: false()!=1 +Object is a Boolean : true + +======================== +Expression: 0=true() +Object is a Boolean : false + +======================== +Expression: 0!=true() +Object is a Boolean : true + +======================== +Expression: 1=true() +Object is a Boolean : true + +======================== +Expression: 1!=true() +Object is a Boolean : false + +======================== +Expression: true()='test' +Object is a Boolean : true + +======================== +Expression: false()='test' +Object is a Boolean : false + +======================== +Expression: 'test'!=true() +Object is a Boolean : false + +======================== +Expression: 'test'!=false() +Object is a Boolean : true + +======================== +Expression: 'a'=0.0 +Object is a Boolean : false + +======================== +Expression: 'a'!=0.0 +Object is a Boolean : true diff --git a/libxml2/result/XPath/expr/floats b/libxml2/result/XPath/expr/floats new file mode 100644 index 0000000..157bd76 --- /dev/null +++ b/libxml2/result/XPath/expr/floats @@ -0,0 +1,252 @@ + +======================== +Expression: 1 +Object is a number : 1 + +======================== +Expression: 123 +Object is a number : 123 + +======================== +Expression: 1.23 +Object is a number : 1.23 + +======================== +Expression: 0.123 +Object is a number : 0.123 + +======================== +Expression: 4. +Object is a number : 4 + +======================== +Expression: .4 +Object is a number : 0.4 + +======================== +Expression: 1.23e3 +Object is a number : 1230 + +======================== +Expression: 1.23e-3 +Object is a number : 0.00123 + +======================== +Expression: 1 div 0 +Object is a number : Infinity + +======================== +Expression: -1 div 0 +Object is a number : -Infinity + +======================== +Expression: 0 div 0 +Object is a number : NaN + +======================== +Expression: 1 div -0 +Object is a number : -Infinity + +======================== +Expression: (1 div 0) > 0 +Object is a Boolean : true + +======================== +Expression: (1 div 0) < 0 +Object is a Boolean : false + +======================== +Expression: (-1 div 0) > 0 +Object is a Boolean : false + +======================== +Expression: (-1 div 0) < 0 +Object is a Boolean : true + +======================== +Expression: (0 div 0) > 0 +Object is a Boolean : false + +======================== +Expression: (0 div 0) < 0 +Object is a Boolean : false + +======================== +Expression: (1 div -0) > 0 +Object is a Boolean : false + +======================== +Expression: (1 div -0) < 0 +Object is a Boolean : true + +======================== +Expression: 0 div 0 = 0 div 0 +Object is a Boolean : false + +======================== +Expression: 0 div 0 != 0 div 0 +Object is a Boolean : true + +======================== +Expression: 0 div 0 > 0 div 0 +Object is a Boolean : false + +======================== +Expression: 0 div 0 < 0 div 0 +Object is a Boolean : false + +======================== +Expression: 0 div 0 >= 0 div 0 +Object is a Boolean : false + +======================== +Expression: 0 div 0 <= 0 div 0 +Object is a Boolean : false + +======================== +Expression: 1 div 0 = -1 div 0 +Object is a Boolean : false + +======================== +Expression: 1 div 0 != -1 div 0 +Object is a Boolean : true + +======================== +Expression: 1 div 0 > -1 div 0 +Object is a Boolean : true + +======================== +Expression: 1 div 0 < -1 div 0 +Object is a Boolean : false + +======================== +Expression: 1 div 0 >= -1 div 0 +Object is a Boolean : true + +======================== +Expression: 1 div 0 <= -1 div 0 +Object is a Boolean : false + +======================== +Expression: 1 div 0 = 1 div 0 +Object is a Boolean : true + +======================== +Expression: 1 div 0 != 1 div 0 +Object is a Boolean : false + +======================== +Expression: 1 div 0 > 1 div 0 +Object is a Boolean : false + +======================== +Expression: 1 div 0 < 1 div 0 +Object is a Boolean : false + +======================== +Expression: 1 div 0 >= -1 div 0 +Object is a Boolean : true + +======================== +Expression: 1 div 0 <= -1 div 0 +Object is a Boolean : false + +======================== +Expression: -2 div 0 = -1 div 0 +Object is a Boolean : true + +======================== +Expression: 1 div floor(0.1) +Object is a number : Infinity + +======================== +Expression: 1 div floor(-0.1) +Object is a number : -1 + +======================== +Expression: 1 div floor(-0) +Object is a number : -Infinity + +======================== +Expression: 1 div floor(0) +Object is a number : Infinity + +======================== +Expression: 1 div ceiling(0.1) +Object is a number : 1 + +======================== +Expression: 1 div ceiling(-0.1) +Object is a number : -Infinity + +======================== +Expression: 1 div ceiling(-0) +Object is a number : -Infinity + +======================== +Expression: 1 div ceiling(0) +Object is a number : Infinity + +======================== +Expression: 1 div round(0.1) +Object is a number : Infinity + +======================== +Expression: 1 div round(-0.1) +Object is a number : -Infinity + +======================== +Expression: 1 div round(-0) +Object is a number : -Infinity + +======================== +Expression: 1 div round(0) +Object is a number : Infinity + +======================== +Expression: 1 div number('f') +Object is a number : NaN + +======================== +Expression: number('f') div 1 +Object is a number : NaN + +======================== +Expression: 1 div (1 div 0) +Object is a number : 0 + +======================== +Expression: (1 div 0) div 1 +Object is a number : Infinity + +======================== +Expression: -(1 div 0) div 1 +Object is a number : -Infinity + +======================== +Expression: 5 mod 2 +Object is a number : 1 + +======================== +Expression: 5 mod -2 +Object is a number : 1 + +======================== +Expression: -5 mod 2 +Object is a number : -1 + +======================== +Expression: -5 mod -2 +Object is a number : -1 + +======================== +Expression: 8 mod 3 = 2 +Object is a Boolean : true + +======================== +Expression: 12345678901234567890 +Object is a number : 1.23457e+19 + +======================== +Expression: -12345678901234567890 +Object is a number : -1.23457e+19 diff --git a/libxml2/result/XPath/expr/functions b/libxml2/result/XPath/expr/functions new file mode 100644 index 0000000..4ff9c58 --- /dev/null +++ b/libxml2/result/XPath/expr/functions @@ -0,0 +1,172 @@ + +======================== +Expression: true() +Object is a Boolean : true + +======================== +Expression: false() +Object is a Boolean : false + +======================== +Expression: number("1.5") +Object is a number : 1.5 + +======================== +Expression: number('abc') +Object is a number : NaN + +======================== +Expression: -number('abc') +Object is a number : NaN + +======================== +Expression: number('-') +Object is a number : NaN + +======================== +Expression: floor(0.1) +Object is a number : 0 + +======================== +Expression: floor(-0.1) +Object is a number : -1 + +======================== +Expression: floor(-0) +Object is a number : 0 + +======================== +Expression: floor(0) +Object is a number : 0 + +======================== +Expression: floor(5.2) +Object is a number : 5 + +======================== +Expression: floor(-5.2) +Object is a number : -6 + +======================== +Expression: floor(100000000000000000000) +Object is a number : 1e+20 + +======================== +Expression: floor(-100000000000000000000) +Object is a number : -1e+20 + +======================== +Expression: floor(0 div 0) +Object is a number : NaN + +======================== +Expression: floor(1 div 0) +Object is a number : Infinity + +======================== +Expression: floor(-1 div 0) +Object is a number : -Infinity + +======================== +Expression: ceiling(0.1) +Object is a number : 1 + +======================== +Expression: ceiling(-0.1) +Object is a number : 0 + +======================== +Expression: ceiling(-0) +Object is a number : 0 + +======================== +Expression: ceiling(0) +Object is a number : 0 + +======================== +Expression: ceiling(5.2) +Object is a number : 6 + +======================== +Expression: ceiling(-5.2) +Object is a number : -5 + +======================== +Expression: ceiling(100000000000000000000) +Object is a number : 1e+20 + +======================== +Expression: ceiling(-100000000000000000000) +Object is a number : -1e+20 + +======================== +Expression: ceiling(0 div 0) +Object is a number : NaN + +======================== +Expression: ceiling(1 div 0) +Object is a number : Infinity + +======================== +Expression: ceiling(-1 div 0) +Object is a number : -Infinity + +======================== +Expression: round(0.1) +Object is a number : 0 + +======================== +Expression: round(5.2) +Object is a number : 5 + +======================== +Expression: round(5.5) +Object is a number : 6 + +======================== +Expression: round(5.6) +Object is a number : 6 + +======================== +Expression: round(-0.1) +Object is a number : 0 + +======================== +Expression: round(-5.2) +Object is a number : -5 + +======================== +Expression: round(-5.5) +Object is a number : -5 + +======================== +Expression: round(-5.6) +Object is a number : -6 + +======================== +Expression: round(0.5) +Object is a number : 1 + +======================== +Expression: round(-0.5) +Object is a number : 0 + +======================== +Expression: round(100000000000000000000) +Object is a number : 1e+20 + +======================== +Expression: round(-100000000000000000000) +Object is a number : -1e+20 + +======================== +Expression: round(0 div 0) +Object is a number : NaN + +======================== +Expression: round(1 div 0) +Object is a number : Infinity + +======================== +Expression: round(-1 div 0) +Object is a number : -Infinity diff --git a/libxml2/result/XPath/expr/strings b/libxml2/result/XPath/expr/strings new file mode 100644 index 0000000..9da0b8e --- /dev/null +++ b/libxml2/result/XPath/expr/strings @@ -0,0 +1,192 @@ + +======================== +Expression: string(5) +Object is a string : 5 + +======================== +Expression: string(0.5) +Object is a string : 0.5 + +======================== +Expression: string(-0.5) +Object is a string : -0.5 + +======================== +Expression: string(true()) +Object is a string : true + +======================== +Expression: string(false()) +Object is a string : false + +======================== +Expression: string(12345678901234567890) +Object is a string : 1.23456789012346e+19 + +======================== +Expression: string(-12345678901234567890) +Object is a string : -1.23456789012346e+19 + +======================== +Expression: concat("titi","toto") +Object is a string : tititoto + +======================== +Expression: concat("titi","toto","tata") +Object is a string : tititototata + +======================== +Expression: concat("titi",'toto') +Object is a string : tititoto + +======================== +Expression: concat("titi",'toto',"tata","last") +Object is a string : tititototatalast + +======================== +Expression: starts-with("tititoto","titi") +Object is a Boolean : true + +======================== +Expression: starts-with("tititoto","to") +Object is a Boolean : false + +======================== +Expression: contains("tititototata","titi") +Object is a Boolean : true + +======================== +Expression: contains("tititototata","toto") +Object is a Boolean : true + +======================== +Expression: contains("tititototata","tata") +Object is a Boolean : true + +======================== +Expression: contains("tititototata","tita") +Object is a Boolean : false + +======================== +Expression: substring("12345",2,3) +Object is a string : 234 + +======================== +Expression: substring("12345",2) +Object is a string : 2345 + +======================== +Expression: substring("12345",-4) +Object is a string : 12345 + +======================== +Expression: substring("12345",3.4) +Object is a string : 345 + +======================== +Expression: substring("12345",3.6) +Object is a string : 45 + +======================== +Expression: substring("12345",1.5,2.6) +Object is a string : 234 + +======================== +Expression: substring("12345",2.2,2.2) +Object is a string : 23 + +======================== +Expression: substring("12345",0,3) +Object is a string : 12 + +======================== +Expression: substring("12345",-8,10) +Object is a string : 1 + +======================== +Expression: substring("12345",4,-10) +Object is a string : + +======================== +Expression: substring("12345",0 div 0, 3) +Object is a string : + +======================== +Expression: substring("12345",1, 0 div 0) +Object is a string : + +======================== +Expression: substring("12345",1 div 0, 3) +Object is a string : + +======================== +Expression: substring("12345",3,-1 div 0) +Object is a string : + +======================== +Expression: substring("12345",-42, 1 div 0) +Object is a string : 12345 + +======================== +Expression: substring("12345",-1 div 0, 1 div 0) +Object is a string : + +======================== +Expression: substring("12345",-1 div 0,5) +Object is a string : + +======================== +Expression: substring("12345",-0.7,4) +Object is a string : 12 + +======================== +Expression: substring("12345",-5000000000,5000000004) +Object is a string : 123 + +======================== +Expression: substring-after("12345678","345") +Object is a string : 678 + +======================== +Expression: substring-after("12345678","999") +Object is a string : + +======================== +Expression: substring-before("12345678","345") +Object is a string : 12 + +======================== +Expression: substring-before("12345678","999") +Object is a string : + +======================== +Expression: string-length("") +Object is a number : 0 + +======================== +Expression: string-length("titi") +Object is a number : 4 + +======================== +Expression: normalize-space(" abc def ") +Object is a string : abc def + +======================== +Expression: normalize-space(" abc def") +Object is a string : abc def + +======================== +Expression: normalize-space("abc def ") +Object is a string : abc def + +======================== +Expression: normalize-space(" abcdef ") +Object is a string : abcdef + +======================== +Expression: normalize-space(" abcdef") +Object is a string : abcdef + +======================== +Expression: normalize-space("abcdef ") +Object is a string : abcdef diff --git a/libxml2/result/XPath/tests/chaptersbase b/libxml2/result/XPath/tests/chaptersbase new file mode 100644 index 0000000..2d8b10c --- /dev/null +++ b/libxml2/result/XPath/tests/chaptersbase @@ -0,0 +1,168 @@ + +======================== +Expression: /child::EXAMPLE +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT EXAMPLE + ATTRIBUTE prop1 + TEXT + content=gnome is great + ATTRIBUTE prop2 + TEXT + content=& linux too + +======================== +Expression: /child::* +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT EXAMPLE + ATTRIBUTE prop1 + TEXT + content=gnome is great + ATTRIBUTE prop2 + TEXT + content=& linux too + +======================== +Expression: /child::EXAMPLE/child::head +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT head + +======================== +Expression: /child::EXAMPLE/child::* +Object is a Node Set : +Set contains 6 nodes: +1 ELEMENT head +2 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter1 +3 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter2 +4 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter3 +5 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter4 +6 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter5 + +======================== +Expression: /child::EXAMPLE/child::head/child::title +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT title + +======================== +Expression: /child::EXAMPLE/child::head/child::title/child::text() +Object is a Node Set : +Set contains 1 nodes: +1 TEXT + content=Welcome to Gnome + +======================== +Expression: /child::EXAMPLE/child::head/node() +Object is a Node Set : +Set contains 3 nodes: +1 TEXT + content= +2 ELEMENT title +3 TEXT + content= + +======================== +Expression: /descendant::title +Object is a Node Set : +Set contains 6 nodes: +1 ELEMENT title +2 ELEMENT title +3 ELEMENT title +4 ELEMENT title +5 ELEMENT title +6 ELEMENT title + +======================== +Expression: /descendant::p/ancestor::chapter +Object is a Node Set : +Set contains 5 nodes: +1 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter1 +2 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter2 +3 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter3 +4 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter4 +5 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter5 + +======================== +Expression: //p[1] +Object is a Node Set : +Set contains 5 nodes: +1 ELEMENT p +2 ELEMENT p +3 ELEMENT p +4 ELEMENT p +5 ELEMENT p + +======================== +Expression: //p[0 div 0] +Object is a Node Set : +Set contains 0 nodes: + +======================== +Expression: //p[100000000000000000000] +Object is a Node Set : +Set contains 0 nodes: + +======================== +Expression: //p[-100000000000000000000] +Object is a Node Set : +Set contains 0 nodes: + +======================== +Expression: //chapter[true()][position() mod 2 = 1][true()][2] +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter3 + +======================== +Expression: //chapter[true()][2][true()] +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter2 + +======================== +Expression: //node()[false()] +Object is a Node Set : +Set contains 0 nodes: + +======================== +Expression: (//node())[false()] +Object is a Node Set : +Set contains 0 nodes: diff --git a/libxml2/result/XPath/tests/chaptersprefol b/libxml2/result/XPath/tests/chaptersprefol new file mode 100644 index 0000000..a12c937 --- /dev/null +++ b/libxml2/result/XPath/tests/chaptersprefol @@ -0,0 +1,100 @@ + +======================== +Expression: /following::* +Object is a Node Set : +Set contains 0 nodes: + +======================== +Expression: /preceding::* +Object is a Node Set : +Set contains 0 nodes: + +======================== +Expression: /child::EXAMPLE/preceding::* +Object is a Node Set : +Set contains 0 nodes: + +======================== +Expression: /child::EXAMPLE/following::* +Object is a Node Set : +Set contains 0 nodes: + +======================== +Expression: /child::EXAMPLE/child::chapter[3]/preceding::* +Object is a Node Set : +Set contains 10 nodes: +1 ELEMENT head +2 ELEMENT title +3 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter1 +4 ELEMENT title +5 ELEMENT p +6 ELEMENT image + ATTRIBUTE href + TEXT + content=linus.gif +7 ELEMENT p +8 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter2 +9 ELEMENT title +10 ELEMENT p + +======================== +Expression: /child::EXAMPLE/child::chapter[3]/following::* +Object is a Node Set : +Set contains 6 nodes: +1 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter4 +2 ELEMENT title +3 ELEMENT p +4 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter5 +5 ELEMENT title +6 ELEMENT p + +======================== +Expression: /child::EXAMPLE/child::chapter[1]/image/preceding::* +Object is a Node Set : +Set contains 4 nodes: +1 ELEMENT head +2 ELEMENT title +3 ELEMENT title +4 ELEMENT p + +======================== +Expression: /child::EXAMPLE/child::chapter[1]/image/following::* +Object is a Node Set : +Set contains 13 nodes: +1 ELEMENT p +2 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter2 +3 ELEMENT title +4 ELEMENT p +5 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter3 +6 ELEMENT title +7 ELEMENT p +8 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter4 +9 ELEMENT title +10 ELEMENT p +11 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter5 +12 ELEMENT title +13 ELEMENT p diff --git a/libxml2/result/XPath/tests/idsimple b/libxml2/result/XPath/tests/idsimple new file mode 100644 index 0000000..891b52e --- /dev/null +++ b/libxml2/result/XPath/tests/idsimple @@ -0,0 +1,33 @@ + +======================== +Expression: //*[@id="root"] +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT EXAMPLE + ATTRIBUTE id + TEXT + content=root + ATTRIBUTE prop1 + TEXT + content=gnome is great + ATTRIBUTE prop2 + TEXT + content=& linux too + +======================== +Expression: //*[@id="chapter2"] +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter2 + +======================== +Expression: //*[@id="chapter5"] +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter5 diff --git a/libxml2/result/XPath/tests/langsimple b/libxml2/result/XPath/tests/langsimple new file mode 100644 index 0000000..d8d7afd --- /dev/null +++ b/libxml2/result/XPath/tests/langsimple @@ -0,0 +1,60 @@ + +======================== +Expression: //*[lang('en')] +Object is a Node Set : +Set contains 9 nodes: +1 ELEMENT b + ATTRIBUTE lang + TEXT + content=en +2 ELEMENT x +3 ELEMENT x +4 ELEMENT para + ATTRIBUTE lang + TEXT + content=en +5 ELEMENT div + ATTRIBUTE lang + TEXT + content=en +6 ELEMENT para +7 ELEMENT para + ATTRIBUTE lang + TEXT + content=EN +8 ELEMENT para + ATTRIBUTE lang + TEXT + content=en-us +9 ELEMENT para + ATTRIBUTE lang + TEXT + content=EN-US + +======================== +Expression: //*[lang('en-us')] +Object is a Node Set : +Set contains 2 nodes: +1 ELEMENT para + ATTRIBUTE lang + TEXT + content=en-us +2 ELEMENT para + ATTRIBUTE lang + TEXT + content=EN-US + +======================== +Expression: //*[lang('en-gb')] +Object is a Node Set : +Set contains 0 nodes: + +======================== +Expression: //*[lang('fr')] +Object is a Node Set : +Set contains 0 nodes: + +======================== +Expression: //*[lang('')] +Object is a Node Set : +Set contains 0 nodes: diff --git a/libxml2/result/XPath/tests/mixedpat b/libxml2/result/XPath/tests/mixedpat new file mode 100644 index 0000000..3be0c49 --- /dev/null +++ b/libxml2/result/XPath/tests/mixedpat @@ -0,0 +1,101 @@ + +======================== +Expression: s +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT s + ATTRIBUTE p + TEXT + content=root + +======================== +Expression: s|p1/s +Object is a Node Set : +Set contains 2 nodes: +1 ELEMENT s + ATTRIBUTE p + TEXT + content=root +2 ELEMENT s + ATTRIBUTE p + TEXT + content=p1 + +======================== +Expression: s|/root/p1/s +Object is a Node Set : +Set contains 2 nodes: +1 ELEMENT s + ATTRIBUTE p + TEXT + content=root +2 ELEMENT s + ATTRIBUTE p + TEXT + content=p1 + +======================== +Expression: /root/p1/s|s +Object is a Node Set : +Set contains 2 nodes: +1 ELEMENT s + ATTRIBUTE p + TEXT + content=root +2 ELEMENT s + ATTRIBUTE p + TEXT + content=p1 + +======================== +Expression: //s +Object is a Node Set : +Set contains 3 nodes: +1 ELEMENT s + ATTRIBUTE p + TEXT + content=root +2 ELEMENT s + ATTRIBUTE p + TEXT + content=p1 +3 ELEMENT s + ATTRIBUTE p + TEXT + content=p2 + +======================== +Expression: //s|p1 +Object is a Node Set : +Set contains 4 nodes: +1 ELEMENT s + ATTRIBUTE p + TEXT + content=root +2 ELEMENT p1 +3 ELEMENT s + ATTRIBUTE p + TEXT + content=p1 +4 ELEMENT s + ATTRIBUTE p + TEXT + content=p2 + +======================== +Expression: p1|//s +Object is a Node Set : +Set contains 4 nodes: +1 ELEMENT s + ATTRIBUTE p + TEXT + content=root +2 ELEMENT p1 +3 ELEMENT s + ATTRIBUTE p + TEXT + content=p1 +4 ELEMENT s + ATTRIBUTE p + TEXT + content=p2 diff --git a/libxml2/result/XPath/tests/nodespat b/libxml2/result/XPath/tests/nodespat new file mode 100644 index 0000000..1efd87f --- /dev/null +++ b/libxml2/result/XPath/tests/nodespat @@ -0,0 +1,94 @@ + +======================== +Expression: /. +Object is a Node Set : +Set contains 1 nodes: +1 / + +======================== +Expression: //. +Object is a Node Set : +Set contains 12 nodes: +1 / +2 ELEMENT root +3 ELEMENT foo +4 TEXT + content=txt +5 COMMENT + content=hello +6 CDATA_SECTION + content=data +7 PI target + content=data +8 ELEMENT bar +9 TEXT + content=txt +10 COMMENT + content=hello +11 CDATA_SECTION + content=data +12 PI target + content=data + +======================== +Expression: /root//. +Object is a Node Set : +Set contains 11 nodes: +1 ELEMENT root +2 ELEMENT foo +3 TEXT + content=txt +4 COMMENT + content=hello +5 CDATA_SECTION + content=data +6 PI target + content=data +7 ELEMENT bar +8 TEXT + content=txt +9 COMMENT + content=hello +10 CDATA_SECTION + content=data +11 PI target + content=data + +======================== +Expression: //.//./././/. +Object is a Node Set : +Set contains 12 nodes: +1 / +2 ELEMENT root +3 ELEMENT foo +4 TEXT + content=txt +5 COMMENT + content=hello +6 CDATA_SECTION + content=data +7 PI target + content=data +8 ELEMENT bar +9 TEXT + content=txt +10 COMMENT + content=hello +11 CDATA_SECTION + content=data +12 PI target + content=data + +======================== +Expression: /root//././/bar//. +Object is a Node Set : +Set contains 5 nodes: +1 ELEMENT bar +2 TEXT + content=txt +3 COMMENT + content=hello +4 CDATA_SECTION + content=data +5 PI target + content=data diff --git a/libxml2/result/XPath/tests/nssimple b/libxml2/result/XPath/tests/nssimple new file mode 100644 index 0000000..cd09a17 --- /dev/null +++ b/libxml2/result/XPath/tests/nssimple @@ -0,0 +1,38 @@ + +======================== +Expression: /doc/elem/namespace::node()/.. +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT elem + namespace ns2 href=nsuri2 + +======================== +Expression: /doc/elem/namespace::*/self::node()[true()] +Object is a Node Set : +Set contains 3 nodes: +1 namespace xml href=http://www.w3.org/XML/1998/namespace +2 namespace ns1 href=nsuri1 +3 namespace ns2 href=nsuri2 + +======================== +Expression: //*[namespace::ns1] +Object is a Node Set : +Set contains 4 nodes: +1 ELEMENT doc + namespace ns1 href=nsuri1 +2 ELEMENT preceding +3 ELEMENT elem + namespace ns2 href=nsuri2 +4 ELEMENT following + +======================== +Expression: /doc/elem/namespace::ns2/following::* +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT following + +======================== +Expression: /doc/elem/namespace::ns2/preceding::* +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT preceding diff --git a/libxml2/result/XPath/tests/simpleabbr b/libxml2/result/XPath/tests/simpleabbr new file mode 100644 index 0000000..85da41a --- /dev/null +++ b/libxml2/result/XPath/tests/simpleabbr @@ -0,0 +1,81 @@ + +======================== +Expression: /EXAMPLE +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT EXAMPLE + ATTRIBUTE prop1 + TEXT + content=gnome is great + ATTRIBUTE prop2 + TEXT + content=& linux too + +======================== +Expression: /EXAMPLE/head +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT head + +======================== +Expression: /EXAMPLE/chapter[1] +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT chapter + +======================== +Expression: //p +Object is a Node Set : +Set contains 2 nodes: +1 ELEMENT p +2 ELEMENT p + +======================== +Expression: //chapter/image +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT image + ATTRIBUTE href + TEXT + content=linus.gif + +======================== +Expression: //p/text() +Object is a Node Set : +Set contains 2 nodes: +1 TEXT + content=bla bla bla ... +2 TEXT + content=... + +======================== +Expression: //p/text()[position()=1] +Object is a Node Set : +Set contains 2 nodes: +1 TEXT + content=bla bla bla ... +2 TEXT + content=... + +======================== +Expression: //p/text()[position()=last()] +Object is a Node Set : +Set contains 2 nodes: +1 TEXT + content=bla bla bla ... +2 TEXT + content=... + +======================== +Expression: (//p/text())[position()=1] +Object is a Node Set : +Set contains 1 nodes: +1 TEXT + content=bla bla bla ... + +======================== +Expression: (//p/text())[position()=last()] +Object is a Node Set : +Set contains 1 nodes: +1 TEXT + content=... diff --git a/libxml2/result/XPath/tests/simplebase b/libxml2/result/XPath/tests/simplebase new file mode 100644 index 0000000..6d4b347 --- /dev/null +++ b/libxml2/result/XPath/tests/simplebase @@ -0,0 +1,132 @@ + +======================== +Expression: /child::* +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT EXAMPLE + ATTRIBUTE prop1 + TEXT + content=gnome is great + ATTRIBUTE prop2 + TEXT + content=& linux too + +======================== +Expression: /child::EXAMPLE +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT EXAMPLE + ATTRIBUTE prop1 + TEXT + content=gnome is great + ATTRIBUTE prop2 + TEXT + content=& linux too + +======================== +Expression: /child::EXAMPLE/child::head +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT head + +======================== +Expression: /child::EXAMPLE/child::* +Object is a Node Set : +Set contains 2 nodes: +1 ELEMENT head +2 ELEMENT chapter + +======================== +Expression: /child::EXAMPLE/child::head/child::title +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT title + +======================== +Expression: /child::EXAMPLE/child::head/child::title/child::text() +Object is a Node Set : +Set contains 1 nodes: +1 TEXT + content=Welcome to Gnome + +======================== +Expression: /child::EXAMPLE/child::head/node() +Object is a Node Set : +Set contains 3 nodes: +1 TEXT + content= +2 ELEMENT title +3 TEXT + content= + +======================== +Expression: /child::EXAMPLE/attribute::prop1/self::node() +Object is a Node Set : +Set contains 1 nodes: +1 ATTRIBUTE prop1 + TEXT + content=gnome is great + +======================== +Expression: /child::EXAMPLE/attribute::prop1/self::* +Object is a Node Set : +Set contains 0 nodes: + +======================== +Expression: /child::EXAMPLE/attribute::prop1/descendant-or-self::node() +Object is a Node Set : +Set contains 1 nodes: +1 ATTRIBUTE prop1 + TEXT + content=gnome is great + +======================== +Expression: /child::EXAMPLE/attribute::prop1/descendant-or-self::* +Object is a Node Set : +Set contains 0 nodes: + +======================== +Expression: /child::EXAMPLE/attribute::prop1/ancestor-or-self::node() +Object is a Node Set : +Set contains 3 nodes: +1 / +2 ELEMENT EXAMPLE + ATTRIBUTE prop1 + TEXT + content=gnome is great + ATTRIBUTE prop2 + TEXT + content=& linux too +3 ATTRIBUTE prop1 + TEXT + content=gnome is great + +======================== +Expression: /child::EXAMPLE/attribute::prop1/ancestor-or-self::* +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT EXAMPLE + ATTRIBUTE prop1 + TEXT + content=gnome is great + ATTRIBUTE prop2 + TEXT + content=& linux too + +======================== +Expression: /descendant::title +Object is a Node Set : +Set contains 2 nodes: +1 ELEMENT title +2 ELEMENT title + +======================== +Expression: /descendant::p/ancestor::chapter +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT chapter + +======================== +Expression: /child::EXAMPLE/attribute::prop2/preceding::text() +Object is a Node Set : +Set contains 0 nodes: diff --git a/libxml2/result/XPath/tests/strbase b/libxml2/result/XPath/tests/strbase new file mode 100644 index 0000000..e6035ca --- /dev/null +++ b/libxml2/result/XPath/tests/strbase @@ -0,0 +1,13 @@ + +======================== +Expression: //p[.='abc'] +Object is a Node Set : +Set contains 2 nodes: +1 ELEMENT p + ATTRIBUTE id + TEXT + content=1 +2 ELEMENT p + ATTRIBUTE id + TEXT + content=2 diff --git a/libxml2/result/XPath/tests/unicodesimple b/libxml2/result/XPath/tests/unicodesimple new file mode 100644 index 0000000..92aa536 --- /dev/null +++ b/libxml2/result/XPath/tests/unicodesimple @@ -0,0 +1,6 @@ + +======================== +Expression: /文書 +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT #E6#96#87#E6#9B#B8 diff --git a/libxml2/result/XPath/tests/usr1check b/libxml2/result/XPath/tests/usr1check new file mode 100644 index 0000000..0308991 --- /dev/null +++ b/libxml2/result/XPath/tests/usr1check @@ -0,0 +1,12 @@ + +======================== +Expression: //ITEM[1] +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT ITEM + ATTRIBUTE monto + TEXT + content=50.12 + ATTRIBUTE divisa + TEXT + content=DOL diff --git a/libxml2/result/XPath/tests/vidbase b/libxml2/result/XPath/tests/vidbase new file mode 100644 index 0000000..3c7b62f --- /dev/null +++ b/libxml2/result/XPath/tests/vidbase @@ -0,0 +1,42 @@ + +======================== +Expression: id('chapter1') +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter1 + +======================== +Expression: id('chapter3') +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter3 + +======================== +Expression: id('chapter1')/p +Object is a Node Set : +Set contains 4 nodes: +1 ELEMENT p +2 ELEMENT p +3 ELEMENT p +4 ELEMENT p + +======================== +Expression: id('chapter1')//p +Object is a Node Set : +Set contains 4 nodes: +1 ELEMENT p +2 ELEMENT p +3 ELEMENT p +4 ELEMENT p + +======================== +Expression: id('chapter1')/p[1] +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT p diff --git a/libxml2/result/XPath/xptr/chapterschildseq b/libxml2/result/XPath/xptr/chapterschildseq new file mode 100644 index 0000000..396bcac --- /dev/null +++ b/libxml2/result/XPath/xptr/chapterschildseq @@ -0,0 +1,53 @@ + +======================== +Expression: /1/2/3 +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT image + ATTRIBUTE href + TEXT + content=linus.gif + +======================== +Expression: element(/1/2/3) +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT image + ATTRIBUTE href + TEXT + content=linus.gif + +======================== +Expression: element(foo)element(/1/2/3) +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT image + ATTRIBUTE href + TEXT + content=linus.gif + +======================== +Expression: element(/1/2/3)element(foo) +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT image + ATTRIBUTE href + TEXT + content=linus.gif + +======================== +Expression: chapter1/3 +Object is a Node Set : +Set contains 0 nodes: + +======================== +Expression: element(chapter1/3) +Object is empty (NULL) + +======================== +Expression: element(foo)element(chapter1/3) +Object is empty (NULL) + +======================== +Expression: element(chapter1/3)element(foo) +Object is empty (NULL) diff --git a/libxml2/result/XPath/xptr/chaptersparts b/libxml2/result/XPath/xptr/chaptersparts new file mode 100644 index 0000000..83e0569 --- /dev/null +++ b/libxml2/result/XPath/xptr/chaptersparts @@ -0,0 +1,44 @@ + +======================== +Expression: xpath1(//chapitre[2]) +Object is empty (NULL) + +======================== +Expression: xpath1(//chapter[2]) +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter2 + +======================== +Expression: xpath1(//chapitre[2])xpath1(//chapter[2]) +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter2 + +======================== +Expression: xpath1(id("chapter1")) +Object is empty (NULL) + +======================== +Expression: xpath1(//*[@id="chapter1"]) +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter1 + +======================== +Expression: xpath1(id("chapter1"))xpath1(//*[@id="chapter1"]) +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter1 diff --git a/libxml2/result/XPath/xptr/issue289base b/libxml2/result/XPath/xptr/issue289base new file mode 100644 index 0000000..ffae7e8 --- /dev/null +++ b/libxml2/result/XPath/xptr/issue289base @@ -0,0 +1,7 @@ + +======================== +Expression: xmlns(b=abc://d/e:f) xpath1(/b:rootB) +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT rootB + default namespace href=abc://d/e:f diff --git a/libxml2/result/XPath/xptr/vidbase b/libxml2/result/XPath/xptr/vidbase new file mode 100644 index 0000000..a5447b0 --- /dev/null +++ b/libxml2/result/XPath/xptr/vidbase @@ -0,0 +1,9 @@ + +======================== +Expression: xpath1(id('chapter1')/p) +Object is a Node Set : +Set contains 4 nodes: +1 ELEMENT p +2 ELEMENT p +3 ELEMENT p +4 ELEMENT p diff --git a/libxml2/result/XPath/xptr/vidchildseq b/libxml2/result/XPath/xptr/vidchildseq new file mode 100644 index 0000000..eb8c5f7 --- /dev/null +++ b/libxml2/result/XPath/xptr/vidchildseq @@ -0,0 +1,36 @@ + +======================== +Expression: /1/2/3 +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT image + ATTRIBUTE href + TEXT + content=linus.gif + +======================== +Expression: element(/1/2/3) +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT image + ATTRIBUTE href + TEXT + content=linus.gif + +======================== +Expression: chapter1/3 +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT image + ATTRIBUTE href + TEXT + content=linus.gif + +======================== +Expression: element(chapter1/3) +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT image + ATTRIBUTE href + TEXT + content=linus.gif diff --git a/libxml2/result/XPath/xptr/viderror b/libxml2/result/XPath/xptr/viderror new file mode 100644 index 0000000..562cab4 --- /dev/null +++ b/libxml2/result/XPath/xptr/viderror @@ -0,0 +1,4 @@ + +======================== +Expression: xpath1(non-existing-fn()) +Object is empty (NULL) diff --git a/libxml2/result/XPath/xptr/vidparts b/libxml2/result/XPath/xptr/vidparts new file mode 100644 index 0000000..918a08f --- /dev/null +++ b/libxml2/result/XPath/xptr/vidparts @@ -0,0 +1,27 @@ + +======================== +Expression: xpath1(id("chapter1")) +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter1 + +======================== +Expression: xpath1(//*[@id="chapter1"]) +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter1 + +======================== +Expression: xpath1(id("chapter1"))xpath1(//*[@id="chapter1"]) +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter1 diff --git a/libxml2/result/adjacent-cdata.xml b/libxml2/result/adjacent-cdata.xml new file mode 100644 index 0000000..fada9ee --- /dev/null +++ b/libxml2/result/adjacent-cdata.xml @@ -0,0 +1,2 @@ + + diff --git a/libxml2/result/adjacent-cdata.xml.rde b/libxml2/result/adjacent-cdata.xml.rde new file mode 100644 index 0000000..026949e --- /dev/null +++ b/libxml2/result/adjacent-cdata.xml.rde @@ -0,0 +1,5 @@ +0 1 doc 0 0 +1 4 #cdata-section 0 1 abc +1 4 #cdata-section 0 1 def +1 4 #cdata-section 0 1 ghi +0 15 doc 0 0 diff --git a/libxml2/result/adjacent-cdata.xml.rdr b/libxml2/result/adjacent-cdata.xml.rdr new file mode 100644 index 0000000..026949e --- /dev/null +++ b/libxml2/result/adjacent-cdata.xml.rdr @@ -0,0 +1,5 @@ +0 1 doc 0 0 +1 4 #cdata-section 0 1 abc +1 4 #cdata-section 0 1 def +1 4 #cdata-section 0 1 ghi +0 15 doc 0 0 diff --git a/libxml2/result/adjacent-cdata.xml.sax b/libxml2/result/adjacent-cdata.xml.sax new file mode 100644 index 0000000..c7806da --- /dev/null +++ b/libxml2/result/adjacent-cdata.xml.sax @@ -0,0 +1,8 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(doc) +SAX.pcdata(abc, 3) +SAX.pcdata(def, 3) +SAX.pcdata(ghi, 3) +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/adjacent-cdata.xml.sax2 b/libxml2/result/adjacent-cdata.xml.sax2 new file mode 100644 index 0000000..56b4b3b --- /dev/null +++ b/libxml2/result/adjacent-cdata.xml.sax2 @@ -0,0 +1,8 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.pcdata(abc, 3) +SAX.pcdata(def, 3) +SAX.pcdata(ghi, 3) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/att1 b/libxml2/result/att1 new file mode 100644 index 0000000..00aa6be --- /dev/null +++ b/libxml2/result/att1 @@ -0,0 +1,2 @@ + + diff --git a/libxml2/result/att1.rde b/libxml2/result/att1.rde new file mode 100644 index 0000000..9f92263 --- /dev/null +++ b/libxml2/result/att1.rde @@ -0,0 +1 @@ +0 1 doc 1 0 diff --git a/libxml2/result/att1.rdr b/libxml2/result/att1.rdr new file mode 100644 index 0000000..9f92263 --- /dev/null +++ b/libxml2/result/att1.rdr @@ -0,0 +1 @@ +0 1 doc 1 0 diff --git a/libxml2/result/att1.sax b/libxml2/result/att1.sax new file mode 100644 index 0000000..e19a8a7 --- /dev/null +++ b/libxml2/result/att1.sax @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(doc, attr='to normalize with a space') +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/att1.sax2 b/libxml2/result/att1.sax2 new file mode 100644 index 0000000..76ba131 --- /dev/null +++ b/libxml2/result/att1.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(doc, NULL, NULL, 0, 1, 0, attr='to n...', 28) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/att10 b/libxml2/result/att10 new file mode 100644 index 0000000..5b29bf8 --- /dev/null +++ b/libxml2/result/att10 @@ -0,0 +1,18 @@ + + + + + + + + +]> + + + + + + + + diff --git a/libxml2/result/att10.rde b/libxml2/result/att10.rde new file mode 100644 index 0000000..2ca7905 --- /dev/null +++ b/libxml2/result/att10.rde @@ -0,0 +1,23 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 tst 1 0 +1 14 #text 0 1 + +1 1 tst 1 0 +1 14 #text 0 1 + +1 1 tst 1 0 +1 14 #text 0 1 + +1 1 tst 1 0 +1 14 #text 0 1 + +1 1 tst 1 0 +1 14 #text 0 1 + +1 1 tst 1 0 +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/libxml2/result/att10.rdr b/libxml2/result/att10.rdr new file mode 100644 index 0000000..2ca7905 --- /dev/null +++ b/libxml2/result/att10.rdr @@ -0,0 +1,23 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 tst 1 0 +1 14 #text 0 1 + +1 1 tst 1 0 +1 14 #text 0 1 + +1 1 tst 1 0 +1 14 #text 0 1 + +1 1 tst 1 0 +1 14 #text 0 1 + +1 1 tst 1 0 +1 14 #text 0 1 + +1 1 tst 1 0 +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/libxml2/result/att10.sax b/libxml2/result/att10.sax new file mode 100644 index 0000000..2df49a5 --- /dev/null +++ b/libxml2/result/att10.sax @@ -0,0 +1,61 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 4, ...) +SAX.elementDecl(tst, 3, ...) +SAX.attributeDecl(tst, a, 8, 3, NULL, ...) +SAX.attributeDecl(tst, b, 1, 3, NULL, ...) +SAX.entityDecl(d, 1, (null), (null), ) +SAX.getEntity(d) +SAX.entityDecl(a, 1, (null), (null), +) +SAX.getEntity(a) +SAX.entityDecl(da, 1, (null), (null), +) +SAX.getEntity(da) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.characters( +, 1) +SAX.startElement(tst, a=' xyz', b=' xyz') +SAX.endElement(tst) +SAX.characters( +, 1) +SAX.getEntity(d) +SAX.getEntity(d) +SAX.getEntity(a) +SAX.getEntity(a) +SAX.getEntity(da) +SAX.getEntity(d) +SAX.getEntity(d) +SAX.getEntity(a) +SAX.getEntity(a) +SAX.getEntity(da) +SAX.startElement(tst, a='&d;&d;A&a; &a;B&da;', b='&d;&d;A&a; &a;B&da;') +SAX.endElement(tst) +SAX.characters( +, 1) +SAX.startElement(tst, a=' A + +B +', b=' A + +B +') +SAX.endElement(tst) +SAX.characters( +, 1) +SAX.startElement(tst, a=' x y ', b=' x y ') +SAX.endElement(tst) +SAX.characters( +, 1) +SAX.startElement(tst, a=' a b ', b=' a b ') +SAX.endElement(tst) +SAX.characters( +, 1) +SAX.startElement(tst, a=' a b ', b=' a b ') +SAX.endElement(tst) +SAX.characters( +, 1) +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/att10.sax2 b/libxml2/result/att10.sax2 new file mode 100644 index 0000000..7c6f61d --- /dev/null +++ b/libxml2/result/att10.sax2 @@ -0,0 +1,57 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 4, ...) +SAX.elementDecl(tst, 3, ...) +SAX.attributeDecl(tst, a, 8, 3, NULL, ...) +SAX.attributeDecl(tst, b, 1, 3, NULL, ...) +SAX.entityDecl(d, 1, (null), (null), ) +SAX.getEntity(d) +SAX.entityDecl(a, 1, (null), (null), +) +SAX.getEntity(a) +SAX.entityDecl(da, 1, (null), (null), +) +SAX.getEntity(da) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.startElementNs(tst, NULL, NULL, 0, 2, 0, a='xyz"...', 3, b=' xy...', 5) +SAX.endElementNs(tst, NULL, NULL) +SAX.characters( +, 1) +SAX.getEntity(d) +SAX.getEntity(d) +SAX.getEntity(a) +SAX.getEntity(a) +SAX.getEntity(da) +SAX.getEntity(d) +SAX.getEntity(d) +SAX.getEntity(a) +SAX.getEntity(a) +SAX.getEntity(da) +SAX.startElementNs(tst, NULL, NULL, 0, 2, 0, a='&d;&...', 19, b='&d;&...', 19) +SAX.endElementNs(tst, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(tst, NULL, NULL, 0, 2, 0, a=' A +...', 8, b=' A +...', 8) +SAX.endElementNs(tst, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(tst, NULL, NULL, 0, 2, 0, a='x y...', 3, b=' x ...', 6) +SAX.endElementNs(tst, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(tst, NULL, NULL, 0, 2, 0, a='a b ...', 3, b=' a b...', 5) +SAX.endElementNs(tst, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(tst, NULL, NULL, 0, 2, 0, a='a b...', 3, b=' a ...', 8) +SAX.endElementNs(tst, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/att11 b/libxml2/result/att11 new file mode 100644 index 0000000..121b06d --- /dev/null +++ b/libxml2/result/att11 @@ -0,0 +1,9 @@ + + + + + + +]> + diff --git a/libxml2/result/att11.rde b/libxml2/result/att11.rde new file mode 100644 index 0000000..cc83bea --- /dev/null +++ b/libxml2/result/att11.rde @@ -0,0 +1,2 @@ +0 10 attributes 0 0 +0 1 attributes 1 0 diff --git a/libxml2/result/att11.rdr b/libxml2/result/att11.rdr new file mode 100644 index 0000000..cc83bea --- /dev/null +++ b/libxml2/result/att11.rdr @@ -0,0 +1,2 @@ +0 10 attributes 0 0 +0 1 attributes 1 0 diff --git a/libxml2/result/att11.sax b/libxml2/result/att11.sax new file mode 100644 index 0000000..52d2861 --- /dev/null +++ b/libxml2/result/att11.sax @@ -0,0 +1,19 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(attributes, , ) +SAX.elementDecl(attributes, 1, ...) +SAX.attributeDecl(attributes, nmtoken, 7, 3, NULL, ...) +SAX.attributeDecl(attributes, nmtokens, 8, 3, NULL, ...) +SAX.entityDecl(ent, 1, (null), (null), entity&recursive; ) +SAX.getEntity(ent) +SAX.entityDecl(recursive, 1, (null), (null), reference) +SAX.getEntity(recursive) +SAX.externalSubset(attributes, , ) +SAX.getEntity(ent) +SAX.getEntity(recursive) +SAX.getEntity(ent) +SAX.getEntity(ent) +SAX.startElement(attributes, nmtoken=' &ent; &ent; &ent; ', nmtokens=' Test + this normalization ') +SAX.endElement(attributes) +SAX.endDocument() diff --git a/libxml2/result/att11.sax2 b/libxml2/result/att11.sax2 new file mode 100644 index 0000000..3e8cfd9 --- /dev/null +++ b/libxml2/result/att11.sax2 @@ -0,0 +1,18 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(attributes, , ) +SAX.elementDecl(attributes, 1, ...) +SAX.attributeDecl(attributes, nmtoken, 7, 3, NULL, ...) +SAX.attributeDecl(attributes, nmtokens, 8, 3, NULL, ...) +SAX.entityDecl(ent, 1, (null), (null), entity&recursive; ) +SAX.getEntity(ent) +SAX.entityDecl(recursive, 1, (null), (null), reference) +SAX.getEntity(recursive) +SAX.externalSubset(attributes, , ) +SAX.getEntity(ent) +SAX.getEntity(recursive) +SAX.getEntity(ent) +SAX.getEntity(ent) +SAX.startElementNs(attributes, NULL, NULL, 0, 2, 0, nmtoken='&ent...', 17, nmtokens='Test...', 25) +SAX.endElementNs(attributes, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/att2 b/libxml2/result/att2 new file mode 100644 index 0000000..28989a2 --- /dev/null +++ b/libxml2/result/att2 @@ -0,0 +1,2 @@ + + diff --git a/libxml2/result/att2.rde b/libxml2/result/att2.rde new file mode 100644 index 0000000..9f92263 --- /dev/null +++ b/libxml2/result/att2.rde @@ -0,0 +1 @@ +0 1 doc 1 0 diff --git a/libxml2/result/att2.rdr b/libxml2/result/att2.rdr new file mode 100644 index 0000000..9f92263 --- /dev/null +++ b/libxml2/result/att2.rdr @@ -0,0 +1 @@ +0 1 doc 1 0 diff --git a/libxml2/result/att2.sax b/libxml2/result/att2.sax new file mode 100644 index 0000000..02ca320 --- /dev/null +++ b/libxml2/result/att2.sax @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(doc, attr='to normalize with a space') +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/att2.sax2 b/libxml2/result/att2.sax2 new file mode 100644 index 0000000..84aebcb --- /dev/null +++ b/libxml2/result/att2.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(doc, NULL, NULL, 0, 1, 0, attr='to n...', 27) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/att3 b/libxml2/result/att3 new file mode 100644 index 0000000..3f3ac5c --- /dev/null +++ b/libxml2/result/att3 @@ -0,0 +1,2 @@ + + diff --git a/libxml2/result/att3.rde b/libxml2/result/att3.rde new file mode 100644 index 0000000..d1e72cc --- /dev/null +++ b/libxml2/result/att3.rde @@ -0,0 +1,3 @@ +0 1 select 0 0 +1 3 #text 0 1 f oo +0 15 select 0 0 diff --git a/libxml2/result/att3.rdr b/libxml2/result/att3.rdr new file mode 100644 index 0000000..d1e72cc --- /dev/null +++ b/libxml2/result/att3.rdr @@ -0,0 +1,3 @@ +0 1 select 0 0 +1 3 #text 0 1 f oo +0 15 select 0 0 diff --git a/libxml2/result/att3.sax b/libxml2/result/att3.sax new file mode 100644 index 0000000..eec0959 --- /dev/null +++ b/libxml2/result/att3.sax @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(select, onclick='aaaa + bbbb ') +SAX.characters(f, 1) +SAX.characters( , 2) +SAX.characters(oo, 2) +SAX.endElement(select) +SAX.endDocument() diff --git a/libxml2/result/att3.sax2 b/libxml2/result/att3.sax2 new file mode 100644 index 0000000..8e7ca86 --- /dev/null +++ b/libxml2/result/att3.sax2 @@ -0,0 +1,8 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(select, NULL, NULL, 0, 1, 0, onclick='aaaa...', 17) +SAX.characters(f, 1) +SAX.characters( , 2) +SAX.characters(oo, 2) +SAX.endElementNs(select, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/att4 b/libxml2/result/att4 new file mode 100644 index 0000000..882cea7 --- /dev/null +++ b/libxml2/result/att4 @@ -0,0 +1,9264 @@ + + + + + + + diff --git a/libxml2/result/att4.rde b/libxml2/result/att4.rde new file mode 100644 index 0000000..746643e --- /dev/null +++ b/libxml2/result/att4.rde @@ -0,0 +1,27785 @@ +0 8 #comment 0 1 edited with XML Spy v4.4 U (http://www.xmlspy.com) by Slava (GIVC) +0 1 electroxml 0 0 +1 14 #text 0 1 + +1 1 data 0 0 +2 14 #text 0 1 + +2 1 select 0 0 +3 14 #text 0 1 + +3 1 device 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +3 15 device 0 0 +3 14 #text 0 1 + +2 15 select 0 0 +2 14 #text 0 1 + +1 15 data 0 0 +1 14 #text 0 1 + +0 15 electroxml 0 0 diff --git a/libxml2/result/att4.rdr b/libxml2/result/att4.rdr new file mode 100644 index 0000000..746643e --- /dev/null +++ b/libxml2/result/att4.rdr @@ -0,0 +1,27785 @@ +0 8 #comment 0 1 edited with XML Spy v4.4 U (http://www.xmlspy.com) by Slava (GIVC) +0 1 electroxml 0 0 +1 14 #text 0 1 + +1 1 data 0 0 +2 14 #text 0 1 + +2 1 select 0 0 +3 14 #text 0 1 + +3 1 device 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +3 15 device 0 0 +3 14 #text 0 1 + +2 15 select 0 0 +2 14 #text 0 1 + +1 15 data 0 0 +1 14 #text 0 1 + +0 15 electroxml 0 0 diff --git a/libxml2/result/att4.sax b/libxml2/result/att4.sax new file mode 100644 index 0000000..2e88f06 --- /dev/null +++ b/libxml2/result/att4.sax @@ -0,0 +1,36976 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( edited with XML Spy v4.4 U (http://www.xmlspy.com) by Slava (GIVC) ) +SAX.startElement(electroxml, modified='20021216T072726') +SAX.characters( + , 2) +SAX.startElement(data, from='20021031T22', to='20021130T22') +SAX.characters( + , 3) +SAX.startElement(select) +SAX.characters( + , 4) +SAX.startElement(device, serialnumb='E00003562') +SAX.characters( + , 5) +SAX.startElement(par, memind='113400', h='3dc1a8de') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e08', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c32', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a3c', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3835', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4645', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5455', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6265', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7075', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e85', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c96', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aa5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8b6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6c5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4d7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d30b', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0f6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef06', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd17', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b27', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11937', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12746', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13556', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14366', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15181', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f85', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d95', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ba4', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189b5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197c4', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5d5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b3e6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c1f6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d005', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de15', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec25', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa36', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20845', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21656', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22465', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23276', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24086', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e99', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25ca7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ab7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='278c6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='286d6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='294e6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a301', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2b105', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2bf15', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2cd25', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2db35', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2e946', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2f755', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='30566', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='31375', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3219e', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='32f96', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='33da6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='34bb6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='359de', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='367d6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='375e6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3840e', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3921e', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3a016', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ae27', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3bc36', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ca47', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3d856', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3e667', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3f481', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='40285', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41095', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41ea5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='42cb5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='43ac5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='448d5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='456e6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='464f5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='480ff', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='48f0e', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='49d1d', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ab46', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4b955', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4c769', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4d577', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4e387', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4f196', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ffa6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='50dd0', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='51bc6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='529d6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='537e7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='54600', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55406', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='56215', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57026', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57e36', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='58c46', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='59a70', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5a867', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5b676', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5c487', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5d296', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5e0a9', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5eeb8', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5fcc6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='60ad7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='618e7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='626f7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='63507', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='64317', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65127', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65f37', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='66d46', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='67b57', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='68967', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='69782', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6a586', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6b395', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6c1a6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6cfb5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ddc6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ebd6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6f9e6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='707f6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='71607', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='72417', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='73227', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74037', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74e47', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='75c57', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='76a63', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='77873', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='78680', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7948f', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7a29f', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7b0af', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7bebf', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7cccf', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7dadf', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e8fa', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f70a', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8051a', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8132a', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8213a', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='82f4a', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='83d5a', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='84b6a', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8597a', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8678b', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8759b', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='883ac', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='891bb', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='89fca', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8adda', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8bbeb', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c9fc', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8d80b', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8e61a', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8f42a', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9023a', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9104a', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='91e5a', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='92c6a', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='93a84', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='94885', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='95694', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='964a5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='972b4', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='980c5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='98ed4', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='99ce5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aaf5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9b906', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9c716', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9d526', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9e336', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9f145', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9ff56', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a0d65', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a1b77', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a2986', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a3795', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a45a7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a53b6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a61c7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a6fd6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a7e00', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8c00', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a05', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aa815', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ab625', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ac435', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ad245', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ae055', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aee65', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='afc75', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b0a85', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b26a6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b34b6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b42c6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b50d6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b5ee7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6cf6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b7b07', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b8917', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b9728', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ba537', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bb347', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bc157', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bcf67', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bdd81', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='beb86', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bf995', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c07a6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c15b5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c23c6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c31d5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c3fe6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4df5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c5c06', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c6a16', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c7826', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c8636', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c9446', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ca256', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cb066', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cbe76', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ccc87', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cda96', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ce8a8', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cf6b7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d04c8', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d12d7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d20e7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d2f02', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d3d05', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b15', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d5926', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d6735', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d7546', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d8355', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9166', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9f75', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dad87', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dbb97', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dc9a8', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dd7b7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='de5c6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='df3d7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e01d7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0fe5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e1df5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e2c04', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e3a14', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e4824', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e5634', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e6444', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e7255', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e806f', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e8e7f', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e9c8e', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eaa9f', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eb8ae', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ec6bf', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ed4ce', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ee2df', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef0ef', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eff01', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f0d10', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f1b20', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f2930', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f3740', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f4551', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f5361', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6172', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6f80', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f7d91', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f8ba1', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f99b1', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fa7c0', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fb5d1', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fc3e0', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd1fb', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fe00b', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee1c', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ffc2c', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='100a3b', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10184c', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10265b', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10346c', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10427b', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10508d', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='105e9d', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='106cad', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='107abd', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1088cd', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1096de', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10a4ed', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b2fe', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10c10d', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10cf1e', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10dd2e', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10eb66', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10f94e', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11075e', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11156d', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='112388', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113187', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113fb0', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='114da6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='115bb6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1169c6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1177d6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1185e8', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1193f7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11a208', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11b017', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11be2f', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11cc37', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11da47', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11e857', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11f667', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='120578', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='121386', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122196', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122fa6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='123db5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='124bc5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1259d5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1267e4', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='127600', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='128305', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129115', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129f25', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12ad35', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12bb45', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12c954', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12d766', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12e575', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12f386', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130196', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130fa6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='131db7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='132bc5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1339d4', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1347e5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1355f4', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='136404', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='137214', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138024', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138e33', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='139c44', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13aa54', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13b865', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13c67e', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13d48e', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13e29e', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13f0ae', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13febf', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='140ccf', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='141adf', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1428ef', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1436ff', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14450f', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14531f', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146130', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146f40', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='147d44', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='148b57', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='149965', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14a775', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14b584', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14c397', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14d1a4', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14dfb6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14edc5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14fbd5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1509e5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1517ff', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='152605', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153415', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='154225', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155035', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155e45', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='156c55', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='157a65', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='158875', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='159686', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15a495', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15b2a6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15c0b6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15cec6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15dcd5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15eae6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f8f5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='160706', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='161517', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='162326', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163137', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163f46', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='164d57', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='165b67', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='166982', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='167786', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='168596', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1693a6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16a1b5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16afc6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16bdd5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16cbe6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d9f6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16e807', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16f616', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='170429', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='171236', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172047', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172e57', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='173c67', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='174a77', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='175887', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='176694', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1774a3', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1782b3', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1790c5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='179ed4', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ace4', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17bafd', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17c90f', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d71e', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17e52f', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17f33f', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18014f', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='180f5f', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='181d6e', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='182b7f', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18398f', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1847a1', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1855af', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1863c0', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1871cf', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='187fe0', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='188def', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189c00', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18b80d', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18c61c', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18d42c', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18e23b', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18f04b', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18fe5e', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='190c76', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='191a86', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='192896', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1936a6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1944b7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1952c6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1960d7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='196ee6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197cf8', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='198b0f', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19991f', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19b541', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19c34d', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19d15e', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19df80', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19ed90', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19eebe', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19fb8e', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a09a0', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a17ae', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a25be', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a33cd', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a41dd', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a4fed', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5e08', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a6c05', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a7a15', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a8826', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9637', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aa445', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ab255', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ac065', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ace75', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1adc87', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aea96', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1af8a7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b06b7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b14c6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c8270', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c907e', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c9e8f', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1caca2', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cbab1', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cc8c1', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cd6d0', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ce4de', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cf2f0', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0109', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0f06', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d1d15', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d2b25', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d3935', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d4745', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d5555', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d6366', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7175', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7f86', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d8d95', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d9ba6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1da9b6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1db7c7', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dc5d5', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dd3e6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de1f5', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1df006', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dfe16', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e0c26', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e1a36', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e2847', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e3659', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e4467', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e5281', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6086', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6e96', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e7ca6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e8ab5', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e98c6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ea6d5', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eb4e6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec2f6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ed106', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1edf16', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eed26', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1efb36', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f0946', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1756', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f2566', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f3376', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4187', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4f96', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f5da7', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f6bb6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f79c7', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f87d6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f95e7', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa401', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fb204', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fc016', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fce25', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fdc35', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fea45', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ff855', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='200665', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='201475', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='202286', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203095', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203ea5', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='204cb6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='205ac6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2068d6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2076e6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2084f6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='209306', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20a116', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20af26', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20bd37', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20cb46', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20d957', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20e767', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20f581', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='210386', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211194', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211fa5', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='212db5', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='213bc5', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2149d6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2157e5', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2165f6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='217406', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='218217', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219026', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219e39', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ac46', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba57', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21c867', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21d677', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21e487', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21f296', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2200a6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='220eb7', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='221cc6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='222ad7', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2238e7', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='224701', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='225505', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='226315', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227125', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227f35', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='228d45', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='229b54', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22a965', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22b776', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22c586', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22d397', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22e1a6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22efb6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22fdc7', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='230bd7', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2319e6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2327f6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23361b', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='234416', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='235226', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236037', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236e46', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='237c57', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='238a66', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='239881', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23a685', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23b495', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23c2a4', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23d0b5', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23dec4', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23ecd5', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23fae4', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2408f6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='241706', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='242518', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='243325', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244137', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244f46', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b66', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='247976', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='248786', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24957e', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24a38f', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24b19c', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24bfac', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24cdbc', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24dbcd', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e9e5', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24f808', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='250616', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='251426', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='252236', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253047', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253e56', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='254c67', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='255a76', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='256887', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='257697', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2584a8', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2592b6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25a0c7', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25aed7', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25bce7', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25caf8', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25d907', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25e718', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25f527', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='260338', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261149', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261f59', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='262d68', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='263b83', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='264986', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='265795', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2665a6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2673b5', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2681c6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='268fd5', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='269de6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26abf6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ba06', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26c817', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26d62b', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26e436', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26f247', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270057', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e67', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='271c77', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='272a87', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='273897', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2746a8', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2754b9', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2762c7', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2770d8', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='277ee7', v='55') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='16936600', h='3dc1a8de') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='196.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e08', v='199.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c32', v='200.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a3c', v='201.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3835', v='199.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4645', v='197.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5455', v='193.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6265', v='197.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7075', v='195.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e85', v='192.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c96', v='195.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aa5', v='195.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8b6', v='195.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6c5', v='197.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4d7', v='222.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d30b', v='220.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0f6', v='222.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef06', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd17', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b27', v='221.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11937', v='222.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12746', v='222.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13556', v='220.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14366', v='220.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15181', v='220') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f85', v='221.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d95', v='220.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ba4', v='221.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189b5', v='220.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197c4', v='220.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5d5', v='219.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b3e6', v='219.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c1f6', v='220.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d005', v='220.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de15', v='220.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec25', v='220.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa36', v='220.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20845', v='220.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21656', v='220.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22465', v='220.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23276', v='220.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24086', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e99', v='222') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25ca7', v='221.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ab7', v='220.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='278c6', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='286d6', v='220.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='294e6', v='218.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a301', v='220') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2b105', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2bf15', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2cd25', v='218.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2db35', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2e946', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2f755', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='30566', v='219.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='31375', v='220.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3219e', v='219.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='32f96', v='220.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='33da6', v='220.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='34bb6', v='219') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='359de', v='220.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='367d6', v='219.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='375e6', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3840e', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3921e', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3a016', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ae27', v='220.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3bc36', v='220.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ca47', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3d856', v='221.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3e667', v='220.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3f481', v='217.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='40285', v='218.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41095', v='218.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41ea5', v='218.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='42cb5', v='219.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='43ac5', v='218.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='448d5', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='456e6', v='220.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='464f5', v='222.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='480ff', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='48f0e', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='49d1d', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ab46', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4b955', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4c769', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4d577', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4e387', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4f196', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ffa6', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='50dd0', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='51bc6', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='529d6', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='537e7', v='220.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='54600', v='218.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55406', v='219.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='56215', v='219.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57026', v='219.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57e36', v='219.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='58c46', v='220.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='59a70', v='220.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5a867', v='221.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5b676', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5c487', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5d296', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5e0a9', v='222.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5eeb8', v='224.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5fcc6', v='223.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='60ad7', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='618e7', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='626f7', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='63507', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='64317', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65127', v='222.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65f37', v='222.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='66d46', v='220.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='67b57', v='220.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='68967', v='220.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='69782', v='220.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6a586', v='219.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6b395', v='219.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6c1a6', v='219') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6cfb5', v='218.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ddc6', v='220.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ebd6', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6f9e6', v='221.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='707f6', v='222.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='71607', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='72417', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='73227', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74037', v='223.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74e47', v='223.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='75c57', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='76a63', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='77873', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='78680', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7948f', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7a29f', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7b0af', v='222.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7bebf', v='221') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7cccf', v='219.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7dadf', v='219.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e8fa', v='220.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f70a', v='220.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8051a', v='217.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8132a', v='219') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8213a', v='218.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='82f4a', v='219.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='83d5a', v='219.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='84b6a', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8597a', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8678b', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8759b', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='883ac', v='223.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='891bb', v='222') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='89fca', v='224.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8adda', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8bbeb', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c9fc', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8d80b', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8e61a', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8f42a', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9023a', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9104a', v='220.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='91e5a', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='92c6a', v='219.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='93a84', v='219.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='94885', v='219') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='95694', v='218.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='964a5', v='219.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='972b4', v='219.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='980c5', v='221') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='98ed4', v='220.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='99ce5', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aaf5', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9b906', v='225.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9c716', v='225') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9d526', v='222.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9e336', v='223.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9f145', v='224.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9ff56', v='223.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a0d65', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a1b77', v='195.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a2986', v='190') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a3795', v='122.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a45a7', v='354.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a53b6', v='333.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a61c7', v='323.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a6fd6', v='278.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a7e00', v='286.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8c00', v='292.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a05', v='21.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aa815', v='273.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ab625', v='272.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ac435', v='285.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ad245', v='28.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ae055', v='68.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aee65', v='147.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='afc75', v='95.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b0a85', v='89.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b26a6', v='88.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b34b6', v='92.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b42c6', v='149.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b50d6', v='148.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b5ee7', v='127.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6cf6', v='198.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b7b07', v='187.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b8917', v='182.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b9728', v='195.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ba537', v='203.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bb347', v='124.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bc157', v='159.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bcf67', v='230.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bdd81', v='79.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='beb86', v='51.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bf995', v='22.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c07a6', v='323.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c15b5', v='341.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c23c6', v='46.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c31d5', v='71.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c3fe6', v='71.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4df5', v='63.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c5c06', v='76.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c6a16', v='58.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c7826', v='92') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c8636', v='79.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c9446', v='63.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ca256', v='51.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cb066', v='81.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cbe76', v='205.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ccc87', v='96.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cda96', v='95.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ce8a8', v='96.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cf6b7', v='92.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d04c8', v='91.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d12d7', v='86.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d20e7', v='270') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d2f02', v='270.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d3d05', v='296.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b15', v='306.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d5926', v='331.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d6735', v='13.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d7546', v='46.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d8355', v='262.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9166', v='166.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9f75', v='143.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dad87', v='127.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dbb97', v='132.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dc9a8', v='128.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dd7b7', v='155.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='de5c6', v='170.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='df3d7', v='176.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e01d7', v='176.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0fe5', v='168.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e1df5', v='172.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e2c04', v='185.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e3a14', v='196.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e4824', v='178.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e5634', v='193.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e6444', v='176.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e7255', v='196.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e806f', v='202.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e8e7f', v='99.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e9c8e', v='130.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eaa9f', v='132.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eb8ae', v='121.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ec6bf', v='100.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ed4ce', v='192.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ee2df', v='153.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef0ef', v='170.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eff01', v='155.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f0d10', v='167.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f1b20', v='165.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f2930', v='184.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f3740', v='159.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f4551', v='163.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f5361', v='163.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6172', v='160.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6f80', v='165') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f7d91', v='156.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f8ba1', v='163.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f99b1', v='162.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fa7c0', v='154.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fb5d1', v='157.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fc3e0', v='197.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd1fb', v='203.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fe00b', v='212.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee1c', v='185.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ffc2c', v='187.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='100a3b', v='162') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10184c', v='149.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10265b', v='136.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10346c', v='145.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10427b', v='164.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10508d', v='158.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='105e9d', v='163') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='106cad', v='161.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='107abd', v='168.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1088cd', v='168.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1096de', v='165.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10a4ed', v='168.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b2fe', v='163.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10c10d', v='147.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10cf1e', v='163') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10dd2e', v='166.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10eb66', v='177.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10f94e', v='179.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11075e', v='161') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11156d', v='174.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='112388', v='203.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113187', v='158.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113fb0', v='172.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='114da6', v='172.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='115bb6', v='168.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1169c6', v='138') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1177d6', v='135.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1185e8', v='157.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1193f7', v='160.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11a208', v='175.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11b017', v='184.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11be2f', v='188.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11cc37', v='170') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11da47', v='173.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11e857', v='167') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11f667', v='172.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='120578', v='164.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='121386', v='166.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122196', v='151.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122fa6', v='158.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='123db5', v='170.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='124bc5', v='185.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1259d5', v='160.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1267e4', v='188.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='127600', v='207.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='128305', v='214.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129115', v='213.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129f25', v='218.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12ad35', v='210.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12bb45', v='178.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12c954', v='162.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12d766', v='156.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12e575', v='153.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12f386', v='143.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130196', v='160.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130fa6', v='153.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='131db7', v='163.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='132bc5', v='168.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1339d4', v='169.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1347e5', v='139.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1355f4', v='142.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='136404', v='122.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='137214', v='125.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138024', v='110.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138e33', v='110.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='139c44', v='190.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13aa54', v='99.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13b865', v='209.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13c67e', v='76.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13d48e', v='61.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13e29e', v='44.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13f0ae', v='44.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13febf', v='60.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='140ccf', v='64.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='141adf', v='67.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1428ef', v='341.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1436ff', v='115.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14450f', v='117.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14531f', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146130', v='252.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146f40', v='261.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='147d44', v='313.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='148b57', v='311.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='149965', v='292') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14a775', v='57.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14b584', v='151.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14c397', v='92.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14d1a4', v='93.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14dfb6', v='100.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14edc5', v='97.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14fbd5', v='184') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1509e5', v='289.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1517ff', v='274.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='152605', v='39.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153415', v='6.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='154225', v='355.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155035', v='19.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155e45', v='44.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='156c55', v='61.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='157a65', v='55.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='158875', v='60.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='159686', v='71.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15a495', v='66.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15b2a6', v='61.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15c0b6', v='38.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15cec6', v='17.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15dcd5', v='35.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15eae6', v='44.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f8f5', v='71.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='160706', v='166.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='161517', v='125') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='162326', v='176') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163137', v='195.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163f46', v='99.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='164d57', v='90') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='165b67', v='273.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='166982', v='344.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='167786', v='307.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='168596', v='271.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1693a6', v='278.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16a1b5', v='291.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16afc6', v='52.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16bdd5', v='76.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16cbe6', v='87.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d9f6', v='170.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16e807', v='174.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16f616', v='175.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='170429', v='186.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='171236', v='183.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172047', v='181.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172e57', v='173.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='173c67', v='170.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='174a77', v='165.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='175887', v='163.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='176694', v='161.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1774a3', v='165.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1782b3', v='170.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1790c5', v='173.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='179ed4', v='187.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ace4', v='201.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17bafd', v='205.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17c90f', v='204.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d71e', v='204.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17e52f', v='208.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17f33f', v='204.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18014f', v='193.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='180f5f', v='186.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='181d6e', v='192.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='182b7f', v='194.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18398f', v='184.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1847a1', v='184.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1855af', v='185.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1863c0', v='194.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1871cf', v='192.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='187fe0', v='192.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='188def', v='190.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189c00', v='185.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18b80d', v='170.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18c61c', v='187.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18d42c', v='191.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18e23b', v='191.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18f04b', v='197.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18fe5e', v='195.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='190c76', v='189.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='191a86', v='201.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='192896', v='202.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1936a6', v='204.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1944b7', v='196.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1952c6', v='182.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1960d7', v='162.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='196ee6', v='187.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197cf8', v='187.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='198b0f', v='179.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19991f', v='181.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19b541', v='188.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19c34d', v='186.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19d15e', v='183.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19df80', v='182.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19ed90', v='176.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19eebe', v='175.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19fb8e', v='178.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a09a0', v='223.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a17ae', v='228.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a25be', v='229.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a33cd', v='216.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a41dd', v='226.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a4fed', v='249.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5e08', v='245.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a6c05', v='250.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a7a15', v='251.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a8826', v='252.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9637', v='259.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aa445', v='254.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ab255', v='218.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ac065', v='228.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ace75', v='227.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1adc87', v='214.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aea96', v='218.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1af8a7', v='217') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b06b7', v='231.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b14c6', v='230.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='52') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c8270', v='340.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c907e', v='18.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c9e8f', v='357.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1caca2', v='344.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cbab1', v='338.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cc8c1', v='28.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cd6d0', v='21.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ce4de', v='10.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cf2f0', v='343.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0109', v='342.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0f06', v='358.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d1d15', v='353.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d2b25', v='353.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d3935', v='1.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d4745', v='6.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d5555', v='10.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d6366', v='350.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7175', v='350.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7f86', v='357.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d8d95', v='181.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d9ba6', v='184.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1da9b6', v='192.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1db7c7', v='193.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dc5d5', v='194.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dd3e6', v='190.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de1f5', v='195') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1df006', v='195.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dfe16', v='195.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e0c26', v='198.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e1a36', v='198.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e2847', v='199.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e3659', v='200.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e4467', v='202.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e5281', v='200.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6086', v='203.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6e96', v='204.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e7ca6', v='188.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e8ab5', v='193.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e98c6', v='184.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ea6d5', v='190.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eb4e6', v='188.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec2f6', v='192.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ed106', v='185.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1edf16', v='186.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eed26', v='182.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1efb36', v='187.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f0946', v='186.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1756', v='168.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f2566', v='164.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f3376', v='154.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4187', v='134.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4f96', v='154.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f5da7', v='182.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f6bb6', v='188.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f79c7', v='176') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f87d6', v='206.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f95e7', v='216.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa401', v='211.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fb204', v='210.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fc016', v='211.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fce25', v='192.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fdc35', v='185.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fea45', v='176.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ff855', v='171.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='200665', v='129.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='201475', v='173.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='202286', v='157.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203095', v='161.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203ea5', v='163.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='204cb6', v='176.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='205ac6', v='166.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2068d6', v='161.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2076e6', v='159.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2084f6', v='177.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='209306', v='183.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20a116', v='185.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20af26', v='182.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20bd37', v='189.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20cb46', v='173.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20d957', v='179.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20e767', v='193.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20f581', v='202.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='210386', v='197.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211194', v='186.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211fa5', v='188.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='212db5', v='178.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='213bc5', v='160.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2149d6', v='168.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2157e5', v='184') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2165f6', v='191.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='217406', v='177.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='218217', v='182.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219026', v='185.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219e39', v='176.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ac46', v='170.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba57', v='169.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21c867', v='159.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21d677', v='190.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21e487', v='173.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21f296', v='175.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2200a6', v='187.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='220eb7', v='188.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='221cc6', v='160') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='222ad7', v='175.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2238e7', v='192.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='224701', v='200.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='225505', v='116.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='226315', v='166.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227125', v='162.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227f35', v='130.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='228d45', v='122') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='229b54', v='193.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22a965', v='183.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22b776', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22c586', v='157.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22d397', v='142.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22e1a6', v='145.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22efb6', v='182.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22fdc7', v='182.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='230bd7', v='173.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2319e6', v='188.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2327f6', v='179.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23361b', v='169.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='234416', v='164.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='235226', v='170.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236037', v='178.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236e46', v='158') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='237c57', v='161.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='238a66', v='175.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='239881', v='169.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23a685', v='185.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23b495', v='191.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23c2a4', v='176.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23d0b5', v='167.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23dec4', v='154.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23ecd5', v='167') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23fae4', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2408f6', v='166.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='241706', v='146.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='242518', v='155.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='243325', v='157.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244137', v='189.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244f46', v='187.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b66', v='186.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='247976', v='179.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='248786', v='139.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24957e', v='161.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24a38f', v='172') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24b19c', v='189.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24bfac', v='187.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24cdbc', v='188.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24dbcd', v='186.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e9e5', v='198.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24f808', v='193.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='250616', v='195.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='251426', v='198.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='252236', v='180.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253047', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253e56', v='161.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='254c67', v='165.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='255a76', v='165.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='256887', v='160.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='257697', v='147.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2584a8', v='196.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2592b6', v='195.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25a0c7', v='186.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25aed7', v='178.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25bce7', v='177.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25caf8', v='172') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25d907', v='156.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25e718', v='154.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25f527', v='157') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='260338', v='179.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261149', v='166') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261f59', v='172.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='262d68', v='196.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='263b83', v='179.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='264986', v='195.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='265795', v='202.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2665a6', v='209.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2673b5', v='204.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2681c6', v='199.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='268fd5', v='186.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='269de6', v='175.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26abf6', v='170.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ba06', v='159.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26c817', v='156.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26d62b', v='137.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26e436', v='146') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26f247', v='139.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270057', v='143.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e67', v='137.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='271c77', v='177.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='272a87', v='186.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='273897', v='184.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2746a8', v='188.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2754b9', v='191.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2762c7', v='146.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2770d8', v='161.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='277ee7', v='188.7') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='10695000', h='3dc1a8de') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e08', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c32', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a3c', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3835', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4645', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5455', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6265', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7075', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e85', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c96', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aa5', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8b6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6c5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4d7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d30b', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0f6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef06', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd17', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b27', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11937', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12746', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13556', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14366', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15181', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f85', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d95', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ba4', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189b5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197c4', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5d5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b3e6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c1f6', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d005', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de15', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec25', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa36', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20845', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21656', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22465', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23276', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24086', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e99', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25ca7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ab7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='278c6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='286d6', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='294e6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a301', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2b105', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2bf15', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2cd25', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2db35', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2e946', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2f755', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='30566', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='31375', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3219e', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='32f96', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='33da6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='34bb6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='359de', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='367d6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='375e6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3840e', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3921e', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3a016', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ae27', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3bc36', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ca47', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3d856', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3e667', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3f481', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='40285', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41095', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41ea5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='42cb5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='43ac5', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='448d5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='456e6', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='464f5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='480ff', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='48f0e', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='49d1d', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ab46', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4b955', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4c769', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4d577', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4e387', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4f196', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ffa6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='50dd0', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='51bc6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='529d6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='537e7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='54600', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55406', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='56215', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57026', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57e36', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='58c46', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='59a70', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5a867', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5b676', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5c487', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5d296', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5e0a9', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5eeb8', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5fcc6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='60ad7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='618e7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='626f7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='63507', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='64317', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65127', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65f37', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='66d46', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='67b57', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='68967', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='69782', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6a586', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6b395', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6c1a6', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6cfb5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ddc6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ebd6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6f9e6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='707f6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='71607', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='72417', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='73227', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74037', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74e47', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='75c57', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='76a63', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='77873', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='78680', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7948f', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7a29f', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7b0af', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7bebf', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7cccf', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7dadf', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e8fa', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f70a', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8051a', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8132a', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8213a', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='82f4a', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='83d5a', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='84b6a', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8597a', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8678b', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8759b', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='883ac', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='891bb', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='89fca', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8adda', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8bbeb', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c9fc', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8d80b', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8e61a', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8f42a', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9023a', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9104a', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='91e5a', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='92c6a', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='93a84', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='94885', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='95694', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='964a5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='972b4', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='980c5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='98ed4', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='99ce5', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aaf5', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9b906', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9c716', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9d526', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9e336', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9f145', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9ff56', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a0d65', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a1b77', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a2986', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a3795', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a45a7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a53b6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a61c7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a6fd6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a7e00', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8c00', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a05', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aa815', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ab625', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ac435', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ad245', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ae055', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aee65', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='afc75', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b0a85', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b26a6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b34b6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b42c6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b50d6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b5ee7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6cf6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b7b07', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b8917', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b9728', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ba537', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bb347', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bc157', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bcf67', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bdd81', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='beb86', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bf995', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c07a6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c15b5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c23c6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c31d5', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c3fe6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4df5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c5c06', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c6a16', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c7826', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c8636', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c9446', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ca256', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cb066', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cbe76', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ccc87', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cda96', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ce8a8', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cf6b7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d04c8', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d12d7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d20e7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d2f02', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d3d05', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b15', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d5926', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d6735', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d7546', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d8355', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9166', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9f75', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dad87', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dbb97', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dc9a8', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dd7b7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='de5c6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='df3d7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e01d7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0fe5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e1df5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e2c04', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e3a14', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e4824', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e5634', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e6444', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e7255', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e806f', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e8e7f', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e9c8e', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eaa9f', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eb8ae', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ec6bf', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ed4ce', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ee2df', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef0ef', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eff01', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f0d10', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f1b20', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f2930', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f3740', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f4551', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f5361', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6172', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6f80', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f7d91', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f8ba1', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f99b1', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fa7c0', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fb5d1', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fc3e0', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd1fb', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fe00b', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee1c', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ffc2c', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='100a3b', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10184c', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10265b', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10346c', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10427b', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10508d', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='105e9d', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='106cad', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='107abd', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1088cd', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1096de', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10a4ed', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b2fe', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10c10d', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10cf1e', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10dd2e', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10eb66', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10f94e', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11075e', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11156d', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='112388', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113187', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113fb0', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='114da6', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='115bb6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1169c6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1177d6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1185e8', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1193f7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11a208', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11b017', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11be2f', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11cc37', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11da47', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11e857', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11f667', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='120578', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='121386', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122196', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122fa6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='123db5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='124bc5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1259d5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1267e4', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='127600', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='128305', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129115', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129f25', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12ad35', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12bb45', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12c954', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12d766', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12e575', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12f386', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130196', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130fa6', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='131db7', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='132bc5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1339d4', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1347e5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1355f4', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='136404', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='137214', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138024', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138e33', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='139c44', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13aa54', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13b865', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13c67e', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13d48e', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13e29e', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13f0ae', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13febf', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='140ccf', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='141adf', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1428ef', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1436ff', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14450f', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14531f', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146130', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146f40', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='147d44', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='148b57', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='149965', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14a775', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14b584', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14c397', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14d1a4', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14dfb6', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14edc5', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14fbd5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1509e5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1517ff', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='152605', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153415', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='154225', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155035', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155e45', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='156c55', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='157a65', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='158875', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='159686', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15a495', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15b2a6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15c0b6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15cec6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15dcd5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15eae6', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f8f5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='160706', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='161517', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='162326', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163137', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163f46', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='164d57', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='165b67', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='166982', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='167786', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='168596', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1693a6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16a1b5', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16afc6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16bdd5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16cbe6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d9f6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16e807', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16f616', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='170429', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='171236', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172047', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172e57', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='173c67', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='174a77', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='175887', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='176694', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1774a3', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1782b3', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1790c5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='179ed4', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ace4', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17bafd', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17c90f', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d71e', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17e52f', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17f33f', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18014f', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='180f5f', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='181d6e', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='182b7f', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18398f', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1847a1', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1855af', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1863c0', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1871cf', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='187fe0', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='188def', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189c00', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18b80d', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18c61c', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18d42c', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18e23b', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18f04b', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18fe5e', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='190c76', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='191a86', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='192896', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1936a6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1944b7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1952c6', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1960d7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='196ee6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197cf8', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='198b0f', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19991f', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19b541', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19c34d', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19d15e', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19df80', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19ed90', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19eebe', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19fb8e', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a09a0', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a17ae', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a25be', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a33cd', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a41dd', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a4fed', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5e08', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a6c05', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a7a15', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a8826', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9637', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aa445', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ab255', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ac065', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ace75', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1adc87', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aea96', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1af8a7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b06b7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b14c6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c8270', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c907e', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c9e8f', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1caca2', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cbab1', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cc8c1', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cd6d0', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ce4de', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cf2f0', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0109', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0f06', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d1d15', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d2b25', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d3935', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d4745', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d5555', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d6366', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7175', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7f86', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d8d95', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d9ba6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1da9b6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1db7c7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dc5d5', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dd3e6', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de1f5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1df006', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dfe16', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e0c26', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e1a36', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e2847', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e3659', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e4467', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e5281', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6086', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6e96', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e7ca6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e8ab5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e98c6', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ea6d5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eb4e6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec2f6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ed106', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1edf16', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eed26', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1efb36', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f0946', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1756', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f2566', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f3376', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4187', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4f96', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f5da7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f6bb6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f79c7', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f87d6', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f95e7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa401', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fb204', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fc016', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fce25', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fdc35', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fea45', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ff855', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='200665', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='201475', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='202286', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203095', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203ea5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='204cb6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='205ac6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2068d6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2076e6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2084f6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='209306', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20a116', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20af26', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20bd37', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20cb46', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20d957', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20e767', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20f581', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='210386', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211194', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211fa5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='212db5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='213bc5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2149d6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2157e5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2165f6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='217406', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='218217', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219026', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219e39', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ac46', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba57', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21c867', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21d677', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21e487', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21f296', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2200a6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='220eb7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='221cc6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='222ad7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2238e7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='224701', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='225505', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='226315', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227125', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227f35', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='228d45', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='229b54', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22a965', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22b776', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22c586', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22d397', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22e1a6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22efb6', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22fdc7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='230bd7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2319e6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2327f6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23361b', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='234416', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='235226', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236037', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236e46', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='237c57', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='238a66', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='239881', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23a685', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23b495', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23c2a4', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23d0b5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23dec4', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23ecd5', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23fae4', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2408f6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='241706', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='242518', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='243325', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244137', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244f46', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b66', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='247976', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='248786', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24957e', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24a38f', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24b19c', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24bfac', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24cdbc', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24dbcd', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e9e5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24f808', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='250616', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='251426', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='252236', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253047', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253e56', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='254c67', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='255a76', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='256887', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='257697', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2584a8', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2592b6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25a0c7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25aed7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25bce7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25caf8', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25d907', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25e718', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25f527', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='260338', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261149', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261f59', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='262d68', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='263b83', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='264986', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='265795', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2665a6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2673b5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2681c6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='268fd5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='269de6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26abf6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ba06', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26c817', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26d62b', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26e436', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26f247', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270057', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e67', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='271c77', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='272a87', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='273897', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2746a8', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2754b9', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2762c7', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2770d8', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='277ee7', v='50') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='8612', h='3dc1a8de') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='25.07') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e08', v='24.067') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c32', v='23.438') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a3c', v='23.245') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3835', v='22.784') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4645', v='22.746') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5455', v='26.297') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6265', v='28.878') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7075', v='34.451') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e85', v='40.017') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c96', v='40.572') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aa5', v='38.682') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8b6', v='35.869') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6c5', v='34.12') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4d7', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d30b', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0f6', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef06', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd17', v='0.038') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b27', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11937', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12746', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13556', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14366', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15181', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f85', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d95', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ba4', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189b5', v='0.038') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197c4', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5d5', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b3e6', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c1f6', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d005', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de15', v='0.033') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec25', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa36', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20845', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21656', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22465', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23276', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24086', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e99', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25ca7', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ab7', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='278c6', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='286d6', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='294e6', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a301', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2b105', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2bf15', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2cd25', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2db35', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2e946', v='0.033') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2f755', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='30566', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='31375', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3219e', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='32f96', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='33da6', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='34bb6', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='359de', v='0.033') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='367d6', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='375e6', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3840e', v='0.033') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3921e', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3a016', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ae27', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3bc36', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ca47', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3d856', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3e667', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3f481', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='40285', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41095', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41ea5', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='42cb5', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='43ac5', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='448d5', v='0.038') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='456e6', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='464f5', v='0.039') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='480ff', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='48f0e', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='49d1d', v='0.038') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ab46', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4b955', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4c769', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4d577', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4e387', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4f196', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ffa6', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='50dd0', v='0.038') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='51bc6', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='529d6', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='537e7', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='54600', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55406', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='56215', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57026', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57e36', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='58c46', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='59a70', v='0.04') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5a867', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5b676', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5c487', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5d296', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5e0a9', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5eeb8', v='0.039') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5fcc6', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='60ad7', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='618e7', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='626f7', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='63507', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='64317', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65127', v='0.039') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65f37', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='66d46', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='67b57', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='68967', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='69782', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6a586', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6b395', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6c1a6', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6cfb5', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ddc6', v='0.033') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ebd6', v='0.033') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6f9e6', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='707f6', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='71607', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='72417', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='73227', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74037', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74e47', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='75c57', v='0.04') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='76a63', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='77873', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='78680', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7948f', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7a29f', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7b0af', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7bebf', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7cccf', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7dadf', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e8fa', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f70a', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8051a', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8132a', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8213a', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='82f4a', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='83d5a', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='84b6a', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8597a', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8678b', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8759b', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='883ac', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='891bb', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='89fca', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8adda', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8bbeb', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c9fc', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8d80b', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8e61a', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8f42a', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9023a', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9104a', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='91e5a', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='92c6a', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='93a84', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='94885', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='95694', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='964a5', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='972b4', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='980c5', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='98ed4', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='99ce5', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aaf5', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9b906', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9c716', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9d526', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9e336', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9f145', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9ff56', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a0d65', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a1b77', v='36.117') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a2986', v='17.613') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a3795', v='8.357') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a45a7', v='5.957') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a53b6', v='7.134') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a61c7', v='8.646') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a6fd6', v='6.429') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a7e00', v='10.235') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8c00', v='14.027') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a05', v='3.549') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aa815', v='3.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ab625', v='6.093') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ac435', v='5.204') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ad245', v='7.526') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ae055', v='11.39') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aee65', v='0.954') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='afc75', v='5.773') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b0a85', v='21.019') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b26a6', v='22.636') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b34b6', v='19.316') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b42c6', v='1.265') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b50d6', v='3.13') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b5ee7', v='6.091') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6cf6', v='7.273') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b7b07', v='9.373') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b8917', v='7.711') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b9728', v='8.183') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ba537', v='9.843') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bb347', v='5.251') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bc157', v='2.646') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bcf67', v='7.175') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bdd81', v='19.697') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='beb86', v='4.703') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bf995', v='5.017') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c07a6', v='5.028') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c15b5', v='4.406') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c23c6', v='5.164') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c31d5', v='10.951') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c3fe6', v='5.096') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4df5', v='10.032') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c5c06', v='4.084') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c6a16', v='5.223') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c7826', v='6.622') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c8636', v='2.571') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c9446', v='3.766') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ca256', v='2.925') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cb066', v='4.239') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cbe76', v='2.442') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ccc87', v='10.653') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cda96', v='15.045') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ce8a8', v='10.497') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cf6b7', v='14.243') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d04c8', v='11.318') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d12d7', v='7.26') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d20e7', v='3.278') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d2f02', v='12.768') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d3d05', v='8.863') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b15', v='8.423') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d5926', v='7.503') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d6735', v='7.803') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d7546', v='10.91') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d8355', v='5.743') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9166', v='2.082') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9f75', v='7.751') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dad87', v='16.785') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dbb97', v='18.467') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dc9a8', v='18.801') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dd7b7', v='16.008') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='de5c6', v='13.629') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='df3d7', v='14.479') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e01d7', v='14.927') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0fe5', v='14.349') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e1df5', v='15.502') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e2c04', v='20.07') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e3a14', v='20.011') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e4824', v='16.357') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e5634', v='17.03') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e6444', v='11.901') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e7255', v='10.138') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e806f', v='8.731') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e8e7f', v='14.357') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e9c8e', v='4.86') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eaa9f', v='4.149') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eb8ae', v='6.019') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ec6bf', v='14.635') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ed4ce', v='9.989') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ee2df', v='11.96') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef0ef', v='15.422') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eff01', v='22.742') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f0d10', v='22.428') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f1b20', v='24.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f2930', v='23.076') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f3740', v='23.241') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f4551', v='24.018') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f5361', v='25.989') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6172', v='24.748') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6f80', v='25.323') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f7d91', v='23.122') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f8ba1', v='19.403') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f99b1', v='19.28') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fa7c0', v='16.12') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fb5d1', v='16.228') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fc3e0', v='16.654') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd1fb', v='14.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fe00b', v='14.054') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee1c', v='9.557') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ffc2c', v='9.072') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='100a3b', v='8.333') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10184c', v='9.771') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10265b', v='14.337') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10346c', v='16.049') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10427b', v='19.911') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10508d', v='23.238') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='105e9d', v='23.213') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='106cad', v='25.179') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='107abd', v='21.591') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1088cd', v='19.665') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1096de', v='21.079') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10a4ed', v='21.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b2fe', v='22.363') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10c10d', v='25.172') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10cf1e', v='23.223') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10dd2e', v='20.912') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10eb66', v='22.017') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10f94e', v='18.729') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11075e', v='16.761') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11156d', v='13.145') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='112388', v='13.912') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113187', v='8.712') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113fb0', v='8.106') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='114da6', v='8.195') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='115bb6', v='8.301') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1169c6', v='10.111') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1177d6', v='14.213') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1185e8', v='15.617') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1193f7', v='19.095') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11a208', v='23.986') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11b017', v='20.919') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11be2f', v='26.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11cc37', v='21.493') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11da47', v='21.006') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11e857', v='22.144') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11f667', v='19.124') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='120578', v='0.019') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='121386', v='0.021') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122196', v='0.021') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122fa6', v='0.018') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='123db5', v='0.015') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='124bc5', v='0.016') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1259d5', v='0.011') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1267e4', v='0.01') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='127600', v='0.011') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='128305', v='0.01') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129115', v='0.01') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129f25', v='0.01') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12ad35', v='0.009') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12bb45', v='0.006') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12c954', v='0.009') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12d766', v='0.011') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12e575', v='0.017') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12f386', v='0.012') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130196', v='0.019') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130fa6', v='0.014') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='131db7', v='0.015') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='132bc5', v='0.015') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1339d4', v='0.279') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1347e5', v='0.096') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1355f4', v='0.141') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='136404', v='0.207') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='137214', v='0.218') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138024', v='0.213') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138e33', v='0.214') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='139c44', v='0.075') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13aa54', v='0.05') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13b865', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13c67e', v='0.449') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13d48e', v='0.217') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13e29e', v='0.167') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13f0ae', v='0.158') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13febf', v='0.232') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='140ccf', v='0.339') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='141adf', v='0.212') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1428ef', v='0.044') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1436ff', v='0.033') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14450f', v='0.025') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14531f', v='0.023') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146130', v='0.058') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146f40', v='0.145') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='147d44', v='0.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='148b57', v='0.08') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='149965', v='0.067') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14a775', v='0.111') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14b584', v='0.05') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14c397', v='0.239') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14d1a4', v='0.206') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14dfb6', v='0.163') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14edc5', v='0.063') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14fbd5', v='0.027') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1509e5', v='0.077') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1517ff', v='0.153') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='152605', v='0.181') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153415', v='0.149') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='154225', v='0.157') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155035', v='0.166') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155e45', v='0.216') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='156c55', v='0.306') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='157a65', v='0.168') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='158875', v='0.145') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='159686', v='0.252') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15a495', v='0.213') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15b2a6', v='0.19') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15c0b6', v='0.111') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15cec6', v='0.114') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15dcd5', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15eae6', v='0.115') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f8f5', v='0.302') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='160706', v='0.03') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='161517', v='0.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='162326', v='0.048') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163137', v='0.069') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163f46', v='0.063') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='164d57', v='0.029') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='165b67', v='0.105') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='166982', v='0.096') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='167786', v='0.142') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='168596', v='0.101') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1693a6', v='0.092') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16a1b5', v='0.071') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16afc6', v='0.067') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16bdd5', v='0.17') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16cbe6', v='0.212') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d9f6', v='0.089') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16e807', v='0.607') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16f616', v='0.675') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='170429', v='0.723') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='171236', v='0.477') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172047', v='0.477') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172e57', v='0.491') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='173c67', v='0.496') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='174a77', v='0.579') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='175887', v='0.62') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='176694', v='35.716') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1774a3', v='33.973') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1782b3', v='35.295') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1790c5', v='32.429') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='179ed4', v='28.433') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ace4', v='29.24') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17bafd', v='30.943') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17c90f', v='28.05') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d71e', v='27.792') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17e52f', v='28.102') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17f33f', v='25.534') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18014f', v='25.021') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='180f5f', v='30.046') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='181d6e', v='32.772') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='182b7f', v='38.186') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18398f', v='64.34') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1847a1', v='63.582') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1855af', v='60.895') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1863c0', v='57.167') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1871cf', v='59.436') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='187fe0', v='56.655') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='188def', v='60.597') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189c00', v='56.836') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18b80d', v='37.581') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18c61c', v='40.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18d42c', v='38.214') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18e23b', v='32.175') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18f04b', v='30.662') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18fe5e', v='26.933') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='190c76', v='21.269') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='191a86', v='21.646') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='192896', v='21.244') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1936a6', v='20.855') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1944b7', v='19.588') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1952c6', v='20.809') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1960d7', v='25.64') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='196ee6', v='29.166') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197cf8', v='31.236') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='198b0f', v='28.424') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19991f', v='32.717') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19b541', v='32.231') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19c34d', v='29.816') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19d15e', v='29.219') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19df80', v='29.861') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19ed90', v='29.093') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19eebe', v='29.004') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19fb8e', v='10.445') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a09a0', v='18.158') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a17ae', v='23.713') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a25be', v='25.84') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a33cd', v='13.692') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a41dd', v='15.619') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a4fed', v='22.235') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5e08', v='20.533') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a6c05', v='14.806') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a7a15', v='17.786') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a8826', v='18.205') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9637', v='14.86') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aa445', v='11.317') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ab255', v='6.403') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ac065', v='13.389') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ace75', v='18.094') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1adc87', v='16.688') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aea96', v='16.251') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1af8a7', v='17.902') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b06b7', v='16.864') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b14c6', v='16.076') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='4.33') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c8270', v='4.33') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c907e', v='21.221') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c9e8f', v='20.86') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1caca2', v='22.903') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cbab1', v='22.672') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cc8c1', v='34.711') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cd6d0', v='33.792') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ce4de', v='32.717') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cf2f0', v='33.04') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0109', v='34.047') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0f06', v='36.536') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d1d15', v='36.673') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d2b25', v='36.752') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d3935', v='37.932') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d4745', v='37.857') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d5555', v='37.029') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d6366', v='32.844') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7175', v='31.917') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7f86', v='31.363') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d8d95', v='15.349') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d9ba6', v='17.623') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1da9b6', v='17.658') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1db7c7', v='16.597') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dc5d5', v='17.621') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dd3e6', v='18.017') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de1f5', v='32.337') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1df006', v='37.113') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dfe16', v='36.896') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e0c26', v='37.646') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e1a36', v='37.465') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e2847', v='35.96') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e3659', v='34.217') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e4467', v='31.472') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e5281', v='27.913') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6086', v='27.77') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6e96', v='27.092') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e7ca6', v='9.65') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e8ab5', v='8.989') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e98c6', v='8.871') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ea6d5', v='11.525') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eb4e6', v='11.312') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec2f6', v='13.145') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ed106', v='12.866') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1edf16', v='13.503') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eed26', v='12.977') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1efb36', v='12.853') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f0946', v='12.322') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1756', v='11.244') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f2566', v='11.357') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f3376', v='13.909') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4187', v='20.778') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4f96', v='17.384') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f5da7', v='17.882') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f6bb6', v='17.779') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f79c7', v='15.628') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f87d6', v='18.718') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f95e7', v='19.687') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa401', v='15.856') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fb204', v='14.235') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fc016', v='14.121') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fce25', v='10.417') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fdc35', v='10.192') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fea45', v='10.247') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ff855', v='12.409') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='200665', v='18.782') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='201475', v='17.709') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='202286', v='24.468') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203095', v='27.895') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203ea5', v='31.135') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='204cb6', v='28.073') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='205ac6', v='26.781') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2068d6', v='27.955') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2076e6', v='31.834') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2084f6', v='30.684') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='209306', v='33.239') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20a116', v='31.592') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20af26', v='27.051') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20bd37', v='26.891') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20cb46', v='22.834') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20d957', v='21.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20e767', v='20.723') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20f581', v='20.412') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='210386', v='17.178') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211194', v='14.845') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211fa5', v='14.404') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='212db5', v='13.895') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='213bc5', v='14.291') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2149d6', v='18.376') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2157e5', v='22.682') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2165f6', v='29.056') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='217406', v='30.985') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='218217', v='31.244') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219026', v='30.501') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219e39', v='30.757') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ac46', v='29.766') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba57', v='29.686') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21c867', v='30.47') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21d677', v='31.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21e487', v='28.958') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21f296', v='28.474') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2200a6', v='27.753') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='220eb7', v='26.676') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='221cc6', v='24.07') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='222ad7', v='18.889') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2238e7', v='17.556') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='224701', v='16.434') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='225505', v='18.47') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='226315', v='9.837') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227125', v='9.73') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227f35', v='12.672') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='228d45', v='17.29') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='229b54', v='17.161') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22a965', v='19.388') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22b776', v='22.792') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22c586', v='25.973') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22d397', v='28.305') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22e1a6', v='28.475') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22efb6', v='23.531') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22fdc7', v='22.62') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='230bd7', v='22.13') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2319e6', v='27.159') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2327f6', v='27.705') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23361b', v='29.796') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='234416', v='27.341') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='235226', v='25.887') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236037', v='25.842') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236e46', v='23.266') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='237c57', v='21.664') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='238a66', v='19.437') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='239881', v='15.912') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23a685', v='16.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23b495', v='15.674') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23c2a4', v='13.705') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23d0b5', v='14.331') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23dec4', v='15.781') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23ecd5', v='18.196') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23fae4', v='22.115') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2408f6', v='26.066') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='241706', v='34.813') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='242518', v='35.914') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='243325', v='36.775') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244137', v='34.277') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244f46', v='32.056') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b66', v='33.001') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='247976', v='31.687') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='248786', v='36.854') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24957e', v='30.428') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24a38f', v='28.246') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24b19c', v='28.984') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24bfac', v='27.176') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24cdbc', v='26.455') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24dbcd', v='21.891') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e9e5', v='20.073') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24f808', v='17.083') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='250616', v='17.921') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='251426', v='17.972') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='252236', v='16.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253047', v='17.324') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253e56', v='20.97') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='254c67', v='21.269') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='255a76', v='25.041') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='256887', v='31.27') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='257697', v='33.712') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2584a8', v='82.744') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2592b6', v='46.746') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25a0c7', v='22.903') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25aed7', v='31.343') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25bce7', v='30.438') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25caf8', v='28.883') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25d907', v='30.794') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25e718', v='31.011') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25f527', v='28.098') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='260338', v='27.177') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261149', v='24.941') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261f59', v='22.834') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='262d68', v='23.209') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='263b83', v='17.56') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='264986', v='17.555') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='265795', v='18.761') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2665a6', v='20.698') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2673b5', v='19.372') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2681c6', v='18.644') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='268fd5', v='18.792') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='269de6', v='18.951') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26abf6', v='18.907') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ba06', v='23.409') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26c817', v='23.511') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26d62b', v='26.941') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26e436', v='24.008') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26f247', v='23.147') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270057', v='23.935') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e67', v='24') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='271c77', v='22.888') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='272a87', v='26.246') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='273897', v='25.909') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2746a8', v='25.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2754b9', v='24.725') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2762c7', v='23.755') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2770d8', v='18.839') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='277ee7', v='15.362') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='8608', h='3dc1a8de') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e08', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c32', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a3c', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3835', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4645', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5455', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6265', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7075', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e85', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c96', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aa5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8b6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6c5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4d7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d30b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef06', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd17', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b27', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11937', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12746', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13556', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14366', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15181', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f85', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d95', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ba4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189b5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197c4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5d5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b3e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c1f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d005', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de15', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec25', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa36', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20845', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21656', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22465', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23276', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24086', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e99', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25ca7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ab7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='278c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='286d6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='294e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a301', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2b105', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2bf15', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2cd25', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2db35', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2e946', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2f755', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='30566', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='31375', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3219e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='32f96', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='33da6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='34bb6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='359de', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='367d6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='375e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3840e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3921e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3a016', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ae27', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3bc36', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ca47', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3d856', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3e667', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3f481', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='40285', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41095', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41ea5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='42cb5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='43ac5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='448d5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='456e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='464f5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='480ff', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='48f0e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='49d1d', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ab46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4b955', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4c769', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4d577', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4e387', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4f196', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ffa6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='50dd0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='51bc6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='529d6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='537e7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='54600', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55406', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='56215', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57026', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57e36', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='58c46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='59a70', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5a867', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5b676', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5c487', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5d296', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5e0a9', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5eeb8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5fcc6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='60ad7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='618e7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='626f7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='63507', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='64317', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65127', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65f37', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='66d46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='67b57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='68967', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='69782', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6a586', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6b395', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6c1a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6cfb5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ddc6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ebd6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6f9e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='707f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='71607', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='72417', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='73227', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74037', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74e47', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='75c57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='76a63', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='77873', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='78680', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7948f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7a29f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7b0af', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7bebf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7cccf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7dadf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e8fa', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f70a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8051a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8132a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8213a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='82f4a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='83d5a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='84b6a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8597a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8678b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8759b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='883ac', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='891bb', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='89fca', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8adda', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8bbeb', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c9fc', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8d80b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8e61a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8f42a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9023a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9104a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='91e5a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='92c6a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='93a84', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='94885', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='95694', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='964a5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='972b4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='980c5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='98ed4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='99ce5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aaf5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9b906', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9c716', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9d526', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9e336', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9f145', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9ff56', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a0d65', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a1b77', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a2986', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a3795', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a45a7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a53b6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a61c7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a6fd6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a7e00', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8c00', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a05', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aa815', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ab625', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ac435', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ad245', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ae055', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aee65', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='afc75', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b0a85', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b26a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b34b6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b42c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b50d6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b5ee7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6cf6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b7b07', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b8917', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b9728', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ba537', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bb347', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bc157', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bcf67', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bdd81', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='beb86', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bf995', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c07a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c15b5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c23c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c31d5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c3fe6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4df5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c5c06', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c6a16', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c7826', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c8636', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c9446', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ca256', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cb066', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cbe76', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ccc87', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cda96', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ce8a8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cf6b7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d04c8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d12d7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d20e7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d2f02', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d3d05', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b15', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d5926', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d6735', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d7546', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d8355', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9166', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9f75', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dad87', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dbb97', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dc9a8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dd7b7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='de5c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='df3d7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e01d7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0fe5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e1df5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e2c04', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e3a14', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e4824', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e5634', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e6444', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e7255', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e806f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e8e7f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e9c8e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eaa9f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eb8ae', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ec6bf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ed4ce', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ee2df', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef0ef', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eff01', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f0d10', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f1b20', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f2930', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f3740', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f4551', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f5361', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6172', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6f80', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f7d91', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f8ba1', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f99b1', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fa7c0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fb5d1', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fc3e0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd1fb', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fe00b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee1c', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ffc2c', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='100a3b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10184c', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10265b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10346c', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10427b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10508d', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='105e9d', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='106cad', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='107abd', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1088cd', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1096de', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10a4ed', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b2fe', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10c10d', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10cf1e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10dd2e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10eb66', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10f94e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11075e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11156d', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='112388', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113187', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113fb0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='114da6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='115bb6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1169c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1177d6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1185e8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1193f7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11a208', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11b017', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11be2f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11cc37', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11da47', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11e857', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11f667', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='120578', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='121386', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122196', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122fa6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='123db5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='124bc5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1259d5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1267e4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='127600', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='128305', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129115', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129f25', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12ad35', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12bb45', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12c954', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12d766', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12e575', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12f386', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130196', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130fa6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='131db7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='132bc5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1339d4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1347e5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1355f4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='136404', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='137214', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138024', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138e33', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='139c44', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13aa54', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13b865', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13c67e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13d48e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13e29e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13f0ae', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13febf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='140ccf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='141adf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1428ef', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1436ff', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14450f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14531f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146130', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146f40', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='147d44', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='148b57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='149965', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14a775', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14b584', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14c397', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14d1a4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14dfb6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14edc5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14fbd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1509e5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1517ff', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='152605', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153415', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='154225', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155035', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155e45', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='156c55', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='157a65', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='158875', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='159686', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15a495', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15b2a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15c0b6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15cec6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15dcd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15eae6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f8f5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='160706', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='161517', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='162326', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163137', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163f46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='164d57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='165b67', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='166982', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='167786', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='168596', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1693a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16a1b5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16afc6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16bdd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16cbe6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d9f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16e807', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16f616', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='170429', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='171236', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172047', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172e57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='173c67', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='174a77', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='175887', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='176694', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1774a3', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1782b3', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1790c5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='179ed4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ace4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17bafd', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17c90f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d71e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17e52f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17f33f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18014f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='180f5f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='181d6e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='182b7f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18398f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1847a1', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1855af', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1863c0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1871cf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='187fe0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='188def', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189c00', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18b80d', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18c61c', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18d42c', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18e23b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18f04b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18fe5e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='190c76', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='191a86', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='192896', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1936a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1944b7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1952c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1960d7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='196ee6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197cf8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='198b0f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19991f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19b541', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19c34d', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19d15e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19df80', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19ed90', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19eebe', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19fb8e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a09a0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a17ae', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a25be', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a33cd', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a41dd', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a4fed', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5e08', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a6c05', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a7a15', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a8826', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9637', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aa445', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ab255', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ac065', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ace75', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1adc87', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aea96', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1af8a7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b06b7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b14c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c8270', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c907e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c9e8f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1caca2', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cbab1', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cc8c1', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cd6d0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ce4de', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cf2f0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0109', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0f06', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d1d15', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d2b25', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d3935', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d4745', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d5555', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d6366', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7175', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7f86', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d8d95', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d9ba6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1da9b6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1db7c7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dc5d5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dd3e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de1f5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1df006', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dfe16', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e0c26', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e1a36', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e2847', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e3659', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e4467', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e5281', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6086', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6e96', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e7ca6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e8ab5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e98c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ea6d5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eb4e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec2f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ed106', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1edf16', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eed26', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1efb36', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f0946', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1756', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f2566', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f3376', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4187', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4f96', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f5da7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f6bb6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f79c7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f87d6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f95e7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa401', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fb204', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fc016', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fce25', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fdc35', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fea45', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ff855', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='200665', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='201475', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='202286', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203095', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203ea5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='204cb6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='205ac6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2068d6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2076e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2084f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='209306', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20a116', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20af26', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20bd37', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20cb46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20d957', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20e767', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20f581', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='210386', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211194', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211fa5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='212db5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='213bc5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2149d6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2157e5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2165f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='217406', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='218217', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219026', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219e39', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ac46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21c867', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21d677', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21e487', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21f296', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2200a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='220eb7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='221cc6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='222ad7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2238e7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='224701', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='225505', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='226315', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227125', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227f35', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='228d45', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='229b54', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22a965', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22b776', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22c586', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22d397', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22e1a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22efb6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22fdc7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='230bd7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2319e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2327f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23361b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='234416', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='235226', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236037', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236e46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='237c57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='238a66', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='239881', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23a685', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23b495', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23c2a4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23d0b5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23dec4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23ecd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23fae4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2408f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='241706', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='242518', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='243325', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244137', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244f46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b66', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='247976', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='248786', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24957e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24a38f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24b19c', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24bfac', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24cdbc', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24dbcd', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e9e5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24f808', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='250616', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='251426', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='252236', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253047', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253e56', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='254c67', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='255a76', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='256887', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='257697', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2584a8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2592b6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25a0c7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25aed7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25bce7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25caf8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25d907', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25e718', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25f527', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='260338', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261149', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261f59', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='262d68', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='263b83', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='264986', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='265795', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2665a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2673b5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2681c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='268fd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='269de6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26abf6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ba06', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26c817', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26d62b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26e436', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26f247', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270057', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e67', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='271c77', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='272a87', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='273897', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2746a8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2754b9', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2762c7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2770d8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='277ee7', v='0') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='8604', h='3dc1a8de') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='21.043') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e08', v='20.051') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c32', v='19.818') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a3c', v='19.554') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3835', v='18.951') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4645', v='18.853') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5455', v='22.398') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6265', v='24.492') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7075', v='29.206') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e85', v='35.063') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c96', v='35.07') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aa5', v='33.585') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8b6', v='30.77') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6c5', v='29.141') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4d7', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d30b', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0f6', v='0.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef06', v='0.059') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd17', v='0.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b27', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11937', v='0.063') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12746', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13556', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14366', v='0.066') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15181', v='0.07') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f85', v='0.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d95', v='0.065') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ba4', v='0.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189b5', v='0.063') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197c4', v='0.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5d5', v='0.066') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b3e6', v='0.067') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c1f6', v='0.066') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d005', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de15', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec25', v='0.063') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa36', v='0.066') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20845', v='0.066') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21656', v='0.066') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22465', v='0.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23276', v='0.063') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24086', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e99', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25ca7', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ab7', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='278c6', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='286d6', v='0.063') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='294e6', v='0.066') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a301', v='0.067') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2b105', v='0.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2bf15', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2cd25', v='0.063') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2db35', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2e946', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2f755', v='0.058') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='30566', v='0.066') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='31375', v='0.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3219e', v='0.066') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='32f96', v='0.063') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='33da6', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='34bb6', v='0.063') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='359de', v='0.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='367d6', v='0.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='375e6', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3840e', v='0.059') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3921e', v='0.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3a016', v='0.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ae27', v='0.063') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3bc36', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ca47', v='0.059') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3d856', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3e667', v='0.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3f481', v='0.068') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='40285', v='0.065') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41095', v='0.066') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41ea5', v='0.065') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='42cb5', v='0.066') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='43ac5', v='0.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='448d5', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='456e6', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='464f5', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='480ff', v='0.058') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='48f0e', v='0.056') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='49d1d', v='0.057') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ab46', v='0.056') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4b955', v='0.057') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4c769', v='0.055') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4d577', v='0.057') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4e387', v='0.057') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4f196', v='0.057') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ffa6', v='0.058') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='50dd0', v='0.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='51bc6', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='529d6', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='537e7', v='0.065') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='54600', v='0.067') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55406', v='0.065') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='56215', v='0.065') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57026', v='0.065') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57e36', v='0.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='58c46', v='0.063') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='59a70', v='0.063') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5a867', v='0.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5b676', v='0.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5c487', v='0.056') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5d296', v='0.058') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5e0a9', v='0.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5eeb8', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5fcc6', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='60ad7', v='0.057') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='618e7', v='0.057') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='626f7', v='0.059') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='63507', v='0.059') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='64317', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65127', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65f37', v='0.063') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='66d46', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='67b57', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='68967', v='0.065') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='69782', v='0.065') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6a586', v='0.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6b395', v='0.065') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6c1a6', v='0.066') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6cfb5', v='0.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ddc6', v='0.063') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ebd6', v='0.059') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6f9e6', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='707f6', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='71607', v='0.059') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='72417', v='0.058') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='73227', v='0.056') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74037', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74e47', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='75c57', v='0.058') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='76a63', v='0.058') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='77873', v='0.058') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='78680', v='0.058') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7948f', v='0.058') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7a29f', v='0.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7b0af', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7bebf', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7cccf', v='0.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7dadf', v='0.065') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e8fa', v='0.065') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f70a', v='0.067') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8051a', v='0.067') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8132a', v='0.066') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8213a', v='0.066') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='82f4a', v='0.067') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='83d5a', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='84b6a', v='0.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8597a', v='0.059') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8678b', v='0.059') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8759b', v='0.057') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='883ac', v='0.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='891bb', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='89fca', v='0.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8adda', v='0.059') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8bbeb', v='0.059') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c9fc', v='0.058') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8d80b', v='0.058') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8e61a', v='0.059') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8f42a', v='0.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9023a', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9104a', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='91e5a', v='0.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='92c6a', v='0.063') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='93a84', v='0.067') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='94885', v='0.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='95694', v='0.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='964a5', v='0.065') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='972b4', v='0.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='980c5', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='98ed4', v='0.065') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='99ce5', v='0.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aaf5', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9b906', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9c716', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9d526', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9e336', v='0.063') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9f145', v='0.063') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9ff56', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a0d65', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a1b77', v='30.22') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a2986', v='16.054') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a3795', v='10.22') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a45a7', v='3.839') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a53b6', v='3.301') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a61c7', v='4.19') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a6fd6', v='2.002') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a7e00', v='4.911') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8c00', v='7.897') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a05', v='2.934') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aa815', v='1.487') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ab625', v='2.196') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ac435', v='1.679') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ad245', v='5.984') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ae055', v='10.661') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aee65', v='3.653') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='afc75', v='7.252') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b0a85', v='19.708') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b26a6', v='21.128') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b34b6', v='18.358') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b42c6', v='3.456') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b50d6', v='4.916') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b5ee7', v='7.337') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6cf6', v='7.205') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b7b07', v='9.191') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b8917', v='8.027') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b9728', v='7.688') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ba537', v='8.667') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bb347', v='7.734') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bc157', v='5.148') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bcf67', v='5.081') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bdd81', v='18.433') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='beb86', v='4.676') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bf995', v='3.97') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c07a6', v='2.247') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c15b5', v='2.519') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c23c6', v='4.784') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c31d5', v='10.406') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c3fe6', v='5.863') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4df5', v='9.668') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c5c06', v='5.194') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c6a16', v='5.35') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c7826', v='7.745') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c8636', v='3.651') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c9446', v='4.236') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ca256', v='3.281') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cb066', v='5.657') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cbe76', v='2.249') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ccc87', v='12.004') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cda96', v='15.833') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ce8a8', v='11.981') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cf6b7', v='15.145') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d04c8', v='12.386') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d12d7', v='8.53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d20e7', v='1.474') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d2f02', v='7.441') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d3d05', v='4.262') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b15', v='3.805') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d5926', v='3.752') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d6735', v='5.538') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d7546', v='9.524') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d8355', v='1.988') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9166', v='4.159') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9f75', v='9.621') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dad87', v='17.704') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dbb97', v='19.171') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dc9a8', v='19.252') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dd7b7', v='14.961') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='de5c6', v='12.816') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='df3d7', v='13.113') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e01d7', v='13.435') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0fe5', v='13.283') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e1df5', v='13.989') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e2c04', v='18.098') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e3a14', v='17.742') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e4824', v='15.229') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e5634', v='15.263') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e6444', v='11.968') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e7255', v='9.893') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e806f', v='7.997') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e8e7f', v='13.888') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e9c8e', v='6.336') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eaa9f', v='5.634') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eb8ae', v='7.369') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ec6bf', v='14.276') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ed4ce', v='9.674') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ee2df', v='12.81') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef0ef', v='14.985') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eff01', v='21.531') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f0d10', v='21.038') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f1b20', v='22.908') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f2930', v='20.891') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f3740', v='22.234') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f4551', v='22.517') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f5361', v='24.172') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6172', v='23.008') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6f80', v='23.475') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f7d91', v='22.059') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f8ba1', v='18.671') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f99b1', v='18.447') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fa7c0', v='15.862') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fb5d1', v='16.38') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fc3e0', v='15.165') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd1fb', v='12.335') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fe00b', v='12.283') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee1c', v='8.941') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ffc2c', v='8.837') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='100a3b', v='8.793') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10184c', v='10.043') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10265b', v='13.932') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10346c', v='15.974') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10427b', v='19.167') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10508d', v='22.237') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='105e9d', v='21.533') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='106cad', v='23.309') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='107abd', v='20.333') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1088cd', v='18.556') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1096de', v='20.163') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10a4ed', v='19.978') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b2fe', v='21.155') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10c10d', v='23.964') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10cf1e', v='21.874') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10dd2e', v='19.591') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10eb66', v='20.234') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10f94e', v='17.32') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11075e', v='16.556') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11156d', v='13.217') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='112388', v='12.271') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113187', v='8.967') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113fb0', v='8.319') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='114da6', v='8.357') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='115bb6', v='8.49') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1169c6', v='10.458') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1177d6', v='13.998') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1185e8', v='15.461') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1193f7', v='18.331') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11a208', v='22.284') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11b017', v='19.151') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11be2f', v='23.464') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11cc37', v='20.211') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11da47', v='19.83') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11e857', v='20.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11f667', v='18.042') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='120578', v='0.018') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='121386', v='0.02') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122196', v='0.02') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122fa6', v='0.017') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='123db5', v='0.015') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='124bc5', v='0.014') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1259d5', v='0.011') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1267e4', v='0.01') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='127600', v='0.009') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='128305', v='0.008') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129115', v='0.008') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129f25', v='0.008') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12ad35', v='0.007') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12bb45', v='0.007') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12c954', v='0.01') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12d766', v='0.011') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12e575', v='0.016') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12f386', v='0.013') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130196', v='0.019') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130fa6', v='0.014') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='131db7', v='0.015') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='132bc5', v='0.015') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1339d4', v='0.269') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1347e5', v='0.124') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1355f4', v='0.16') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='136404', v='0.227') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='137214', v='0.243') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138024', v='0.236') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138e33', v='0.239') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='139c44', v='0.074') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13aa54', v='0.086') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13b865', v='0.031') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13c67e', v='0.412') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13d48e', v='0.199') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13e29e', v='0.15') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13f0ae', v='0.14') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13febf', v='0.218') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='140ccf', v='0.309') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='141adf', v='0.206') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1428ef', v='0.032') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1436ff', v='0.065') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14450f', v='0.054') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14531f', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146130', v='0.025') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146f40', v='0.09') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='147d44', v='0.03') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='148b57', v='0.038') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='149965', v='0.026') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14a775', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14b584', v='0.086') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14c397', v='0.251') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14d1a4', v='0.225') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14dfb6', v='0.193') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14edc5', v='0.103') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14fbd5', v='0.044') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1509e5', v='0.023') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1517ff', v='0.068') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='152605', v='0.157') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153415', v='0.105') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='154225', v='0.097') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155035', v='0.127') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155e45', v='0.189') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='156c55', v='0.281') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='157a65', v='0.162') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='158875', v='0.15') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='159686', v='0.246') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15a495', v='0.211') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15b2a6', v='0.188') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15c0b6', v='0.105') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15cec6', v='0.092') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15dcd5', v='0.099') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15eae6', v='0.112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f8f5', v='0.29') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='160706', v='0.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='161517', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='162326', v='0.072') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163137', v='0.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163f46', v='0.101') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='164d57', v='0.045') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='165b67', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='166982', v='0.057') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='167786', v='0.07') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='168596', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1693a6', v='0.029') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16a1b5', v='0.026') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16afc6', v='0.075') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16bdd5', v='0.178') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16cbe6', v='0.221') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d9f6', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16e807', v='0.578') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16f616', v='0.633') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='170429', v='0.678') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='171236', v='0.456') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172047', v='0.461') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172e57', v='0.475') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='173c67', v='0.487') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='174a77', v='0.565') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='175887', v='0.597') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='176694', v='34.372') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1774a3', v='33.056') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1782b3', v='34.198') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1790c5', v='31.148') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='179ed4', v='26.734') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ace4', v='26.883') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17bafd', v='28.046') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17c90f', v='25.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d71e', v='24.826') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17e52f', v='25.129') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17f33f', v='22.979') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18014f', v='22.968') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='180f5f', v='28.04') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='181d6e', v='30.608') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='182b7f', v='35.156') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18398f', v='61.079') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1847a1', v='61.118') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1855af', v='58.214') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1863c0', v='54.149') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1871cf', v='56.141') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='187fe0', v='53.757') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='188def', v='57.188') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189c00', v='53.596') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18b80d', v='36.269') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18c61c', v='36.626') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18d42c', v='35.102') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18e23b', v='29.855') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18f04b', v='28.307') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18fe5e', v='25.364') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='190c76', v='19.996') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='191a86', v='19.748') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='192896', v='19.345') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1936a6', v='18.873') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1944b7', v='18.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1952c6', v='20.032') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1960d7', v='25.137') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='196ee6', v='27.508') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197cf8', v='29.449') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='198b0f', v='27.372') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19991f', v='30.562') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19b541', v='29.963') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19c34d', v='28.336') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19d15e', v='28.102') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19df80', v='28.864') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19ed90', v='28.278') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19eebe', v='28.399') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19fb8e', v='11.016') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a09a0', v='14.155') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a17ae', v='19.132') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a25be', v='20.28') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a33cd', v='11.28') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a41dd', v='12.25') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a4fed', v='16.561') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5e08', v='15.15') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a6c05', v='9.953') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a7a15', v='12.732') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a8826', v='12.958') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9637', v='9.685') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aa445', v='6.805') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ab255', v='4.559') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ac065', v='10.632') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ace75', v='14.64') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1adc87', v='14.182') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aea96', v='13.717') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1af8a7', v='15.071') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b06b7', v='13.236') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b14c6', v='12.746') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='3.999') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c8270', v='2.186') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c907e', v='16.585') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c9e8f', v='14.378') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1caca2', v='16.041') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cbab1', v='15.799') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cc8c1', v='29.25') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cd6d0', v='27.621') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ce4de', v='25.453') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cf2f0', v='24.369') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0109', v='25.348') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0f06', v='28.687') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d1d15', v='28.373') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d2b25', v='28.801') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d3935', v='30.045') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d4745', v='30.644') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d5555', v='30.354') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d6366', v='24.933') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7175', v='23.813') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7f86', v='23.818') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d8d95', v='15.153') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d9ba6', v='16.69') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1da9b6', v='16.385') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1db7c7', v='15.643') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dc5d5', v='16.269') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dd3e6', v='16.689') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de1f5', v='27.897') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1df006', v='31.449') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dfe16', v='31.232') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e0c26', v='32.001') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e1a36', v='31.999') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e2847', v='30.669') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e3659', v='29.185') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e4467', v='27.199') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e5281', v='23.798') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6086', v='23.566') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6e96', v='23.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e7ca6', v='8.573') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e8ab5', v='7.913') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e98c6', v='7.851') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ea6d5', v='9.845') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eb4e6', v='10.177') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec2f6', v='11.732') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ed106', v='11.554') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1edf16', v='12.067') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eed26', v='11.725') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1efb36', v='11.465') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f0946', v='10.851') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1756', v='10.928') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f2566', v='10.984') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f3376', v='13.626') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4187', v='19.399') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4f96', v='16.326') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f5da7', v='15.848') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f6bb6', v='15.785') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f79c7', v='14.319') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f87d6', v='15.77') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f95e7', v='16.295') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa401', v='13.382') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fb204', v='11.752') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fc016', v='11.694') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fce25', v='9.24') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fdc35', v='8.969') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fea45', v='9.42') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ff855', v='11.299') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='200665', v='18.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='201475', v='15.989') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='202286', v='23.363') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203095', v='26.071') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203ea5', v='29.283') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='204cb6', v='25.856') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='205ac6', v='25.235') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2068d6', v='26.405') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2076e6', v='30.076') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2084f6', v='28.433') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='209306', v='30.271') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20a116', v='28.557') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20af26', v='24.542') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20bd37', v='23.962') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20cb46', v='21.242') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20d957', v='19.633') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20e767', v='18.009') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20f581', v='17.798') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='210386', v='15.304') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211194', v='13.453') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211fa5', v='13.055') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='212db5', v='12.872') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='213bc5', v='13.544') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2149d6', v='17.25') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2157e5', v='21.046') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2165f6', v='25.832') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='217406', v='27.791') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='218217', v='28.054') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219026', v='27.63') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219e39', v='28.457') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ac46', v='27.725') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba57', v='27.922') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21c867', v='28.25') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21d677', v='27.539') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21e487', v='26.251') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21f296', v='25.947') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2200a6', v='24.671') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='220eb7', v='24.383') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='221cc6', v='22.742') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='222ad7', v='17.742') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2238e7', v='16.117') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='224701', v='14.548') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='225505', v='18.418') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='226315', v='10.147') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227125', v='10.648') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227f35', v='13.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='228d45', v='17.082') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='229b54', v='15.723') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22a965', v='17.627') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22b776', v='21.083') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22c586', v='24.293') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22d397', v='26.823') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22e1a6', v='27.04') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22efb6', v='22.091') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22fdc7', v='21.514') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='230bd7', v='20.922') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2319e6', v='25.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2327f6', v='25.959') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23361b', v='27.644') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='234416', v='25.578') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='235226', v='24.199') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236037', v='23.83') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236e46', v='22.719') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='237c57', v='20.952') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='238a66', v='18.382') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='239881', v='14.928') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23a685', v='14.859') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23b495', v='14.081') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23c2a4', v='13.309') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23d0b5', v='13.726') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23dec4', v='15.071') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23ecd5', v='17.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23fae4', v='20.612') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2408f6', v='24.891') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='241706', v='32.942') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='242518', v='34.247') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='243325', v='34.787') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244137', v='31.176') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244f46', v='29.806') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b66', v='30.569') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='247976', v='29.175') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='248786', v='34.921') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24957e', v='28.767') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24a38f', v='25.797') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24b19c', v='26.161') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24bfac', v='24.769') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24cdbc', v='24.053') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24dbcd', v='20.28') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e9e5', v='18.22') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24f808', v='15.345') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='250616', v='15.953') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='251426', v='15.884') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='252236', v='15.054') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253047', v='16.014') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253e56', v='19.574') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='254c67', v='20.065') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='255a76', v='23.936') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='256887', v='29.274') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='257697', v='31.691') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2584a8', v='75.154') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2592b6', v='41.458') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25a0c7', v='21.221') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25aed7', v='29.417') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25bce7', v='28.597') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25caf8', v='27.256') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25d907', v='28.925') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25e718', v='29.38') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25f527', v='26.559') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='260338', v='25.234') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261149', v='23.312') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261f59', v='21.317') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='262d68', v='20.761') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='263b83', v='16.36') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='264986', v='15.657') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='265795', v='16.618') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2665a6', v='17.888') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2673b5', v='16.861') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2681c6', v='16.617') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='268fd5', v='17.428') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='269de6', v='18.225') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26abf6', v='18.415') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ba06', v='22.126') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26c817', v='22.126') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26d62b', v='25.782') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26e436', v='22.774') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26f247', v='22.774') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270057', v='22.909') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e67', v='23.139') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='271c77', v='21.553') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='272a87', v='23.539') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='273897', v='23.139') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2746a8', v='22.735') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2754b9', v='22.335') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2762c7', v='23.205') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2770d8', v='18.238') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='277ee7', v='14.136') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='9812', h='3dc1a8de') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='114.081') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e08', v='117.19') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c32', v='118.964') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a3c', v='120.564') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3835', v='118.747') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4645', v='116.529') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5455', v='109.384') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6265', v='121.356') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7075', v='119.014') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e85', v='116.226') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c96', v='120.175') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aa5', v='120.949') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8b6', v='124.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6c5', v='124.043') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4d7', v='117.761') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d30b', v='118.092') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0f6', v='118.354') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef06', v='118.633') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd17', v='118.494') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b27', v='121.243') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11937', v='122.278') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12746', v='119.689') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13556', v='121.165') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14366', v='125.688') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15181', v='127.517') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f85', v='119.508') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d95', v='121.27') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ba4', v='121.262') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189b5', v='120.595') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197c4', v='118.725') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5d5', v='126.913') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b3e6', v='125.984') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c1f6', v='124.971') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d005', v='121.722') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de15', v='122.233') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec25', v='122.836') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa36', v='124.125') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20845', v='125.105') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21656', v='125.266') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22465', v='125.381') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23276', v='123.688') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24086', v='119.437') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e99', v='119.167') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25ca7', v='120.334') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ab7', v='119.837') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='278c6', v='120.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='286d6', v='122.074') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='294e6', v='125.542') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a301', v='125.638') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2b105', v='117.398') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2bf15', v='118.807') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2cd25', v='119.644') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2db35', v='119.674') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2e946', v='117.549') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2f755', v='113.229') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='30566', v='125.153') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='31375', v='124.691') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3219e', v='123.556') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='32f96', v='123.231') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='33da6', v='123.404') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='34bb6', v='123.932') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='359de', v='123.328') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='367d6', v='122.641') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='375e6', v='121.544') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3840e', v='118.209') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3921e', v='118.675') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3a016', v='118.325') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ae27', v='121.893') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3bc36', v='120.711') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ca47', v='119.854') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3d856', v='120.165') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3e667', v='122.996') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3f481', v='126.557') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='40285', v='124.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41095', v='124.874') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41ea5', v='125.244') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='42cb5', v='125.083') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='43ac5', v='123.182') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='448d5', v='119.311') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='456e6', v='122.524') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='464f5', v='121.173') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='480ff', v='118.696') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='48f0e', v='117.559') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='49d1d', v='118.947') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ab46', v='118.797') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4b955', v='117.048') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4c769', v='116.182') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4d577', v='119.101') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4e387', v='119.152') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4f196', v='116.814') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ffa6', v='118.943') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='50dd0', v='120.844') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='51bc6', v='119.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='529d6', v='120.802') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='537e7', v='123.095') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='54600', v='125.922') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55406', v='122.082') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='56215', v='123.001') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57026', v='123.033') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57e36', v='122.972') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='58c46', v='120.717') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='59a70', v='121.599') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5a867', v='120.977') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5b676', v='119.038') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5c487', v='115.798') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5d296', v='119.913') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5e0a9', v='120.284') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5eeb8', v='119.451') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5fcc6', v='118.325') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='60ad7', v='117.111') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='618e7', v='117.263') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='626f7', v='120.147') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='63507', v='117.534') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='64317', v='118.902') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65127', v='120.099') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65f37', v='121.434') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='66d46', v='121.986') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='67b57', v='120.683') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='68967', v='122.861') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='69782', v='119.35') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6a586', v='120.845') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6b395', v='122.119') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6c1a6', v='122.506') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6cfb5', v='121.462') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ddc6', v='118.909') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ebd6', v='116.372') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6f9e6', v='121.311') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='707f6', v='119.412') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='71607', v='118.281') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='72417', v='118.148') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='73227', v='117.811') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74037', v='121.694') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74e47', v='120.755') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='75c57', v='118.651') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='76a63', v='118.08') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='77873', v='118.282') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='78680', v='113.911') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7948f', v='116.941') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7a29f', v='119.508') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7b0af', v='119.071') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7bebf', v='121.146') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7cccf', v='121.336') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7dadf', v='122.095') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e8fa', v='121.785') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f70a', v='124.065') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8051a', v='125.455') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8132a', v='126.011') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8213a', v='125.018') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='82f4a', v='122.741') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='83d5a', v='120.26') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='84b6a', v='118.856') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8597a', v='118.817') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8678b', v='117.807') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8759b', v='117.444') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='883ac', v='119.967') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='891bb', v='121.141') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='89fca', v='120.259') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8adda', v='118.558') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8bbeb', v='118.812') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c9fc', v='118.633') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8d80b', v='118.948') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8e61a', v='117.315') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8f42a', v='118.146') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9023a', v='120.121') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9104a', v='120.561') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='91e5a', v='118.638') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='92c6a', v='122.844') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='93a84', v='125.153') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='94885', v='123.463') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='95694', v='122.793') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='964a5', v='123.093') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='972b4', v='122.535') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='980c5', v='120.189') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='98ed4', v='123.097') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='99ce5', v='119.336') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aaf5', v='118.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9b906', v='115.743') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9c716', v='119.722') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9d526', v='120.222') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9e336', v='118.918') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9f145', v='117.551') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9ff56', v='116.649') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a0d65', v='116.52') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a1b77', v='116.703') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a2986', v='118.806') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a3795', v='118.461') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a45a7', v='119.593') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a53b6', v='119.78') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a61c7', v='119.973') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a6fd6', v='120.761') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a7e00', v='122.782') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8c00', v='125.444') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a05', v='118.255') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aa815', v='119.302') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ab625', v='120.149') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ac435', v='119.678') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ad245', v='117.138') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ae055', v='114.681') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aee65', v='120.851') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='afc75', v='119.099') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b0a85', v='116.609') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b26a6', v='116.729') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b34b6', v='118.045') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b42c6', v='115.477') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b50d6', v='115.891') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b5ee7', v='114.24') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6cf6', v='122.794') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b7b07', v='119.002') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b8917', v='118.701') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b9728', v='119.602') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ba537', v='120.963') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bb347', v='119.924') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bc157', v='120.628') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bcf67', v='123.122') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bdd81', v='118.683') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='beb86', v='118.301') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bf995', v='118.882') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c07a6', v='120.187') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c15b5', v='119.576') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c23c6', v='118.243') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c31d5', v='115.692') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c3fe6', v='117.56') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4df5', v='116.057') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c5c06', v='117.411') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c6a16', v='117.486') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c7826', v='116.745') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c8636', v='118.265') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c9446', v='118.202') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ca256', v='118.004') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cb066', v='117.255') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cbe76', v='122.71') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ccc87', v='118.736') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cda96', v='116.734') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ce8a8', v='118.339') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cf6b7', v='118.66') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d04c8', v='119.703') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d12d7', v='121.536') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d20e7', v='123.419') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d2f02', v='126.186') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d3d05', v='119.31') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b15', v='120.58') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d5926', v='120.857') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d6735', v='119.582') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d7546', v='117.426') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d8355', v='124.349') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9166', v='122.435') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9f75', v='120.692') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dad87', v='117.233') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dbb97', v='116.862') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dc9a8', v='116.728') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dd7b7', v='118.212') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='de5c6', v='117.857') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='df3d7', v='117.176') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e01d7', v='117.271') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0fe5', v='116.796') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e1df5', v='117.361') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e2c04', v='119.769') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e3a14', v='121.05') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e4824', v='120.921') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e5634', v='122.497') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e6444', v='120.677') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e7255', v='122.67') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e806f', v='123.778') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e8e7f', v='116.655') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e9c8e', v='118.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eaa9f', v='118.372') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eb8ae', v='117.527') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ec6bf', v='113.518') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ed4ce', v='123.496') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ee2df', v='120.611') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef0ef', v='118.704') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eff01', v='115.651') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f0d10', v='117.487') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f1b20', v='117.186') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f2930', v='121.114') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f3740', v='117.611') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f4551', v='117.892') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f5361', v='117.718') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6172', v='117.584') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6f80', v='117.38') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f7d91', v='119.222') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f8ba1', v='121.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f99b1', v='120.221') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fa7c0', v='118.379') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fb5d1', v='118.238') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fc3e0', v='123.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd1fb', v='123.007') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fe00b', v='126.294') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee1c', v='123.682') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ffc2c', v='123.591') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='100a3b', v='122.918') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10184c', v='121.387') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10265b', v='117.586') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10346c', v='117.716') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10427b', v='119.191') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10508d', v='117.355') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='105e9d', v='117.862') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='106cad', v='117.531') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='107abd', v='119.886') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1088cd', v='119.426') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1096de', v='118.72') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10a4ed', v='119.004') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b2fe', v='118.725') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10c10d', v='116.196') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10cf1e', v='118.111') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10dd2e', v='119.001') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10eb66', v='120.963') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10f94e', v='121.34') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11075e', v='119.151') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11156d', v='120.797') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='112388', v='123.519') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113187', v='122.366') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113fb0', v='123.381') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='114da6', v='123.296') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='115bb6', v='123.047') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1169c6', v='120.874') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1177d6', v='118.017') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1185e8', v='118.388') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1193f7', v='117.753') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11a208', v='119.761') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11b017', v='121.547') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11be2f', v='122.028') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11cc37', v='122.195') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11da47', v='121.783') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11e857', v='120.581') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11f667', v='121.685') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='120578', v='120.972') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='121386', v='116.836') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122196', v='117.633') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122fa6', v='118.83') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='123db5', v='120.746') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='124bc5', v='122.541') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1259d5', v='120.249') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1267e4', v='122.708') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='127600', v='124.538') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='128305', v='125.289') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129115', v='125.325') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129f25', v='125.49') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12ad35', v='124.672') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12bb45', v='122.813') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12c954', v='121.573') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12d766', v='120.719') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12e575', v='119.706') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12f386', v='116.935') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130196', v='117.255') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130fa6', v='118.365') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='131db7', v='119.829') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='132bc5', v='119.607') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1339d4', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1347e5', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1355f4', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='136404', v='0.106') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='137214', v='0.106') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138024', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138e33', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='139c44', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13aa54', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13b865', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13c67e', v='0.101') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13d48e', v='0.104') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13e29e', v='0.106') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13f0ae', v='0.106') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13febf', v='0.104') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='140ccf', v='0.102') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='141adf', v='0.104') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1428ef', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1436ff', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14450f', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14531f', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146130', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146f40', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='147d44', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='148b57', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='149965', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14a775', v='0.106') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14b584', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14c397', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14d1a4', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14dfb6', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14edc5', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14fbd5', v='0.112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1509e5', v='0.112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1517ff', v='0.115') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='152605', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153415', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='154225', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155035', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155e45', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='156c55', v='0.104') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='157a65', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='158875', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='159686', v='0.106') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15a495', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15b2a6', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15c0b6', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15cec6', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15dcd5', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15eae6', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f8f5', v='0.104') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='160706', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='161517', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='162326', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163137', v='0.111') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163f46', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='164d57', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='165b67', v='0.112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='166982', v='0.111') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='167786', v='0.112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='168596', v='0.113') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1693a6', v='0.113') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16a1b5', v='0.112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16afc6', v='0.111') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16bdd5', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16cbe6', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d9f6', v='0.111') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16e807', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16f616', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='170429', v='0.111') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='171236', v='0.112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172047', v='0.112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172e57', v='0.111') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='173c67', v='0.111') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='174a77', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='175887', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='176694', v='118.351') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1774a3', v='119.763') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1782b3', v='120.872') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1790c5', v='121.443') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='179ed4', v='124.587') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ace4', v='127.119') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17bafd', v='128.887') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17c90f', v='127.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d71e', v='127.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17e52f', v='127.35') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17f33f', v='126.552') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18014f', v='124.71') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='180f5f', v='124.077') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='181d6e', v='125.099') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='182b7f', v='125.025') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18398f', v='123.954') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1847a1', v='123.641') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1855af', v='124.308') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1863c0', v='126.201') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1871cf', v='125.426') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='187fe0', v='125.045') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='188def', v='124.868') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189c00', v='123.854') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18b80d', v='117.177') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18c61c', v='120.985') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18d42c', v='121.689') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18e23b', v='121.514') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18f04b', v='123.76') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18fe5e', v='125.848') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='190c76', v='123.162') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='191a86', v='124.87') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='192896', v='126.457') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1936a6', v='126.565') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1944b7', v='125.821') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1952c6', v='123.654') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1960d7', v='120.985') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='196ee6', v='121.019') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197cf8', v='120.771') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='198b0f', v='120.139') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19991f', v='120.067') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19b541', v='122.459') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19c34d', v='121.603') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19d15e', v='120.856') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19df80', v='120.882') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19ed90', v='120.049') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19eebe', v='119.903') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19fb8e', v='116.012') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a09a0', v='119.283') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a17ae', v='120.303') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a25be', v='121.728') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a33cd', v='121.516') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a41dd', v='122.849') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a4fed', v='126.093') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5e08', v='126.725') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a6c05', v='124.883') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a7a15', v='125.931') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a8826', v='126.096') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9637', v='124.906') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aa445', v='123.654') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ab255', v='121.493') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ac065', v='123.897') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ace75', v='123.756') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1adc87', v='122.369') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aea96', v='121.934') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1af8a7', v='122.306') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b06b7', v='124.041') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b14c6', v='123.698') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='120.029') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c8270', v='120.033') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c907e', v='119.314') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c9e8f', v='120.479') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1caca2', v='121.91') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cbab1', v='122.485') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cc8c1', v='118.564') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cd6d0', v='119.367') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ce4de', v='120.808') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cf2f0', v='123.105') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0109', v='125.021') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0f06', v='123.274') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d1d15', v='123.92') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d2b25', v='123.876') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d3935', v='122.883') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d4745', v='122.072') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d5555', v='121.544') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d6366', v='123.27') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7175', v='123.513') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7f86', v='122.604') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d8d95', v='121.281') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d9ba6', v='121.716') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1da9b6', v='122.714') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1db7c7', v='123.129') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dc5d5', v='123.431') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dd3e6', v='122.987') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de1f5', v='119.262') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1df006', v='118.087') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dfe16', v='116.532') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e0c26', v='118.618') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e1a36', v='119.706') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e2847', v='120.899') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e3659', v='120.718') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e4467', v='121.624') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e5281', v='117.925') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6086', v='120.928') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6e96', v='122.34') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e7ca6', v='122.972') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e8ab5', v='123.05') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e98c6', v='122.44') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ea6d5', v='120.735') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eb4e6', v='120.711') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec2f6', v='123.688') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ed106', v='122.853') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1edf16', v='122.754') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eed26', v='122.975') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1efb36', v='123.49') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f0946', v='123.278') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1756', v='121.776') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f2566', v='121.458') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f3376', v='120.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4187', v='116.832') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4f96', v='119.948') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f5da7', v='120.022') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f6bb6', v='120.884') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f79c7', v='119.618') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f87d6', v='122.811') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f95e7', v='123.997') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa401', v='126.654') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fb204', v='125.574') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fc016', v='126.495') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fce25', v='126.021') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fdc35', v='125.521') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fea45', v='123.104') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ff855', v='121.073') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='200665', v='117.997') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='201475', v='119.376') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='202286', v='119.302') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203095', v='120.24') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203ea5', v='120.497') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='204cb6', v='123.276') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='205ac6', v='121.287') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2068d6', v='120.492') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2076e6', v='119.643') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2084f6', v='117.626') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='209306', v='121.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20a116', v='120.861') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20af26', v='120.493') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20bd37', v='121.526') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20cb46', v='119.46') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20d957', v='120.284') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20e767', v='121.713') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20f581', v='124.203') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='210386', v='126.587') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211194', v='124.627') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211fa5', v='124.526') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='212db5', v='123.821') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='213bc5', v='122.357') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2149d6', v='118.642') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2157e5', v='116.651') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2165f6', v='122.439') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='217406', v='120.232') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='218217', v='119.322') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219026', v='120.236') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219e39', v='120.346') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ac46', v='119.148') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba57', v='118.907') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21c867', v='117.874') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21d677', v='122.584') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21e487', v='120.252') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21f296', v='120.469') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2200a6', v='121.303') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='220eb7', v='122.183') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='221cc6', v='118.747') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='222ad7', v='120.81') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2238e7', v='123.937') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='224701', v='126.687') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='225505', v='119.553') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='226315', v='119.757') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227125', v='119.753') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227f35', v='117.557') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='228d45', v='116.262') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='229b54', v='122.469') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22a965', v='119.765') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22b776', v='119.78') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22c586', v='119.006') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22d397', v='118.696') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22e1a6', v='119.018') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22efb6', v='120.765') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22fdc7', v='120.41') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='230bd7', v='119.608') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2319e6', v='119.268') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2327f6', v='118.221') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23361b', v='119.234') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='234416', v='118.199') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='235226', v='119.524') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236037', v='120.76') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236e46', v='118.446') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='237c57', v='119.86') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='238a66', v='121.458') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='239881', v='120.937') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23a685', v='122.353') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23b495', v='123.085') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23c2a4', v='123.145') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23d0b5', v='122.277') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23dec4', v='121.153') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23ecd5', v='119.31') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23fae4', v='120.616') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2408f6', v='118.482') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='241706', v='117.789') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='242518', v='118.178') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='243325', v='118.65') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244137', v='119.893') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244f46', v='119.172') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b66', v='118.88') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='247976', v='118.03') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='248786', v='115.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24957e', v='118.091') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24a38f', v='119.601') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24b19c', v='120.844') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24bfac', v='120.094') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24cdbc', v='123.851') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24dbcd', v='123.499') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e9e5', v='124.806') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24f808', v='124.27') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='250616', v='124.985') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='251426', v='125.02') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='252236', v='123.483') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253047', v='122.436') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253e56', v='120.041') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='254c67', v='119.496') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='255a76', v='119.362') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='256887', v='117.767') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='257697', v='118.616') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2584a8', v='117.274') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2592b6', v='118.975') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25a0c7', v='119.79') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25aed7', v='119.331') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25bce7', v='119.194') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25caf8', v='118.637') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25d907', v='120.535') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25e718', v='119.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25f527', v='120.403') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='260338', v='121.054') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261149', v='119.413') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261f59', v='120.38') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='262d68', v='123.203') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='263b83', v='121.143') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='264986', v='122.976') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='265795', v='123.697') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2665a6', v='124.476') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2673b5', v='123.592') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2681c6', v='123.177') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='268fd5', v='121.853') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='269de6', v='121.298') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26abf6', v='120.593') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ba06', v='118.763') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26c817', v='118.278') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26d62b', v='118.596') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26e436', v='119.984') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26f247', v='119.523') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270057', v='119.574') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e67', v='119.013') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='271c77', v='119.722') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='272a87', v='120.875') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='273897', v='120.668') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2746a8', v='121.451') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2754b9', v='121.838') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2762c7', v='119.053') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2770d8', v='121.03') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='277ee7', v='123.544') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='9808', h='3dc1a8de') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e08', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c32', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a3c', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3835', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4645', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5455', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6265', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7075', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e85', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c96', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aa5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8b6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6c5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4d7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d30b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef06', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd17', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b27', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11937', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12746', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13556', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14366', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15181', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f85', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d95', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ba4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189b5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197c4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5d5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b3e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c1f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d005', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de15', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec25', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa36', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20845', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21656', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22465', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23276', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24086', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e99', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25ca7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ab7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='278c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='286d6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='294e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a301', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2b105', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2bf15', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2cd25', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2db35', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2e946', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2f755', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='30566', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='31375', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3219e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='32f96', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='33da6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='34bb6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='359de', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='367d6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='375e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3840e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3921e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3a016', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ae27', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3bc36', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ca47', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3d856', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3e667', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3f481', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='40285', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41095', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41ea5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='42cb5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='43ac5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='448d5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='456e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='464f5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='480ff', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='48f0e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='49d1d', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ab46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4b955', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4c769', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4d577', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4e387', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4f196', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ffa6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='50dd0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='51bc6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='529d6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='537e7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='54600', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55406', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='56215', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57026', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57e36', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='58c46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='59a70', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5a867', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5b676', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5c487', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5d296', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5e0a9', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5eeb8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5fcc6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='60ad7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='618e7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='626f7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='63507', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='64317', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65127', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65f37', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='66d46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='67b57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='68967', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='69782', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6a586', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6b395', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6c1a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6cfb5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ddc6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ebd6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6f9e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='707f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='71607', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='72417', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='73227', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74037', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74e47', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='75c57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='76a63', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='77873', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='78680', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7948f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7a29f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7b0af', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7bebf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7cccf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7dadf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e8fa', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f70a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8051a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8132a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8213a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='82f4a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='83d5a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='84b6a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8597a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8678b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8759b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='883ac', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='891bb', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='89fca', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8adda', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8bbeb', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c9fc', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8d80b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8e61a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8f42a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9023a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9104a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='91e5a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='92c6a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='93a84', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='94885', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='95694', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='964a5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='972b4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='980c5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='98ed4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='99ce5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aaf5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9b906', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9c716', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9d526', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9e336', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9f145', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9ff56', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a0d65', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a1b77', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a2986', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a3795', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a45a7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a53b6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a61c7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a6fd6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a7e00', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8c00', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a05', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aa815', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ab625', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ac435', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ad245', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ae055', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aee65', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='afc75', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b0a85', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b26a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b34b6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b42c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b50d6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b5ee7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6cf6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b7b07', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b8917', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b9728', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ba537', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bb347', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bc157', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bcf67', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bdd81', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='beb86', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bf995', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c07a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c15b5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c23c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c31d5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c3fe6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4df5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c5c06', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c6a16', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c7826', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c8636', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c9446', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ca256', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cb066', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cbe76', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ccc87', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cda96', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ce8a8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cf6b7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d04c8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d12d7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d20e7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d2f02', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d3d05', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b15', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d5926', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d6735', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d7546', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d8355', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9166', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9f75', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dad87', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dbb97', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dc9a8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dd7b7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='de5c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='df3d7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e01d7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0fe5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e1df5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e2c04', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e3a14', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e4824', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e5634', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e6444', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e7255', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e806f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e8e7f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e9c8e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eaa9f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eb8ae', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ec6bf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ed4ce', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ee2df', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef0ef', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eff01', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f0d10', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f1b20', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f2930', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f3740', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f4551', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f5361', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6172', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6f80', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f7d91', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f8ba1', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f99b1', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fa7c0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fb5d1', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fc3e0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd1fb', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fe00b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee1c', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ffc2c', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='100a3b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10184c', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10265b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10346c', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10427b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10508d', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='105e9d', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='106cad', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='107abd', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1088cd', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1096de', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10a4ed', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b2fe', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10c10d', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10cf1e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10dd2e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10eb66', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10f94e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11075e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11156d', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='112388', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113187', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113fb0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='114da6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='115bb6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1169c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1177d6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1185e8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1193f7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11a208', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11b017', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11be2f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11cc37', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11da47', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11e857', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11f667', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='120578', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='121386', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122196', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122fa6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='123db5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='124bc5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1259d5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1267e4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='127600', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='128305', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129115', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129f25', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12ad35', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12bb45', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12c954', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12d766', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12e575', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12f386', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130196', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130fa6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='131db7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='132bc5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1339d4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1347e5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1355f4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='136404', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='137214', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138024', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138e33', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='139c44', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13aa54', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13b865', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13c67e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13d48e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13e29e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13f0ae', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13febf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='140ccf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='141adf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1428ef', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1436ff', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14450f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14531f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146130', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146f40', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='147d44', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='148b57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='149965', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14a775', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14b584', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14c397', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14d1a4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14dfb6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14edc5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14fbd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1509e5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1517ff', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='152605', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153415', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='154225', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155035', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155e45', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='156c55', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='157a65', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='158875', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='159686', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15a495', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15b2a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15c0b6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15cec6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15dcd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15eae6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f8f5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='160706', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='161517', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='162326', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163137', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163f46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='164d57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='165b67', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='166982', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='167786', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='168596', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1693a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16a1b5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16afc6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16bdd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16cbe6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d9f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16e807', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16f616', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='170429', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='171236', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172047', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172e57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='173c67', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='174a77', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='175887', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='176694', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1774a3', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1782b3', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1790c5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='179ed4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ace4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17bafd', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17c90f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d71e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17e52f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17f33f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18014f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='180f5f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='181d6e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='182b7f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18398f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1847a1', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1855af', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1863c0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1871cf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='187fe0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='188def', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189c00', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18b80d', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18c61c', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18d42c', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18e23b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18f04b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18fe5e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='190c76', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='191a86', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='192896', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1936a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1944b7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1952c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1960d7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='196ee6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197cf8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='198b0f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19991f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19b541', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19c34d', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19d15e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19df80', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19ed90', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19eebe', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19fb8e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a09a0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a17ae', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a25be', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a33cd', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a41dd', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a4fed', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5e08', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a6c05', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a7a15', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a8826', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9637', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aa445', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ab255', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ac065', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ace75', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1adc87', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aea96', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1af8a7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b06b7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b14c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c8270', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c907e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c9e8f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1caca2', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cbab1', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cc8c1', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cd6d0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ce4de', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cf2f0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0109', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0f06', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d1d15', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d2b25', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d3935', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d4745', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d5555', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d6366', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7175', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7f86', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d8d95', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d9ba6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1da9b6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1db7c7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dc5d5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dd3e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de1f5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1df006', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dfe16', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e0c26', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e1a36', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e2847', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e3659', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e4467', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e5281', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6086', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6e96', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e7ca6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e8ab5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e98c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ea6d5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eb4e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec2f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ed106', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1edf16', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eed26', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1efb36', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f0946', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1756', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f2566', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f3376', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4187', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4f96', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f5da7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f6bb6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f79c7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f87d6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f95e7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa401', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fb204', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fc016', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fce25', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fdc35', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fea45', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ff855', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='200665', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='201475', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='202286', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203095', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203ea5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='204cb6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='205ac6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2068d6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2076e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2084f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='209306', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20a116', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20af26', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20bd37', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20cb46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20d957', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20e767', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20f581', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='210386', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211194', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211fa5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='212db5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='213bc5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2149d6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2157e5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2165f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='217406', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='218217', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219026', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219e39', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ac46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21c867', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21d677', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21e487', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21f296', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2200a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='220eb7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='221cc6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='222ad7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2238e7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='224701', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='225505', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='226315', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227125', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227f35', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='228d45', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='229b54', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22a965', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22b776', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22c586', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22d397', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22e1a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22efb6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22fdc7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='230bd7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2319e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2327f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23361b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='234416', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='235226', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236037', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236e46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='237c57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='238a66', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='239881', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23a685', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23b495', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23c2a4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23d0b5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23dec4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23ecd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23fae4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2408f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='241706', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='242518', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='243325', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244137', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244f46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b66', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='247976', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='248786', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24957e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24a38f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24b19c', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24bfac', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24cdbc', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24dbcd', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e9e5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24f808', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='250616', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='251426', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='252236', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253047', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253e56', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='254c67', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='255a76', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='256887', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='257697', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2584a8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2592b6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25a0c7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25aed7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25bce7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25caf8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25d907', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25e718', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25f527', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='260338', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261149', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261f59', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='262d68', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='263b83', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='264986', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='265795', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2665a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2673b5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2681c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='268fd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='269de6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26abf6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ba06', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26c817', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26d62b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26e436', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26f247', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270057', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e67', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='271c77', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='272a87', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='273897', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2746a8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2754b9', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2762c7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2770d8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='277ee7', v='0') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='9804', h='3dc1a8de') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='113.768') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e08', v='117.131') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c32', v='118.794') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a3c', v='120.362') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3835', v='118.504') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4645', v='116.275') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5455', v='109.258') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6265', v='121.127') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7075', v='118.849') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e85', v='116.093') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c96', v='120.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aa5', v='120.84') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8b6', v='124.045') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6c5', v='124.042') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4d7', v='117.713') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d30b', v='118.048') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0f6', v='118.051') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef06', v='118.259') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd17', v='118.054') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b27', v='120.844') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11937', v='121.925') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12746', v='119.353') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13556', v='120.867') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14366', v='125.48') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15181', v='127.434') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f85', v='119.069') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d95', v='120.904') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ba4', v='120.974') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189b5', v='120.25') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197c4', v='118.291') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5d5', v='126.573') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b3e6', v='125.637') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c1f6', v='124.668') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d005', v='121.393') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de15', v='121.998') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec25', v='122.555') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa36', v='123.941') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20845', v='124.746') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21656', v='125.085') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22465', v='125.143') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23276', v='123.315') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24086', v='119.026') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e99', v='118.683') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25ca7', v='119.815') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ab7', v='119.25') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='278c6', v='119.678') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='286d6', v='121.708') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='294e6', v='125.182') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a301', v='125.217') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2b105', v='117.12') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2bf15', v='118.489') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2cd25', v='119.338') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2db35', v='119.392') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2e946', v='117.277') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2f755', v='112.967') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='30566', v='124.775') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='31375', v='124.409') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3219e', v='123.268') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='32f96', v='122.956') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='33da6', v='123.032') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='34bb6', v='123.555') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='359de', v='123.004') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='367d6', v='122.125') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='375e6', v='121.078') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3840e', v='117.701') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3921e', v='118.101') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3a016', v='117.771') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ae27', v='121.393') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3bc36', v='120.16') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ca47', v='119.387') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3d856', v='119.887') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3e667', v='122.64') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3f481', v='125.954') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='40285', v='123.51') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41095', v='124.328') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41ea5', v='124.639') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='42cb5', v='124.448') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='43ac5', v='122.434') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='448d5', v='118.623') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='456e6', v='122.169') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='464f5', v='120.979') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='480ff', v='118.358') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='48f0e', v='117.271') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='49d1d', v='118.68') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ab46', v='118.562') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4b955', v='116.842') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4c769', v='115.913') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4d577', v='118.894') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4e387', v='118.59') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4f196', v='116.293') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ffa6', v='118.299') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='50dd0', v='120.233') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='51bc6', v='118.495') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='529d6', v='120.406') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='537e7', v='122.644') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='54600', v='125.528') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55406', v='121.746') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='56215', v='122.642') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57026', v='122.581') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57e36', v='122.623') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='58c46', v='120.431') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='59a70', v='121.329') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5a867', v='120.651') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5b676', v='118.876') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5c487', v='115.661') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5d296', v='119.835') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5e0a9', v='120.34') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5eeb8', v='119.439') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5fcc6', v='118.245') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='60ad7', v='117.004') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='618e7', v='117.165') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='626f7', v='119.95') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='63507', v='117.149') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='64317', v='118.541') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65127', v='119.822') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65f37', v='121.013') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='66d46', v='121.577') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='67b57', v='120.289') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='68967', v='122.62') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='69782', v='119.093') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6a586', v='120.493') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6b395', v='121.919') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6c1a6', v='122.218') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6cfb5', v='121.022') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ddc6', v='118.433') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ebd6', v='115.978') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6f9e6', v='120.971') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='707f6', v='119.234') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='71607', v='118.015') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='72417', v='117.922') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='73227', v='117.566') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74037', v='121.469') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74e47', v='120.514') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='75c57', v='118.485') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='76a63', v='117.889') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='77873', v='117.946') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='78680', v='113.611') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7948f', v='116.583') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7a29f', v='119.306') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7b0af', v='118.802') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7bebf', v='120.799') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7cccf', v='120.857') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7dadf', v='121.594') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e8fa', v='121.421') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f70a', v='123.74') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8051a', v='125.189') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8132a', v='125.673') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8213a', v='124.777') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='82f4a', v='122.432') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='83d5a', v='120.011') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='84b6a', v='118.622') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8597a', v='118.559') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8678b', v='117.524') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8759b', v='117.257') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='883ac', v='119.909') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='891bb', v='120.921') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='89fca', v='119.96') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8adda', v='118.481') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8bbeb', v='118.605') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c9fc', v='118.282') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8d80b', v='118.663') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8e61a', v='117.009') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8f42a', v='117.766') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9023a', v='119.722') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9104a', v='120.299') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='91e5a', v='118.366') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='92c6a', v='122.529') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='93a84', v='124.833') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='94885', v='123.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='95694', v='122.396') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='964a5', v='122.792') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='972b4', v='122.232') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='980c5', v='119.79') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='98ed4', v='122.86') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='99ce5', v='119.012') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aaf5', v='118.321') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9b906', v='115.456') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9c716', v='119.374') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9d526', v='120.344') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9e336', v='119.254') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9f145', v='117.83') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9ff56', v='117.001') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a0d65', v='116.782') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a1b77', v='116.803') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a2986', v='118.75') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a3795', v='118.358') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a45a7', v='119.493') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a53b6', v='119.698') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a61c7', v='119.908') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a6fd6', v='120.675') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a7e00', v='122.754') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8c00', v='125.385') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a05', v='118.214') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aa815', v='119.329') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ab625', v='120.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ac435', v='119.689') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ad245', v='117.12') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ae055', v='114.729') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aee65', v='120.871') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='afc75', v='119.177') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b0a85', v='116.699') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b26a6', v='116.768') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b34b6', v='118.075') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b42c6', v='115.571') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b50d6', v='115.867') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b5ee7', v='114.309') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6cf6', v='122.787') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b7b07', v='118.904') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b8917', v='118.531') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b9728', v='119.438') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ba537', v='120.908') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bb347', v='119.844') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bc157', v='120.575') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bcf67', v='123.212') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bdd81', v='118.712') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='beb86', v='118.316') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bf995', v='118.859') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c07a6', v='120.092') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c15b5', v='119.532') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c23c6', v='118.179') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c31d5', v='115.731') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c3fe6', v='117.671') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4df5', v='116.046') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c5c06', v='117.416') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c6a16', v='117.578') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c7826', v='116.758') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c8636', v='118.319') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c9446', v='118.355') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ca256', v='118.136') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cb066', v='117.225') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cbe76', v='122.659') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ccc87', v='118.547') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cda96', v='116.635') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ce8a8', v='118.105') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cf6b7', v='118.503') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d04c8', v='119.547') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d12d7', v='121.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d20e7', v='123.396') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d2f02', v='126.068') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d3d05', v='119.33') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b15', v='120.524') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d5926', v='120.742') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d6735', v='119.548') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d7546', v='117.358') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d8355', v='124.267') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9166', v='122.388') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9f75', v='120.774') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dad87', v='117.345') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dbb97', v='116.698') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dc9a8', v='116.798') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dd7b7', v='118.219') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='de5c6', v='117.879') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='df3d7', v='117.287') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e01d7', v='117.42') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0fe5', v='116.798') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e1df5', v='117.184') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e2c04', v='119.665') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e3a14', v='121.033') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e4824', v='120.839') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e5634', v='122.456') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e6444', v='120.534') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e7255', v='122.766') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e806f', v='123.735') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e8e7f', v='116.654') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e9c8e', v='118.111') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eaa9f', v='118.441') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eb8ae', v='117.463') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ec6bf', v='113.549') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ed4ce', v='123.596') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ee2df', v='120.709') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef0ef', v='118.94') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eff01', v='116.002') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f0d10', v='117.741') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f1b20', v='117.49') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f2930', v='121.433') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f3740', v='117.735') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f4551', v='118.165') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f5361', v='117.839') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6172', v='117.685') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6f80', v='117.518') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f7d91', v='119.385') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f8ba1', v='121.202') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f99b1', v='120.254') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fa7c0', v='118.336') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fb5d1', v='118.267') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fc3e0', v='123.088') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd1fb', v='123.183') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fe00b', v='126.377') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee1c', v='123.772') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ffc2c', v='123.634') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='100a3b', v='123.008') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10184c', v='121.382') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10265b', v='117.696') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10346c', v='117.901') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10427b', v='119.404') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10508d', v='117.646') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='105e9d', v='118.147') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='106cad', v='117.802') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='107abd', v='120.151') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1088cd', v='119.733') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1096de', v='119.096') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10a4ed', v='119.291') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b2fe', v='118.973') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10c10d', v='116.336') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10cf1e', v='118.171') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10dd2e', v='119.082') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10eb66', v='120.953') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10f94e', v='121.41') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11075e', v='119.088') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11156d', v='120.941') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='112388', v='123.699') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113187', v='122.48') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113fb0', v='123.378') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='114da6', v='123.312') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='115bb6', v='123.217') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1169c6', v='120.961') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1177d6', v='118.076') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1185e8', v='118.573') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1193f7', v='117.978') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11a208', v='120.019') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11b017', v='121.662') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11be2f', v='122.268') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11cc37', v='122.317') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11da47', v='121.934') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11e857', v='120.776') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11f667', v='121.889') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='120578', v='121.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='121386', v='116.824') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122196', v='117.556') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122fa6', v='118.784') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='123db5', v='120.77') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='124bc5', v='122.565') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1259d5', v='120.263') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1267e4', v='122.729') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='127600', v='124.561') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='128305', v='125.237') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129115', v='125.344') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129f25', v='125.492') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12ad35', v='124.67') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12bb45', v='122.819') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12c954', v='121.713') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12d766', v='120.883') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12e575', v='119.85') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12f386', v='117.176') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130196', v='117.447') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130fa6', v='118.679') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='131db7', v='120.016') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='132bc5', v='119.959') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1339d4', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1347e5', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1355f4', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='136404', v='0.106') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='137214', v='0.106') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138024', v='0.106') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138e33', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='139c44', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13aa54', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13b865', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13c67e', v='0.101') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13d48e', v='0.104') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13e29e', v='0.106') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13f0ae', v='0.106') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13febf', v='0.104') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='140ccf', v='0.102') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='141adf', v='0.104') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1428ef', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1436ff', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14450f', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14531f', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146130', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146f40', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='147d44', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='148b57', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='149965', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14a775', v='0.106') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14b584', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14c397', v='0.106') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14d1a4', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14dfb6', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14edc5', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14fbd5', v='0.112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1509e5', v='0.112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1517ff', v='0.115') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='152605', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153415', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='154225', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155035', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155e45', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='156c55', v='0.104') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='157a65', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='158875', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='159686', v='0.106') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15a495', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15b2a6', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15c0b6', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15cec6', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15dcd5', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15eae6', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f8f5', v='0.104') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='160706', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='161517', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='162326', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163137', v='0.111') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163f46', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='164d57', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='165b67', v='0.112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='166982', v='0.111') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='167786', v='0.112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='168596', v='0.112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1693a6', v='0.113') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16a1b5', v='0.112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16afc6', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16bdd5', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16cbe6', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d9f6', v='0.112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16e807', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16f616', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='170429', v='0.111') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='171236', v='0.112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172047', v='0.112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172e57', v='0.111') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='173c67', v='0.111') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='174a77', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='175887', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='176694', v='117.84') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1774a3', v='119.199') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1782b3', v='120.226') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1790c5', v='120.924') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='179ed4', v='124.038') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ace4', v='126.747') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17bafd', v='128.364') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17c90f', v='126.55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d71e', v='126.522') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17e52f', v='126.893') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17f33f', v='126.114') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18014f', v='124.219') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='180f5f', v='123.691') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='181d6e', v='124.723') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='182b7f', v='124.667') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18398f', v='123.666') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1847a1', v='123.337') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1855af', v='124.042') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1863c0', v='125.92') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1871cf', v='125.144') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='187fe0', v='124.769') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='188def', v='124.549') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189c00', v='123.483') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18b80d', v='116.63') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18c61c', v='120.461') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18d42c', v='121.228') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18e23b', v='121.154') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18f04b', v='123.409') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18fe5e', v='125.403') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='190c76', v='122.716') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='191a86', v='124.385') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='192896', v='126.046') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1936a6', v='126.166') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1944b7', v='125.26') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1952c6', v='123.29') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1960d7', v='120.499') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='196ee6', v='120.705') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197cf8', v='120.492') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='198b0f', v='119.996') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19991f', v='120.265') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19b541', v='122.232') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19c34d', v='121.49') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19d15e', v='120.704') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19df80', v='120.614') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19ed90', v='119.839') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19eebe', v='119.685') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19fb8e', v='115.593') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a09a0', v='118.86') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a17ae', v='119.97') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a25be', v='121.369') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a33cd', v='121.096') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a41dd', v='122.451') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a4fed', v='125.765') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5e08', v='126.302') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a6c05', v='124.495') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a7a15', v='125.659') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a8826', v='125.773') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9637', v='124.464') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aa445', v='123.167') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ab255', v='121.137') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ac065', v='123.677') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ace75', v='123.569') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1adc87', v='122.254') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aea96', v='121.794') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1af8a7', v='122.088') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b06b7', v='123.87') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b14c6', v='123.556') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='119.682') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c8270', v='119.676') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c907e', v='118.821') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c9e8f', v='119.836') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1caca2', v='121.192') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cbab1', v='121.685') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cc8c1', v='117.874') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cd6d0', v='118.762') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ce4de', v='120.263') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cf2f0', v='122.468') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0109', v='124.536') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0f06', v='122.598') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d1d15', v='123.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d2b25', v='123.218') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d3935', v='122.202') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d4745', v='121.424') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d5555', v='120.888') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d6366', v='122.743') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7175', v='123.078') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7f86', v='122.237') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d8d95', v='120.858') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d9ba6', v='121.231') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1da9b6', v='122.185') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1db7c7', v='122.648') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dc5d5', v='122.992') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dd3e6', v='122.482') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de1f5', v='118.707') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1df006', v='117.367') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dfe16', v='115.714') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e0c26', v='117.74') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e1a36', v='119.048') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e2847', v='120.179') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e3659', v='119.949') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e4467', v='120.906') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e5281', v='117.251') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6086', v='120.118') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6e96', v='121.521') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e7ca6', v='122.188') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e8ab5', v='122.212') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e98c6', v='121.531') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ea6d5', v='119.981') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eb4e6', v='119.977') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec2f6', v='122.939') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ed106', v='122.289') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1edf16', v='122.05') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eed26', v='122.271') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1efb36', v='122.856') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f0946', v='122.611') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1756', v='121.148') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f2566', v='120.864') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f3376', v='119.609') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4187', v='116.101') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4f96', v='119.165') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f5da7', v='119.287') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f6bb6', v='120.208') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f79c7', v='118.775') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f87d6', v='122.222') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f95e7', v='123.288') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa401', v='126.026') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fb204', v='124.828') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fc016', v='125.769') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fce25', v='125.218') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fdc35', v='124.795') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fea45', v='122.393') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ff855', v='120.523') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='200665', v='117.319') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='201475', v='118.772') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='202286', v='118.808') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203095', v='119.686') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203ea5', v='119.99') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='204cb6', v='122.708') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='205ac6', v='120.762') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2068d6', v='119.92') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2076e6', v='119.129') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2084f6', v='117.091') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='209306', v='121.219') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20a116', v='120.28') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20af26', v='119.69') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20bd37', v='120.677') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20cb46', v='118.756') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20d957', v='119.608') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20e767', v='121.059') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20f581', v='123.573') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='210386', v='125.976') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211194', v='123.926') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211fa5', v='123.888') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='212db5', v='123.08') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='213bc5', v='121.69') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2149d6', v='117.916') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2157e5', v='116.014') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2165f6', v='121.935') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='217406', v='119.675') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='218217', v='118.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219026', v='119.649') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219e39', v='119.715') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ac46', v='118.622') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba57', v='118.459') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21c867', v='117.339') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21d677', v='122.095') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21e487', v='119.556') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21f296', v='119.761') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2200a6', v='120.53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='220eb7', v='121.428') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='221cc6', v='118.003') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='222ad7', v='120.228') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2238e7', v='123.33') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='224701', v='125.861') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='225505', v='118.788') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='226315', v='119.106') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227125', v='119.116') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227f35', v='116.908') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='228d45', v='115.642') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='229b54', v='122.013') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22a965', v='119.234') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22b776', v='119.31') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22c586', v='118.566') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22d397', v='118.243') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22e1a6', v='118.579') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22efb6', v='120.288') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22fdc7', v='119.996') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='230bd7', v='119.249') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2319e6', v='118.866') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2327f6', v='117.741') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23361b', v='118.543') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='234416', v='117.538') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='235226', v='118.709') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236037', v='119.94') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236e46', v='117.668') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='237c57', v='119.159') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='238a66', v='120.771') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='239881', v='120.234') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23a685', v='121.624') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23b495', v='122.272') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23c2a4', v='122.422') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23d0b5', v='121.687') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23dec4', v='120.361') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23ecd5', v='118.751') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23fae4', v='120.028') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2408f6', v='117.974') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='241706', v='117.305') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='242518', v='117.71') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='243325', v='118.193') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244137', v='119.542') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244f46', v='118.741') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b66', v='118.295') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='247976', v='117.534') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='248786', v='114.472') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24957e', v='117.357') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24a38f', v='118.851') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24b19c', v='120.137') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24bfac', v='119.349') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24cdbc', v='123.226') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24dbcd', v='122.921') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e9e5', v='124.273') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24f808', v='123.515') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='250616', v='124.182') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='251426', v='124.27') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='252236', v='122.827') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253047', v='121.801') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253e56', v='119.514') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='254c67', v='118.922') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='255a76', v='118.86') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='256887', v='117.264') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='257697', v='118.022') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2584a8', v='116.819') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2592b6', v='118.384') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25a0c7', v='119.276') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25aed7', v='118.81') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25bce7', v='118.676') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25caf8', v='118.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25d907', v='119.625') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25e718', v='119.042') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25f527', v='119.638') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='260338', v='120.355') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261149', v='118.728') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261f59', v='119.777') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='262d68', v='122.621') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='263b83', v='120.494') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='264986', v='122.335') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='265795', v='123.001') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2665a6', v='123.827') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2673b5', v='122.939') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2681c6', v='122.398') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='268fd5', v='121.212') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='269de6', v='120.844') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26abf6', v='120.054') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ba06', v='118.297') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26c817', v='117.795') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26d62b', v='117.996') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26e436', v='119.287') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26f247', v='118.815') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270057', v='118.955') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e67', v='118.449') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='271c77', v='119.157') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='272a87', v='120.124') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='273897', v='119.858') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2746a8', v='120.668') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2754b9', v='121.067') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2762c7', v='118.265') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2770d8', v='120.308') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='277ee7', v='122.851') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='440600', h='3dc1a8de') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='-1275') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e08', v='-1482') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c32', v='-1562') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a3c', v='-1643') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3835', v='-1446') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4645', v='-1276') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5455', v='-1049') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6265', v='-1694') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7075', v='-1760') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e85', v='-1662') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c96', v='-2067') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aa5', v='-1992') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8b6', v='-1928') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6c5', v='-2018') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4d7', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d30b', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0f6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef06', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd17', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b27', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11937', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12746', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13556', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14366', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15181', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f85', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d95', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ba4', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189b5', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197c4', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5d5', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b3e6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c1f6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d005', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de15', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec25', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa36', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20845', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21656', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22465', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23276', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24086', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e99', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25ca7', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ab7', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='278c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='286d6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='294e6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a301', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2b105', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2bf15', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2cd25', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2db35', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2e946', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2f755', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='30566', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='31375', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3219e', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='32f96', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='33da6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='34bb6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='359de', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='367d6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='375e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3840e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3921e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3a016', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ae27', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3bc36', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ca47', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3d856', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3e667', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3f481', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='40285', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41095', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41ea5', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='42cb5', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='43ac5', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='448d5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='456e6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='464f5', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='480ff', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='48f0e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='49d1d', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ab46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4b955', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4c769', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4d577', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4e387', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4f196', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ffa6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='50dd0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='51bc6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='529d6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='537e7', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='54600', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55406', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='56215', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57026', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57e36', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='58c46', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='59a70', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5a867', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5b676', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5c487', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5d296', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5e0a9', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5eeb8', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5fcc6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='60ad7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='618e7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='626f7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='63507', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='64317', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65127', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65f37', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='66d46', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='67b57', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='68967', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='69782', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6a586', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6b395', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6c1a6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6cfb5', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ddc6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ebd6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6f9e6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='707f6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='71607', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='72417', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='73227', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74037', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74e47', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='75c57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='76a63', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='77873', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='78680', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7948f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7a29f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7b0af', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7bebf', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7cccf', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7dadf', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e8fa', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f70a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8051a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8132a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8213a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='82f4a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='83d5a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='84b6a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8597a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8678b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8759b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='883ac', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='891bb', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='89fca', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8adda', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8bbeb', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c9fc', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8d80b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8e61a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8f42a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9023a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9104a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='91e5a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='92c6a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='93a84', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='94885', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='95694', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='964a5', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='972b4', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='980c5', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='98ed4', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='99ce5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aaf5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9b906', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9c716', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9d526', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9e336', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9f145', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9ff56', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a0d65', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a1b77', v='-1845') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a2986', v='-631') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a3795', v='1564') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a45a7', v='-66') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a53b6', v='-393') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a61c7', v='-691') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a6fd6', v='-883') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a7e00', v='-1575') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8c00', v='-2209') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a05', v='109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aa815', v='-420') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ab625', v='-859') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ac435', v='-628') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ad245', v='516') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ae055', v='1839') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aee65', v='293') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='afc75', v='1185') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b0a85', v='3946') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b26a6', v='4230') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b34b6', v='3689') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b42c6', v='248') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b50d6', v='430') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b5ee7', v='1026') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6cf6', v='-526') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b7b07', v='-258') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b8917', v='-65') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b9728', v='-489') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ba537', v='-842') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bb347', v='1082') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bc157', v='310') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bcf67', v='-1112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bdd81', v='3632') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='beb86', v='513') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bf995', v='214') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c07a6', v='-292') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c15b5', v='-127') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c23c6', v='495') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c31d5', v='1815') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c3fe6', v='818') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4df5', v='1539') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c5c06', v='680') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c6a16', v='712') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c7826', v='1280') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c8636', v='397') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c9446', v='493') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ca256', v='250') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cb066', v='785') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cbe76', v='-201') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ccc87', v='2156') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cda96', v='2937') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ce8a8', v='2107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cf6b7', v='2824') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d04c8', v='2269') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d12d7', v='1441') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d20e7', v='-297') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d2f02', v='-2280') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d3d05', v='-1189') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b15', v='-964') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d5926', v='-442') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d6735', v='261') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d7546', v='1309') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d8355', v='-849') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9166', v='178') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9f75', v='1111') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dad87', v='2750') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dbb97', v='2769') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dc9a8', v='2973') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dd7b7', v='1327') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='de5c6', v='454') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='df3d7', v='199') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e01d7', v='167') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0fe5', v='556') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e1df5', v='416') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e2c04', v='-370') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e3a14', v='-1154') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e4824', v='93') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e5634', v='-843') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e6444', v='171') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e7255', v='-646') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e806f', v='-723') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e8e7f', v='2665') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e9c8e', v='837') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eaa9f', v='698') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eb8ae', v='1097') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ec6bf', v='2649') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ed4ce', v='-495') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ee2df', v='1165') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef0ef', v='542') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eff01', v='1871') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f0d10', v='979') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f1b20', v='1210') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f2930', v='-356') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f3740', v='1654') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f4551', v='1368') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f5361', v='1462') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6172', v='1612') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6f80', v='1309') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f7d91', v='1886') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f8ba1', v='1136') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f99b1', v='1169') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fa7c0', v='1403') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fb5d1', v='1316') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fc3e0', v='-1041') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd1fb', v='-1190') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fe00b', v='-1609') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee1c', v='-199') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ffc2c', v='-252') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='100a3b', v='585') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10184c', v='1069') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10265b', v='1973') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10346c', v='1831') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10427b', v='1127') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10508d', v='1767') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='105e9d', v='1343') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='106cad', v='1564') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='107abd', v='849') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1088cd', v='805') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1096de', v='1093') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10a4ed', v='880') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b2fe', v='1254') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10c10d', v='2664') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10cf1e', v='1368') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10dd2e', v='1009') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10eb66', v='208') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10f94e', v='22') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11075e', v='1142') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11156d', v='286') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='112388', v='-1168') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113187', v='712') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113fb0', v='227') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='114da6', v='236') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='115bb6', v='372') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1169c6', v='1441') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1177d6', v='2015') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1185e8', v='1211') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1193f7', v='1284') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11a208', v='369') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11b017', v='-310') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11be2f', v='-802') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11cc37', v='781') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11da47', v='491') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11e857', v='1023') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11f667', v='516') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='120578', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='121386', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122196', v='2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122fa6', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='123db5', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='124bc5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1259d5', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1267e4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='127600', v='-1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='128305', v='-1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129115', v='-1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129f25', v='-1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12ad35', v='-1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12bb45', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12c954', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12d766', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12e575', v='2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12f386', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130196', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130fa6', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='131db7', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='132bc5', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1339d4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1347e5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1355f4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='136404', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='137214', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138024', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138e33', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='139c44', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13aa54', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13b865', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13c67e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13d48e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13e29e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13f0ae', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13febf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='140ccf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='141adf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1428ef', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1436ff', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14450f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14531f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146130', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146f40', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='147d44', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='148b57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='149965', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14a775', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14b584', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14c397', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14d1a4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14dfb6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14edc5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14fbd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1509e5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1517ff', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='152605', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153415', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='154225', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155035', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155e45', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='156c55', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='157a65', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='158875', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='159686', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15a495', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15b2a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15c0b6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15cec6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15dcd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15eae6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f8f5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='160706', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='161517', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='162326', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163137', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163f46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='164d57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='165b67', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='166982', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='167786', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='168596', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1693a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16a1b5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16afc6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16bdd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16cbe6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d9f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16e807', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16f616', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='170429', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='171236', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172047', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172e57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='173c67', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='174a77', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='175887', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='176694', v='2274') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1774a3', v='1775') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1782b3', v='1153') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1790c5', v='769') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='179ed4', v='-846') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ace4', v='-2362') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17bafd', v='-2961') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17c90f', v='-2519') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d71e', v='-2447') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17e52f', v='-2865') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17f33f', v='-2276') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18014f', v='-1250') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='180f5f', v='-716') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='181d6e', v='-1489') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='182b7f', v='-2004') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18398f', v='-1055') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1847a1', v='-978') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1855af', v='-1269') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1863c0', v='-3170') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1871cf', v='-2668') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='187fe0', v='-2540') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='188def', v='-2377') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189c00', v='-1126') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18b80d', v='1219') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18c61c', v='-1061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18d42c', v='-1519') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18e23b', v='-1284') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18f04b', v='-1902') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18fe5e', v='-1623') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='190c76', v='-778') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='191a86', v='-1730') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='192896', v='-1745') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1936a6', v='-1872') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1944b7', v='-1207') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1952c6', v='-211') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1960d7', v='1619') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='196ee6', v='-764') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197cf8', v='-827') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='198b0f', v='40') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19991f', v='-199') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19b541', v='-967') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19c34d', v='-680') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19d15e', v='-385') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19df80', v='-241') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19ed90', v='371') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19eebe', v='471') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19fb8e', v='61') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a09a0', v='-2440') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a17ae', v='-3447') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a25be', v='-3862') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a33cd', v='-1657') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a41dd', v='-2273') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a4fed', v='-4132') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5e08', v='-3735') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a6c05', v='-2655') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a7a15', v='-3286') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a8826', v='-3377') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9637', v='-2707') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aa445', v='-1980') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ab255', v='-797') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ac065', v='-2046') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ace75', v='-2793') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1adc87', v='-1939') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aea96', v='-2092') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1af8a7', v='-2211') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b06b7', v='-2679') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b14c6', v='-2530') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='453') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c8270', v='-157') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c907e', v='1143') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c9e8f', v='-146') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1caca2', v='-1002') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cbab1', v='-1402') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cc8c1', v='2949') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cd6d0', v='2229') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ce4de', v='1022') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cf2f0', v='-1628') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0109', v='-1835') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0f06', v='-211') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d1d15', v='-767') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d2b25', v='-792') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d3935', v='173') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d4745', v='776') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d5555', v='1249') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d6366', v='-957') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7175', v='-911') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7f86', v='-243') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d8d95', v='-65') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d9ba6', v='-308') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1da9b6', v='-811') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1db7c7', v='-806') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dc5d5', v='-952') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dd3e6', v='-716') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de1f5', v='-1618') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1df006', v='-1910') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dfe16', v='-1809') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e0c26', v='-2224') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e1a36', v='-2272') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e2847', v='-2317') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e3659', v='-2283') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e4467', v='-2334') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e5281', v='-1860') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6086', v='-2139') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6e96', v='-2206') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e7ca6', v='-296') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e8ab5', v='-449') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e98c6', v='-142') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ea6d5', v='-422') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eb4e6', v='-365') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec2f6', v='-581') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ed106', v='-263') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1edf16', v='-325') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eed26', v='-142') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1efb36', v='-355') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f0946', v='-310') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1756', v='496') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f2566', v='660') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f3376', v='1246') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4187', v='2889') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4f96', v='1532') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f5da7', v='-143') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f6bb6', v='-518') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f79c7', v='225') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f87d6', v='-1667') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f95e7', v='-2330') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa401', v='-1727') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fb204', v='-1489') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fc016', v='-1515') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fce25', v='-476') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fdc35', v='-193') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fea45', v='128') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ff855', v='376') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='200665', v='2872') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='201475', v='408') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='202286', v='1923') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203095', v='1830') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203ea5', v='1798') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='204cb6', v='334') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='205ac6', v='1260') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2068d6', v='1815') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2076e6', v='2272') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2084f6', v='262') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='209306', v='-387') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20a116', v='-613') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20af26', v='-251') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20bd37', v='-885') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20cb46', v='551') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20d957', v='48') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20e767', v='-982') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20f581', v='-1612') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='210386', v='-1125') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211194', v='-381') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211fa5', v='-441') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='212db5', v='71') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='213bc5', v='1020') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2149d6', v='760') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2157e5', v='-319') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2165f6', v='-1144') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='217406', v='302') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='218217', v='-319') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219026', v='-582') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219e39', v='408') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ac46', v='1031') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba57', v='1139') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21c867', v='2082') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21d677', v='-1202') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21e487', v='622') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21f296', v='456') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2200a6', v='-736') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='220eb7', v='-818') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='221cc6', v='1684') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='222ad7', v='307') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2238e7', v='-801') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='224701', v='-1256') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='225505', v='3308') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='226315', v='506') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227125', v='639') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227f35', v='1963') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='228d45', v='2867') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='229b54', v='-831') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22a965', v='-270') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22b776', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22c586', v='2010') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22d397', v='3408') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22e1a6', v='3190') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22efb6', v='-187') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22fdc7', v='-225') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='230bd7', v='531') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2319e6', v='-823') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2327f6', v='62') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23361b', v='1079') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='234416', v='1547') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='235226', v='900') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236037', v='112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236e46', v='1780') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='237c57', v='1407') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='238a66', v='298') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='239881', v='565') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23a685', v='-311') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23b495', v='-657') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23c2a4', v='168') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23d0b5', v='647') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23dec4', v='1427') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23ecd5', v='829') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23fae4', v='-5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2408f6', v='1197') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='241706', v='3751') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='242518', v='2991') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='243325', v='2801') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244137', v='-1188') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244f46', v='-828') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b66', v='-799') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='247976', v='57') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='248786', v='4601') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24957e', v='1911') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24a38f', v='799') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24b19c', v='-972') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24bfac', v='-708') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24cdbc', v='-790') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24dbcd', v='-490') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e9e5', v='-1316') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24f808', v='-825') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='250616', v='-1012') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='251426', v='-1178') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='252236', v='-35') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253047', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253e56', v='1352') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='254c67', v='1059') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='255a76', v='1290') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='256887', v='2079') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='257697', v='3618') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2584a8', v='-4684') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2592b6', v='-2470') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25a0c7', v='-556') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25aed7', v='189') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25bce7', v='260') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25caf8', v='816') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25d907', v='2489') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25e718', v='2732') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25f527', v='2234') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='260338', v='57') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261149', v='1219') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261f59', v='632') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='262d68', v='-1360') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='263b83', v='38') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='264986', v='-980') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='265795', v='-1501') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2665a6', v='-2119') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2673b5', v='-1618') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2681c6', v='-1314') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='268fd5', v='-432') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='269de6', v='309') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26abf6', v='685') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ba06', v='1692') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26c817', v='1899') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26d62b', v='3622') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26e436', v='2709') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26f247', v='3037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270057', v='2898') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e67', v='3251') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='271c77', v='186') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='272a87', v='-636') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='273897', v='-421') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2746a8', v='-729') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2754b9', v='-978') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2762c7', v='2670') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2770d8', v='1255') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='277ee7', v='-496') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='424600', h='3dc1a8de') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='-4313') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e08', v='-4163') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c32', v='-4102') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a3c', v='-4091') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3835', v='-3982') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4645', v='-3934') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5455', v='-4439') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6265', v='-5323') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7075', v='-6298') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e85', v='-7332') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c96', v='-7541') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aa5', v='-7248') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8b6', v='-6869') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6c5', v='-6454') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4d7', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d30b', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0f6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef06', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd17', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b27', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11937', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12746', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13556', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14366', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15181', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f85', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d95', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ba4', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189b5', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197c4', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5d5', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b3e6', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c1f6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d005', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de15', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec25', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa36', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20845', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21656', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22465', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23276', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24086', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e99', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25ca7', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ab7', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='278c6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='286d6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='294e6', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a301', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2b105', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2bf15', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2cd25', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2db35', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2e946', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2f755', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='30566', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='31375', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3219e', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='32f96', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='33da6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='34bb6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='359de', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='367d6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='375e6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3840e', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3921e', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3a016', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ae27', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3bc36', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ca47', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3d856', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3e667', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3f481', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='40285', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41095', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41ea5', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='42cb5', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='43ac5', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='448d5', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='456e6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='464f5', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='480ff', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='48f0e', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='49d1d', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ab46', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4b955', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4c769', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4d577', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4e387', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4f196', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ffa6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='50dd0', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='51bc6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='529d6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='537e7', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='54600', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55406', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='56215', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57026', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57e36', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='58c46', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='59a70', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5a867', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5b676', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5c487', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5d296', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5e0a9', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5eeb8', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5fcc6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='60ad7', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='618e7', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='626f7', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='63507', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='64317', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65127', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65f37', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='66d46', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='67b57', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='68967', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='69782', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6a586', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6b395', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6c1a6', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6cfb5', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ddc6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ebd6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6f9e6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='707f6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='71607', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='72417', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='73227', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74037', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74e47', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='75c57', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='76a63', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='77873', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='78680', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7948f', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7a29f', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7b0af', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7bebf', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7cccf', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7dadf', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e8fa', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f70a', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8051a', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8132a', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8213a', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='82f4a', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='83d5a', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='84b6a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8597a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8678b', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8759b', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='883ac', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='891bb', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='89fca', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8adda', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8bbeb', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c9fc', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8d80b', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8e61a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8f42a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9023a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9104a', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='91e5a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='92c6a', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='93a84', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='94885', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='95694', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='964a5', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='972b4', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='980c5', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='98ed4', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='99ce5', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aaf5', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9b906', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9c716', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9d526', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9e336', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9f145', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9ff56', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a0d65', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a1b77', v='-6460') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a2986', v='-3546') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a3795', v='-986') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a45a7', v='697') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a53b6', v='776') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a61c7', v='925') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a6fd6', v='125') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a7e00', v='456') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8c00', v='903') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a05', v='278') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aa815', v='27') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ab625', v='43') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ac435', v='173') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ad245', v='947') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ae055', v='728') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aee65', v='-452') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='afc75', v='-117') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b0a85', v='23') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b26a6', v='182') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b34b6', v='-152') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b42c6', v='-423') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b50d6', v='-705') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b5ee7', v='-790') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6cf6', v='-1575') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b7b07', v='-2027') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b8917', v='-1757') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b9728', v='-1722') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ba537', v='-1901') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bb347', v='-741') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bc157', v='-812') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bcf67', v='-891') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bdd81', v='652') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='beb86', v='411') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bf995', v='516') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c07a6', v='398') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c15b5', v='382') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c23c6', v='470') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c31d5', v='591') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c3fe6', v='267') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4df5', v='770') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c5c06', v='164') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c6a16', v='438') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c7826', v='-43') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c8636', v='72') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c9446', v='249') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ca256', v='201') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cb066', v='115') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cbe76', v='-425') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ccc87', v='-229') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cda96', v='-284') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ce8a8', v='-247') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cf6b7', v='-135') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d04c8', v='-54') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d12d7', v='96') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d20e7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d2f02', v='16') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d3d05', v='598') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b15', v='721') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d5926', v='818') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d6735', v='1067') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d7546', v='1245') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d8355', v='-117') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9166', v='-721') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9f75', v='-1504') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dad87', v='-2084') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dbb97', v='-2554') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dc9a8', v='-2345') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dd7b7', v='-2920') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='de5c6', v='-2712') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='df3d7', v='-2858') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e01d7', v='-2928') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0fe5', v='-2803') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e1df5', v='-3032') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e2c04', v='-4017') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e3a14', v='-3918') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e4824', v='-3412') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e5634', v='-3441') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e6444', v='-2561') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e7255', v='-2139') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e806f', v='-1765') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e8e7f', v='-465') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e9c8e', v='-702') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eaa9f', v='-647') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eb8ae', v='-676') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ec6bf', v='-509') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ed4ce', v='-2150') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ee2df', v='-2355') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef0ef', v='-3171') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eff01', v='-4031') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f0d10', v='-4338') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f1b20', v='-4651') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f2930', v='-4668') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f3740', v='-4346') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f4551', v='-4571') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f5361', v='-4929') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6172', v='-4607') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6f80', v='-4866') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f7d91', v='-4308') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f8ba1', v='-3897') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f99b1', v='-3784') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fa7c0', v='-2988') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fb5d1', v='-3099') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fc3e0', v='-3335') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd1fb', v='-2686') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fe00b', v='-2522') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee1c', v='-2074') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ffc2c', v='-1989') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='100a3b', v='-1788') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10184c', v='-1795') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10265b', v='-2075') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10346c', v='-2698') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10427b', v='-3932') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10508d', v='-4406') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='105e9d', v='-4366') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='106cad', v='-4692') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='107abd', v='-4302') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1088cd', v='-3927') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1096de', v='-4101') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10a4ed', v='-4187') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b2fe', v='-4342') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10c10d', v='-4162') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10cf1e', v='-4456') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10dd2e', v='-4132') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10eb66', v='-4499') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10f94e', v='-3882') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11075e', v='-3295') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11156d', v='-2863') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='112388', v='-2668') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113187', v='-1778') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113fb0', v='-1810') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='114da6', v='-1829') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='115bb6', v='-1800') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1169c6', v='-1595') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1177d6', v='-2050') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1185e8', v='-2961') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1193f7', v='-3627') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11a208', v='-4830') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11b017', v='-4296') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11be2f', v='-5257') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11cc37', v='-4408') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11da47', v='-4326') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11e857', v='-4420') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11f667', v='-3950') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='120578', v='-4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='121386', v='-4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122196', v='-4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122fa6', v='-3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='123db5', v='-3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='124bc5', v='-3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1259d5', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1267e4', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='127600', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='128305', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129115', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129f25', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12ad35', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12bb45', v='-1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12c954', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12d766', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12e575', v='-3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12f386', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130196', v='-4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130fa6', v='-3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='131db7', v='-3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='132bc5', v='-3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1339d4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1347e5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1355f4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='136404', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='137214', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138024', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138e33', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='139c44', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13aa54', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13b865', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13c67e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13d48e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13e29e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13f0ae', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13febf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='140ccf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='141adf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1428ef', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1436ff', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14450f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14531f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146130', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146f40', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='147d44', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='148b57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='149965', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14a775', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14b584', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14c397', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14d1a4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14dfb6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14edc5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14fbd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1509e5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1517ff', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='152605', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153415', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='154225', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155035', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155e45', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='156c55', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='157a65', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='158875', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='159686', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15a495', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15b2a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15c0b6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15cec6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15dcd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15eae6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f8f5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='160706', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='161517', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='162326', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163137', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163f46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='164d57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='165b67', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='166982', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='167786', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='168596', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1693a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16a1b5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16afc6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16bdd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16cbe6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d9f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16e807', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16f616', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='170429', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='171236', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172047', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172e57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='173c67', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='174a77', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='175887', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='176694', v='-6868') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1774a3', v='-6790') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1782b3', v='-7252') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1790c5', v='-6734') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='179ed4', v='-6030') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ace4', v='-5892') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17bafd', v='-6066') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17c90f', v='-5486') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d71e', v='-5444') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17e52f', v='-5339') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17f33f', v='-4983') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18014f', v='-5190') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='180f5f', v='-6313') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='181d6e', v='-6839') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='182b7f', v='-7853') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18398f', v='-13507') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1847a1', v='-13381') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1855af', v='-12778') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1863c0', v='-11890') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1871cf', v='-12338') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='187fe0', v='-11774') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='188def', v='-12649') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189c00', v='-11849') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18b80d', v='-7471') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18c61c', v='-8126') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18d42c', v='-7696') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18e23b', v='-6538') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18f04b', v='-6175') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18fe5e', v='-5664') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='190c76', v='-4480') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='191a86', v='-4300') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='192896', v='-4263') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1936a6', v='-4119') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1944b7', v='-4103') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1952c6', v='-4511') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1960d7', v='-5135') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='196ee6', v='-6038') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197cf8', v='-6392') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='198b0f', v='-5899') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19991f', v='-6690') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19b541', v='-6603') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19c34d', v='-6159') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19d15e', v='-6128') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19df80', v='-6220') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19ed90', v='-6047') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19eebe', v='-6009') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19fb8e', v='-2295') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a09a0', v='-2543') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a17ae', v='-3085') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a25be', v='-3269') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a33cd', v='-2267') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a41dd', v='-2159') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a4fed', v='-1532') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5e08', v='-1675') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a6c05', v='-960') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a7a15', v='-1122') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a8826', v='-1061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9637', v='-505') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aa445', v='-536') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ab255', v='-991') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ac065', v='-1818') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ace75', v='-2574') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1adc87', v='-2844') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aea96', v='-2608') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1af8a7', v='-2928') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b06b7', v='-2112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b14c6', v='-2074') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='354') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c8270', v='438') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c907e', v='3408') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c9e8f', v='3269') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1caca2', v='3655') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cbab1', v='3521') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cc8c1', v='5431') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cd6d0', v='5560') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ce4de', v='5660') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cf2f0', v='5623') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0109', v='5896') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0f06', v='6656') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d1d15', v='6647') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d2b25', v='6733') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d3935', v='6914') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d4745', v='6873') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d5555', v='6691') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d6366', v='5814') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7175', v='5617') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7f86', v='5608') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d8d95', v='-3230') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d9ba6', v='-3656') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1da9b6', v='-3620') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1db7c7', v='-3449') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dc5d5', v='-3601') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dd3e6', v='-3735') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de1f5', v='-5996') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1df006', v='-6718') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dfe16', v='-6583') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e0c26', v='-6767') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e1a36', v='-6800') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e2847', v='-6525') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e3659', v='-6170') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e4467', v='-5676') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e5281', v='-4911') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6086', v='-4911') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6e96', v='-4801') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e7ca6', v='-1982') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e8ab5', v='-1810') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e98c6', v='-1834') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ea6d5', v='-2256') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eb4e6', v='-2325') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec2f6', v='-2684') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ed106', v='-2675') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1edf16', v='-2778') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eed26', v='-2688') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1efb36', v='-2650') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f0946', v='-2557') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1756', v='-2355') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f2566', v='-2318') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f3376', v='-2582') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4187', v='-2811') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4f96', v='-3182') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f5da7', v='-3578') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f6bb6', v='-3544') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f79c7', v='-3148') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f87d6', v='-3345') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f95e7', v='-3137') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa401', v='-2809') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fb204', v='-2501') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fc016', v='-2493') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fce25', v='-2157') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fdc35', v='-2137') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fea45', v='-2155') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ff855', v='-2498') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='200665', v='-2368') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='201475', v='-3513') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='202286', v='-4566') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203095', v='-5345') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203ea5', v='-6057') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='204cb6', v='-5799') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='205ac6', v='-5341') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2068d6', v='-5395') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2076e6', v='-5979') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2084f6', v='-6090') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='209306', v='-6778') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20a116', v='-6378') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20af26', v='-5473') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20bd37', v='-5382') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20cb46', v='-4608') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20d957', v='-4316') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20e767', v='-4055') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20f581', v='-3867') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='210386', v='-3482') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211194', v='-3116') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211fa5', v='-3010') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='212db5', v='-2944') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='213bc5', v='-2819') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2149d6', v='-3644') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2157e5', v='-4499') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2165f6', v='-5795') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='217406', v='-6198') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='218217', v='-6174') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219026', v='-6102') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219e39', v='-6218') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ac46', v='-5898') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba57', v='-5986') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21c867', v='-5633') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21d677', v='-6210') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21e487', v='-5783') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21f296', v='-5726') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2200a6', v='-5539') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='220eb7', v='-5408') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='221cc6', v='-4608') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='222ad7', v='-3876') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2238e7', v='-3618') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='224701', v='-3292') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='225505', v='-1685') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='226315', v='-2072') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227125', v='-2050') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227f35', v='-1670') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='228d45', v='-1792') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='229b54', v='-3485') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22a965', v='-3911') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22b776', v='-4578') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22c586', v='-4788') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22d397', v='-4459') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22e1a6', v='-4693') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22efb6', v='-4830') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22fdc7', v='-4652') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='230bd7', v='-4452') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2319e6', v='-5394') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2327f6', v='-5538') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23361b', v='-5866') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='234416', v='-5225') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='235226', v='-5162') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236037', v='-5250') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236e46', v='-4384') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='237c57', v='-4218') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='238a66', v='-4016') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='239881', v='-3222') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23a685', v='-3311') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23b495', v='-3183') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23c2a4', v='-2974') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23d0b5', v='-2945') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23dec4', v='-2933') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23ecd5', v='-3570') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23fae4', v='-4545') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2408f6', v='-5119') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='241706', v='-5737') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='242518', v='-6515') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='243325', v='-6776') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244137', v='-6755') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244f46', v='-6361') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b66', v='-6546') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='247976', v='-6273') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='248786', v='-5402') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24957e', v='-5797') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24a38f', v='-5647') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24b19c', v='-5747') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24bfac', v='-5443') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24cdbc', v='-5445') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24dbcd', v='-4557') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e9e5', v='-4019') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24f808', v='-3484') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='250616', v='-3616') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='251426', v='-3559') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='252236', v='-3408') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253047', v='-3609') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253e56', v='-4020') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='254c67', v='-4182') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='255a76', v='-4997') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='256887', v='-5810') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='257697', v='-5595') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2584a8', v='-15224') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2592b6', v='-8695') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25a0c7', v='-4575') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25aed7', v='-6313') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25bce7', v='-6104') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25caf8', v='-5750') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25d907', v='-5764') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25e718', v='-5649') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25f527', v='-5249') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='260338', v='-5562') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261149', v='-4875') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261f59', v='-4619') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='262d68', v='-4611') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='263b83', v='-3619') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='264986', v='-3467') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='265795', v='-3564') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2665a6', v='-3672') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2673b5', v='-3614') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2681c6', v='-3621') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='268fd5', v='-3868') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='269de6', v='-3969') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26abf6', v='-3886') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ba06', v='-4381') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26c817', v='-4271') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26d62b', v='-3967') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26e436', v='-4002') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26f247', v='-3562') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270057', v='-3874') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e67', v='-3561') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='271c77', v='-4690') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='272a87', v='-5196') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='273897', v='-5211') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2746a8', v='-5037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2754b9', v='-4963') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2762c7', v='-4048') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2770d8', v='-3708') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='277ee7', v='-3215') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='438200', h='3dc1a8de') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='-1103') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e08', v='-1286') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c32', v='-1351') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a3c', v='-1427') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3835', v='-1246') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4645', v='-1101') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5455', v='-909') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6265', v='-1472') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7075', v='-1523') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e85', v='-1435') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c96', v='-1784') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aa5', v='-1757') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8b6', v='-1682') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6c5', v='-1745') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4d7', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d30b', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0f6', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef06', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd17', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b27', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11937', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12746', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13556', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14366', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15181', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f85', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d95', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ba4', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189b5', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197c4', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5d5', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b3e6', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c1f6', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d005', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de15', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec25', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa36', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20845', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21656', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22465', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23276', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24086', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e99', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25ca7', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ab7', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='278c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='286d6', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='294e6', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a301', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2b105', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2bf15', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2cd25', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2db35', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2e946', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2f755', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='30566', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='31375', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3219e', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='32f96', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='33da6', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='34bb6', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='359de', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='367d6', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='375e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3840e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3921e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3a016', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ae27', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3bc36', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ca47', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3d856', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3e667', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3f481', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='40285', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41095', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41ea5', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='42cb5', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='43ac5', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='448d5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='456e6', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='464f5', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='480ff', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='48f0e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='49d1d', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ab46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4b955', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4c769', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4d577', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4e387', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4f196', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ffa6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='50dd0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='51bc6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='529d6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='537e7', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='54600', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55406', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='56215', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57026', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57e36', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='58c46', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='59a70', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5a867', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5b676', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5c487', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5d296', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5e0a9', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5eeb8', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5fcc6', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='60ad7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='618e7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='626f7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='63507', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='64317', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65127', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65f37', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='66d46', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='67b57', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='68967', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='69782', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6a586', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6b395', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6c1a6', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6cfb5', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ddc6', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ebd6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6f9e6', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='707f6', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='71607', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='72417', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='73227', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74037', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74e47', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='75c57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='76a63', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='77873', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='78680', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7948f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7a29f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7b0af', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7bebf', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7cccf', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7dadf', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e8fa', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f70a', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8051a', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8132a', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8213a', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='82f4a', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='83d5a', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='84b6a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8597a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8678b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8759b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='883ac', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='891bb', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='89fca', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8adda', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8bbeb', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c9fc', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8d80b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8e61a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8f42a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9023a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9104a', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='91e5a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='92c6a', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='93a84', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='94885', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='95694', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='964a5', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='972b4', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='980c5', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='98ed4', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='99ce5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aaf5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9b906', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9c716', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9d526', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9e336', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9f145', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9ff56', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a0d65', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a1b77', v='-1590') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a2986', v='-500') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a3795', v='1379') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a45a7', v='-45') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a53b6', v='-346') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a61c7', v='-580') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a6fd6', v='-752') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a7e00', v='-1367') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8c00', v='-1906') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a05', v='101') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aa815', v='-366') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ab625', v='-740') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ac435', v='-550') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ad245', v='432') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ae055', v='1595') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aee65', v='275') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='afc75', v='1019') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b0a85', v='3444') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b26a6', v='3629') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b34b6', v='3203') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b42c6', v='215') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b50d6', v='380') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b5ee7', v='890') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6cf6', v='-446') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b7b07', v='-200') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b8917', v='-44') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b9728', v='-424') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ba537', v='-718') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bb347', v='946') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bc157', v='276') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bcf67', v='-944') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bdd81', v='3129') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='beb86', v='453') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bf995', v='194') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c07a6', v='-246') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c15b5', v='-122') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c23c6', v='430') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c31d5', v='1582') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c3fe6', v='720') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4df5', v='1333') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c5c06', v='588') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c6a16', v='642') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c7826', v='1096') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c8636', v='313') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c9446', v='374') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ca256', v='204') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cb066', v='692') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cbe76', v='-196') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ccc87', v='1888') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cda96', v='2502') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ce8a8', v='1840') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cf6b7', v='2437') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d04c8', v='1930') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d12d7', v='1219') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d20e7', v='-250') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d2f02', v='-1971') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d3d05', v='-1029') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b15', v='-1072') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d5926', v='-388') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d6735', v='229') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d7546', v='1131') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d8355', v='-726') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9166', v='166') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9f75', v='965') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dad87', v='2341') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dbb97', v='2354') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dc9a8', v='2565') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dd7b7', v='1136') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='de5c6', v='367') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='df3d7', v='173') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e01d7', v='156') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0fe5', v='460') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e1df5', v='358') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e2c04', v='-308') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e3a14', v='-1006') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e4824', v='93') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e5634', v='-723') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e6444', v='147') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e7255', v='-551') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e806f', v='-626') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e8e7f', v='2316') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e9c8e', v='714') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eaa9f', v='600') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eb8ae', v='953') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ec6bf', v='2267') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ed4ce', v='-403') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ee2df', v='999') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef0ef', v='475') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eff01', v='1663') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f0d10', v='829') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f1b20', v='1055') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f2930', v='-314') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f3740', v='1431') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f4551', v='1201') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f5361', v='1280') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6172', v='1431') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6f80', v='1145') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f7d91', v='1635') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f8ba1', v='957') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f99b1', v='1019') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fa7c0', v='1219') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fb5d1', v='1143') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fc3e0', v='-893') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd1fb', v='-1019') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fe00b', v='-1389') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee1c', v='-182') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ffc2c', v='-220') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='100a3b', v='502') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10184c', v='940') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10265b', v='1719') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10346c', v='1592') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10427b', v='960') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10508d', v='1537') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='105e9d', v='1177') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='106cad', v='1337') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='107abd', v='737') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1088cd', v='723') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1096de', v='917') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10a4ed', v='794') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b2fe', v='1075') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10c10d', v='2328') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10cf1e', v='1192') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10dd2e', v='867') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10eb66', v='184') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10f94e', v='12') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11075e', v='978') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11156d', v='256') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='112388', v='-1007') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113187', v='614') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113fb0', v='205') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='114da6', v='195') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='115bb6', v='316') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1169c6', v='1241') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1177d6', v='1748') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1185e8', v='1046') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1193f7', v='1099') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11a208', v='309') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11b017', v='-202') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11be2f', v='-722') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11cc37', v='680') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11da47', v='440') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11e857', v='870') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11f667', v='475') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='120578', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='121386', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122196', v='2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122fa6', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='123db5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='124bc5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1259d5', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1267e4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='127600', v='-1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='128305', v='-1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129115', v='-1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129f25', v='-1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12ad35', v='-1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12bb45', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12c954', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12d766', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12e575', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12f386', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130196', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130fa6', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='131db7', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='132bc5', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1339d4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1347e5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1355f4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='136404', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='137214', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138024', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138e33', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='139c44', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13aa54', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13b865', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13c67e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13d48e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13e29e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13f0ae', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13febf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='140ccf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='141adf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1428ef', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1436ff', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14450f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14531f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146130', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146f40', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='147d44', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='148b57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='149965', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14a775', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14b584', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14c397', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14d1a4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14dfb6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14edc5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14fbd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1509e5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1517ff', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='152605', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153415', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='154225', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155035', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155e45', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='156c55', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='157a65', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='158875', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='159686', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15a495', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15b2a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15c0b6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15cec6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15dcd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15eae6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f8f5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='160706', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='161517', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='162326', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163137', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163f46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='164d57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='165b67', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='166982', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='167786', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='168596', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1693a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16a1b5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16afc6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16bdd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16cbe6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d9f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16e807', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16f616', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='170429', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='171236', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172047', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172e57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='173c67', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='174a77', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='175887', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='176694', v='1959') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1774a3', v='1506') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1782b3', v='1027') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1790c5', v='677') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='179ed4', v='-759') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ace4', v='-2042') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17bafd', v='-2554') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17c90f', v='-2178') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d71e', v='-2126') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17e52f', v='-2484') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17f33f', v='-1980') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18014f', v='-1072') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='180f5f', v='-524') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='181d6e', v='-1366') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='182b7f', v='-1753') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18398f', v='-893') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1847a1', v='-845') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1855af', v='-1148') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1863c0', v='-2710') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1871cf', v='-2297') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='187fe0', v='-2208') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='188def', v='-2037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189c00', v='-997') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18b80d', v='1048') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18c61c', v='-955') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18d42c', v='-1334') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18e23b', v='-1121') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18f04b', v='-1625') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18fe5e', v='-1419') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='190c76', v='-671') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='191a86', v='-1501') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='192896', v='-1511') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1936a6', v='-1618') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1944b7', v='-1037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1952c6', v='-192') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1960d7', v='1397') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='196ee6', v='-627') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197cf8', v='-711') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='198b0f', v='20') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19991f', v='-130') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19b541', v='-843') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19c34d', v='-642') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19d15e', v='-320') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19df80', v='-210') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19ed90', v='295') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19eebe', v='417') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19fb8e', v='37') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a09a0', v='-2105') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a17ae', v='-2980') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a25be', v='-3329') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a33cd', v='-1430') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a41dd', v='-1986') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a4fed', v='-3570') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5e08', v='-3230') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a6c05', v='-2288') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a7a15', v='-2846') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a8826', v='-2946') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9637', v='-2342') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aa445', v='-1719') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ab255', v='-668') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ac065', v='-1761') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ace75', v='-2413') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1adc87', v='-1727') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aea96', v='-1832') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1af8a7', v='-1889') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b06b7', v='-2346') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b14c6', v='-2176') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='374') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c8270', v='-132') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c907e', v='993') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c9e8f', v='-150') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1caca2', v='-843') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cbab1', v='-1196') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cc8c1', v='2577') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cd6d0', v='1582') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ce4de', v='909') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cf2f0', v='-1405') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0109', v='-1597') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0f06', v='-186') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d1d15', v='-658') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d2b25', v='-679') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d3935', v='89') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d4745', v='680') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d5555', v='1095') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d6366', v='-832') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7175', v='-785') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7f86', v='-228') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d8d95', v='-40') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d9ba6', v='-280') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1da9b6', v='-697') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1db7c7', v='-697') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dc5d5', v='-811') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dd3e6', v='-629') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de1f5', v='-1408') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1df006', v='-1666') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dfe16', v='-1574') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e0c26', v='-1928') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e1a36', v='-1970') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e2847', v='-2017') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e3659', v='-1984') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e4467', v='-2007') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e5281', v='-1611') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6086', v='-1851') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6e96', v='-1908') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e7ca6', v='-251') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e8ab5', v='-386') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e98c6', v='-121') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ea6d5', v='-365') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eb4e6', v='-313') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec2f6', v='-506') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ed106', v='-232') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1edf16', v='-288') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eed26', v='-121') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1efb36', v='-310') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f0946', v='-245') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1756', v='439') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f2566', v='609') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f3376', v='1078') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4187', v='2491') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4f96', v='1327') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f5da7', v='-115') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f6bb6', v='-442') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f79c7', v='203') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f87d6', v='-1439') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f95e7', v='-2019') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa401', v='-1491') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fb204', v='-1285') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fc016', v='-1309') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fce25', v='-409') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fdc35', v='-162') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fea45', v='90') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ff855', v='319') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='200665', v='2483') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='201475', v='357') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='202286', v='1681') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203095', v='1572') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203ea5', v='1575') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='204cb6', v='302') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='205ac6', v='1076') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2068d6', v='1555') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2076e6', v='1971') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2084f6', v='239') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='209306', v='-351') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20a116', v='-527') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20af26', v='-215') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20bd37', v='-782') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20cb46', v='452') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20d957', v='60') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20e767', v='-848') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20f581', v='-1383') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='210386', v='-989') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211194', v='-325') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211fa5', v='-382') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='212db5', v='60') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='213bc5', v='884') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2149d6', v='659') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2157e5', v='-264') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2165f6', v='-990') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='217406', v='289') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='218217', v='-292') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219026', v='-542') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219e39', v='366') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ac46', v='909') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba57', v='992') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21c867', v='1808') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21d677', v='-1049') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21e487', v='543') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21f296', v='377') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2200a6', v='-619') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='220eb7', v='-712') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='221cc6', v='1459') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='222ad7', v='257') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2238e7', v='-696') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='224701', v='-1085') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='225505', v='2873') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='226315', v='421') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227125', v='557') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227f35', v='1696') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='228d45', v='2480') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='229b54', v='-707') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22a965', v='-237') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22b776', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22c586', v='1730') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22d397', v='2990') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22e1a6', v='2746') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22efb6', v='-174') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22fdc7', v='-194') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='230bd7', v='485') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2319e6', v='-729') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2327f6', v='70') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23361b', v='907') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='234416', v='1297') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='235226', v='776') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236037', v='123') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236e46', v='1557') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='237c57', v='1208') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='238a66', v='253') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='239881', v='508') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23a685', v='-274') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23b495', v='-571') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23c2a4', v='146') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23d0b5', v='567') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23dec4', v='1222') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23ecd5', v='733') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23fae4', v='8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2408f6', v='1041') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='241706', v='3222') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='242518', v='2576') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='243325', v='2422') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244137', v='-1036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244f46', v='-746') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b66', v='-661') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='247976', v='45') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='248786', v='3983') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24957e', v='1694') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24a38f', v='709') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24b19c', v='-844') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24bfac', v='-605') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24cdbc', v='-661') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24dbcd', v='-436') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e9e5', v='-1155') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24f808', v='-716') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='250616', v='-877') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='251426', v='-1024') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='252236', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253047', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253e56', v='1185') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='254c67', v='884') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='255a76', v='1103') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='256887', v='1789') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='257697', v='3132') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2584a8', v='-4032') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2592b6', v='-2114') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25a0c7', v='-498') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25aed7', v='174') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25bce7', v='210') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25caf8', v='710') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25d907', v='2127') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25e718', v='2386') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25f527', v='1916') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='260338', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261149', v='1070') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261f59', v='564') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='262d68', v='-1181') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='263b83', v='34') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='264986', v='-847') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='265795', v='-1318') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2665a6', v='-1842') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2673b5', v='-1404') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2681c6', v='-1129') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='268fd5', v='-372') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='269de6', v='269') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26abf6', v='572') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ba06', v='1413') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26c817', v='1586') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26d62b', v='3161') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26e436', v='2347') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26f247', v='2627') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270057', v='2502') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e67', v='2818') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='271c77', v='158') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='272a87', v='-545') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='273897', v='-370') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2746a8', v='-624') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2754b9', v='-847') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2762c7', v='2315') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2770d8', v='1099') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='277ee7', v='-417') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='422200', h='3dc1a8de') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='-4307') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e08', v='-4169') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c32', v='-4096') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a3c', v='-4087') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3835', v='-3963') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4645', v='-3969') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5455', v='-4411') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6265', v='-5358') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7075', v='-6317') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e85', v='-7298') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c96', v='-7519') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aa5', v='-7351') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8b6', v='-6890') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6c5', v='-6465') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4d7', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d30b', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0f6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef06', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd17', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b27', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11937', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12746', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13556', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14366', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15181', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f85', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d95', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ba4', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189b5', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197c4', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5d5', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b3e6', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c1f6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d005', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de15', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec25', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa36', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20845', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21656', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22465', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23276', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24086', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e99', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25ca7', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ab7', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='278c6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='286d6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='294e6', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a301', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2b105', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2bf15', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2cd25', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2db35', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2e946', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2f755', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='30566', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='31375', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3219e', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='32f96', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='33da6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='34bb6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='359de', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='367d6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='375e6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3840e', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3921e', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3a016', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ae27', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3bc36', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ca47', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3d856', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3e667', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3f481', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='40285', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41095', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41ea5', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='42cb5', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='43ac5', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='448d5', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='456e6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='464f5', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='480ff', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='48f0e', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='49d1d', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ab46', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4b955', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4c769', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4d577', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4e387', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4f196', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ffa6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='50dd0', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='51bc6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='529d6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='537e7', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='54600', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55406', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='56215', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57026', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57e36', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='58c46', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='59a70', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5a867', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5b676', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5c487', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5d296', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5e0a9', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5eeb8', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5fcc6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='60ad7', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='618e7', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='626f7', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='63507', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='64317', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65127', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65f37', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='66d46', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='67b57', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='68967', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='69782', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6a586', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6b395', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6c1a6', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6cfb5', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ddc6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ebd6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6f9e6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='707f6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='71607', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='72417', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='73227', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74037', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74e47', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='75c57', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='76a63', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='77873', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='78680', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7948f', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7a29f', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7b0af', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7bebf', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7cccf', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7dadf', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e8fa', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f70a', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8051a', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8132a', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8213a', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='82f4a', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='83d5a', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='84b6a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8597a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8678b', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8759b', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='883ac', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='891bb', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='89fca', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8adda', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8bbeb', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c9fc', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8d80b', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8e61a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8f42a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9023a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9104a', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='91e5a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='92c6a', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='93a84', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='94885', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='95694', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='964a5', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='972b4', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='980c5', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='98ed4', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='99ce5', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aaf5', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9b906', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9c716', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9d526', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9e336', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9f145', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9ff56', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a0d65', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a1b77', v='-6324') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a2986', v='-3516') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a3795', v='-963') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a45a7', v='644') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a53b6', v='700') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a61c7', v='942') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a6fd6', v='99') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a7e00', v='464') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8c00', v='912') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a05', v='289') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aa815', v='32') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ab625', v='46') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ac435', v='200') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ad245', v='921') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ae055', v='744') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aee65', v='-561') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='afc75', v='-68') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b0a85', v='31') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b26a6', v='142') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b34b6', v='-123') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b42c6', v='-451') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b50d6', v='-729') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b5ee7', v='-712') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6cf6', v='-1584') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b7b07', v='-1983') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b8917', v='-1753') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b9728', v='-1758') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ba537', v='-1891') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bb347', v='-827') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bc157', v='-882') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bcf67', v='-899') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bdd81', v='644') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='beb86', v='417') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bf995', v='524') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c07a6', v='400') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c15b5', v='372') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c23c6', v='484') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c31d5', v='591') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c3fe6', v='336') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4df5', v='741') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c5c06', v='114') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c6a16', v='507') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c7826', v='-51') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c8636', v='136') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c9446', v='334') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ca256', v='235') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cb066', v='116') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cbe76', v='-417') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ccc87', v='-232') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cda96', v='-184') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ce8a8', v='-219') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cf6b7', v='-134') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d04c8', v='-51') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d12d7', v='143') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d20e7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d2f02', v='11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d3d05', v='600') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b15', v='644') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d5926', v='836') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d6735', v='1068') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d7546', v='1213') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d8355', v='-135') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9166', v='-755') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9f75', v='-1498') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dad87', v='-2011') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dbb97', v='-2561') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dc9a8', v='-2338') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dd7b7', v='-2895') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='de5c6', v='-2780') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='df3d7', v='-2912') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e01d7', v='-2913') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0fe5', v='-2832') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e1df5', v='-3018') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e2c04', v='-4099') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e3a14', v='-3979') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e4824', v='-3370') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e5634', v='-3428') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e6444', v='-2551') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e7255', v='-2189') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e806f', v='-1757') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e8e7f', v='-477') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e9c8e', v='-709') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eaa9f', v='-653') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eb8ae', v='-653') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ec6bf', v='-468') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ed4ce', v='-2112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ee2df', v='-2239') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef0ef', v='-3198') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eff01', v='-4087') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f0d10', v='-4308') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f1b20', v='-4550') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f2930', v='-4628') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f3740', v='-4301') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f4551', v='-4608') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f5361', v='-4857') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6172', v='-4613') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6f80', v='-4818') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f7d91', v='-4244') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f8ba1', v='-3915') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f99b1', v='-3805') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fa7c0', v='-3025') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fb5d1', v='-3034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fc3e0', v='-3295') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd1fb', v='-2680') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fe00b', v='-2530') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee1c', v='-2083') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ffc2c', v='-1982') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='100a3b', v='-1790') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10184c', v='-1791') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10265b', v='-2077') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10346c', v='-2724') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10427b', v='-4016') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10508d', v='-4320') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='105e9d', v='-4339') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='106cad', v='-4725') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='107abd', v='-4338') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1088cd', v='-3906') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1096de', v='-4119') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10a4ed', v='-4322') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b2fe', v='-4345') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10c10d', v='-4169') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10cf1e', v='-4354') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10dd2e', v='-4160') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10eb66', v='-4453') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10f94e', v='-3895') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11075e', v='-3281') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11156d', v='-2866') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='112388', v='-2663') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113187', v='-1794') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113fb0', v='-1797') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='114da6', v='-1823') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='115bb6', v='-1782') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1169c6', v='-1585') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1177d6', v='-2082') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1185e8', v='-2885') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1193f7', v='-3558') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11a208', v='-4838') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11b017', v='-4322') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11be2f', v='-5393') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11cc37', v='-4456') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11da47', v='-4279') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11e857', v='-4354') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11f667', v='-3900') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='120578', v='-4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='121386', v='-4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122196', v='-4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122fa6', v='-3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='123db5', v='-3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='124bc5', v='-3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1259d5', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1267e4', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='127600', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='128305', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129115', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129f25', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12ad35', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12bb45', v='-1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12c954', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12d766', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12e575', v='-3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12f386', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130196', v='-4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130fa6', v='-3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='131db7', v='-3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='132bc5', v='-3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1339d4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1347e5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1355f4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='136404', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='137214', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138024', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138e33', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='139c44', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13aa54', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13b865', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13c67e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13d48e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13e29e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13f0ae', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13febf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='140ccf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='141adf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1428ef', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1436ff', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14450f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14531f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146130', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146f40', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='147d44', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='148b57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='149965', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14a775', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14b584', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14c397', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14d1a4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14dfb6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14edc5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14fbd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1509e5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1517ff', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='152605', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153415', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='154225', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155035', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155e45', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='156c55', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='157a65', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='158875', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='159686', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15a495', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15b2a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15c0b6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15cec6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15dcd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15eae6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f8f5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='160706', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='161517', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='162326', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163137', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163f46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='164d57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='165b67', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='166982', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='167786', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='168596', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1693a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16a1b5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16afc6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16bdd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16cbe6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d9f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16e807', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16f616', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='170429', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='171236', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172047', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172e57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='173c67', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='174a77', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='175887', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='176694', v='-6844') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1774a3', v='-6848') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1782b3', v='-7276') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1790c5', v='-6718') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='179ed4', v='-6044') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ace4', v='-5879') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17bafd', v='-6067') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17c90f', v='-5484') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d71e', v='-5437') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17e52f', v='-5342') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17f33f', v='-4981') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18014f', v='-5193') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='180f5f', v='-6321') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='181d6e', v='-6923') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='182b7f', v='-7889') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18398f', v='-13464') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1847a1', v='-13354') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1855af', v='-12813') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1863c0', v='-11996') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1871cf', v='-12436') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='187fe0', v='-11658') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='188def', v='-12508') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189c00', v='-11965') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18b80d', v='-7567') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18c61c', v='-8100') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18d42c', v='-7676') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18e23b', v='-6565') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18f04b', v='-6167') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18fe5e', v='-5660') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='190c76', v='-4475') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='191a86', v='-4306') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='192896', v='-4252') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1936a6', v='-4125') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1944b7', v='-4125') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1952c6', v='-4498') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1960d7', v='-5137') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='196ee6', v='-5967') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197cf8', v='-6354') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='198b0f', v='-5965') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19991f', v='-6615') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19b541', v='-6619') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19c34d', v='-6199') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19d15e', v='-6235') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19df80', v='-6313') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19ed90', v='-6079') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19eebe', v='-6075') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19fb8e', v='-2390') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a09a0', v='-2600') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a17ae', v='-3051') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a25be', v='-3338') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a33cd', v='-2238') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a41dd', v='-2137') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a4fed', v='-1546') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5e08', v='-1670') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a6c05', v='-969') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a7a15', v='-1123') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a8826', v='-1072') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9637', v='-481') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aa445', v='-537') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ab255', v='-995') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ac065', v='-1819') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ace75', v='-2636') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1adc87', v='-2920') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aea96', v='-2594') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1af8a7', v='-2898') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b06b7', v='-2173') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b14c6', v='-2092') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='311') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c8270', v='399') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c907e', v='3486') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c9e8f', v='3357') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1caca2', v='3670') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cbab1', v='3580') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cc8c1', v='5398') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cd6d0', v='5478') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ce4de', v='5618') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cf2f0', v='5659') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0109', v='5923') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0f06', v='6651') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d1d15', v='6654') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d2b25', v='6713') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d3935', v='6885') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d4745', v='6893') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d5555', v='6705') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d6366', v='5853') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7175', v='5545') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7f86', v='5589') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d8d95', v='-3219') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d9ba6', v='-3620') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1da9b6', v='-3623') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1db7c7', v='-3472') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dc5d5', v='-3630') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dd3e6', v='-3723') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de1f5', v='-6033') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1df006', v='-6752') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dfe16', v='-6647') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e0c26', v='-6778') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e1a36', v='-6794') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e2847', v='-6593') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e3659', v='-6136') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e4467', v='-5653') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e5281', v='-4910') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6086', v='-4908') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6e96', v='-4803') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e7ca6', v='-1970') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e8ab5', v='-1820') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e98c6', v='-1821') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ea6d5', v='-2271') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eb4e6', v='-2332') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec2f6', v='-2646') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ed106', v='-2644') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1edf16', v='-2749') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eed26', v='-2728') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1efb36', v='-2587') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f0946', v='-2548') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1756', v='-2377') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f2566', v='-2339') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f3376', v='-2566') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4187', v='-2784') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4f96', v='-3191') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f5da7', v='-3581') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f6bb6', v='-3591') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f79c7', v='-3124') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f87d6', v='-3337') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f95e7', v='-3142') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa401', v='-2806') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fb204', v='-2480') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fc016', v='-2497') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fce25', v='-2171') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fdc35', v='-2133') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fea45', v='-2159') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ff855', v='-2500') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='200665', v='-2395') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='201475', v='-3469') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='202286', v='-4512') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203095', v='-5355') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203ea5', v='-5915') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='204cb6', v='-5771') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='205ac6', v='-5287') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2068d6', v='-5386') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2076e6', v='-5976') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2084f6', v='-6100') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='209306', v='-6742') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20a116', v='-6312') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20af26', v='-5533') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20bd37', v='-5455') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20cb46', v='-4630') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20d957', v='-4348') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20e767', v='-4046') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20f581', v='-3855') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='210386', v='-3519') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211194', v='-3131') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211fa5', v='-3014') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='212db5', v='-2904') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='213bc5', v='-2826') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2149d6', v='-3680') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2157e5', v='-4507') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2165f6', v='-5844') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='217406', v='-6195') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='218217', v='-6165') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219026', v='-6142') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219e39', v='-6223') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ac46', v='-5938') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba57', v='-5926') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21c867', v='-5557') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21d677', v='-6240') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21e487', v='-5750') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21f296', v='-5772') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2200a6', v='-5468') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='220eb7', v='-5393') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='221cc6', v='-4543') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='222ad7', v='-3876') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2238e7', v='-3622') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='224701', v='-3292') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='225505', v='-1681') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='226315', v='-2082') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227125', v='-2043') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227f35', v='-1675') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='228d45', v='-1785') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='229b54', v='-3494') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22a965', v='-4080') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22b776', v='-4454') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22c586', v='-4816') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22d397', v='-4405') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22e1a6', v='-4620') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22efb6', v='-4820') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22fdc7', v='-4643') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='230bd7', v='-4435') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2319e6', v='-5397') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2327f6', v='-5558') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23361b', v='-5883') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='234416', v='-5207') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='235226', v='-5203') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236037', v='-5253') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236e46', v='-4342') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='237c57', v='-4194') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='238a66', v='-3991') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='239881', v='-3195') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23a685', v='-3328') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23b495', v='-3191') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23c2a4', v='-2966') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23d0b5', v='-2959') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23dec4', v='-2916') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23ecd5', v='-3620') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23fae4', v='-4562') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2408f6', v='-5013') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='241706', v='-5793') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='242518', v='-6605') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='243325', v='-6787') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244137', v='-6732') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244f46', v='-6435') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b66', v='-6415') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='247976', v='-6261') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='248786', v='-5371') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24957e', v='-5703') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24a38f', v='-5668') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24b19c', v='-5810') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24bfac', v='-5495') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24cdbc', v='-5368') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24dbcd', v='-4539') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e9e5', v='-4003') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24f808', v='-3487') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='250616', v='-3597') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='251426', v='-3575') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='252236', v='-3422') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253047', v='-3610') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253e56', v='-4069') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='254c67', v='-4209') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='255a76', v='-4977') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='256887', v='-5845') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='257697', v='-5662') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2584a8', v='-15155') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2592b6', v='-8621') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25a0c7', v='-4609') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25aed7', v='-6329') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25bce7', v='-6120') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25caf8', v='-5819') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25d907', v='-5800') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25e718', v='-5627') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25f527', v='-5318') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='260338', v='-5543') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261149', v='-4916') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261f59', v='-4589') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='262d68', v='-4670') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='263b83', v='-3694') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='264986', v='-3491') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='265795', v='-3582') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2665a6', v='-3683') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2673b5', v='-3608') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2681c6', v='-3681') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='268fd5', v='-3850') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='269de6', v='-3923') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26abf6', v='-3955') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ba06', v='-4467') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26c817', v='-4257') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26d62b', v='-3915') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26e436', v='-3897') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26f247', v='-3531') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270057', v='-3798') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e67', v='-3628') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='271c77', v='-4540') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='272a87', v='-5171') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='273897', v='-5038') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2746a8', v='-5028') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2754b9', v='-5029') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2762c7', v='-3993') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2770d8', v='-3551') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='277ee7', v='-3206') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='674601', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='22123:137:88:76:103:69:89:6047:6571:2134:6414:2223:2727.231:1435.675:5.979:0.067:0:4171:41039:29052:42104:12218:24721:13504:8975:11153:2990:8665:9759:11742') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='673801', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='0:0:0:0:0:0:0:2472:22505:25160:16425:30012:23514.229:11675.362:9.272:0.416:0:6491:3221:2867:4204:22822:3047:6263:15342:9785:32424:23346:21578:23508') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='673401', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='72898:191:188:176:178:174:181:10441:14079:1360:46667:74131:80996.13:50324.326:32.188:0.038:0:44027:200289:109216:52461:12951:75896:69196:104852:117036:96903:120714:124308:96207') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='673001', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='0:0:0:0:0:0:0:3476:3226:5597:4853:0:0:0:0.001:0.137:0:0:0:0:0:50735:59205:0:0:0:0:0:0:0') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='26274601', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='0::1305::2869::4482::6066::7396::8573::10262::11922::13773::15492::17522::19544::21452::22070::22075::22080::22084::22085::22090::22097::22103::22109::22116::0::6::13::20::27::32::34::41::48::54::61::68::75::82::89::96::103::110::110::111::116::119::123::129') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a300', v='0::5::5::7::11::12::12::17::24::30::37::44::51::58::65::69::71::71::71::73::75::76::76::81::0::6::13::20::27::34::40::44::50::::51::51::51::51::51::51::51::51::51::51::54::60::63::69::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55410', v='6::13::20::27::34::38::44::46::46::47::52::58::65::66::66::67::69::69::70::76::83::89::96::0::5::12::19::25::30::31::35::37::37::37::37::38::44::45::45::45::45::45::45::48::51::56::62::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f710', v='6::14::21::28::35::42::47::50::50::50::52::59::65::69::72::74::75::75::75::75::78::79::82::0::7::14::21::28::34::38::44::45::45::49::56::63::70::76::80::835::1675::2038::2039::2856::3158::3607::4431::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a10', v='629::797::1456::2382::2476::2477::2821::2821::2821::::2821::2821::2856::2865::2865::3049::3223::3267::3532::4304::5147::5147::5449::0::101::102::252::592::605::605::605::605::612::612::612::612::612::612::612::679::767::767::767::767::767::767::910::0::1158') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b20', v='2289::2701::3076::3076::3385::3904::3904::3904::3904::3904::3904::3904::3904::3904::3904::3911::4023::4599::5237::5494::5780::6072::0::622::622::622::622::622::716::819::819::819::819::819::819::870::870::870::870::870::870::870::870::870::870::1024::0::1127') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee20', v='1954::2173::2377::2377::2377::2377::2377::2377::2381::2381::2381::2381::2381::2381::2381::2381::2381::2381::2381::2384::2400::2400::0::163::163::163::163::163::163::163::163::204::330::751::1400::1433::1433::1433::1435.1::1435.1::1435.1::1435.1::1435.1::1435.144::1435.375::1435.381::0::1.179') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129120', v='2.486::3.869::5.278::5.809::5.811::5.811::5.811::5.843::5.967::5.968::5.968::5.968::5.968::5.968::5.968::5.968::5.968::5.968::5.968::5.968::5.969::5.969::0::0::0::0::0::0::0::0::0::0::0::0.001::0.014::0.032::0.04::0.046::0.049::0.05::0.05::0.05::0.05::0.05::0.05::0.053::0::0.005') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153420', v='0.005::0.005::0.005::0.005::0.005::0.005::0.005::0.005::0.005::0.005::0.005::0.005::0.005::0.005::0.005::0.009::0.009::0.009::0.009::0.009::0.009::0.014::0::0.004::0.02::0.031::0.042::0.044::0.044::0.044::0.044::0.044::0.044::0.044::0.047::0.05::0.051::0.054::0.054::0.054::0::0::0::0::175::1878::0::2303') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d720', v='5016::7889::10825::12785::13428::14568::16281::17870::18757::19673::22314::25317::28017::30611::32571::::33078::33570::34865::36124::37670::39908::0::978::2540::4236::5992::6773::6818::6915::7643::8510::8618::::9354::10334::10857::11190::11387::11387::12818::15547::19011::21077::22610::25682::0::2682::5757::9094') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9640', v='12439::14810::16426::18172::20462::22851::24957::26912::29200::31789') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='8197::8264::8365::8365::8996::9996::10570::10570::10570::10807::0::388::776::1655::2374::2391::2391::2429::3332::3677::3768::3851::4294::4930::5847::6625::7852::9492::11328::13376::15620::17946::20170::22469::0::1979::4179::4817::5302::5612::5802::6075::6787::7172::7489::7668::7867::8184') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1760', v='8270::8270::8270::8270::8270::8279::8425::8766::9261::11379::0::967::2232::3224::3584::3708::3742::4192::4373::4379::4379::4379::4379::4379::4379::4468::4816::5111::5533::6393::6740::7394::7394::7988::0::1479::2407::2907::3341::3347::3347::3522::4521::4702::5104::5399::6511::6511') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba60', v='6511::6511::7554::8046::8046::8084::8781::9437::9437::10034::0::258::258::258::258::258::303::541::1097::1122::1122::1122::1122::1397::1429::2052::2638::2638::2638::2638::2638::2779::2779::2779::0::211::716::993::993::993::993::1058::1060::1060::1060::1060::1123::1640') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b70', v='3280::3952::3962::3962::3962::4297::5586::6998::7956::0::492::1570::2683::3585::3615::3618::3659::3659::3659::3659::3973::6767::8644::8717::8718::8718::8718::8718::8718::8718::8898::8898::9205::0::502::1825::3722::5758::7237::8159::8226::8226::8226::8226::8226::8226::8226::8226') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e70', v='8226::8240::8504::8980::9466::10308::10666::10666::10739') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='26273801', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a300', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55410', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f710', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::680::1753::2436::2439::2471::2472::2472::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a10', v='273::304::304::304::392::1467::1961::2735::4511::::12114::16337::18252::18452::19051::20724::21115::21611::21616::21616::21647::22460::22505::0::1428::1786::1821::1821::2100::3116::4606::5700::6263::7232::8321::9202::9706::10109::10567::11827::12356::14818::17416::20186::22628::24467::25160::0::16') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b20', v='16::16::18::761::2317::2345::3031::5010::7681::10719::13491::14079::14541::14788::15028::15551::16182::16182::16327::16351::16394::16424::0::1254::2521::3304::4214::6189::8542::8884::9714::10907::12447::13604::14407::14928::16855::18323::20016::22306::23952::25511::26700::27858::29512::30012::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee20', v='14::14::16::848::2512::4114::5556::7070::7967::9424::10812::11722::12829::13950::15033::17095::19423::20670::21129::21828::22608::23444::0::1024::1508::1786::1985::2951::4900::6589::8053::8849::8929::8929::8929::9502::10380::11200::11669.43::11670.714::11671.501::11673.236::11674.324::11674.616::11674.887::11675.345::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129120', v='0::0::0::0::0.632::1.57::2.787::4.389::5.353::6.676::7.825::8.473::9.059::9.07::9.083::9.113::9.149::9.186::9.222::9.254::9.263::9.267::0::0.054::0.078::0.094::0.113::0.149::0.2::0.229::0.234::0.241::0.244::0.245::0.245::0.245::0.245::0.245::0.246::0.276::0.309::0.348::0.383::0.408::0.415::0.416::0::0.022') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153420', v='0.031::0.032::0.033::0.045::0.076::0.1::0.121::0.161::0.197::0.227::0.252::0.257::0.264::0.275::0.295::0.315::0.322::0.329::0.332::0.348::0.357::0.357::0::0::0::0::0::0::0.015::0.051::0.062::0.068::0.079::0.091::0.094::0.094::0.097::0.108::0.125::0.161::1425::3563::5087::6081::6491::6491::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d720', v='0::0::0::0::3::4::17::17::17::17::83::83::83::83::83::::2815::3221::3221::3221::3221::3221::0::0::0::0::0::0::503::2124::2124::2135::2187::::2220::2220::2220::2220::2231::2857::2867::2867::2867::2867::2867::2867::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9640', v='0::0::0::0::5::5::5::5::5::5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='14139::14218::14538::16467::16493::16493::17913::20388::22503::22822::0::242::242::242::242::473::1614::2783::2783::2785::3043::3046::3046::3047::3047::3047::3047::3047::3047::3047::3047::3047::3047::3047::0::0::0::101::101::101::155::155::155::155::155::158::158::158') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1760', v='303::689::1267::3291::5362::5964::5964::6205::6263::6263::0::67::78::78::78::96::279::1257::2169::3382::5628::7692::9144::9800::11410::13193::13770::14500::14502::14526::14528::14693::15337::15342::0::0::128::128::128::631::1960::2834::2847::2994::3445::3445::3445::4010') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba60', v='5304::6802::7188::7304::7777::8119::8119::8238::9731::9785::0::3202::5137::5593::6304::8577::12322::12561::12561::13960::16533::20127::22841::22863::23106::23247::23247::24987::26402::27590::28075::29263::31438::32325::0::171::171::200::344::1476::2425::3387::4145::5875::9210::12291::15144::15144') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b70', v='15144::15144::17267::21864::23232::23346::23346::23346::23346::0::86::86::86::86::188::709::1333::2511::4313::7593::10434::10434::10443::10622::10810::11293::12302::14859::17476::19565::19742::21035::21234::0::13::13::13::13::13::13::216::929::2058::3700::5698::8782::11698::14663') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e70', v='17767::18546::19155::19155::19155::19155::20730::23016::23508') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='26273401', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='0::4177::8348::12421::16466::20389::24550::29638::35390::42329::49608::56982::64119::70819::72824::72831::72838::72845::72851::72859::72866::72873::72881::72889::0::8::16::24::32::40::48::56::65::73::81::89::97::105::114::122::131::138::145::152::160::167::175::183') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a300', v='0::8::16::23::31::39::47::55::63::71::79::87::96::104::112::120::128::135::142::150::157::165::172::180::0::8::17::25::34::43::51::58::66::::79::85::92::98::105::111::117::124::131::138::145::153::160::168::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55410', v='8::16::25::33::41::49::56::64::70::77::84::91::98::105::111::118::125::132::139::147::154::162::170::0::7::16::24::32::40::48::55::63::69::76::82::89::96::103::109::116::122::128::135::143::150::158::166::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f710', v='8::17::25::34::43::51::58::66::73::80::87::94::101::108::115::122::129::135::142::150::157::165::172::0::8::17::25::34::42::50::58::65::72::78::85::92::100::107::114::2595::7913::10294::10439::10439::10439::10441::10441::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a10', v='2::4::9::9::9::9::69::181::236::::327::461::720::1393::2215::3059::4593::6342::8041::9944::11561::12314::13166::0::47::47::47::47::47::47::47::47::48::59::87::127::134::135::142::182::537::769::1000::1156::1208::1230::1264::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b20', v='0::0::0::0::58::464::1214::2866::5195::7644::10189::13108::15902::18773::21557::24345::28271::32267::36012::39360::42352::44782::0::1215::1879::2581::3232::3730::4627::6845::9426::13213::17460::21812::26408::30878::35346::40061::44776::49145::53501::57575::61429::64968::68029::71154::0::2541') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee20', v='4757::6749::8707::10446::12296::14817::18021::22192::24710::29209::33799::38000::42199::46375::50681::55062::59387::63686::67971::71883::75378::78274::0::1965::3785::5589::7408::9042::10735::13143::16254::20473::25210::29898::34989::39265::43547::47659::50298.816::50302.733::50306.729::50310.326::50313.783::50317.062::50320.016::50322.277::0::1.986') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129120', v='3.746::5.427::7.116::8.649::10.225::12.377::14.972::18.155::21.519::24.079::26.789::29.872::32.038::32.075::32.093::32.11::32.132::32.149::32.163::32.173::32.181::32.183::0::0::0::0::0::0::0::0::0::0.001::0.005::0.008::0.012::0.014::0.014::0.014::0.014::0.017::0.023::0.026::0.029::0.032::0.035::0.038::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153420', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0.004::0.013::0.023::0.035::0.039::0.04::0.04::0::0::0::0::0::0::0::0::0.011::0.064::0.184::0.299::0.403::0.491::0.587::0.684::0.777::0.882::4649::11369::18384::25539::32098::38189::0::5631') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d720', v='11134::16580::21819::26934::32449::39011::46164::57329::70535::83592::96112::107934::119836::131836::143932::::159972::167838::175759::182940::189261::195260::0::4361::8637::12844::17026::21292::26185::31514::37629::44147::50295::::62972::69142::75490::81871::88411::92634::95263::98136::101493::104338::106264::108086::0::1118::2125::3163') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9640', v='3972::4424::5117::6670::8682::11273::14036::16800::19585::21687') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='12951::12951::12951::12951::12951::12951::12951::12951::12951::12951::0::0::0::0::0::0::0::0::0::0::2097::5658::9307::12837::16437::20072::24855::31120::37813::44635::51509::58224::64519::70460::0::4912::9779::12468::14377::16196::18098::20357::22916::25572::28333::31048::33673::36268') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1760', v='38769::41197::43617::46222::49307::52694::56229::59586::62790::66147::0::2563::5010::7377::9547::11662::13970::16722::19820::23668::28455::34079::39799::45148::50589::56448::62674::69084::75584::81629::87007::92190::96664::100953::0::3686::6981::10109::13149::16039::19168::23164::28263::34238::40473::46590::52821::58868') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba60', v='64810::70628::77026::83160::89027::94673::100155::105383::109691::113559::0::1996::3876::5949::7945::9673::11583::15197::19355::23959::28689::33229::37981::42745::47470::52656::58228::63768::69353::74634::79872::84699::88966::93090::0::3272::6519::9646::12665::15529::18785::22767::27361::33026::39197::45634::52231::58688') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b70', v='71623::77897::83661::88919::94509::100226::106004::111517::116497::0::3504::7147::10760::14341::17823::21561::25845::30381::35821::41529::48026::57310::64898::70924::77195::83135::89105::94900::100321::105698::111053::115727::120309::0::3610::7127::10778::14421::18015::21712::25564::29454::33598::37946::42100::46054::49824::53500') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e70', v='57099::61385::66221::71352::76382::81368::85828::89677::93036') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='26273001', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a300', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55410', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f710', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::10::521::1009::1914::2329::2804::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a10', v='1070::1205::1242::1361::1873::2688::2888::2968::3013::::3093::3165::3226::3226::3226::3226::3226::3226::3226::3226::3226::3226::3226::0::504::975::1420::1776::2305::2796::3212::4002::4254::4373::4494::4549::4753::4950::5087::5453::5453::5453::5453::5454::5473::5509::5581::0::581') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b20', v='1231::1927::2760::3902::4853::4853::4853::4853::4853::4853::4853::4853::4853::4853::4853::4853::4853::4853::4853::4853::4853::4853::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee20', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129120', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0.017::0.031::0.048::0.065::0.085::0.105::0.114::0.116::0.116::0.116::0.116::0.116::0.117::0.12::0.123::0.128::0.135::0.135::0.135::0.135::0.135::0.135::0.136::0::0.016') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153420', v='0.036::0.054::0.074::0.096::0.119::0.137::0.152::0.165::0.178::0.19::0.204::0.216::0.228::0.237::0.249::0.256::0.256::0.256::0.256::0.256::0.256::0.257::0::0.012::0.018::0.02::0.021::0.025::0.032::0.037::0.037::0.037::0.037::0.037::0.037::0.037::0.037::0.037::0.037::0.037::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d720', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9640', v='0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='9208::9490::12579::16633::20164::23882::28334::33713::39220::44909::0::6542::13180::19855::26594::33432::40280::46777::52524::57875::59205::59205::59205::59205::59205::59205::59205::59205::59205::59205::59205::59205::59205::59205::0::0::0::0::0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1760', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba60', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b70', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e70', v='0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='1314601', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='270370') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='1313801', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='306693') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='1313401', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='1576111') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='1313001', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='127098') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='52514601', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='0::1305::2869::4482::6066::7396::8573::10262::11922::13773::15492::17522::19544::21452::22070::22075::22080::22084::22085::22090::22097::22103::22109::22116::22123::22129::22136::22143::22150::22156::22158::22166::22173::22180::22186::22193::22200::22207::22214::22221::22228::22235::22235::22236::22241::22244::22247::22254') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a300', v='22261::22267::22267::22269::22273::22274::22274::22280::22287::22294::22301::22308::22315::22322::22329::22333::22335::22335::22335::22336::22338::22339::22339::22344::22351::22358::22365::22372::22379::22386::22391::22395::22402::::22404::22404::22404::22404::22404::22404::22404::22404::22404::22404::22407::22413::22416::22422::22429') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55410', v='22436::22443::22450::22457::22464::22468::22475::22477::22477::22478::22483::22489::22495::22497::22497::22498::22499::22499::22500::22507::22513::22520::22526::22533::22538::22545::22552::22559::22564::22564::22569::22571::22572::22572::22572::22573::22579::22580::22580::22580::22580::22580::22580::22583::22585::22590::22596::22603') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f710', v='22610::22617::22624::22632::22639::22645::22650::22653::22653::22653::22655::22662::22669::22672::22675::22677::22678::22678::22678::22678::22682::22683::22686::22693::22701::22708::22715::22722::22728::22732::22738::22740::22740::22744::22751::22758::22765::22770::22775::23529::24370::24733::24734::25551::25853::26301::27126::28742') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a10', v='29372::29540::30199::31125::31218::31219::31564::31564::31564::::31564::31564::31599::31607::31607::31792::31965::32010::32274::33047::33890::33890::34193::35316::35417::35418::35569::35909::35921::35921::35921::35921::35928::35928::35928::35928::35928::35928::35928::35995::36083::36083::36083::36083::36083::36083::36226::37450::38609') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b20', v='39740::40151::40527::40527::40836::41356::41356::41356::41356::41356::41356::41356::41356::41356::41356::41363::41476::42051::42690::42946::43231::43524::43865::44488::44488::44488::44488::44488::44582::44685::44685::44685::44685::44685::44685::44736::44736::44736::44736::44736::44736::44736::44736::44736::44736::44890::46089::47216') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee20', v='48043::48262::48466::48466::48466::48466::48466::48466::48471::48471::48471::48471::48471::48471::48471::48471::48471::48471::48471::48474::48491::48491::48816::48980::48980::48980::48980::48980::48980::48980::48980::49022::49147::49569::50218::50251::50251::50251::50252.91::50252.91::50252.91::50252.91::50252.91::50252.954::50253.185::50253.192::50253.487::50254.667') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129120', v='50255.973::50257.356::50258.765::50259.296::50259.299::50259.299::50259.299::50259.332::50259.455::50259.456::50259.456::50259.456::50259.456::50259.456::50259.456::50259.456::50259.456::50259.456::50259.456::50259.457::50259.458::50259.458::50259.467::50259.467::50259.467::50259.467::50259.467::50259.467::50259.467::50259.467::50259.467::50259.467::50259.467::50259.469::50259.482::50259.5::50259.507::50259.513::50259.516::50259.517::50259.517::50259.517::50259.517::50259.517::50259.517::50259.521::50259.535::50259.54') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153420', v='50259.54::50259.54::50259.541::50259.541::50259.541::50259.541::50259.541::50259.541::50259.541::50259.541::50259.541::50259.541::50259.541::50259.541::50259.541::50259.546::50259.546::50259.546::50259.546::50259.547::50259.547::50259.552::50259.557::50259.561::50259.577::50259.588::50259.6::50259.601::50259.601::50259.601::50259.601::50259.601::50259.601::50259.601::50259.604::50259.608::50259.609::50259.612::50259.612::50259.612::50258::50258::50258::50258::50434::52137::54431::56734') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d720', v='59447::62321::65257::67217::67860::69000::70713::72302::73189::74106::76746::79750::82449::85043::87003::::87510::88002::89297::90556::92102::94340::95470::96449::98011::99707::101463::102244::102289::102386::103115::103983::104091::::104826::105806::106330::106662::106859::106859::108290::111019::114483::116549::118083::121154::124524::127207::130282::133619') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9640', v='136963::139335::140951::142698::144988::147377::149483::151438::153726::156315') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='174829::174896::174996::174996::175627::176628::177201::177201::177201::177439::178849::179238::179626::180505::181224::181241::181241::181279::182183::182528::182619::182701::183144::183780::184697::185475::186702::188342::190179::192226::194470::196796::199020::201319::203571::205550::207751::208389::208873::209184::209373::209646::210358::210744::211061::211240::211439::211756') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1760', v='211843::211843::211843::211843::211843::211852::211998::212339::212833::214951::217077::218045::219309::220302::220662::220786::220819::221269::221451::221458::221458::221458::221458::221458::221458::221547::221895::222189::222611::223471::223818::224472::224473::225066::226054::227533::228461::228962::229396::229401::229401::229577::230576::230758::231159::231454::232566::232566') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba60', v='232566::232566::233609::234101::234101::234139::234836::235492::235492::236089::237208::237467::237467::237467::237467::237467::237511::237749::238306::238331::238331::238331::238331::238606::238637::239260::239846::239846::239846::239846::239847::239988::239988::239988::240200::240411::240916::241193::241194::241194::241194::241260::241262::241262::241262::241262::241325::241842') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b70', v='243482::244154::244164::244164::244164::244499::245788::247200::248157::248866::249358::250436::251549::252452::252482::252484::252526::252526::252526::252526::252840::255634::257511::257584::257585::257585::257585::257585::257585::257585::257766::257766::258073::258628::259130::260454::262350::264387::265865::266787::266854::266854::266854::266854::266854::266854::266854::266854') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e70', v='266854::266868::267132::267609::268095::268936::269294::269294::269367') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='52513801', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a300', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55410', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f710', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::680::1753::2436::2439::2471::2472::2472::2472') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a10', v='2745::2776::2776::2776::2864::3939::4434::5207::6983::::14587::18809::20724::20924::21523::23196::23587::24084::24088::24088::24119::24933::24978::24978::26406::26764::26799::26799::27079::28094::29584::30678::31242::32211::33301::34181::34685::35088::35546::36806::37336::39798::42396::45166::47608::49447::50139::50139::50155') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b20', v='50155::50156::50158::50901::52457::52486::53171::55151::57821::60860::63632::64220::64682::64929::65169::65692::66324::66324::66469::66492::66535::66565::66565::67820::69087::69869::70780::72755::75107::75449::76279::77473::79013::80171::80973::81494::83421::84889::86582::88872::90518::92077::93266::94424::96079::96579::96579::96579') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee20', v='96594::96594::96596::97428::99092::100694::102136::103651::104547::106004::107392::108302::109410::110530::111613::113676::116005::117251::117711::118409::119188::120024::120093::121118::121602::121880::122079::123044::124994::126683::128148::128945::129025::129025::129025::129597::130475::131295::131764.303::131765.588::131766.375::131768.11::131769.198::131769.49::131769.761::131770.219::131770.236::131770.236') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129120', v='131770.236::131770.236::131770.236::131770.236::131770.868::131771.806::131773.023::131774.625::131775.589::131776.912::131778.062::131778.709::131779.295::131779.306::131779.319::131779.349::131779.386::131779.423::131779.458::131779.49::131779.499::131779.503::131779.509::131779.564::131779.587::131779.604::131779.623::131779.659::131779.709::131779.738::131779.744::131779.752::131779.755::131779.755::131779.755::131779.755::131779.755::131779.755::131779.756::131779.786::131779.819::131779.858::131779.893::131779.918::131779.926::131779.926::131779.926::131779.949') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153420', v='131779.958::131779.959::131779.96::131779.972::131780.003::131780.027::131780.049::131780.089::131780.125::131780.155::131780.179::131780.184::131780.191::131780.202::131780.222::131780.243::131780.251::131780.258::131780.261::131780.277::131780.285::131780.285::131780.288::131780.288::131780.288::131780.288::131780.288::131780.289::131780.303::131780.34::131780.35::131780.356::131780.368::131780.381::131780.384::131780.384::131780.386::131780.398::131780.415::131780.451::133205::135343::136866::137861::138272::138272::138272::138272') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d720', v='138272::138272::138272::138272::138275::138277::138290::138290::138290::138290::138355::138355::138355::138355::138355::::141088::141493::141493::141493::141493::141493::141493::141493::141493::141493::141493::141493::141997::143618::143618::143629::143681::::143714::143714::143714::143714::143725::144351::144362::144362::144362::144362::144362::144362::144362::144362::144362::144362') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9640', v='144362::144362::144362::144362::144368::144368::144368::144368::144368::144368') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='162707::162786::163107::165035::165062::165062::166481::168956::171072::171391::171391::171634::171634::171634::171634::171865::173006::174175::174175::174177::174435::174438::174438::174439::174439::174439::174439::174439::174439::174439::174439::174439::174439::174439::174439::174439::174439::174540::174540::174540::174594::174594::174594::174594::174594::174598::174598::174598') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1760', v='174742::175129::175706::177731::179803::180405::180405::180646::180704::180704::180704::180771::180782::180782::180782::180801::180983::181961::182873::184086::186332::188396::189848::190504::192114::193897::194474::195204::195206::195230::195232::195397::196041::196046::196046::196046::196175::196175::196175::196678::198007::198881::198895::199043::199494::199494::199494::200058') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba60', v='201353::202851::203237::203353::203825::204167::204167::204286::205778::205833::205833::209036::210970::211426::212138::214410::218156::218395::218395::219795::222368::225963::228676::228698::228941::229082::229082::230822::232237::233425::233910::235098::237273::238160::238259::238431::238431::238460::238604::239735::240685::241648::242406::244137::247471::250551::253404::253404') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b70', v='253404::253404::255527::260124::261492::261606::261606::261606::261606::261606::261692::261692::261692::261692::261794::262315::262939::264118::265921::269200::272041::272041::272049::272229::272417::272900::273909::276466::279084::281173::281349::282642::282841::283185::283198::283198::283198::283198::283198::283198::283402::284114::285244::286886::288884::291968::294884::297849') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e70', v='300954::301733::302341::302341::302341::302341::303915::306201::306693') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='52513401', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='0::4177::8348::12421::16466::20389::24550::29638::35390::42329::49608::56982::64119::70819::72824::72831::72838::72845::72851::72859::72866::72873::72881::72889::72898::72906::72914::72922::72931::72938::72946::72955::72963::72972::72979::72987::72995::73004::73012::73021::73029::73037::73045::73052::73060::73067::73074::73083') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a300', v='73092::73100::73108::73116::73124::73131::73139::73147::73155::73164::73172::73180::73189::73197::73205::73213::73221::73228::73235::73242::73250::73258::73265::73273::73281::73290::73298::73307::73316::73324::73333::73341::73349::::73362::73368::73374::73381::73387::73394::73400::73407::73414::73421::73428::73436::73443::73451::73459') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55410', v='73467::73476::73484::73492::73501::73508::73516::73523::73529::73536::73543::73550::73557::73564::73571::73578::73585::73592::73599::73607::73614::73622::73630::73639::73647::73655::73663::73672::73680::73687::73694::73702::73709::73715::73721::73728::73735::73742::73748::73755::73762::73769::73776::73783::73791::73798::73806::73814') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f710', v='73823::73831::73840::73849::73858::73866::73874::73881::73888::73895::73902::73909::73917::73924::73931::73938::73945::73952::73959::73966::73973::73980::73988::73996::74005::74014::74022::74031::74039::74047::74055::74062::74069::74076::74084::74091::74098::74105::74112::76593::81912::84293::84438::84438::84438::84439::84440::84440') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a10', v='84442::84445::84450::84450::84450::84450::84510::84622::84677::::84768::84902::85161::85834::86656::87500::89034::90783::92482::94386::96003::96756::97608::98520::98568::98568::98568::98568::98568::98568::98569::98569::98570::98581::98609::98649::98656::98657::98664::98704::99059::99291::99522::99679::99730::99752::99786::99882::99882') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b20', v='99882::99882::99882::99882::99940::100346::101096::102749::105078::107527::110072::112991::115786::118656::121441::124228::128154::132149::135895::139243::142235::144665::146550::147766::148430::149132::149783::150281::151178::153396::155977::159764::164011::168363::172959::177429::181897::186612::191328::195697::200054::204127::207981::211520::214581::217705::220682::223224') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee20', v='225440::227431::229389::231128::232979::235501::238705::242877::245395::249894::254484::258685::262884::267059::271365::275747::280072::284371::288656::292567::296062::298958::301678::303643::305464::307268::309087::310721::312414::314823::317933::322153::326889::331577::336668::340944::345227::349338::151978.697::151982.614::151986.61::151990.207::151993.665::151996.943::151999.897::152002.158::152004.207::152006.194') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129120', v='152007.954::152009.635::152011.324::152012.857::152014.433::152016.586::152019.181::152022.365::152025.728::152028.288::152030.998::152034.081::152036.247::152036.284::152036.302::152036.319::152036.341::152036.359::152036.372::152036.383::152036.39::152036.393::152036.398::152036.398::152036.398::152036.398::152036.398::152036.398::152036.398::152036.398::152036.398::152036.399::152036.404::152036.407::152036.412::152036.414::152036.414::152036.414::152036.414::152036.417::152036.422::152036.425::152036.428::152036.432::152036.435::152036.437::152036.437::152036.437') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153420', v='152036.437::152036.437::152036.437::152036.437::152036.437::152036.437::152036.437::152036.437::152036.437::152036.437::152036.437::152036.437::152036.437::152036.437::152036.437::152036.441::152036.45::152036.46::152036.472::152036.476::152036.478::152036.478::152036.478::152036.478::152036.478::152036.478::152036.478::152036.478::152036.478::152036.478::152036.489::152036.543::152036.663::152036.778::152036.883::152036.971::152037.066::152037.164::152037.257::152037.361::356685::363405::370420::377575::384134::390225::396064::401696') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d720', v='407198::412644::417883::422998::428513::435075::442229::453395::466601::479658::492177::504000::515901::527901::539997::::556036::563903::571823::579005::585326::591325::596354::600715::604992::609199::613381::617646::622539::627868::633983::640502::646650::::659328::665498::671845::678227::684766::688990::691619::694492::697849::700694::702620::704442::705572::706691::707697::708736') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9640', v='709545::709997::710690::712243::714255::716847::719609::722373::725158::727261') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='770988::770988::770988::770988::770988::770988::770988::770988::770988::770988::770988::770988::770988::770988::770988::770988::770988::770988::770988::770988::773086::776647::780296::783826::787426::791061::795844::802109::808801::815624::822498::829213::835508::841449::846886::851798::856665::859354::861263::863083::864985::867245::869803::872460::875221::877937::880561::883156') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1760', v='885657::888085::890505::893110::896194::899581::903116::906473::909677::913034::916082::918646::921093::923460::925630::927744::930053::932806::935904::939753::944540::950163::955884::961233::966673::972533::978758::985168::991668::997713::1003091::1008274::1012749::1017038::1020937::1024624::1027919::1031047::1034087::1036976::1040106::1044102::1049201::1055177::1061411::1067528::1073759::1079806') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba60', v='1085748::1091566::1097964::1104098::1109965::1115611::1121093::1126321::1130630::1134497::1137973::1139970::1141849::1143923::1145918::1147647::1149557::1153171::1157329::1161934::1166664::1171204::1175957::1180721::1185446::1190632::1196204::1201743::1207328::1212608::1217847::1222674::1226942::1231066::1234878::1238151::1241398::1244525::1247544::1250408::1253663::1257645::1262239::1267905::1274075::1280512::1287109::1293566') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b70', v='1306501::1312775::1318539::1323798::1329387::1335105::1340883::1346396::1351376::1355594::1359099::1362742::1366355::1369936::1373418::1377156::1381440::1385976::1391416::1397124::1403622::1412905::1420494::1426519::1432791::1438731::1444700::1450495::1455916::1461293::1466648::1471323::1475904::1479903::1483514::1487030::1490682::1494324::1497918::1501615::1505468::1509358::1513503::1517850::1522004::1525957::1529728::1533403') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e70', v='1537003::1541289::1546124::1551256::1556286::1561272::1565731::1569581::1572940') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='52513001', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a300', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55410', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f710', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::10::521::1009::1914::2329::2804::3476') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a10', v='4546::4682::4719::4838::5350::6165::6365::6445::6490::::6571::6643::6704::6704::6704::6704::6704::6704::6704::6704::6704::6704::6704::6704::7208::7679::8124::8480::9010::9501::9918::10708::10960::11079::11200::11255::11459::11656::11793::12159::12159::12159::12159::12160::12179::12215::12287::12302::12884') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b20', v='13533::14230::15062::16204::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee20', v='17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129120', v='17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.493::17157.511::17157.525::17157.542::17157.558::17157.579::17157.599::17157.608::17157.611::17157.612::17157.612::17157.612::17157.612::17157.613::17157.616::17157.618::17157.623::17157.631::17157.631::17157.631::17157.631::17157.631::17157.631::17157.631::17157.632::17157.649') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153420', v='17157.669::17157.686::17157.706::17157.728::17157.752::17157.771::17157.786::17157.799::17157.812::17157.824::17157.838::17157.85::17157.861::17157.871::17157.883::17157.89::17157.89::17157.89::17157.89::17157.89::17157.89::17157.891::17157.899::17157.911::17157.918::17157.92::17157.921::17157.925::17157.932::17157.937::17157.937::17157.937::17157.937::17157.937::17157.937::17157.937::17157.937::17157.937::17157.937::17157.937::17156::17156::17156::17156::17156::17156::17156::17156') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d720', v='17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9640', v='17156::17156::17156::17156::17156::17156::17156::17156::17156::17156') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='26366::26648::29737::33790::37320::41038::45491::50870::56378::62066::67892::74435::81073::87748::94487::101325::108173::114671::120417::125768::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1760', v='127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba60', v='127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b70', v='127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e70', v='127098::127098::127098::127098::127098::127098::127098::127098::127098') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='34601', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='6094564::6095869::6097433::6099046::6100630::6101960::6103137::6104826::6106487::6108338::6110057::6112087::6114108::6116017::6116635::6116640::6116645::6116648::6116649::6116654::6116661::6116667::6116674::6116681::6116688::6116694::6116701::6116708::6116715::6116721::6116723::6116730::6116738::6116745::6116751::6116757::6116764::6116771::6116779::6116786::6116793::6116799::6116800::6116800::6116805::6116808::6116812::6116819') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a300', v='6116826::6116832::6116832::6116834::6116838::6116839::6116839::6116845::6116852::6116859::6116866::6116873::6116880::6116887::6116893::6116898::6116899::6116899::6116899::6116901::6116902::6116904::6116905::6116910::6116917::6116924::6116931::6116938::6116945::6116952::6116957::6116961::6116968::::6116970::6116970::6116970::6116970::6116970::6116970::6116970::6116970::6116970::6116970::6116972::6116978::6116980::6116987::6116994') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55410', v='6117001::6117008::6117015::6117022::6117029::6117033::6117039::6117042::6117042::6117044::6117049::6117054::6117061::6117062::6117062::6117063::6117065::6117065::6117066::6117072::6117078::6117084::6117091::6117098::6117103::6117110::6117117::6117124::6117129::6117129::6117134::6117136::6117137::6117137::6117137::6117138::6117144::6117145::6117145::6117145::6117145::6117145::6117145::6117148::6117150::6117154::6117160::6117167') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f710', v='6117174::6117181::6117189::6117196::6117203::6117210::6117216::6117219::6117220::6117220::6117222::6117228::6117235::6117239::6117241::6117244::6117244::6117244::6117244::6117244::6117247::6117248::6117252::6117259::6117266::6117273::6117280::6117287::6117293::6117297::6117303::6117304::6117305::6117309::6117316::6117323::6117330::6117336::6117340::6118095::6118936::6119299::6119300::6120117::6120419::6120867::6121692::6123308') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a10', v='6123938::6124106::6124765::6125691::6125784::6125785::6126129::6126129::6126129::::6126129::6126129::6126164::6126173::6126173::6126358::6126531::6126576::6126840::6127612::6128455::6128455::6128757::6129880::6129981::6129983::6130133::6130473::6130485::6130485::6130485::6130485::6130493::6130493::6130493::6130493::6130493::6130493::6130493::6130561::6130649::6130649::6130649::6130649::6130649::6130649::6130792::6132016::6133175') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b20', v='6134306::6134717::6135093::6135093::6135402::6135922::6135922::6135922::6135922::6135922::6135922::6135922::6135922::6135922::6135922::6135929::6136041::6136617::6137256::6137512::6137797::6138089::6138431::6139053::6139053::6139053::6139053::6139053::6139147::6139251::6139251::6139251::6139251::6139251::6139251::6139302::6139302::6139302::6139302::6139302::6139302::6139302::6139302::6139302::6139302::6139456::6140655::6141782') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee20', v='6142609::6142828::6143032::6143032::6143032::6143032::6143032::6143032::6143036::6143036::6143036::6143036::6143036::6143036::6143036::6143036::6143036::6143036::6143036::6143039::6143056::6143056::6143382::6143545::6143545::6143545::6143545::6143545::6143545::6143545::6143545::6143587::6143713::6144135::6144783::6144816::6144816::6144816::144818.2::144818.2::144818.2::144818.2::144818.2::144818.243::144818.474::144818.48::144818.775::144819.955') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129120', v='144821.261::144822.644::144824.053::144824.584::144824.587::144824.587::144824.587::144824.62::144824.744::144824.746::144824.746::144824.746::144824.746::144824.746::144824.746::144824.746::144824.746::144824.746::144824.746::144824.746::144824.746::144824.746::144824.755::144824.755::144824.755::144824.755::144824.755::144824.755::144824.755::144824.756::144824.756::144824.756::144824.756::144824.757::144824.77::144824.788::144824.796::144824.802::144824.805::144824.806::144824.806::144824.806::144824.806::144824.806::144824.806::144824.809::144824.823::144824.828') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153420', v='144824.828::144824.828::144824.829::144824.829::144824.829::144824.829::144824.829::144824.829::144824.829::144824.829::144824.829::144824.829::144824.829::144824.829::144824.829::144824.834::144824.834::144824.834::144824.834::144824.835::144824.835::144824.84::144824.845::144824.849::144824.865::144824.876::144824.888::144824.889::144824.889::144824.889::144824.889::144824.889::144824.889::144824.889::144824.892::144824.896::144824.897::144824.9::144824.9::144824.9::6144824::6144824::6144824::6144824::6145000::6146702::6148995::6151298') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d720', v='6154011::6156885::6159821::6161781::6162424::6163565::6165278::6166868::6167755::6168671::6171312::6174315::6177014::6179609::6181568::::6182076::6182567::6183863::6185122::6186668::6188906::6190037::6191016::6192577::6194274::6196029::6196810::6196855::6196952::6197681::6198548::6198657::::6199392::6200372::6200895::6201228::6201425::6201425::6202856::6205585::6209048::6211115::6212648::6215720::6219090::6221773::6224848::6228185') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9640', v='6231530::6233901::6235517::6237264::6239554::6241943::6244049::6246003::6248291::6250880') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='6269393::6269460::6269561::6269561::6270193::6271193::6271766::6271766::6271766::6272003::6273414::6273802::6274190::6275070::6275788::6275805::6275805::6275844::6276747::6277093::6277184::6277267::6277710::6278346::6279262::6280041::6281268::6282908::6284744::6286792::6289036::6291362::6293586::6295884::6298136::6300115::6302316::6302954::6303439::6303749::6303938::6304212::6304924::6305309::6305626::6305804::6306004::6306321') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1760', v='6306407::6306407::6306407::6306407::6306407::6306417::6306562::6306904::6307399::6309517::6311643::6312611::6313875::6314868::6315228::6315352::6315385::6315835::6316016::6316023::6316023::6316023::6316023::6316023::6316023::6316113::6316460::6316755::6317177::6318036::6318383::6319038::6319038::6319632::6320620::6322099::6323027::6323528::6323962::6323967::6323967::6324143::6325141::6325322::6325724::6326020::6327132::6327132') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba60', v='6327132::6327132::6328174::6328667::6328667::6328705::6329402::6330058::6330058::6330655::6331774::6332033::6332033::6332033::6332033::6332033::6332078::6332316::6332872::6332897::6332897::6332897::6332897::6333173::6333204::6333827::6334413::6334413::6334413::6334413::6334413::6334554::6334554::6334554::6334765::6334977::6335481::6335759::6335759::6335759::6335759::6335824::6335826::6335826::6335826::6335826::6335889::6336407') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b70', v='6338047::6338719::6338729::6338729::6338729::6339065::6340354::6341766::6342723::6343432::6343924::6345002::6346115::6347018::6347048::6347050::6347091::6347091::6347091::6347091::6347406::6350200::6352077::6352150::6352150::6352150::6352150::6352150::6352150::6352150::6352331::6352331::6352638::6353193::6353695::6355019::6356915::6358952::6360430::6361352::6361420::6361420::6361420::6361420::6361420::6361420::6361420::6361420') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e70', v='6361420::6361434::6361698::6362174::6362660::6363502::6363860::6363860::6363933') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='33801', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a300', v='88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55410', v='88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f710', v='88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88180102::88181176::88181859::88181861::88181894::88181896::88181896::88181896') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a10', v='88182169::88182200::88182200::88182200::88182288::88183363::88183857::88184631::88186407::::88194010::88198233::88200148::88200348::88200947::88202620::88203011::88203507::88203512::88203512::88203543::88204356::88204401::88204401::88205830::88206188::88206222::88206222::88206502::88207517::88209008::88210102::88210666::88211635::88212724::88213604::88214108::88214512::88214969::88216229::88216759::88219221::88221818::88224589::88227031::88228870::88229563::88229563::88229580') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b20', v='88229580::88229580::88229582::88230325::88231881::88231910::88232595::88234574::88237245::88240283::88243056::88243643::88244105::88244352::88244593::88245115::88245746::88245746::88245891::88245915::88245959::88245988::88245989::88247244::88248510::88249293::88250203::88252178::88254531::88254874::88255704::88256898::88258438::88259595::88260398::88260919::88262845::88264314::88266006::88268297::88269942::88271502::88272690::88273849::88275503::88276003::88276003::88276003') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee20', v='88276017::88276017::88276019::88276851::88278515::88280118::88281560::88283074::88283971::88285428::88286815::88287726::88288833::88289953::88291037::88293099::88295427::88296674::88297133::88297832::88298612::88299447::88299517::88300541::88301025::88301304::88301503::88302468::88304417::88306106::88307571::88308368::88308448::88308448::88308448::88309021::88309899::88310719::111188.016::111189.3::111190.088::111191.823::111192.91::111193.202::111193.473::111193.931::111193.948::111193.948') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129120', v='111193.948::111193.948::111193.948::111193.948::111194.58::111195.519::111196.735::111198.338::111199.302::111200.625::111201.775::111202.422::111203.008::111203.02::111203.032::111203.062::111203.098::111203.135::111203.171::111203.203::111203.212::111203.216::111203.221::111203.276::111203.299::111203.316::111203.335::111203.371::111203.422::111203.452::111203.457::111203.464::111203.468::111203.468::111203.468::111203.468::111203.468::111203.468::111203.469::111203.5::111203.532::111203.571::111203.606::111203.632::111203.639::111203.639::111203.639::111203.661') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153420', v='111203.671::111203.671::111203.672::111203.684::111203.715::111203.739::111203.761::111203.801::111203.837::111203.867::111203.891::111203.897::111203.904::111203.915::111203.935::111203.955::111203.962::111203.969::111203.972::111203.988::111203.997::111203.997::111204::111204.001::111204.001::111204.001::111204.001::111204.001::111204.016::111204.052::111204.063::111204.07::111204.081::111204.093::111204.097::111204.097::111204.099::111204.11::111204.128::111204.164::88312628::88314767::88316290::88317284::88317694::88317694::88317694::88317694') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d720', v='88317694::88317694::88317694::88317694::88317698::88317700::88317713::88317713::88317713::88317713::88317778::88317778::88317778::88317778::88317778::::88320511::88320917::88320917::88320917::88320917::88320917::88320917::88320917::88320917::88320917::88320917::88320917::88321420::88323042::88323042::88323053::88323105::::88323137::88323137::88323137::88323137::88323148::88323775::88323785::88323785::88323785::88323785::88323785::88323785::88323785::88323785::88323785::88323785') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9640', v='88323785::88323785::88323785::88323785::88323790::88323790::88323790::88323790::88323790::88323790') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='88342130::88342209::88342529::88344458::88344485::88344485::88345905::88348379::88350494::88350813::88350813::88351056::88351056::88351056::88351056::88351287::88352428::88353598::88353598::88353601::88353859::88353862::88353862::88353863::88353863::88353863::88353863::88353863::88353863::88353863::88353863::88353863::88353863::88353863::88353863::88353863::88353863::88353965::88353965::88353965::88354018::88354018::88354018::88354018::88354018::88354021::88354021::88354021') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1760', v='88354166::88354552::88355130::88357154::88359226::88359828::88359828::88360068::88360126::88360126::88360126::88360194::88360205::88360205::88360205::88360223::88360406::88361385::88362297::88363511::88365757::88367821::88369273::88369929::88371538::88373322::88373899::88374629::88374631::88374655::88374657::88374822::88375466::88375471::88375471::88375471::88375599::88375599::88375599::88376102::88377432::88378306::88378319::88378467::88378917::88378917::88378918::88379482') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba60', v='88380777::88382275::88382661::88382777::88383250::88383592::88383592::88383711::88385203::88385257::88385257::88388459::88390394::88390850::88391561::88393834::88397579::88397819::88397819::88399218::88401792::88405386::88408100::88408122::88408365::88408505::88408505::88410246::88411660::88412849::88413333::88414521::88416696::88417583::88417683::88417854::88417854::88417883::88418027::88419159::88420108::88421071::88421828::88423559::88426894::88429975::88432828::88432828') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b70', v='88432828::88432828::88434951::88439548::88440916::88441030::88441030::88441030::88441030::88441030::88441116::88441116::88441116::88441116::88441218::88441739::88442363::88443542::88445344::88448624::88451464::88451464::88451473::88451652::88451840::88452323::88453332::88455889::88458507::88460595::88460772::88462065::88462264::88462608::88462622::88462622::88462622::88462622::88462622::88462622::88462826::88463538::88464667::88466310::88468309::88471393::88474308::88477274') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e70', v='88480378::88481157::88481766::88481766::88481766::88481766::88483340::88485626::88486118') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='33401', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='9437795::9441972::9446144::9450217::9454261::9458184::9462346::9467434::9473186::9480126::9487404::9494779::9501916::9508615::9510621::9510628::9510635::9510642::9510649::9510656::9510663::9510671::9510678::9510687::9510695::9510703::9510712::9510720::9510728::9510736::9510743::9510751::9510760::9510768::9510776::9510784::9510792::9510800::9510809::9510817::9510826::9510833::9510840::9510847::9510855::9510863::9510871::9510879') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a300', v='9510888::9510896::9510904::9510912::9510920::9510928::9510935::9510944::9510952::9510960::9510968::9510976::9510984::9510993::9511001::9511009::9511016::9511023::9511030::9511038::9511045::9511053::9511061::9511069::9511078::9511086::9511095::9511103::9511112::9511121::9511129::9511137::9511144::::9511158::9511165::9511171::9511178::9511184::9511190::9511197::9511203::9511209::9511216::9511223::9511231::9511239::9511247::9511255') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55410', v='9511264::9511272::9511280::9511289::9511297::9511305::9511313::9511320::9511327::9511333::9511340::9511347::9511354::9511361::9511368::9511375::9511382::9511389::9511397::9511404::9511412::9511419::9511427::9511435::9511443::9511451::9511460::9511468::9511476::9511484::9511492::9511500::9511506::9511513::9511519::9511526::9511533::9511539::9511546::9511553::9511559::9511565::9511572::9511580::9511587::9511595::9511603::9511611') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f710', v='9511619::9511628::9511637::9511646::9511654::9511662::9511670::9511677::9511684::9511691::9511698::9511705::9511713::9511720::9511727::9511734::9511740::9511747::9511754::9511761::9511769::9511777::9511785::9511794::9511803::9511811::9511820::9511828::9511836::9511844::9511852::9511859::9511866::9511873::9511880::9511888::9511895::9511902::9511909::9514390::9519709::9522089::9522234::9522234::9522234::9522235::9522235::9522235') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a10', v='9522237::9522240::9522245::9522245::9522245::9522245::9522305::9522417::9522472::::9522564::9522698::9522957::9523630::9524451::9525296::9526830::9528579::9530279::9532182::9533799::9534552::9535404::9536317::9536364::9536364::9536364::9536364::9536364::9536364::9536365::9536365::9536366::9536378::9536405::9536445::9536452::9536454::9536460::9536501::9536855::9537087::9537318::9537474::9537525::9537548::9537581::9537677::9537678') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b20', v='9537678::9537678::9537678::9537678::9537736::9538143::9538893::9540546::9542875::9545324::9547869::9550788::9553582::9556453::9559237::9562025::9565951::9569947::9573692::9577040::9580032::9582462::9584347::9585562::9586226::9586928::9587579::9588077::9588974::9591192::9593773::9597560::9601808::9606160::9610756::9615226::9619694::9624409::9629124::9633493::9637849::9641922::9645776::9649316::9652378::9655502::9658479::9661021') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee20', v='9663237::9665228::9667187::9668925::9670776::9673297::9676502::9680673::9683191::9687690::9692279::9696481::9700679::9704855::9709161::9713542::9717867::9722167::9726451::9730363::9733859::9736754::9739475::9741440::9743260::9745064::9746883::9748517::9750210::9752619::9755730::9759949::9764686::9769374::9774465::9778741::9783023::9787135::89775.123::89779.04::89783.036::89786.633::89790.091::89793.369::89796.324::89798.585::89800.635::89802.621') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129120', v='89804.381::89806.063::89807.752::89809.284::89810.86::89813.012::89815.607::89818.79::89822.154::89824.714::89827.425::89830.508::89832.673::89832.71::89832.728::89832.745::89832.767::89832.785::89832.798::89832.809::89832.817::89832.82::89832.825::89832.825::89832.825::89832.825::89832.825::89832.825::89832.825::89832.825::89832.825::89832.826::89832.831::89832.834::89832.838::89832.84::89832.84::89832.84::89832.84::89832.843::89832.848::89832.851::89832.854::89832.858::89832.861::89832.864::89832.864::89832.864') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153420', v='89832.864::89832.864::89832.864::89832.864::89832.864::89832.864::89832.864::89832.864::89832.864::89832.864::89832.864::89832.864::89832.864::89832.864::89832.864::89832.868::89832.877::89832.887::89832.899::89832.903::89832.904::89832.904::89832.904::89832.904::89832.904::89832.904::89832.904::89832.904::89832.904::89832.904::89832.916::89832.97::89833.09::89833.204::89833.309::89833.397::89833.492::89833.59::89833.683::89833.788::9794482::9801201::9808217::9815372::9821930::9828022::9833861::9839493') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d720', v='9844996::9850441::9855681::9860795::9866311::9872873::9880027::9891193::9904398::9917454::9929974::9941796::9953698::9965698::9977794::::9993834::10001701::10009621::10016803::10023124::10029123::10034151::10038513::10042789::10046996::10051178::10055443::10060336::10065665::10071780::10078299::10084446::::10097123::10103293::10109641::10116023::10122562::10126785::10129414::10132288::10135645::10138489::10140416::10142238::10143368::10144487::10145494::10146532') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9640', v='10147341::10147793::10148486::10150039::10152051::10154643::10157406::10160170::10162955::10165058') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='10208784::10208784::10208784::10208784::10208784::10208784::10208784::10208784::10208784::10208784::10208784::10208784::10208784::10208784::10208784::10208784::10208784::10208784::10208784::10208784::10210882::10214444::10218093::10221623::10225223::10228858::10233641::10239906::10246598::10253420::10260295::10267010::10273305::10279245::10284682::10289594::10294461::10297150::10299060::10300879::10302781::10305041::10307600::10310256::10313017::10315732::10318357::10320952') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1760', v='10323453::10325881::10328301::10330906::10333991::10337378::10340913::10344270::10347474::10350831::10353880::10356443::10358890::10361257::10363427::10365542::10367850::10370602::10373700::10377548::10382335::10387959::10393679::10399028::10404469::10410328::10416554::10422964::10429464::10435510::10440887::10446070::10450544::10454833::10458732::10462419::10465714::10468842::10471882::10474772::10477901::10481897::10486997::10492973::10499207::10505324::10511555::10517602') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba60', v='10523544::10529362::10535760::10541894::10547762::10553407::10558890::10564118::10568426::10572294::10575771::10577767::10579647::10581720::10583716::10585444::10587354::10590968::10595126::10599731::10604460::10609000::10613753::10618516::10623241::10628428::10633999::10639539::10645125::10650405::10655643::10660471::10664738::10668862::10672675::10675947::10679195::10682322::10685340::10688204::10691460::10695443::10700037::10705702::10711873::10718309::10724907::10731364') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b70', v='10744298::10750573::10756336::10761594::10767184::10772901::10778679::10784193::10789173::10793391::10796895::10800538::10804151::10807732::10811214::10814952::10819236::10823772::10829212::10834920::10841418::10850701::10858289::10864315::10870586::10876526::10882496::10888291::10893713::10899090::10904444::10909119::10913700::10917699::10921310::10924826::10928478::10932121::10935715::10939412::10943265::10947154::10951299::10955647::10959802::10963755::10967526::10971201') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e70', v='10974801::10979086::10983922::10989053::10994083::10999069::11003529::11007379::11010738') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='33001', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a300', v='38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55410', v='38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f710', v='38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612587::38613097::38613585::38614490::38614906::38615380::38616053') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a10', v='38617123::38617258::38617296::38617414::38617926::38618741::38618942::38619021::38619066::::38619147::38619219::38619281::38619281::38619281::38619281::38619281::38619281::38619281::38619281::38619281::38619281::38619281::38619281::38619786::38620257::38620702::38621058::38621587::38622078::38622494::38623284::38623536::38623655::38623776::38623831::38624035::38624232::38624369::38624735::38624735::38624735::38624735::38624737::38624755::38624791::38624863::38624879::38625460') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b20', v='38626110::38626807::38627639::38628781::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee20', v='38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129120', v='229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.399::229734.417::229734.431::229734.448::229734.465::229734.485::229734.505::229734.514::229734.517::229734.517::229734.517::229734.517::229734.517::229734.518::229734.521::229734.523::229734.528::229734.536::229734.536::229734.536::229734.536::229734.536::229734.536::229734.536::229734.537::229734.554') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 4) +SAX.endElement(device) +SAX.characters( + , 3) +SAX.endElement(select) +SAX.characters( + , 2) +SAX.endElement(data) +SAX.characters( +, 1) +SAX.endElement(electroxml) +SAX.endDocument() diff --git a/libxml2/result/att4.sax2 b/libxml2/result/att4.sax2 new file mode 100644 index 0000000..553148c --- /dev/null +++ b/libxml2/result/att4.sax2 @@ -0,0 +1,36976 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( edited with XML Spy v4.4 U (http://www.xmlspy.com) by Slava (GIVC) ) +SAX.startElementNs(electroxml, NULL, NULL, 0, 1, 0, modified='2002...', 15) +SAX.characters( + , 2) +SAX.startElementNs(data, NULL, NULL, 0, 2, 0, from='2002...', 11, to='2002...', 11) +SAX.characters( + , 3) +SAX.startElementNs(select, NULL, NULL, 0, 0, 0) +SAX.characters( + , 4) +SAX.startElementNs(device, NULL, NULL, 0, 1, 0, serialnumb='E000...', 9) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='1134...', 6, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='1693...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='196....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='199....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='200....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='201....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='199....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='197....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='193....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='197....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='192....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='197....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='221....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='220"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='221....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='221....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='222"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='221....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='220"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='219"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='221....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='217....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='221....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='224....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='223....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='219"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='221....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='223....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='223....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='221"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='217....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='219"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='223....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='222"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='224....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='219"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='221"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='225....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='225"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='223....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='224....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='223....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='190"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='122....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='354....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='333....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='323....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='278....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='286....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='292....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='21.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='273....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='272....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='285....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='28.5...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='68.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='147....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='95.7...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='89.6...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='88.3...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='92.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='149....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='148....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='127....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='198....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='182....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='203....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='124....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='159....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='230....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='79.8...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='51.3...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='22.5...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='323....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='341....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='46.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='71.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='71.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='63.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='76.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='58.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='92"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='79.6...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='63.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='51.3...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='81.7...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='205....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='96.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='95.7...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='96.7...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='92.8...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='91.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='86.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='270"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='270....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='296....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='306....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='331....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='13.7...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='46.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='262....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='166....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='143....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='127....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='132....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='128....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='155....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='176....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='176....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='168....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='172....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='196....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='178....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='193....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='176....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='196....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='202....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='99.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='130....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='132....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='121....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='100....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='192....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='153....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='155....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='167....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='165....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='184....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='159....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='163....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='163....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='160....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='165"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='156....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='163....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='162....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='154....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='157....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='197....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='203....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='212....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='162"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='149....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='136....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='145....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='164....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='158....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='163"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='161....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='168....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='168....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='165....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='168....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='163....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='147....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='163"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='166....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='177....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='179....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='161"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='174....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='203....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='158....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='172....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='172....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='168....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='138"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='135....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='157....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='160....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='175....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='184....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='170"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='173....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='167"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='172....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='164....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='166....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='151....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='158....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='160....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='207....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='214....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='213....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='210....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='178....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='162....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='156....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='153....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='143....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='160....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='153....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='163....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='168....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='169....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='139....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='142....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='122....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='125....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='110....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='110....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='190....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='99.6...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='209....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='76.2...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='61.5...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='44.5...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='44.2...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='60.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='64.6...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='67.3...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='341....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='115....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='117....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='252....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='261....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='313....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='311....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='292"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='57.6...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='151....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='92.7...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='93.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='100....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='97.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='184"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='289....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='274....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='39.8...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='6.5"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='355....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='19.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='44.2...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='61.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='55.5...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='60.2...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='71.7...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='66.3...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='61.5...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='38.5...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='17.3...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='35.6...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='44.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='71.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='166....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='125"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='176"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='99.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='90"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='273....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='344....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='307....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='271....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='278....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='291....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='52.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='76.6...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='87.6...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='174....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='175....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='183....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='181....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='173....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='165....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='163....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='161....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='165....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='173....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='201....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='205....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='204....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='204....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='208....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='204....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='193....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='192....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='194....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='184....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='184....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='194....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='192....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='192....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='190....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='191....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='191....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='197....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='189....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='201....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='202....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='204....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='196....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='182....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='162....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='179....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='181....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='183....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='182....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='176....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='175....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='178....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='223....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='228....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='229....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='216....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='226....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='249....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='245....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='250....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='251....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='252....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='259....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='254....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='228....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='227....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='214....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='217"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='231....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='230....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='52"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='340....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='18.5...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='357....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='344....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='338....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='28.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='21.8...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='10.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='343....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='342....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='358....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='353....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='353....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='1.4"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='6.4"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='10.5...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='350....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='350....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='357....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='181....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='184....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='192....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='193....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='194....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='190....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='195"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='198....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='198....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='199....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='200....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='202....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='200....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='203....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='204....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='193....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='184....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='190....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='192....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='182....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='168....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='164....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='154....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='134....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='154....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='182....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='176"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='206....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='216....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='211....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='210....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='211....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='192....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='176....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='171....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='129....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='173....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='157....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='161....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='163....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='176....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='166....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='161....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='159....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='177....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='183....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='182....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='189....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='173....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='179....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='193....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='202....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='197....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='178....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='160....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='168....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='184"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='191....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='177....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='182....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='176....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='169....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='159....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='190....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='173....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='175....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='160"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='175....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='192....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='200....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='116....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='166....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='162....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='130....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='122"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='193....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='183....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='157....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='142....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='145....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='182....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='182....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='173....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='179....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='169....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='164....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='178....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='158"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='161....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='175....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='169....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='191....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='176....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='167....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='154....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='167"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='166....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='146....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='155....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='157....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='189....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='179....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='139....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='161....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='172"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='189....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='198....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='193....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='198....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='180....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='161....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='165....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='165....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='160....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='147....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='196....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='178....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='177....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='172"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='156....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='154....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='157"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='179....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='166"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='172....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='196....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='179....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='202....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='209....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='204....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='199....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='175....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='159....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='156....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='137....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='146"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='139....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='143....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='137....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='177....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='184....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='191....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='146....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='161....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='1069...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='8612...', 4, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='25.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='24.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='23.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='23.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='22.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='22.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='26.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='28.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='34.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='40.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='40.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='38.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='35.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='34.1...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='0.04...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='0.04...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='36.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='17.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='8.35...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='5.95...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='7.13...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='8.64...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='6.42...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='10.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='14.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='3.54...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='3.8"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='6.09...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='5.20...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='7.52...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='11.3...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='0.95...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='5.77...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='21.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='22.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='19.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='1.26...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='3.13...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='6.09...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='7.27...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='9.37...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='7.71...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='8.18...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='9.84...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='5.25...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='2.64...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='7.17...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='19.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='4.70...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='5.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='5.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='4.40...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='5.16...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='10.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='5.09...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='10.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='4.08...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='5.22...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='6.62...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='2.57...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='3.76...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='2.92...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='4.23...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='2.44...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='10.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='15.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='10.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='14.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='11.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='7.26...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='3.27...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='12.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='8.86...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='8.42...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='7.50...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='7.80...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='10.9...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='5.74...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='2.08...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='7.75...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='16.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='18.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='18.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='16.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='13.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='14.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='14.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='14.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='15.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='20.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='20.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='16.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='17.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='11.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='10.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='8.73...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='14.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='4.86...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='4.14...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='6.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='14.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='9.98...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='11.9...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='15.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='22.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='22.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='24.1...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='23.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='23.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='24.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='25.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='24.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='25.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='23.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='19.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='19.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='16.1...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='16.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='16.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='14.2...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='14.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='9.55...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='9.07...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='8.33...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='9.77...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='14.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='16.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='19.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='23.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='23.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='25.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='21.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='19.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='21.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='21.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='22.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='25.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='23.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='20.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='22.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='18.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='16.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='13.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='13.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='8.71...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='8.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='8.19...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='8.30...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='10.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='14.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='15.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='19.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='23.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='20.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='26.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='21.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='21.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='22.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='19.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='0.01...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='0.01...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='0.01...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='0.01...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='0.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='0.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='0.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0.27...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0.09...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0.14...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0.20...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0.07...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0.05...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0.44...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0.16...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0.15...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0.23...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0.33...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0.04...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0.14...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0.08...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0.05...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0.23...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0.20...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0.16...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0.07...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0.15...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0.18...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0.14...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0.15...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0.16...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0.30...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0.16...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0.14...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0.25...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0.19...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0.30...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0.03...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0.04...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0.09...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0.14...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0.09...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0.07...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0.17...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0.08...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0.60...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0.67...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0.72...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0.47...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0.47...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0.49...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0.49...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0.57...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0.62...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='35.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='33.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='35.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='32.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='28.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='29.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='30.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='28.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='27.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='28.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='25.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='25.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='30.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='32.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='38.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='64.3...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='63.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='60.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='57.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='59.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='56.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='60.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='56.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='37.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='40.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='38.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='32.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='30.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='26.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='21.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='21.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='21.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='20.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='19.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='20.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='25.6...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='29.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='31.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='28.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='32.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='32.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='29.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='29.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='29.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='29.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='29.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='10.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='18.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='23.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='25.8...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='13.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='15.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='22.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='20.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='14.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='17.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='18.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='14.8...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='11.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='6.40...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='13.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='18.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='16.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='16.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='17.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='16.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='16.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='4.33...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='4.33...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='21.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='20.8...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='22.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='22.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='34.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='33.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='32.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='33.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='34.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='36.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='36.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='36.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='37.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='37.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='37.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='32.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='31.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='31.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='15.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='17.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='17.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='16.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='17.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='18.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='32.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='37.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='36.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='37.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='37.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='35.9...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='34.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='31.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='27.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='27.7...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='27.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='9.65...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='8.98...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='8.87...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='11.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='11.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='13.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='12.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='13.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='12.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='12.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='12.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='11.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='11.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='13.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='20.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='17.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='17.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='17.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='15.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='18.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='19.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='15.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='14.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='14.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='10.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='10.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='10.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='12.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='18.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='17.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='24.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='27.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='31.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='28.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='26.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='27.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='31.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='30.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='33.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='31.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='27.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='26.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='22.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='21.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='20.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='20.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='17.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='14.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='14.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='13.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='14.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='18.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='22.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='29.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='30.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='31.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='30.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='30.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='29.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='29.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='30.4...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='31.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='28.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='28.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='27.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='26.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='24.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='18.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='17.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='16.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='18.4...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='9.83...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='9.73...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='12.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='17.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='17.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='19.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='22.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='25.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='28.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='28.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='23.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='22.6...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='22.1...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='27.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='27.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='29.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='27.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='25.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='25.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='23.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='21.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='19.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='15.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='16.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='15.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='13.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='14.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='15.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='18.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='22.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='26.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='34.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='35.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='36.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='34.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='32.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='33.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='31.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='36.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='30.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='28.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='28.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='27.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='26.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='21.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='20.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='17.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='17.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='17.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='16.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='17.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='20.9...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='21.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='25.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='31.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='33.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='82.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='46.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='22.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='31.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='30.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='28.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='30.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='31.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='28.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='27.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='24.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='22.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='23.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='17.5...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='17.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='18.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='20.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='19.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='18.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='18.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='18.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='18.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='23.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='23.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='26.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='24.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='23.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='23.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='24"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='22.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='26.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='25.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='25.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='24.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='23.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='18.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='15.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='8608...', 4, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='8604...', 4, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='21.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='20.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='19.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='19.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='18.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='18.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='22.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='24.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='29.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='35.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='35.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='33.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='30.7...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='29.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='0.07...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='30.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='16.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='10.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='3.83...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='3.30...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='4.19...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='2.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='4.91...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='7.89...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='2.93...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='1.48...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='2.19...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='1.67...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='5.98...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='10.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='3.65...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='7.25...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='19.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='21.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='18.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='3.45...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='4.91...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='7.33...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='7.20...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='9.19...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='8.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='7.68...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='8.66...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='7.73...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='5.14...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='5.08...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='18.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='4.67...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='3.97...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='2.24...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='2.51...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='4.78...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='10.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='5.86...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='9.66...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='5.19...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='5.35...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='7.74...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='3.65...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='4.23...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='3.28...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='5.65...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='2.24...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='12.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='15.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='11.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='15.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='12.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='8.53...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='1.47...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='7.44...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='4.26...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='3.80...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='3.75...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='5.53...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='9.52...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='1.98...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='4.15...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='9.62...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='17.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='19.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='19.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='14.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='12.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='13.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='13.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='13.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='13.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='18.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='17.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='15.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='15.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='11.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='9.89...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='7.99...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='13.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='6.33...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='5.63...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='7.36...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='14.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='9.67...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='12.8...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='14.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='21.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='21.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='22.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='20.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='22.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='22.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='24.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='23.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='23.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='22.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='18.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='18.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='15.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='16.3...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='15.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='12.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='12.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='8.94...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='8.83...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='8.79...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='10.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='13.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='15.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='19.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='22.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='21.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='23.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='20.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='18.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='20.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='19.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='21.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='23.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='21.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='19.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='20.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='17.3...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='16.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='13.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='12.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='8.96...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='8.31...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='8.35...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='8.49...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='10.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='13.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='15.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='18.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='22.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='19.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='23.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='20.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='19.8...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='20.8...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='18.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='0.02...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='0.02...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='0.01...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='0.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='0.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='0.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='0.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='0.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='0.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='0.01...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0.26...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0.12...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0.16...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0.22...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0.24...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0.23...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0.23...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0.07...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0.08...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0.41...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0.19...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0.15...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0.14...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0.30...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0.20...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0.09...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0.03...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0.08...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0.25...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0.22...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0.19...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0.04...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0.15...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0.09...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0.12...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0.18...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0.28...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0.16...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0.15...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0.24...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0.18...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0.09...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0.09...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0.29...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0.07...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0.04...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0.07...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0.07...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0.17...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0.22...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0.57...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0.63...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0.67...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0.45...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0.46...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0.47...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0.48...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0.56...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0.59...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='34.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='33.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='34.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='31.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='26.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='26.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='28.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='25.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='24.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='25.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='22.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='22.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='28.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='30.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='35.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='61.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='61.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='58.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='54.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='56.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='53.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='57.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='53.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='36.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='36.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='35.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='29.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='28.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='25.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='19.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='19.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='19.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='18.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='18.1...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='20.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='25.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='27.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='29.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='27.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='30.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='29.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='28.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='28.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='28.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='28.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='28.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='11.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='14.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='19.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='20.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='11.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='12.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='16.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='15.1...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='9.95...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='12.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='12.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='9.68...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='6.80...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='4.55...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='10.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='14.6...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='14.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='13.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='15.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='13.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='12.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='3.99...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='2.18...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='16.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='14.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='16.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='15.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='29.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='27.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='25.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='24.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='25.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='28.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='28.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='28.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='30.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='30.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='30.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='24.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='23.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='23.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='15.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='16.6...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='16.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='15.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='16.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='16.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='27.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='31.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='31.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='32.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='31.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='30.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='29.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='27.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='23.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='23.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='23.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='8.57...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='7.91...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='7.85...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='9.84...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='10.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='11.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='11.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='12.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='11.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='11.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='10.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='10.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='10.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='13.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='19.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='16.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='15.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='15.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='14.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='15.7...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='16.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='13.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='11.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='11.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='9.24...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='8.96...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='9.42...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='11.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='18.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='15.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='23.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='26.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='29.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='25.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='25.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='26.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='30.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='28.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='30.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='28.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='24.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='23.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='21.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='19.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='18.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='17.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='15.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='13.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='13.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='12.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='13.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='17.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='21.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='25.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='27.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='28.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='27.6...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='28.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='27.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='27.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='28.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='27.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='26.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='25.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='24.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='24.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='22.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='17.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='16.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='14.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='18.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='10.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='10.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='13.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='17.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='15.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='17.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='21.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='24.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='26.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='27.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='22.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='21.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='20.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='25.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='25.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='27.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='25.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='24.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='23.8...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='22.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='20.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='18.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='14.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='14.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='14.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='13.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='13.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='15.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='17.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='20.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='24.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='32.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='34.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='34.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='31.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='29.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='30.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='29.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='34.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='28.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='25.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='26.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='24.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='24.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='20.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='18.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='15.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='15.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='15.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='15.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='16.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='19.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='20.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='23.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='29.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='31.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='75.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='41.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='21.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='29.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='28.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='27.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='28.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='29.3...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='26.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='25.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='23.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='21.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='20.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='16.3...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='15.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='16.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='17.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='16.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='16.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='17.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='18.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='18.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='22.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='22.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='25.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='22.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='22.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='22.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='23.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='21.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='23.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='23.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='22.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='22.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='23.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='18.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='14.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='9812...', 4, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='114....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='109....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='124....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='127....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='121....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='113....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='113....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='118....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='116....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='114....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='114....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='122....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='121....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='122....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='113....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='121....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='125....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='127....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='128....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='127....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='127....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='127....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='124....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='124....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='121....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='122....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='122....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='121....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='115....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='124....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='125....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='119....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='121....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='9808...', 4, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='9804...', 4, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='113....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='109....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='125....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='127....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='112....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='122....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='122....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='113....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='122....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='114....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='114....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='121....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='113....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='121....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='122....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='124....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='128....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='126....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='125....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='116....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='125....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='121....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='123....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='122....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='121....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='118....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='114....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='124....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='4406...', 6, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='-127...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='-148...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='-156...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='-164...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='-144...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='-127...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='-104...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='-169...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='-176...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='-166...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='-206...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='-199...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='-192...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='-201...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='-184...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='-631...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='1564...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='-66"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='-393...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='-691...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='-883...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='-157...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='-220...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='109"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='-420...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='-859...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='-628...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='516"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='1839...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='293"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='1185...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='3946...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='4230...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='3689...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='248"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='430"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='1026...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='-526...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='-258...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='-65"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='-489...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='-842...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='1082...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='310"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='-111...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='3632...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='513"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='214"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='-292...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='-127...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='495"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='1815...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='818"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='1539...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='680"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='712"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='1280...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='397"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='493"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='250"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='785"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='-201...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='2156...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='2937...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='2107...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='2824...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='2269...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='1441...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='-297...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='-228...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='-118...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='-964...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='-442...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='261"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='1309...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='-849...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='178"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='1111...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='2750...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='2769...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='2973...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='1327...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='454"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='199"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='167"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='556"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='416"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='-370...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='-115...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='93"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='-843...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='171"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='-646...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='-723...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='2665...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='837"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='698"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='1097...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='2649...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='-495...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='1165...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='542"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='1871...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='979"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='1210...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='-356...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='1654...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='1368...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='1462...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='1612...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='1309...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='1886...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='1136...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='1169...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='1403...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='1316...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='-104...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='-119...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='-160...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='-199...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='-252...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='585"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='1069...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='1973...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='1831...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='1127...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='1767...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='1343...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='1564...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='849"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='805"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='1093...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='880"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='1254...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='2664...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='1368...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='1009...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='208"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='22"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='1142...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='286"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='-116...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='712"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='227"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='236"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='372"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='1441...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='2015...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='1211...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='1284...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='369"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='-310...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='-802...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='781"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='491"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='1023...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='516"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='2"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='2"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='2274...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='1775...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='1153...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='769"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='-846...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='-236...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='-296...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='-251...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='-244...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='-286...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='-227...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='-125...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='-716...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='-148...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='-200...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='-105...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='-978...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='-126...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='-317...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='-266...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='-254...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='-237...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='-112...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='1219...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='-106...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='-151...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='-128...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='-190...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='-162...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='-778...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='-173...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='-174...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='-187...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='-120...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='-211...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='1619...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='-764...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='-827...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='40"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='-199...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='-967...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='-680...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='-385...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='-241...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='371"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='471"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='61"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='-244...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='-344...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='-386...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='-165...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='-227...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='-413...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='-373...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='-265...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='-328...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='-337...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='-270...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='-198...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='-797...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='-204...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='-279...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='-193...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='-209...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='-221...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='-267...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='-253...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='453"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='-157...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='1143...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='-146...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='-100...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='-140...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='2949...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='2229...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='1022...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='-162...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='-183...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='-211...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='-767...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='-792...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='173"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='776"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='1249...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='-957...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='-911...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='-243...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='-65"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='-308...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='-811...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='-806...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='-952...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='-716...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='-161...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='-191...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='-180...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='-222...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='-227...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='-231...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='-228...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='-233...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='-186...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='-213...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='-220...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='-296...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='-449...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='-142...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='-422...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='-365...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='-581...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='-263...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='-325...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='-142...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='-355...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='-310...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='496"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='660"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='1246...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='2889...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='1532...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='-143...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='-518...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='225"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='-166...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='-233...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='-172...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='-148...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='-151...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='-476...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='-193...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='128"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='376"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='2872...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='408"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='1923...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='1830...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='1798...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='334"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='1260...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='1815...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='2272...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='262"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='-387...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='-613...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='-251...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='-885...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='551"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='48"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='-982...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='-161...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='-112...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='-381...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='-441...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='71"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='1020...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='760"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='-319...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='-114...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='302"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='-319...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='-582...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='408"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='1031...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='1139...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='2082...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='-120...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='622"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='456"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='-736...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='-818...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='1684...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='307"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='-801...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='-125...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='3308...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='506"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='639"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='1963...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='2867...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='-831...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='-270...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='2010...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='3408...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='3190...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='-187...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='-225...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='531"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='-823...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='62"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='1079...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='1547...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='900"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='112"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='1780...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='1407...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='298"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='565"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='-311...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='-657...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='168"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='647"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='1427...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='829"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='-5"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='1197...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='3751...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='2991...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='2801...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='-118...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='-828...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='-799...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='57"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='4601...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='1911...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='799"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='-972...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='-708...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='-790...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='-490...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='-131...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='-825...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='-101...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='-117...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='-35"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='1352...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='1059...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='1290...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='2079...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='3618...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='-468...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='-247...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='-556...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='189"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='260"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='816"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='2489...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='2732...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='2234...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='57"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='1219...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='632"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='-136...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='38"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='-980...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='-150...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='-211...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='-161...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='-131...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='-432...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='309"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='685"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='1692...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='1899...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='3622...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='2709...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='3037...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='2898...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='3251...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='186"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='-636...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='-421...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='-729...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='-978...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='2670...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='1255...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='-496...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='4246...', 6, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='-431...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='-416...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='-410...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='-409...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='-398...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='-393...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='-443...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='-532...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='-629...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='-733...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='-754...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='-724...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='-686...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='-645...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='-646...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='-354...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='-986...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='697"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='776"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='925"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='125"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='456"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='903"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='278"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='27"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='43"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='173"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='947"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='728"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='-452...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='-117...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='23"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='182"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='-152...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='-423...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='-705...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='-790...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='-157...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='-202...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='-175...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='-172...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='-190...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='-741...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='-812...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='-891...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='652"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='411"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='516"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='398"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='382"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='470"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='591"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='267"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='770"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='164"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='438"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='-43"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='72"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='249"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='201"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='115"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='-425...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='-229...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='-284...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='-247...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='-135...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='-54"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='96"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='16"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='598"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='721"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='818"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='1067...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='1245...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='-117...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='-721...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='-150...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='-208...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='-255...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='-234...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='-292...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='-271...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='-285...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='-292...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='-280...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='-303...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='-401...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='-391...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='-341...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='-344...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='-256...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='-213...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='-176...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='-465...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='-702...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='-647...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='-676...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='-509...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='-215...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='-235...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='-317...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='-403...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='-433...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='-465...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='-466...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='-434...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='-457...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='-492...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='-460...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='-486...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='-430...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='-389...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='-378...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='-298...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='-309...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='-333...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='-268...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='-252...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='-207...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='-198...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='-178...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='-179...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='-207...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='-269...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='-393...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='-440...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='-436...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='-469...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='-430...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='-392...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='-410...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='-418...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='-434...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='-416...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='-445...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='-413...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='-449...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='-388...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='-329...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='-286...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='-266...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='-177...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='-181...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='-182...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='-180...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='-159...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='-205...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='-296...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='-362...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='-483...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='-429...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='-525...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='-440...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='-432...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='-442...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='-395...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='-4"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='-4"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='-4"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='-4"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='-686...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='-679...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='-725...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='-673...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='-603...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='-589...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='-606...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='-548...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='-544...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='-533...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='-498...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='-519...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='-631...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='-683...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='-785...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='-135...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='-133...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='-127...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='-118...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='-123...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='-117...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='-126...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='-118...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='-747...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='-812...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='-769...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='-653...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='-617...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='-566...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='-448...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='-430...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='-426...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='-411...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='-410...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='-451...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='-513...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='-603...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='-639...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='-589...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='-669...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='-660...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='-615...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='-612...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='-622...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='-604...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='-600...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='-229...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='-254...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='-308...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='-326...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='-226...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='-215...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='-153...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='-167...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='-960...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='-112...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='-106...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='-505...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='-536...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='-991...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='-181...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='-257...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='-284...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='-260...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='-292...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='-211...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='-207...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='354"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='438"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='3408...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='3269...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='3655...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='3521...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='5431...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='5560...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='5660...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='5623...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='5896...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='6656...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='6647...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='6733...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='6914...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='6873...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='6691...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='5814...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='5617...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='5608...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='-323...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='-365...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='-362...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='-344...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='-360...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='-373...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='-599...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='-671...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='-658...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='-676...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='-680...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='-652...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='-617...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='-567...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='-491...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='-491...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='-480...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='-198...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='-181...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='-183...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='-225...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='-232...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='-268...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='-267...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='-277...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='-268...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='-265...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='-255...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='-235...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='-231...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='-258...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='-281...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='-318...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='-357...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='-354...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='-314...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='-334...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='-313...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='-280...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='-250...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='-249...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='-215...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='-213...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='-215...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='-249...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='-236...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='-351...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='-456...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='-534...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='-605...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='-579...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='-534...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='-539...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='-597...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='-609...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='-677...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='-637...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='-547...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='-538...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='-460...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='-431...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='-405...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='-386...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='-348...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='-311...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='-301...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='-294...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='-281...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='-364...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='-449...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='-579...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='-619...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='-617...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='-610...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='-621...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='-589...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='-598...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='-563...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='-621...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='-578...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='-572...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='-553...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='-540...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='-460...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='-387...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='-361...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='-329...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='-168...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='-207...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='-205...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='-167...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='-179...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='-348...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='-391...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='-457...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='-478...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='-445...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='-469...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='-483...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='-465...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='-445...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='-539...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='-553...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='-586...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='-522...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='-516...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='-525...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='-438...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='-421...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='-401...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='-322...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='-331...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='-318...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='-297...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='-294...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='-293...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='-357...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='-454...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='-511...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='-573...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='-651...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='-677...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='-675...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='-636...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='-654...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='-627...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='-540...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='-579...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='-564...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='-574...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='-544...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='-544...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='-455...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='-401...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='-348...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='-361...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='-355...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='-340...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='-360...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='-402...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='-418...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='-499...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='-581...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='-559...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='-152...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='-869...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='-457...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='-631...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='-610...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='-575...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='-576...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='-564...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='-524...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='-556...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='-487...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='-461...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='-461...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='-361...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='-346...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='-356...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='-367...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='-361...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='-362...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='-386...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='-396...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='-388...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='-438...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='-427...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='-396...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='-400...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='-356...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='-387...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='-356...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='-469...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='-519...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='-521...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='-503...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='-496...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='-404...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='-370...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='-321...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='4382...', 6, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='-110...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='-128...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='-135...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='-142...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='-124...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='-110...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='-909...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='-147...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='-152...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='-143...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='-178...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='-175...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='-168...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='-174...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='-159...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='-500...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='1379...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='-45"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='-346...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='-580...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='-752...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='-136...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='-190...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='101"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='-366...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='-740...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='-550...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='432"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='1595...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='275"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='1019...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='3444...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='3629...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='3203...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='215"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='380"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='890"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='-446...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='-200...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='-44"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='-424...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='-718...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='946"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='276"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='-944...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='3129...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='453"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='194"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='-246...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='-122...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='430"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='1582...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='720"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='1333...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='588"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='642"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='1096...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='313"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='374"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='204"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='692"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='-196...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='1888...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='2502...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='1840...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='2437...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='1930...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='1219...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='-250...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='-197...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='-102...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='-107...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='-388...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='229"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='1131...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='-726...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='166"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='965"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='2341...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='2354...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='2565...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='1136...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='367"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='173"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='156"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='460"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='358"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='-308...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='-100...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='93"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='-723...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='147"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='-551...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='-626...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='2316...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='714"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='600"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='953"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='2267...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='-403...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='999"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='475"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='1663...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='829"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='1055...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='-314...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='1431...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='1201...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='1280...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='1431...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='1145...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='1635...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='957"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='1019...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='1219...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='1143...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='-893...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='-101...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='-138...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='-182...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='-220...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='502"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='940"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='1719...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='1592...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='960"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='1537...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='1177...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='1337...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='737"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='723"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='917"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='794"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='1075...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='2328...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='1192...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='867"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='184"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='12"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='978"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='256"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='-100...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='614"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='205"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='195"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='316"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='1241...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='1748...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='1046...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='1099...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='309"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='-202...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='-722...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='680"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='440"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='870"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='475"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='2"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='1959...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='1506...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='1027...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='677"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='-759...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='-204...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='-255...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='-217...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='-212...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='-248...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='-198...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='-107...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='-524...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='-136...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='-175...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='-893...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='-845...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='-114...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='-271...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='-229...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='-220...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='-203...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='-997...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='1048...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='-955...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='-133...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='-112...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='-162...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='-141...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='-671...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='-150...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='-151...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='-161...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='-103...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='-192...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='1397...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='-627...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='-711...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='20"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='-130...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='-843...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='-642...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='-320...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='-210...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='295"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='417"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='37"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='-210...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='-298...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='-332...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='-143...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='-198...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='-357...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='-323...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='-228...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='-284...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='-294...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='-234...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='-171...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='-668...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='-176...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='-241...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='-172...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='-183...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='-188...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='-234...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='-217...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='374"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='-132...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='993"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='-150...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='-843...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='-119...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='2577...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='1582...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='909"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='-140...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='-159...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='-186...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='-658...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='-679...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='89"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='680"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='1095...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='-832...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='-785...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='-228...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='-40"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='-280...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='-697...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='-697...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='-811...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='-629...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='-140...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='-166...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='-157...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='-192...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='-197...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='-201...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='-198...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='-200...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='-161...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='-185...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='-190...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='-251...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='-386...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='-121...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='-365...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='-313...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='-506...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='-232...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='-288...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='-121...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='-310...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='-245...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='439"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='609"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='1078...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='2491...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='1327...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='-115...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='-442...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='203"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='-143...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='-201...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='-149...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='-128...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='-130...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='-409...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='-162...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='90"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='319"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='2483...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='357"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='1681...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='1572...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='1575...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='302"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='1076...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='1555...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='1971...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='239"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='-351...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='-527...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='-215...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='-782...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='452"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='60"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='-848...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='-138...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='-989...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='-325...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='-382...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='60"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='884"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='659"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='-264...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='-990...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='289"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='-292...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='-542...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='366"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='909"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='992"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='1808...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='-104...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='543"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='377"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='-619...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='-712...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='1459...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='257"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='-696...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='-108...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='2873...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='421"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='557"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='1696...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='2480...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='-707...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='-237...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='1730...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='2990...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='2746...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='-174...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='-194...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='485"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='-729...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='70"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='907"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='1297...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='776"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='123"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='1557...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='1208...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='253"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='508"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='-274...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='-571...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='146"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='567"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='1222...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='733"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='8"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='1041...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='3222...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='2576...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='2422...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='-103...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='-746...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='-661...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='45"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='3983...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='1694...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='709"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='-844...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='-605...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='-661...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='-436...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='-115...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='-716...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='-877...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='-102...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='1185...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='884"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='1103...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='1789...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='3132...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='-403...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='-211...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='-498...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='174"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='210"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='710"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='2127...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='2386...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='1916...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='1070...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='564"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='-118...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='34"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='-847...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='-131...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='-184...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='-140...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='-112...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='-372...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='269"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='572"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='1413...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='1586...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='3161...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='2347...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='2627...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='2502...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='2818...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='158"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='-545...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='-370...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='-624...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='-847...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='2315...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='1099...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='-417...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='4222...', 6, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='-430...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='-416...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='-409...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='-408...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='-396...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='-396...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='-441...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='-535...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='-631...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='-729...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='-751...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='-735...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='-689...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='-646...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='-632...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='-351...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='-963...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='644"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='700"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='942"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='99"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='464"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='912"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='289"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='32"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='46"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='200"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='921"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='744"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='-561...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='-68"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='31"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='142"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='-123...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='-451...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='-729...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='-712...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='-158...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='-198...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='-175...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='-175...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='-189...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='-827...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='-882...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='-899...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='644"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='417"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='524"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='400"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='372"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='484"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='591"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='336"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='741"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='114"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='507"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='-51"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='136"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='334"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='235"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='116"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='-417...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='-232...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='-184...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='-219...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='-134...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='-51"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='143"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='11"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='600"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='644"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='836"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='1068...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='1213...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='-135...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='-755...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='-149...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='-201...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='-256...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='-233...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='-289...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='-278...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='-291...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='-291...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='-283...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='-301...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='-409...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='-397...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='-337...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='-342...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='-255...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='-218...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='-175...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='-477...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='-709...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='-653...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='-653...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='-468...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='-211...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='-223...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='-319...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='-408...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='-430...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='-455...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='-462...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='-430...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='-460...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='-485...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='-461...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='-481...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='-424...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='-391...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='-380...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='-302...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='-303...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='-329...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='-268...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='-253...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='-208...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='-198...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='-179...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='-179...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='-207...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='-272...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='-401...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='-432...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='-433...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='-472...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='-433...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='-390...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='-411...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='-432...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='-434...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='-416...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='-435...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='-416...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='-445...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='-389...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='-328...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='-286...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='-266...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='-179...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='-179...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='-182...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='-178...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='-158...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='-208...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='-288...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='-355...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='-483...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='-432...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='-539...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='-445...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='-427...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='-435...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='-390...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='-4"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='-4"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='-4"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='-4"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='-684...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='-684...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='-727...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='-671...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='-604...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='-587...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='-606...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='-548...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='-543...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='-534...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='-498...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='-519...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='-632...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='-692...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='-788...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='-134...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='-133...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='-128...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='-119...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='-124...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='-116...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='-125...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='-119...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='-756...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='-810...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='-767...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='-656...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='-616...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='-566...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='-447...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='-430...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='-425...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='-412...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='-412...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='-449...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='-513...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='-596...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='-635...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='-596...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='-661...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='-661...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='-619...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='-623...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='-631...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='-607...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='-607...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='-239...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='-260...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='-305...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='-333...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='-223...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='-213...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='-154...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='-167...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='-969...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='-112...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='-107...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='-481...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='-537...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='-995...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='-181...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='-263...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='-292...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='-259...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='-289...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='-217...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='-209...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='311"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='399"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='3486...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='3357...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='3670...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='3580...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='5398...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='5478...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='5618...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='5659...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='5923...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='6651...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='6654...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='6713...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='6885...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='6893...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='6705...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='5853...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='5545...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='5589...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='-321...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='-362...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='-362...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='-347...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='-363...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='-372...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='-603...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='-675...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='-664...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='-677...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='-679...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='-659...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='-613...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='-565...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='-491...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='-490...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='-480...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='-197...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='-182...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='-182...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='-227...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='-233...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='-264...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='-264...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='-274...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='-272...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='-258...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='-254...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='-237...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='-233...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='-256...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='-278...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='-319...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='-358...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='-359...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='-312...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='-333...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='-314...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='-280...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='-248...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='-249...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='-217...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='-213...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='-215...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='-250...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='-239...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='-346...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='-451...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='-535...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='-591...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='-577...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='-528...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='-538...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='-597...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='-610...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='-674...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='-631...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='-553...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='-545...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='-463...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='-434...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='-404...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='-385...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='-351...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='-313...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='-301...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='-290...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='-282...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='-368...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='-450...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='-584...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='-619...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='-616...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='-614...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='-622...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='-593...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='-592...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='-555...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='-624...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='-575...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='-577...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='-546...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='-539...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='-454...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='-387...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='-362...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='-329...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='-168...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='-208...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='-204...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='-167...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='-178...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='-349...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='-408...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='-445...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='-481...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='-440...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='-462...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='-482...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='-464...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='-443...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='-539...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='-555...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='-588...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='-520...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='-520...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='-525...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='-434...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='-419...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='-399...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='-319...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='-332...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='-319...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='-296...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='-295...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='-291...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='-362...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='-456...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='-501...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='-579...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='-660...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='-678...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='-673...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='-643...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='-641...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='-626...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='-537...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='-570...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='-566...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='-581...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='-549...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='-536...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='-453...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='-400...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='-348...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='-359...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='-357...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='-342...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='-361...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='-406...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='-420...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='-497...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='-584...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='-566...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='-151...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='-862...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='-460...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='-632...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='-612...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='-581...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='-580...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='-562...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='-531...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='-554...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='-491...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='-458...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='-467...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='-369...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='-349...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='-358...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='-368...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='-360...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='-368...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='-385...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='-392...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='-395...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='-446...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='-425...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='-391...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='-389...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='-353...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='-379...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='-362...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='-454...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='-517...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='-503...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='-502...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='-502...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='-399...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='-355...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='-320...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='6746...', 6, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='2212...', 155) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='6738...', 6, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0:0:...', 147) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='6734...', 6, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='7289...', 176) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='6730...', 6, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0:0:...', 87) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='2627...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::1...', 258) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0::5...', 185) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='6::1...', 186) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='6::1...', 201) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='629:...', 257) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='2289...', 258) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='1954...', 292) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='2.48...', 279) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0.00...', 304) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='5016...', 313) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='1243...', 68) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='8197...', 288) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='8270...', 280) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='6511...', 268) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='3280...', 278) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='8226...', 56) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='2627...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0::0...', 144) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='0::0...', 162) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='273:...', 298) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='16::...', 298) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='14::...', 323) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='0::0...', 306) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0.03...', 294) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='0::0...', 223) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='0::0...', 28) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='1413...', 268) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='303:...', 270) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='5304...', 297) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='1514...', 280) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='1776...', 61) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='2627...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::4...', 265) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0::8...', 208) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='8::1...', 206) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='8::1...', 222) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='2::4...', 228) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='0::0...', 292) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='4757...', 350) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='3.74...', 307) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0::0...', 234) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='1113...', 339) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='3972...', 63) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='1295...', 285) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='3876...', 321) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='6481...', 322) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='7162...', 331) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='5709...', 61) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='2627...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0::0...', 144) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='0::0...', 157) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='1070...', 279) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='1231...', 208) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='0::0...', 237) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0.03...', 296) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='0::0...', 146) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='0::0...', 28) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='9208...', 271) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='0::0...', 25) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='1314...', 7, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='2703...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='1313...', 7, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='3066...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='1313...', 7, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='1576...', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='1313...', 7, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='1270...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='5251...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::1...', 324) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='2226...', 336) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='2243...', 334) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='2261...', 334) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='2937...', 336) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='3974...', 334) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='4804...', 369) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='5025...', 523) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='5025...', 490) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='5944...', 361) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='1369...', 78) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='1748...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='2118...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='2325...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='2434...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='2668...', 70) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='5251...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0::0...', 144) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='0::0...', 165) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='2745...', 327) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='5015...', 334) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='9659...', 415) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='1317...', 573) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='1317...', 539) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='1382...', 386) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='1443...', 78) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='1627...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='1747...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='2013...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='2534...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='3009...', 70) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='5251...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::4...', 328) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='7309...', 336) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='7346...', 334) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='7382...', 334) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='8444...', 336) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='9988...', 377) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='2254...', 421) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='1520...', 573) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='1520...', 540) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='4071...', 386) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='7095...', 78) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='7709...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='8856...', 400) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='1085...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='1306...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='1537...', 79) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='5251...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0::0...', 144) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='0::0...', 160) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='4546...', 306) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='1353...', 334) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='1715...', 374) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='1715...', 526) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='1715...', 486) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='1715...', 338) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='1715...', 68) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='2636...', 367) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='1270...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='1270...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='1270...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='1270...', 70) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='3460...', 5, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='6094...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='6116...', 432) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='6117...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='6117...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='6123...', 432) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='6134...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='6142...', 449) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='1448...', 572) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='1448...', 543) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='6154...', 434) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='6231...', 88) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='6269...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='6306...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='6327...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='6338...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='6361...', 79) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='3380...', 5, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='8817...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='8817...', 480) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='8817...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='8817...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='8818...', 480) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='8822...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='8827...', 495) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='1111...', 570) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='1112...', 552) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='8831...', 482) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='8832...', 98) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='8834...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='8835...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='8838...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='8843...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='8848...', 88) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='3340...', 5, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='9437...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='9510...', 432) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='9511...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='9511...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='9522...', 432) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='9537...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='9663...', 449) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='8980...', 518) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='8983...', 507) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='9844...', 466) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='1014...', 98) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='1020...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='1032...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='1052...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='1074...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='1097...', 88) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='3300...', 5, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='3861...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='3861...', 480) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='3861...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='3861...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='3861...', 480) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='3862...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='3862...', 498) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='2297...', 574) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 4) +SAX.endElementNs(device, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(select, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(data, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(electroxml, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/att5 b/libxml2/result/att5 new file mode 100644 index 0000000..8768e36 --- /dev/null +++ b/libxml2/result/att5 @@ -0,0 +1,40 @@ + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libxml2/result/att5.rde b/libxml2/result/att5.rde new file mode 100644 index 0000000..35220b0 --- /dev/null +++ b/libxml2/result/att5.rde @@ -0,0 +1,109 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 no normalization +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 8 #comment 0 1 normalization +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 +1 8 #comment 0 1 PBM serializing back +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/libxml2/result/att5.rdr b/libxml2/result/att5.rdr new file mode 100644 index 0000000..35220b0 --- /dev/null +++ b/libxml2/result/att5.rdr @@ -0,0 +1,109 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 no normalization +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 8 #comment 0 1 normalization +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 +1 8 #comment 0 1 PBM serializing back +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/libxml2/result/att5.sax b/libxml2/result/att5.sax new file mode 100644 index 0000000..49d85fb --- /dev/null +++ b/libxml2/result/att5.sax @@ -0,0 +1,148 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.attributeDecl(normId, attr, 8, 3, NULL, ...) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.characters( + , 3) +SAX.comment( no normalization ) +SAX.characters( + , 3) +SAX.startElement(norm, attr=' ') +SAX.endElement(norm) +SAX.characters( + , 3) +SAX.startElement(norm, attr=' foo bar ') +SAX.endElement(norm) +SAX.characters( + , 3) +SAX.startElement(norm, attr=' foobar') +SAX.endElement(norm) +SAX.characters( + , 3) +SAX.startElement(norm, attr=' foo bar ') +SAX.endElement(norm) +SAX.characters( + , 3) +SAX.startElement(norm, attr='foobar ') +SAX.endElement(norm) +SAX.characters( + , 3) +SAX.startElement(norm, attr=' & ') +SAX.endElement(norm) +SAX.characters( + , 3) +SAX.startElement(norm, attr=' foo&bar ') +SAX.endElement(norm) +SAX.characters( + , 3) +SAX.startElement(norm, attr=' foobar&') +SAX.endElement(norm) +SAX.characters( + , 3) +SAX.startElement(norm, attr='&foo bar ') +SAX.endElement(norm) +SAX.characters( + , 3) +SAX.startElement(norm, attr='foobar &') +SAX.endElement(norm) +SAX.characters( + , 3) +SAX.startElement(norm, attr=' < ') +SAX.endElement(norm) +SAX.characters( + , 3) +SAX.startElement(norm, attr=' foo +...', 0) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foo ...', 7) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foob...', 6) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foo ...', 7) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foob...', 6) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='&...', 5) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foo&...', 11) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foob...', 11) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='&...', 12) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foob...', 12) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='<...', 1) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foo<...', 7) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foob...', 7) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr=' + + + pvalue->ReferencedOrder.SellersOrderID + + diff --git a/libxml2/result/att6.rde b/libxml2/result/att6.rde new file mode 100644 index 0000000..6d39352 --- /dev/null +++ b/libxml2/result/att6.rde @@ -0,0 +1,15 @@ +0 1 Invoice 0 0 +1 14 #text 0 1 + +1 1 cat:ReferencedOrder 0 0 +2 14 #text 0 1 + +2 1 cat:SellersOrderID 0 0 +3 3 #text 0 1 pvalue->ReferencedOrder.SellersOrderID +2 15 cat:SellersOrderID 0 0 +2 14 #text 0 1 + +1 15 cat:ReferencedOrder 0 0 +1 14 #text 0 1 + +0 15 Invoice 0 0 diff --git a/libxml2/result/att6.rdr b/libxml2/result/att6.rdr new file mode 100644 index 0000000..6d39352 --- /dev/null +++ b/libxml2/result/att6.rdr @@ -0,0 +1,15 @@ +0 1 Invoice 0 0 +1 14 #text 0 1 + +1 1 cat:ReferencedOrder 0 0 +2 14 #text 0 1 + +2 1 cat:SellersOrderID 0 0 +3 3 #text 0 1 pvalue->ReferencedOrder.SellersOrderID +2 15 cat:SellersOrderID 0 0 +2 14 #text 0 1 + +1 15 cat:ReferencedOrder 0 0 +1 14 #text 0 1 + +0 15 Invoice 0 0 diff --git a/libxml2/result/att6.sax b/libxml2/result/att6.sax new file mode 100644 index 0000000..4ab9521 --- /dev/null +++ b/libxml2/result/att6.sax @@ -0,0 +1,20 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(Invoice, xmlns:ccts='urn:oasis:names:tc:ubl:CoreComponentParameters:1.0:0.70', xmlns:cct='urn:oasis:names:tc:ubl:CoreComponentTypes:1.0:0.70', xmlns:cat='urn:oasis:names:tc:ubl:CommonAggregateTypes:1.0:0.70', xmlns='urn:oasis:names:tc:ubl:Invoice:1.0:0.70') +SAX.characters( + , 4) +SAX.startElement(cat:ReferencedOrder) +SAX.characters( + , 7) +SAX.startElement(cat:SellersOrderID, schemeID='pvalue->ReferencedOrder.SellersOrderID.schemeID', schemeAgencyID='pvalue->ReferencedOrder.SellersOrderID.schemeAgencyID', schemeVersionID='pvalue->ReferencedOrder.SellersOrderID.schemeVersionID', schemeAgencySchemeID='pvalue->ReferencedOrder.SellersOrderID.schemeAgencySchemeID', schemeAgencySchemeAgencyID='pvalue->ReferencedOrder.SellersOrderID.schemeAgencySchemeAgencyID', schemeDataURI='pvalue->ReferencedOrder.SellersOrderID.schemeDataURI', schemeURI='pvalue->ReferencedOrder.SellersOrderID.schemeURI', UID='pvalue->ReferencedOrder.SellersOrderID.UID', UIDRef='pvalue->ReferencedOrder.SellersOrderID.UIDRef', UIDRefs='pvalue->ReferencedOrder.SellersOrderID.UIDRefs0', language='pvalue->ReferencedOrder.SellersOrderID.language') +SAX.characters(pvalue-, 7) +SAX.characters(>, 1) +SAX.characters(ReferencedOrder.SellersOrderID, 30) +SAX.endElement(cat:SellersOrderID) +SAX.characters( + , 4) +SAX.endElement(cat:ReferencedOrder) +SAX.characters( +, 1) +SAX.endElement(Invoice) +SAX.endDocument() diff --git a/libxml2/result/att6.sax2 b/libxml2/result/att6.sax2 new file mode 100644 index 0000000..54dd6d3 --- /dev/null +++ b/libxml2/result/att6.sax2 @@ -0,0 +1,20 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(Invoice, NULL, 'urn:oasis:names:tc:ubl:Invoice:1.0:0.70', 4, xmlns:ccts='urn:oasis:names:tc:ubl:CoreComponentParameters:1.0:0.70', xmlns:cct='urn:oasis:names:tc:ubl:CoreComponentTypes:1.0:0.70', xmlns:cat='urn:oasis:names:tc:ubl:CommonAggregateTypes:1.0:0.70', xmlns='urn:oasis:names:tc:ubl:Invoice:1.0:0.70', 0, 0) +SAX.characters( + , 4) +SAX.startElementNs(ReferencedOrder, cat, 'urn:oasis:names:tc:ubl:CommonAggregateTypes:1.0:0.70', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(SellersOrderID, cat, 'urn:oasis:names:tc:ubl:CommonAggregateTypes:1.0:0.70', 0, 11, 0, schemeID='pval...', 47, schemeAgencyID='pval...', 53, schemeVersionID='pval...', 54, schemeAgencySchemeID='pval...', 59, schemeAgencySchemeAgencyID='pval...', 65, schemeDataURI='pval...', 52, schemeURI='pval...', 48, UID='pval...', 42, UIDRef='pval...', 45, UIDRefs='pval...', 47, language='pval...', 47) +SAX.characters(pvalue-, 7) +SAX.characters(>, 1) +SAX.characters(ReferencedOrder.SellersOrderID, 30) +SAX.endElementNs(SellersOrderID, cat, 'urn:oasis:names:tc:ubl:CommonAggregateTypes:1.0:0.70') +SAX.characters( + , 4) +SAX.endElementNs(ReferencedOrder, cat, 'urn:oasis:names:tc:ubl:CommonAggregateTypes:1.0:0.70') +SAX.characters( +, 1) +SAX.endElementNs(Invoice, NULL, 'urn:oasis:names:tc:ubl:Invoice:1.0:0.70') +SAX.endDocument() diff --git a/libxml2/result/att7 b/libxml2/result/att7 new file mode 100644 index 0000000..56d0835 --- /dev/null +++ b/libxml2/result/att7 @@ -0,0 +1,11 @@ + + + + +"> +]> + + + &test.ent; + diff --git a/libxml2/result/att7.rde b/libxml2/result/att7.rde new file mode 100644 index 0000000..6079637 --- /dev/null +++ b/libxml2/result/att7.rde @@ -0,0 +1,11 @@ +0 10 x 0 0 +0 1 x 0 0 +1 14 #text 0 1 + +1 1 test 1 0 +1 14 #text 0 1 + +1 1 test 1 0 +1 14 #text 0 1 + +0 15 x 0 0 diff --git a/libxml2/result/att7.rdr b/libxml2/result/att7.rdr new file mode 100644 index 0000000..47b19b4 --- /dev/null +++ b/libxml2/result/att7.rdr @@ -0,0 +1,11 @@ +0 10 x 0 0 +0 1 x 0 0 +1 14 #text 0 1 + +1 1 test 1 0 +1 14 #text 0 1 + +1 5 test.ent 0 0 +1 14 #text 0 1 + +0 15 x 0 0 diff --git a/libxml2/result/att7.sax b/libxml2/result/att7.sax new file mode 100644 index 0000000..c093279 --- /dev/null +++ b/libxml2/result/att7.sax @@ -0,0 +1,24 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(x, , ) +SAX.elementDecl(x, 4, ...) +SAX.elementDecl(test, 1, ...) +SAX.attributeDecl(test, att, 1, 1, attvalue, ...) +SAX.entityDecl(test.ent, 1, (null), (null), ) +SAX.getEntity(test.ent) +SAX.externalSubset(x, , ) +SAX.startElement(x) +SAX.characters( + , 5) +SAX.startElement(test) +SAX.endElement(test) +SAX.characters( + , 5) +SAX.getEntity(test.ent) +SAX.startElement(test) +SAX.endElement(test) +SAX.reference(test.ent) +SAX.characters( +, 1) +SAX.endElement(x) +SAX.endDocument() diff --git a/libxml2/result/att7.sax2 b/libxml2/result/att7.sax2 new file mode 100644 index 0000000..dc7e2ae --- /dev/null +++ b/libxml2/result/att7.sax2 @@ -0,0 +1,24 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(x, , ) +SAX.elementDecl(x, 4, ...) +SAX.elementDecl(test, 1, ...) +SAX.attributeDecl(test, att, 1, 1, attvalue, ...) +SAX.entityDecl(test.ent, 1, (null), (null), ) +SAX.getEntity(test.ent) +SAX.externalSubset(x, , ) +SAX.startElementNs(x, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(test, NULL, NULL, 0, 1, 1, att='attv...', 8) +SAX.endElementNs(test, NULL, NULL) +SAX.characters( + , 5) +SAX.getEntity(test.ent) +SAX.startElementNs(test, NULL, NULL, 0, 1, 1, att='attv...', 8) +SAX.endElementNs(test, NULL, NULL) +SAX.reference(test.ent) +SAX.characters( +, 1) +SAX.endElementNs(x, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/att8 b/libxml2/result/att8 new file mode 100644 index 0000000..1d807a2 --- /dev/null +++ b/libxml2/result/att8 @@ -0,0 +1,2 @@ + +/bsk:DocPart[@docId='20040308152601345236' and @docPartNo=1]XQL Request processing XQL Request processed diff --git a/libxml2/result/att8.rde b/libxml2/result/att8.rde new file mode 100644 index 0000000..52fde32 --- /dev/null +++ b/libxml2/result/att8.rde @@ -0,0 +1,22 @@ +0 1 ino:response 0 0 +1 1 xql:query 0 0 +2 3 #text 0 1 /bsk:DocPart[@docId='20040308152601345236' and @docPartNo=1] +1 15 xql:query 0 0 +1 1 ino:message 0 0 +2 1 ino:messageline 0 0 +3 3 #text 0 1 XQL Request processing +2 15 ino:messageline 0 0 +1 15 ino:message 0 0 +1 1 xql:result 0 0 +2 1 bsk:DocPart 0 0 +3 1 bsk:File 0 0 +4 14 #text 0 1 +3 15 bsk:File 0 0 +2 15 bsk:DocPart 0 0 +1 15 xql:result 0 0 +1 1 ino:message 0 0 +2 1 ino:messageline 0 0 +3 3 #text 0 1 XQL Request processed +2 15 ino:messageline 0 0 +1 15 ino:message 0 0 +0 15 ino:response 0 0 diff --git a/libxml2/result/att8.rdr b/libxml2/result/att8.rdr new file mode 100644 index 0000000..52fde32 --- /dev/null +++ b/libxml2/result/att8.rdr @@ -0,0 +1,22 @@ +0 1 ino:response 0 0 +1 1 xql:query 0 0 +2 3 #text 0 1 /bsk:DocPart[@docId='20040308152601345236' and @docPartNo=1] +1 15 xql:query 0 0 +1 1 ino:message 0 0 +2 1 ino:messageline 0 0 +3 3 #text 0 1 XQL Request processing +2 15 ino:messageline 0 0 +1 15 ino:message 0 0 +1 1 xql:result 0 0 +2 1 bsk:DocPart 0 0 +3 1 bsk:File 0 0 +4 14 #text 0 1 +3 15 bsk:File 0 0 +2 15 bsk:DocPart 0 0 +1 15 xql:result 0 0 +1 1 ino:message 0 0 +2 1 ino:messageline 0 0 +3 3 #text 0 1 XQL Request processed +2 15 ino:messageline 0 0 +1 15 ino:message 0 0 +0 15 ino:response 0 0 diff --git a/libxml2/result/att8.sax b/libxml2/result/att8.sax new file mode 100644 index 0000000..12e378a --- /dev/null +++ b/libxml2/result/att8.sax @@ -0,0 +1,29 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(ino:response, xmlns:ino='http://namespaces.softwareag.com/tamino/response2', xmlns:xql='http://metalab.unc.edu/xql/', ino:sessionid='556', ino:sessionkey='1590469677') +SAX.startElement(xql:query) +SAX.characters(/bsk:DocPart[@docId=, 20) +SAX.characters(', 1) +SAX.characters(20040308152601345236, 20) +SAX.characters(', 1) +SAX.characters( and @docPartNo=1], 18) +SAX.endElement(xql:query) +SAX.startElement(ino:message, ino:returnvalue='0') +SAX.startElement(ino:messageline) +SAX.characters(XQL Request processing, 22) +SAX.endElement(ino:messageline) +SAX.endElement(ino:message) +SAX.startElement(xql:result) +SAX.startElement(bsk:DocPart, docId='20040308152601345236', docPartNo='1', ino:id='15290', xmlns:bsk='http://www.heitec.net/sara4/tamino/basket') +SAX.startElement(bsk:File, name='4898WPZEO2M65', size='75195') +SAX.characters( , 1) +SAX.endElement(bsk:File) +SAX.endElement(bsk:DocPart) +SAX.endElement(xql:result) +SAX.startElement(ino:message, ino:returnvalue='0') +SAX.startElement(ino:messageline) +SAX.characters(XQL Request processed, 21) +SAX.endElement(ino:messageline) +SAX.endElement(ino:message) +SAX.endElement(ino:response) +SAX.endDocument() diff --git a/libxml2/result/att8.sax2 b/libxml2/result/att8.sax2 new file mode 100644 index 0000000..1f2344a --- /dev/null +++ b/libxml2/result/att8.sax2 @@ -0,0 +1,29 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(response, ino, 'http://namespaces.softwareag.com/tamino/response2', 2, xmlns:ino='http://namespaces.softwareag.com/tamino/response2', xmlns:xql='http://metalab.unc.edu/xql/', 2, 0, ino:sessionid='556"...', 3, ino:sessionkey='1590...', 10) +SAX.startElementNs(query, xql, 'http://metalab.unc.edu/xql/', 0, 0, 0) +SAX.characters(/bsk:DocPart[@docId=, 20) +SAX.characters(', 1) +SAX.characters(20040308152601345236, 20) +SAX.characters(', 1) +SAX.characters( and @docPartNo=1], 18) +SAX.endElementNs(query, xql, 'http://metalab.unc.edu/xql/') +SAX.startElementNs(message, ino, 'http://namespaces.softwareag.com/tamino/response2', 0, 1, 0, ino:returnvalue='0"><...', 1) +SAX.startElementNs(messageline, ino, 'http://namespaces.softwareag.com/tamino/response2', 0, 0, 0) +SAX.characters(XQL Request processing, 22) +SAX.endElementNs(messageline, ino, 'http://namespaces.softwareag.com/tamino/response2') +SAX.endElementNs(message, ino, 'http://namespaces.softwareag.com/tamino/response2') +SAX.startElementNs(result, xql, 'http://metalab.unc.edu/xql/', 0, 0, 0) +SAX.startElementNs(DocPart, bsk, 'http://www.heitec.net/sara4/tamino/basket', 1, xmlns:bsk='http://www.heitec.net/sara4/tamino/basket', 3, 0, docId='2004...', 20, docPartNo='1" i...', 1, ino:id='1529...', 5) +SAX.startElementNs(File, bsk, 'http://www.heitec.net/sara4/tamino/basket', 0, 2, 0, name='4898...', 13, size='7519...', 5) +SAX.characters( , 1) +SAX.endElementNs(File, bsk, 'http://www.heitec.net/sara4/tamino/basket') +SAX.endElementNs(DocPart, bsk, 'http://www.heitec.net/sara4/tamino/basket') +SAX.endElementNs(result, xql, 'http://metalab.unc.edu/xql/') +SAX.startElementNs(message, ino, 'http://namespaces.softwareag.com/tamino/response2', 0, 1, 0, ino:returnvalue='0"><...', 1) +SAX.startElementNs(messageline, ino, 'http://namespaces.softwareag.com/tamino/response2', 0, 0, 0) +SAX.characters(XQL Request processed, 21) +SAX.endElementNs(messageline, ino, 'http://namespaces.softwareag.com/tamino/response2') +SAX.endElementNs(message, ino, 'http://namespaces.softwareag.com/tamino/response2') +SAX.endElementNs(response, ino, 'http://namespaces.softwareag.com/tamino/response2') +SAX.endDocument() diff --git a/libxml2/result/att9 b/libxml2/result/att9 new file mode 100644 index 0000000..e4982a2 --- /dev/null +++ b/libxml2/result/att9 @@ -0,0 +1,6 @@ + + + +]> + diff --git a/libxml2/result/att9.rde b/libxml2/result/att9.rde new file mode 100644 index 0000000..9b0a34d --- /dev/null +++ b/libxml2/result/att9.rde @@ -0,0 +1,2 @@ +0 10 doc 0 0 +0 1 doc 1 0 diff --git a/libxml2/result/att9.rdr b/libxml2/result/att9.rdr new file mode 100644 index 0000000..9b0a34d --- /dev/null +++ b/libxml2/result/att9.rdr @@ -0,0 +1,2 @@ +0 10 doc 0 0 +0 1 doc 1 0 diff --git a/libxml2/result/att9.sax b/libxml2/result/att9.sax new file mode 100644 index 0000000..0fe14a1 --- /dev/null +++ b/libxml2/result/att9.sax @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.attributeDecl(doc, a1, 8, 1, 1 2, ...) +SAX.elementDecl(doc, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/att9.sax2 b/libxml2/result/att9.sax2 new file mode 100644 index 0000000..09b3a04 --- /dev/null +++ b/libxml2/result/att9.sax2 @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.attributeDecl(doc, a1, 8, 1, 1 2, ...) +SAX.elementDecl(doc, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 1, 1, a1='1 2...', 3) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/attrib.xml b/libxml2/result/attrib.xml new file mode 100644 index 0000000..89a1e57 --- /dev/null +++ b/libxml2/result/attrib.xml @@ -0,0 +1,2 @@ + + diff --git a/libxml2/result/attrib.xml.rde b/libxml2/result/attrib.xml.rde new file mode 100644 index 0000000..de6325a --- /dev/null +++ b/libxml2/result/attrib.xml.rde @@ -0,0 +1 @@ +0 1 item 1 0 diff --git a/libxml2/result/attrib.xml.rdr b/libxml2/result/attrib.xml.rdr new file mode 100644 index 0000000..de6325a --- /dev/null +++ b/libxml2/result/attrib.xml.rdr @@ -0,0 +1 @@ +0 1 item 1 0 diff --git a/libxml2/result/attrib.xml.sax b/libxml2/result/attrib.xml.sax new file mode 100644 index 0000000..50ad8e1 --- /dev/null +++ b/libxml2/result/attrib.xml.sax @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(item, title='Icrontic.com - Warning: Breakdancing midget with tourette's syndrome on-board                                                ', url='http://www.icrontic.com/', first_time='985034339', last_time='985034339', visits='1') +SAX.endElement(item) +SAX.endDocument() diff --git a/libxml2/result/attrib.xml.sax2 b/libxml2/result/attrib.xml.sax2 new file mode 100644 index 0000000..c7d2c87 --- /dev/null +++ b/libxml2/result/attrib.xml.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(item, NULL, NULL, 0, 5, 0, title='Icro...', 173, url='http...', 24, first_time='9850...', 9, last_time='9850...', 9, visits='1"/>...', 1) +SAX.endElementNs(item, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/automata/a b/libxml2/result/automata/a new file mode 100644 index 0000000..4ece411 --- /dev/null +++ b/libxml2/result/automata/a @@ -0,0 +1,4 @@ +=> Passed +=> Failed +=> Failed +=> Failed diff --git a/libxml2/result/automata/aba b/libxml2/result/automata/aba new file mode 100644 index 0000000..051b9bd --- /dev/null +++ b/libxml2/result/automata/aba @@ -0,0 +1,6 @@ +=> Passed +=> Passed +=> Passed +=> Failed +=> Failed +=> Failed diff --git a/libxml2/result/automata/abaa b/libxml2/result/automata/abaa new file mode 100644 index 0000000..c74769e --- /dev/null +++ b/libxml2/result/automata/abaa @@ -0,0 +1,5 @@ +=> Passed +=> Passed +=> Passed +=> Failed +=> Failed diff --git a/libxml2/result/automata/abba b/libxml2/result/automata/abba new file mode 100644 index 0000000..1a60848 --- /dev/null +++ b/libxml2/result/automata/abba @@ -0,0 +1,4 @@ +=> Passed +=> Passed +=> Failed +=> Failed diff --git a/libxml2/result/automata/po b/libxml2/result/automata/po new file mode 100644 index 0000000..fafcae5 --- /dev/null +++ b/libxml2/result/automata/po @@ -0,0 +1,2 @@ +=> Passed +=> Passed diff --git a/libxml2/result/badcomment.xml b/libxml2/result/badcomment.xml new file mode 100644 index 0000000..6b13c11 --- /dev/null +++ b/libxml2/result/badcomment.xml @@ -0,0 +1,17 @@ + + +Char* ']]>' Char*)) +']]>' +CDATA sections +| '<!DOCTYPE' +(Char - ('[' | ']'))+ +('[' +simpleDTD* +']')? '>' +doc type declaration +simpleDTD +'<!&como;' +(Char* - +(Char* '&comc;' Char*)) +'&comc;>'--> + diff --git a/libxml2/result/badcomment.xml.rde b/libxml2/result/badcomment.xml.rde new file mode 100644 index 0000000..29a3cd1 --- /dev/null +++ b/libxml2/result/badcomment.xml.rde @@ -0,0 +1,21 @@ +0 1 foo 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 def='NT-Char' +1 8 #comment 0 1 >Char* ']]>' Char*)) +']]>' +CDATA sections +| '<!DOCTYPE' +(Char - ('[' | ']'))+ +('[' +simpleDTD* +']')? '>' +doc type declaration +simpleDTD +'<!&como;' +(Char* - +(Char* '&comc;' Char*)) +'&comc;>' +1 14 #text 0 1 + +0 15 foo 0 0 diff --git a/libxml2/result/badcomment.xml.rdr b/libxml2/result/badcomment.xml.rdr new file mode 100644 index 0000000..29a3cd1 --- /dev/null +++ b/libxml2/result/badcomment.xml.rdr @@ -0,0 +1,21 @@ +0 1 foo 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 def='NT-Char' +1 8 #comment 0 1 >Char* ']]>' Char*)) +']]>' +CDATA sections +| '<!DOCTYPE' +(Char - ('[' | ']'))+ +('[' +simpleDTD* +']')? '>' +doc type declaration +simpleDTD +'<!&como;' +(Char* - +(Char* '&comc;' Char*)) +'&comc;>' +1 14 #text 0 1 + +0 15 foo 0 0 diff --git a/libxml2/result/badcomment.xml.sax b/libxml2/result/badcomment.xml.sax new file mode 100644 index 0000000..d409369 --- /dev/null +++ b/libxml2/result/badcomment.xml.sax @@ -0,0 +1,24 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(foo) +SAX.characters( +, 1) +SAX.comment( def='NT-Char') +SAX.comment(>Char* ']]>' Char*)) +']]>' +CDATA sections +| '<!DOCTYPE' +(Char - ('[' | ']'))+ +('[' +simpleDTD* +']')? '>' +doc type declaration +simpleDTD +'<!&como;' +(Char* - +(Char* '&comc;' Char*)) +'&comc;>') +SAX.characters( +, 1) +SAX.endElement(foo) +SAX.endDocument() diff --git a/libxml2/result/badcomment.xml.sax2 b/libxml2/result/badcomment.xml.sax2 new file mode 100644 index 0000000..08e5622 --- /dev/null +++ b/libxml2/result/badcomment.xml.sax2 @@ -0,0 +1,24 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(foo, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.comment( def='NT-Char') +SAX.comment(>Char* ']]>' Char*)) +']]>' +CDATA sections +| '<!DOCTYPE' +(Char - ('[' | ']'))+ +('[' +simpleDTD* +']')? '>' +doc type declaration +simpleDTD +'<!&como;' +(Char* - +(Char* '&comc;' Char*)) +'&comc;>') +SAX.characters( +, 1) +SAX.endElementNs(foo, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/bigentname.xml b/libxml2/result/bigentname.xml new file mode 100644 index 0000000..6b7183f --- /dev/null +++ b/libxml2/result/bigentname.xml @@ -0,0 +1,6 @@ + + + +]> +&WhatHeSaid; diff --git a/libxml2/result/bigentname.xml.rde b/libxml2/result/bigentname.xml.rde new file mode 100644 index 0000000..c2d4cc0 --- /dev/null +++ b/libxml2/result/bigentname.xml.rde @@ -0,0 +1,4 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 3 #text 0 1 He said "Yes" +0 15 doc 0 0 diff --git a/libxml2/result/bigentname.xml.rdr b/libxml2/result/bigentname.xml.rdr new file mode 100644 index 0000000..c394a46 --- /dev/null +++ b/libxml2/result/bigentname.xml.rdr @@ -0,0 +1,4 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 5 WhatHeSaid 0 0 +0 15 doc 0 0 diff --git a/libxml2/result/bigentname.xml.sax b/libxml2/result/bigentname.xml.sax new file mode 100644 index 0000000..1ee19ab --- /dev/null +++ b/libxml2/result/bigentname.xml.sax @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(very_big_entity_name01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_very_big_ent_name, 1, (null), (null), "Yes") +SAX.getEntity(very_big_entity_name01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_very_big_ent_name) +SAX.entityDecl(WhatHeSaid, 1, (null), (null), He said &very_big_entity_name01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_very_big_ent_name;) +SAX.getEntity(WhatHeSaid) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.getEntity(WhatHeSaid) +SAX.characters(He said , 8) +SAX.getEntity(very_big_entity_name01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_very_big_ent_name) +SAX.characters("Yes", 5) +SAX.reference(very_big_entity_name01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_very_big_ent_name) +SAX.reference(WhatHeSaid) +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/bigentname.xml.sax2 b/libxml2/result/bigentname.xml.sax2 new file mode 100644 index 0000000..c2f72c0 --- /dev/null +++ b/libxml2/result/bigentname.xml.sax2 @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(very_big_entity_name01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_very_big_ent_name, 1, (null), (null), "Yes") +SAX.getEntity(very_big_entity_name01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_very_big_ent_name) +SAX.entityDecl(WhatHeSaid, 1, (null), (null), He said &very_big_entity_name01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_very_big_ent_name;) +SAX.getEntity(WhatHeSaid) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.getEntity(WhatHeSaid) +SAX.characters(He said , 8) +SAX.getEntity(very_big_entity_name01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_very_big_ent_name) +SAX.characters("Yes", 5) +SAX.reference(very_big_entity_name01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_very_big_ent_name) +SAX.reference(WhatHeSaid) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/bigname.xml b/libxml2/result/bigname.xml new file mode 100644 index 0000000..885fd7c --- /dev/null +++ b/libxml2/result/bigname.xml @@ -0,0 +1,2 @@ + + diff --git a/libxml2/result/bigname.xml.rde b/libxml2/result/bigname.xml.rde new file mode 100644 index 0000000..71284c1 --- /dev/null +++ b/libxml2/result/bigname.xml.rde @@ -0,0 +1 @@ +0 1 this_is_a_very_large_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_the_very_large_name 1 0 diff --git a/libxml2/result/bigname.xml.rdr b/libxml2/result/bigname.xml.rdr new file mode 100644 index 0000000..71284c1 --- /dev/null +++ b/libxml2/result/bigname.xml.rdr @@ -0,0 +1 @@ +0 1 this_is_a_very_large_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_the_very_large_name 1 0 diff --git a/libxml2/result/bigname.xml.sax b/libxml2/result/bigname.xml.sax new file mode 100644 index 0000000..31945be --- /dev/null +++ b/libxml2/result/bigname.xml.sax @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(this_is_a_very_large_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_the_very_large_name) +SAX.endElement(this_is_a_very_large_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_the_very_large_name) +SAX.endDocument() diff --git a/libxml2/result/bigname.xml.sax2 b/libxml2/result/bigname.xml.sax2 new file mode 100644 index 0000000..ef939f9 --- /dev/null +++ b/libxml2/result/bigname.xml.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(this_is_a_very_large_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_the_very_large_name, NULL, NULL, 0, 0, 0) +SAX.endElementNs(this_is_a_very_large_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_the_very_large_name, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/bigname2.xml b/libxml2/result/bigname2.xml new file mode 100644 index 0000000..a48c359 --- /dev/null +++ b/libxml2/result/bigname2.xml @@ -0,0 +1,2 @@ + + diff --git a/libxml2/result/bigname2.xml.rde b/libxml2/result/bigname2.xml.rde new file mode 100644 index 0000000..6de9dd7 --- /dev/null +++ b/libxml2/result/bigname2.xml.rde @@ -0,0 +1 @@ +0 1 this_is_a_very_large_qualified_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_prefix:start_nc_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_the_very_large_name 1 0 diff --git a/libxml2/result/bigname2.xml.rdr b/libxml2/result/bigname2.xml.rdr new file mode 100644 index 0000000..6de9dd7 --- /dev/null +++ b/libxml2/result/bigname2.xml.rdr @@ -0,0 +1 @@ +0 1 this_is_a_very_large_qualified_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_prefix:start_nc_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_the_very_large_name 1 0 diff --git a/libxml2/result/bigname2.xml.sax b/libxml2/result/bigname2.xml.sax new file mode 100644 index 0000000..7c353e5 --- /dev/null +++ b/libxml2/result/bigname2.xml.sax @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(this_is_a_very_large_qualified_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_prefix:start_nc_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_the_very_large_name, xmlns:this_is_a_very_large_qualified_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_prefix='http://www.example.com/testns/') +SAX.endElement(this_is_a_very_large_qualified_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_prefix:start_nc_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_the_very_large_name) +SAX.endDocument() diff --git a/libxml2/result/bigname2.xml.sax2 b/libxml2/result/bigname2.xml.sax2 new file mode 100644 index 0000000..6b406f4 --- /dev/null +++ b/libxml2/result/bigname2.xml.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(start_nc_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_the_very_large_name, this_is_a_very_large_qualified_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_prefix, 'http://www.example.com/testns/', 1, xmlns:this_is_a_very_large_qualified_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_prefix='http://www.example.com/testns/', 0, 0) +SAX.endElementNs(start_nc_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_the_very_large_name, this_is_a_very_large_qualified_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_prefix, 'http://www.example.com/testns/') +SAX.endDocument() diff --git a/libxml2/result/boundaries1.xml b/libxml2/result/boundaries1.xml new file mode 100644 index 0000000..dc1848f --- /dev/null +++ b/libxml2/result/boundaries1.xml @@ -0,0 +1,15 @@ + +"> +"> + ]> -->]> + + c1 --> + +text&a;text + + + c2 --> + + + c3 --> diff --git a/libxml2/result/boundaries1.xml.rde b/libxml2/result/boundaries1.xml.rde new file mode 100644 index 0000000..113b487 --- /dev/null +++ b/libxml2/result/boundaries1.xml.rde @@ -0,0 +1,19 @@ +0 10 d 0 0 +0 7 pi 0 1 p1 +0 8 #comment 0 1 > c1 +0 1 d 0 0 +1 3 #text 0 1 +text]>text + +1 4 #cdata-section 0 1 cdata +1 14 #text 0 1 + +1 7 pi 0 1 p2 +1 14 #text 0 1 + +1 8 #comment 0 1 > c2 +1 14 #text 0 1 + +0 15 d 0 0 +0 7 pi 0 1 p3 +0 8 #comment 0 1 > c3 diff --git a/libxml2/result/boundaries1.xml.rdr b/libxml2/result/boundaries1.xml.rdr new file mode 100644 index 0000000..784ece0 --- /dev/null +++ b/libxml2/result/boundaries1.xml.rdr @@ -0,0 +1,21 @@ +0 10 d 0 0 +0 7 pi 0 1 p1 +0 8 #comment 0 1 > c1 +0 1 d 0 0 +1 3 #text 0 1 +text +1 5 a 0 0 +1 3 #text 0 1 text + +1 4 #cdata-section 0 1 cdata +1 14 #text 0 1 + +1 7 pi 0 1 p2 +1 14 #text 0 1 + +1 8 #comment 0 1 > c2 +1 14 #text 0 1 + +0 15 d 0 0 +0 7 pi 0 1 p3 +0 8 #comment 0 1 > c3 diff --git a/libxml2/result/boundaries1.xml.sax b/libxml2/result/boundaries1.xml.sax new file mode 100644 index 0000000..19e3181 --- /dev/null +++ b/libxml2/result/boundaries1.xml.sax @@ -0,0 +1,32 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(d, , ) +SAX.entityDecl(a, 1, (null), (null), ]>) +SAX.getEntity(a) +SAX.entityDecl(b, 1, (null), (null), ]>) +SAX.getEntity(b) +SAX.comment(> ]> ) +SAX.externalSubset(d, , ) +SAX.processingInstruction(pi, p1) +SAX.comment(> c1 ) +SAX.startElement(d, a='>', b='>') +SAX.characters( +text, 5) +SAX.getEntity(a) +SAX.characters(]>, 2) +SAX.reference(a) +SAX.characters(text +, 5) +SAX.pcdata(cdata, 5) +SAX.characters( +, 1) +SAX.processingInstruction(pi, p2) +SAX.characters( +, 1) +SAX.comment(> c2 ) +SAX.characters( +, 1) +SAX.endElement(d) +SAX.processingInstruction(pi, p3) +SAX.comment(> c3 ) +SAX.endDocument() diff --git a/libxml2/result/boundaries1.xml.sax2 b/libxml2/result/boundaries1.xml.sax2 new file mode 100644 index 0000000..b3ad5e8 --- /dev/null +++ b/libxml2/result/boundaries1.xml.sax2 @@ -0,0 +1,33 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(d, , ) +SAX.entityDecl(a, 1, (null), (null), ]>) +SAX.getEntity(a) +SAX.entityDecl(b, 1, (null), (null), ]>) +SAX.getEntity(b) +SAX.comment(> ]> ) +SAX.externalSubset(d, , ) +SAX.processingInstruction(pi, p1) +SAX.comment(> c1 ) +SAX.startElementNs(d, NULL, NULL, 0, 2, 0, a='>" b...', 1, b='>'> +...', 1) +SAX.characters( +text, 5) +SAX.getEntity(a) +SAX.characters(]>, 2) +SAX.reference(a) +SAX.characters(text +, 5) +SAX.pcdata(cdata, 5) +SAX.characters( +, 1) +SAX.processingInstruction(pi, p2) +SAX.characters( +, 1) +SAX.comment(> c2 ) +SAX.characters( +, 1) +SAX.endElementNs(d, NULL, NULL) +SAX.processingInstruction(pi, p3) +SAX.comment(> c3 ) +SAX.endDocument() diff --git a/libxml2/result/c14n/1-1-without-comments/example-1 b/libxml2/result/c14n/1-1-without-comments/example-1 new file mode 100644 index 0000000..af9a977 --- /dev/null +++ b/libxml2/result/c14n/1-1-without-comments/example-1 @@ -0,0 +1,4 @@ + +Hello, world! + \ No newline at end of file diff --git a/libxml2/result/c14n/1-1-without-comments/example-2 b/libxml2/result/c14n/1-1-without-comments/example-2 new file mode 100644 index 0000000..2afa15c --- /dev/null +++ b/libxml2/result/c14n/1-1-without-comments/example-2 @@ -0,0 +1,11 @@ + + + A B + + A + + B + A B + C + + \ No newline at end of file diff --git a/libxml2/result/c14n/1-1-without-comments/example-3 b/libxml2/result/c14n/1-1-without-comments/example-3 new file mode 100644 index 0000000..4c287e6 --- /dev/null +++ b/libxml2/result/c14n/1-1-without-comments/example-3 @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/libxml2/result/c14n/1-1-without-comments/example-4 b/libxml2/result/c14n/1-1-without-comments/example-4 new file mode 100644 index 0000000..19a2559 --- /dev/null +++ b/libxml2/result/c14n/1-1-without-comments/example-4 @@ -0,0 +1,9 @@ + + First line +Second line + 2 + value>"0" && value<"10" ?"valid":"error" + valid + + + \ No newline at end of file diff --git a/libxml2/result/c14n/1-1-without-comments/example-5 b/libxml2/result/c14n/1-1-without-comments/example-5 new file mode 100644 index 0000000..c232e74 --- /dev/null +++ b/libxml2/result/c14n/1-1-without-comments/example-5 @@ -0,0 +1,3 @@ + + Hello, world! + \ No newline at end of file diff --git a/libxml2/result/c14n/1-1-without-comments/example-6 b/libxml2/result/c14n/1-1-without-comments/example-6 new file mode 100644 index 0000000..0be38f9 --- /dev/null +++ b/libxml2/result/c14n/1-1-without-comments/example-6 @@ -0,0 +1 @@ +© \ No newline at end of file diff --git a/libxml2/result/c14n/1-1-without-comments/example-7 b/libxml2/result/c14n/1-1-without-comments/example-7 new file mode 100644 index 0000000..0a96cc4 --- /dev/null +++ b/libxml2/result/c14n/1-1-without-comments/example-7 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libxml2/result/c14n/1-1-without-comments/example-8 b/libxml2/result/c14n/1-1-without-comments/example-8 new file mode 100644 index 0000000..eb830e8 --- /dev/null +++ b/libxml2/result/c14n/1-1-without-comments/example-8 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libxml2/result/c14n/1-1-without-comments/xmlbase-c14n11spec-102 b/libxml2/result/c14n/1-1-without-comments/xmlbase-c14n11spec-102 new file mode 100644 index 0000000..421d60b --- /dev/null +++ b/libxml2/result/c14n/1-1-without-comments/xmlbase-c14n11spec-102 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libxml2/result/c14n/1-1-without-comments/xmlbase-c14n11spec2-102 b/libxml2/result/c14n/1-1-without-comments/xmlbase-c14n11spec2-102 new file mode 100644 index 0000000..eb830e8 --- /dev/null +++ b/libxml2/result/c14n/1-1-without-comments/xmlbase-c14n11spec2-102 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libxml2/result/c14n/1-1-without-comments/xmlbase-c14n11spec3-102 b/libxml2/result/c14n/1-1-without-comments/xmlbase-c14n11spec3-102 new file mode 100644 index 0000000..77ef848 --- /dev/null +++ b/libxml2/result/c14n/1-1-without-comments/xmlbase-c14n11spec3-102 @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/libxml2/result/c14n/1-1-without-comments/xmlbase-prop-1 b/libxml2/result/c14n/1-1-without-comments/xmlbase-prop-1 new file mode 100644 index 0000000..da3a2b6 --- /dev/null +++ b/libxml2/result/c14n/1-1-without-comments/xmlbase-prop-1 @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/libxml2/result/c14n/1-1-without-comments/xmlbase-prop-2 b/libxml2/result/c14n/1-1-without-comments/xmlbase-prop-2 new file mode 100644 index 0000000..aefa811 --- /dev/null +++ b/libxml2/result/c14n/1-1-without-comments/xmlbase-prop-2 @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/libxml2/result/c14n/1-1-without-comments/xmlbase-prop-3 b/libxml2/result/c14n/1-1-without-comments/xmlbase-prop-3 new file mode 100644 index 0000000..0757d28 --- /dev/null +++ b/libxml2/result/c14n/1-1-without-comments/xmlbase-prop-3 @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/libxml2/result/c14n/1-1-without-comments/xmlbase-prop-4 b/libxml2/result/c14n/1-1-without-comments/xmlbase-prop-4 new file mode 100644 index 0000000..0d45839 --- /dev/null +++ b/libxml2/result/c14n/1-1-without-comments/xmlbase-prop-4 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libxml2/result/c14n/1-1-without-comments/xmlbase-prop-5 b/libxml2/result/c14n/1-1-without-comments/xmlbase-prop-5 new file mode 100644 index 0000000..95e51d9 --- /dev/null +++ b/libxml2/result/c14n/1-1-without-comments/xmlbase-prop-5 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libxml2/result/c14n/1-1-without-comments/xmlbase-prop-6 b/libxml2/result/c14n/1-1-without-comments/xmlbase-prop-6 new file mode 100644 index 0000000..a7b61e3 --- /dev/null +++ b/libxml2/result/c14n/1-1-without-comments/xmlbase-prop-6 @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/libxml2/result/c14n/1-1-without-comments/xmlbase-prop-7 b/libxml2/result/c14n/1-1-without-comments/xmlbase-prop-7 new file mode 100644 index 0000000..eda3165 --- /dev/null +++ b/libxml2/result/c14n/1-1-without-comments/xmlbase-prop-7 @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/libxml2/result/c14n/1-1-without-comments/xmlid-prop-1 b/libxml2/result/c14n/1-1-without-comments/xmlid-prop-1 new file mode 100644 index 0000000..2a76c06 --- /dev/null +++ b/libxml2/result/c14n/1-1-without-comments/xmlid-prop-1 @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/libxml2/result/c14n/1-1-without-comments/xmlid-prop-2 b/libxml2/result/c14n/1-1-without-comments/xmlid-prop-2 new file mode 100644 index 0000000..1dccb8d --- /dev/null +++ b/libxml2/result/c14n/1-1-without-comments/xmlid-prop-2 @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/libxml2/result/c14n/1-1-without-comments/xmllang-prop-1 b/libxml2/result/c14n/1-1-without-comments/xmllang-prop-1 new file mode 100644 index 0000000..2581a9d --- /dev/null +++ b/libxml2/result/c14n/1-1-without-comments/xmllang-prop-1 @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/libxml2/result/c14n/1-1-without-comments/xmllang-prop-2 b/libxml2/result/c14n/1-1-without-comments/xmllang-prop-2 new file mode 100644 index 0000000..5add5fa --- /dev/null +++ b/libxml2/result/c14n/1-1-without-comments/xmllang-prop-2 @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/libxml2/result/c14n/1-1-without-comments/xmllang-prop-3 b/libxml2/result/c14n/1-1-without-comments/xmllang-prop-3 new file mode 100644 index 0000000..e327ebd --- /dev/null +++ b/libxml2/result/c14n/1-1-without-comments/xmllang-prop-3 @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/libxml2/result/c14n/1-1-without-comments/xmllang-prop-4 b/libxml2/result/c14n/1-1-without-comments/xmllang-prop-4 new file mode 100644 index 0000000..dc192c9 --- /dev/null +++ b/libxml2/result/c14n/1-1-without-comments/xmllang-prop-4 @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/libxml2/result/c14n/1-1-without-comments/xmlspace-prop-1 b/libxml2/result/c14n/1-1-without-comments/xmlspace-prop-1 new file mode 100644 index 0000000..7c13acc --- /dev/null +++ b/libxml2/result/c14n/1-1-without-comments/xmlspace-prop-1 @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/libxml2/result/c14n/1-1-without-comments/xmlspace-prop-2 b/libxml2/result/c14n/1-1-without-comments/xmlspace-prop-2 new file mode 100644 index 0000000..5add5fa --- /dev/null +++ b/libxml2/result/c14n/1-1-without-comments/xmlspace-prop-2 @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/libxml2/result/c14n/1-1-without-comments/xmlspace-prop-3 b/libxml2/result/c14n/1-1-without-comments/xmlspace-prop-3 new file mode 100644 index 0000000..94a1a56 --- /dev/null +++ b/libxml2/result/c14n/1-1-without-comments/xmlspace-prop-3 @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/libxml2/result/c14n/1-1-without-comments/xmlspace-prop-4 b/libxml2/result/c14n/1-1-without-comments/xmlspace-prop-4 new file mode 100644 index 0000000..acbddd4 --- /dev/null +++ b/libxml2/result/c14n/1-1-without-comments/xmlspace-prop-4 @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-09 b/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-09 new file mode 100644 index 0000000..279fd6c --- /dev/null +++ b/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-09 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-10 b/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-10 new file mode 100644 index 0000000..279fd6c --- /dev/null +++ b/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-10 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-11 b/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-11 new file mode 100644 index 0000000..279fd6c --- /dev/null +++ b/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-11 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-12 b/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-12 new file mode 100644 index 0000000..cd53346 --- /dev/null +++ b/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-12 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-13 b/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-13 new file mode 100644 index 0000000..27fb6e5 --- /dev/null +++ b/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-13 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-14 b/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-14 new file mode 100644 index 0000000..27fb6e5 --- /dev/null +++ b/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-14 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-17 b/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-17 new file mode 100644 index 0000000..27fb6e5 --- /dev/null +++ b/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-17 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-18 b/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-18 new file mode 100644 index 0000000..6675391 --- /dev/null +++ b/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-18 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-19 b/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-19 new file mode 100644 index 0000000..279fd6c --- /dev/null +++ b/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-19 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-20 b/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-20 new file mode 100644 index 0000000..279fd6c --- /dev/null +++ b/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-20 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-21 b/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-21 new file mode 100644 index 0000000..cd53346 --- /dev/null +++ b/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-21 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-22 b/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-22 new file mode 100644 index 0000000..27fb6e5 --- /dev/null +++ b/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-22 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-23 b/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-23 new file mode 100644 index 0000000..27fb6e5 --- /dev/null +++ b/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-23 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-24 b/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-24 new file mode 100644 index 0000000..162c746 --- /dev/null +++ b/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-24 @@ -0,0 +1 @@ + xmlns="http://example.org/" xmlns="http://example.org/" xmlns="http://example.org/" xmlns="http://example.org/" xmlns="http://example.org/" \ No newline at end of file diff --git a/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-26 b/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-26 new file mode 100644 index 0000000..1f7eb6e --- /dev/null +++ b/libxml2/result/c14n/exc-without-comments/merlin-c14n-two-26 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/libxml2/result/c14n/exc-without-comments/test-0 b/libxml2/result/c14n/exc-without-comments/test-0 new file mode 100644 index 0000000..3806ea0 --- /dev/null +++ b/libxml2/result/c14n/exc-without-comments/test-0 @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/libxml2/result/c14n/exc-without-comments/test-1 b/libxml2/result/c14n/exc-without-comments/test-1 new file mode 100644 index 0000000..bd5930f --- /dev/null +++ b/libxml2/result/c14n/exc-without-comments/test-1 @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/libxml2/result/c14n/exc-without-comments/test-2 b/libxml2/result/c14n/exc-without-comments/test-2 new file mode 100644 index 0000000..0b8a0cb --- /dev/null +++ b/libxml2/result/c14n/exc-without-comments/test-2 @@ -0,0 +1,11 @@ + + + + + + + + + sj1VXDB2VMCU5qmva2OtDw3kKOs= + + \ No newline at end of file diff --git a/libxml2/result/c14n/with-comments/example-1 b/libxml2/result/c14n/with-comments/example-1 new file mode 100644 index 0000000..d98d168 --- /dev/null +++ b/libxml2/result/c14n/with-comments/example-1 @@ -0,0 +1,6 @@ + +Hello, world! + + + \ No newline at end of file diff --git a/libxml2/result/c14n/with-comments/example-2 b/libxml2/result/c14n/with-comments/example-2 new file mode 100644 index 0000000..2afa15c --- /dev/null +++ b/libxml2/result/c14n/with-comments/example-2 @@ -0,0 +1,11 @@ + + + A B + + A + + B + A B + C + + \ No newline at end of file diff --git a/libxml2/result/c14n/with-comments/example-3 b/libxml2/result/c14n/with-comments/example-3 new file mode 100644 index 0000000..4c287e6 --- /dev/null +++ b/libxml2/result/c14n/with-comments/example-3 @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/libxml2/result/c14n/with-comments/example-4 b/libxml2/result/c14n/with-comments/example-4 new file mode 100644 index 0000000..19a2559 --- /dev/null +++ b/libxml2/result/c14n/with-comments/example-4 @@ -0,0 +1,9 @@ + + First line +Second line + 2 + value>"0" && value<"10" ?"valid":"error" + valid + + + \ No newline at end of file diff --git a/libxml2/result/c14n/with-comments/example-5 b/libxml2/result/c14n/with-comments/example-5 new file mode 100644 index 0000000..457d402 --- /dev/null +++ b/libxml2/result/c14n/with-comments/example-5 @@ -0,0 +1,4 @@ + + Hello, world! + + \ No newline at end of file diff --git a/libxml2/result/c14n/with-comments/example-6 b/libxml2/result/c14n/with-comments/example-6 new file mode 100644 index 0000000..0be38f9 --- /dev/null +++ b/libxml2/result/c14n/with-comments/example-6 @@ -0,0 +1 @@ +© \ No newline at end of file diff --git a/libxml2/result/c14n/with-comments/example-7 b/libxml2/result/c14n/with-comments/example-7 new file mode 100644 index 0000000..0a96cc4 --- /dev/null +++ b/libxml2/result/c14n/with-comments/example-7 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libxml2/result/c14n/without-comments/example-1 b/libxml2/result/c14n/without-comments/example-1 new file mode 100644 index 0000000..af9a977 --- /dev/null +++ b/libxml2/result/c14n/without-comments/example-1 @@ -0,0 +1,4 @@ + +Hello, world! + \ No newline at end of file diff --git a/libxml2/result/c14n/without-comments/example-2 b/libxml2/result/c14n/without-comments/example-2 new file mode 100644 index 0000000..2afa15c --- /dev/null +++ b/libxml2/result/c14n/without-comments/example-2 @@ -0,0 +1,11 @@ + + + A B + + A + + B + A B + C + + \ No newline at end of file diff --git a/libxml2/result/c14n/without-comments/example-3 b/libxml2/result/c14n/without-comments/example-3 new file mode 100644 index 0000000..4c287e6 --- /dev/null +++ b/libxml2/result/c14n/without-comments/example-3 @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/libxml2/result/c14n/without-comments/example-4 b/libxml2/result/c14n/without-comments/example-4 new file mode 100644 index 0000000..19a2559 --- /dev/null +++ b/libxml2/result/c14n/without-comments/example-4 @@ -0,0 +1,9 @@ + + First line +Second line + 2 + value>"0" && value<"10" ?"valid":"error" + valid + + + \ No newline at end of file diff --git a/libxml2/result/c14n/without-comments/example-5 b/libxml2/result/c14n/without-comments/example-5 new file mode 100644 index 0000000..c232e74 --- /dev/null +++ b/libxml2/result/c14n/without-comments/example-5 @@ -0,0 +1,3 @@ + + Hello, world! + \ No newline at end of file diff --git a/libxml2/result/c14n/without-comments/example-6 b/libxml2/result/c14n/without-comments/example-6 new file mode 100644 index 0000000..0be38f9 --- /dev/null +++ b/libxml2/result/c14n/without-comments/example-6 @@ -0,0 +1 @@ +© \ No newline at end of file diff --git a/libxml2/result/c14n/without-comments/example-7 b/libxml2/result/c14n/without-comments/example-7 new file mode 100644 index 0000000..0a96cc4 --- /dev/null +++ b/libxml2/result/c14n/without-comments/example-7 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libxml2/result/c14n/without-comments/merlin-c14n-two-00 b/libxml2/result/c14n/without-comments/merlin-c14n-two-00 new file mode 100644 index 0000000..2ca2b30 --- /dev/null +++ b/libxml2/result/c14n/without-comments/merlin-c14n-two-00 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/libxml2/result/c14n/without-comments/merlin-c14n-two-01 b/libxml2/result/c14n/without-comments/merlin-c14n-two-01 new file mode 100644 index 0000000..be42edf --- /dev/null +++ b/libxml2/result/c14n/without-comments/merlin-c14n-two-01 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/libxml2/result/c14n/without-comments/merlin-c14n-two-02 b/libxml2/result/c14n/without-comments/merlin-c14n-two-02 new file mode 100644 index 0000000..be42edf --- /dev/null +++ b/libxml2/result/c14n/without-comments/merlin-c14n-two-02 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/libxml2/result/c14n/without-comments/merlin-c14n-two-03 b/libxml2/result/c14n/without-comments/merlin-c14n-two-03 new file mode 100644 index 0000000..170354a --- /dev/null +++ b/libxml2/result/c14n/without-comments/merlin-c14n-two-03 @@ -0,0 +1,9 @@ + + xmlns:foo="http://example.org/foo" + + xmlns:foo="http://example.org/foo" + + + + + \ No newline at end of file diff --git a/libxml2/result/c14n/without-comments/merlin-c14n-two-04 b/libxml2/result/c14n/without-comments/merlin-c14n-two-04 new file mode 100644 index 0000000..185cbf3 --- /dev/null +++ b/libxml2/result/c14n/without-comments/merlin-c14n-two-04 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/libxml2/result/c14n/without-comments/merlin-c14n-two-05 b/libxml2/result/c14n/without-comments/merlin-c14n-two-05 new file mode 100644 index 0000000..185cbf3 --- /dev/null +++ b/libxml2/result/c14n/without-comments/merlin-c14n-two-05 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/libxml2/result/c14n/without-comments/merlin-c14n-two-06 b/libxml2/result/c14n/without-comments/merlin-c14n-two-06 new file mode 100644 index 0000000..bb45d0b --- /dev/null +++ b/libxml2/result/c14n/without-comments/merlin-c14n-two-06 @@ -0,0 +1 @@ + xmlns="http://example.org/" xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xmlns="http://example.org/" xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xmlns="http://example.org/" xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xmlns="http://example.org/" xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xmlns="http://example.org/" xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" \ No newline at end of file diff --git a/libxml2/result/c14n/without-comments/merlin-c14n-two-07 b/libxml2/result/c14n/without-comments/merlin-c14n-two-07 new file mode 100644 index 0000000..c42ffc1 --- /dev/null +++ b/libxml2/result/c14n/without-comments/merlin-c14n-two-07 @@ -0,0 +1 @@ + xmlns:bar="http://example.org/bar" xmlns:foo="http://example.org/foo" xmlns:bar="http://example.org/bar" xmlns:foo="http://example.org/foo" xmlns:baz="http://example.org/baz" \ No newline at end of file diff --git a/libxml2/result/c14n/without-comments/merlin-c14n-two-08 b/libxml2/result/c14n/without-comments/merlin-c14n-two-08 new file mode 100644 index 0000000..4f5bbb4 --- /dev/null +++ b/libxml2/result/c14n/without-comments/merlin-c14n-two-08 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/libxml2/result/c14n/without-comments/test-0 b/libxml2/result/c14n/without-comments/test-0 new file mode 100644 index 0000000..013de33 --- /dev/null +++ b/libxml2/result/c14n/without-comments/test-0 @@ -0,0 +1 @@ +I am the text. \ No newline at end of file diff --git a/libxml2/result/c14n/without-comments/test-1 b/libxml2/result/c14n/without-comments/test-1 new file mode 100644 index 0000000..0150f4a --- /dev/null +++ b/libxml2/result/c14n/without-comments/test-1 @@ -0,0 +1,31 @@ + + + CN=Merlin Hughes,O=Baltimore Technologies\, Ltd.,ST=Dublin,C=IE + + + + CN=Test DSA CA,O=Baltimore Technologies\, Ltd.,ST=Dublin,C=IE + + 970849936 + + + MIIDNzCCAvWgAwIBAgIEOd3+kDAJBgcqhkjOOAQDMFsxCzAJBgNVBAYTAklFMQ8w + DQYDVQQIEwZEdWJsaW4xJTAjBgNVBAoTHEJhbHRpbW9yZSBUZWNobm9sb2dpZXMs + IEx0ZC4xFDASBgNVBAMTC1Rlc3QgRFNBIENBMB4XDTAwMTAwNjE2MzIxNVoXDTAx + MTAwNjE2MzIxNFowXTELMAkGA1UEBhMCSUUxDzANBgNVBAgTBkR1YmxpbjElMCMG + A1UEChMcQmFsdGltb3JlIFRlY2hub2xvZ2llcywgTHRkLjEWMBQGA1UEAxMNTWVy + bGluIEh1Z2hlczCCAbYwggErBgcqhkjOOAQBMIIBHgKBgQDaJjfDTrawMHf8MiUt + Y54b37hSmYNnR3KpGT10uU1Dqppcju06uN0iGbqf947DjkBC25hKnqykK31xBw0E + CPbYq/KC98kghdf2xJCu6B8aqJ95K9jdVflJ3WP7PQxJn+fmM23zy6HYLXVICpfq + etdNj/VHCShZE3bdJiE6VobSFQIVAPQecqS2PaTDprcQnkwx4MHTRXhrAoGAMuGA + lqeB1ax+vyO2+Osubjhl7pHxLu47RIH+/M52DjESA9KMSrwzsYx8yNR2WooByrE0 + t6fu0VncK7UK8olO4t7wpv2z4AFQPRVCKFwo0qgn5aKIkICGMlrRy81avb27wGcW + othx3iPPMtFXtoDqK0JItaI9R8zc1msFhM1GKMYDgYQAAoGActA8YGxrtngg/zKV + vqEOefnwmViFztcnPBYPlJsvh6yKI4iDm68fnp4Mi3RrJ6bZAygFrUIQLxLjV+OJ + tgJAEto0xAs+Mehuq1DkSFEpP3oDzCTOsrOiS1DwQe4oIb7zVk/9l7aPtJMHW0LV + lMdwZNFNNJoqMcT2ZfCPrfvYvQ2jRzBFMB4GA1UdEQQXMBWBE21lcmxpbkBiYWx0 + aW1vcmUuaWUwDgYDVR0PAQH/BAQDAgeAMBMGA1UdIwQMMAqACEJZQG0KwRbPMAkG + ByqGSM44BAMDMQAwLgIVAK4skWEFYgrggaJA8vYAwSjg12+KAhUAwHTo7wd4tENw + 9LAKPklQ/74fH18= + + \ No newline at end of file diff --git a/libxml2/result/c14n/without-comments/test-2 b/libxml2/result/c14n/without-comments/test-2 new file mode 100644 index 0000000..c829481 --- /dev/null +++ b/libxml2/result/c14n/without-comments/test-2 @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/libxml2/result/c14n/without-comments/test-3 b/libxml2/result/c14n/without-comments/test-3 new file mode 100644 index 0000000..318cb19 --- /dev/null +++ b/libxml2/result/c14n/without-comments/test-3 @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/libxml2/result/catalogs/catal b/libxml2/result/catalogs/catal new file mode 100644 index 0000000..52b2afe --- /dev/null +++ b/libxml2/result/catalogs/catal @@ -0,0 +1,5 @@ +> test/catalogs/calstblx.dtd +> test/catalogs/docbook.dtd +> test/catalogs/soextblx.dtd +> test/catalogs/dbgenent.mod +> \ No newline at end of file diff --git a/libxml2/result/catalogs/docbook b/libxml2/result/catalogs/docbook new file mode 100644 index 0000000..804005d --- /dev/null +++ b/libxml2/result/catalogs/docbook @@ -0,0 +1,6 @@ +> /usr/share/xml/docbook/xml/4.1.2/dbpoolx.mod +> http://www.oasis-open.org/docbook/xml/4.1.2/dbcentx.mod +> http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd +> http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd +> file:///usr/share/xml/toto/toto.dtd +> \ No newline at end of file diff --git a/libxml2/result/catalogs/mycatalog.empty b/libxml2/result/catalogs/mycatalog.empty new file mode 100644 index 0000000..84f482e --- /dev/null +++ b/libxml2/result/catalogs/mycatalog.empty @@ -0,0 +1,3 @@ + + + diff --git a/libxml2/result/catalogs/mycatalog.full b/libxml2/result/catalogs/mycatalog.full new file mode 100644 index 0000000..5ee1ccf --- /dev/null +++ b/libxml2/result/catalogs/mycatalog.full @@ -0,0 +1,7 @@ + + + + + + + diff --git a/libxml2/result/catalogs/recursive b/libxml2/result/catalogs/recursive new file mode 100644 index 0000000..56ca91e --- /dev/null +++ b/libxml2/result/catalogs/recursive @@ -0,0 +1 @@ +> \ No newline at end of file diff --git a/libxml2/result/catalogs/registry b/libxml2/result/catalogs/registry new file mode 100644 index 0000000..e035c55 --- /dev/null +++ b/libxml2/result/catalogs/registry @@ -0,0 +1,5 @@ +> /usr/share/xml/docbook/xml/4.1.2/dbpoolx.mod +> http://www.oasis-open.org/docbook/xml/4.1.2/dbcentx.mod +> /usr/share/xml/docbook/xml/4.1.2/dbpoolx.mod +> http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd +> \ No newline at end of file diff --git a/libxml2/result/catalogs/whites b/libxml2/result/catalogs/whites new file mode 100644 index 0000000..52b2afe --- /dev/null +++ b/libxml2/result/catalogs/whites @@ -0,0 +1,5 @@ +> test/catalogs/calstblx.dtd +> test/catalogs/docbook.dtd +> test/catalogs/soextblx.dtd +> test/catalogs/dbgenent.mod +> \ No newline at end of file diff --git a/libxml2/result/catalogs/whitex b/libxml2/result/catalogs/whitex new file mode 100644 index 0000000..b02bcc6 --- /dev/null +++ b/libxml2/result/catalogs/whitex @@ -0,0 +1,8 @@ +> /usr/share/xml/docbook/xml/4.1.2/dbpoolx.mod +> http://www.oasis-open.org/docbook/xml/4.1.2/dbcentx.mod +> http://www.oasis-open.org/docbook/xml/4.1.2/dbcentx.mod +> http://www.oasis-open.org/docbook/xml/4.1.2/dbcentx.mod +> http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd +> http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd +> file:///usr/share/xml/toto/toto.dtd +> \ No newline at end of file diff --git a/libxml2/result/cdata b/libxml2/result/cdata new file mode 100644 index 0000000..180ea46 --- /dev/null +++ b/libxml2/result/cdata @@ -0,0 +1,4 @@ + + +Hello, world!]]> + diff --git a/libxml2/result/cdata-2-byte-UTF-8.xml b/libxml2/result/cdata-2-byte-UTF-8.xml new file mode 100644 index 0000000..8552efc --- /dev/null +++ b/libxml2/result/cdata-2-byte-UTF-8.xml @@ -0,0 +1,6 @@ + + + +

    +

    +
    diff --git a/libxml2/result/cdata-2-byte-UTF-8.xml.rde b/libxml2/result/cdata-2-byte-UTF-8.xml.rde new file mode 100644 index 0000000..2eb2940 --- /dev/null +++ b/libxml2/result/cdata-2-byte-UTF-8.xml.rde @@ -0,0 +1,15 @@ +0 8 #comment 0 1 This tests that two-byte UTF-8 characters are parsed properly when split across a buffer boundary of length XML_PARSER_BIG_BUFFER_SIZE (300 bytes). +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 4 #cdata-section 0 1 ČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČ +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 4 #cdata-section 0 1 ČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČ +1 15 p 0 0 +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/libxml2/result/cdata-2-byte-UTF-8.xml.rdr b/libxml2/result/cdata-2-byte-UTF-8.xml.rdr new file mode 100644 index 0000000..2eb2940 --- /dev/null +++ b/libxml2/result/cdata-2-byte-UTF-8.xml.rdr @@ -0,0 +1,15 @@ +0 8 #comment 0 1 This tests that two-byte UTF-8 characters are parsed properly when split across a buffer boundary of length XML_PARSER_BIG_BUFFER_SIZE (300 bytes). +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 4 #cdata-section 0 1 ČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČ +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 4 #cdata-section 0 1 ČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČ +1 15 p 0 0 +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/libxml2/result/cdata-2-byte-UTF-8.xml.sax b/libxml2/result/cdata-2-byte-UTF-8.xml.sax new file mode 100644 index 0000000..f397f6a --- /dev/null +++ b/libxml2/result/cdata-2-byte-UTF-8.xml.sax @@ -0,0 +1,18 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( This tests that two-byte UTF-8 characters are parsed properly when split across a buffer boundary of length XML_PARSER_BIG_BUFFER_SIZE (300 bytes). ) +SAX.startElement(doc) +SAX.characters( +, 1) +SAX.startElement(p) +SAX.pcdata(ČČČČČČČČČČ, 1200) +SAX.endElement(p) +SAX.characters( +, 1) +SAX.startElement(p) +SAX.pcdata( ČČČČČČČČČÄ, 1201) +SAX.endElement(p) +SAX.characters( +, 1) +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/cdata-2-byte-UTF-8.xml.sax2 b/libxml2/result/cdata-2-byte-UTF-8.xml.sax2 new file mode 100644 index 0000000..2da2d50 --- /dev/null +++ b/libxml2/result/cdata-2-byte-UTF-8.xml.sax2 @@ -0,0 +1,18 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( This tests that two-byte UTF-8 characters are parsed properly when split across a buffer boundary of length XML_PARSER_BIG_BUFFER_SIZE (300 bytes). ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.pcdata(ČČČČČČČČČČ, 1200) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.pcdata( ČČČČČČČČČÄ, 1201) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/cdata-3-byte-UTF-8.xml b/libxml2/result/cdata-3-byte-UTF-8.xml new file mode 100644 index 0000000..b959a12 --- /dev/null +++ b/libxml2/result/cdata-3-byte-UTF-8.xml @@ -0,0 +1,7 @@ + + + +

    +

    +

    +
    diff --git a/libxml2/result/cdata-3-byte-UTF-8.xml.rde b/libxml2/result/cdata-3-byte-UTF-8.xml.rde new file mode 100644 index 0000000..3f4d1c5 --- /dev/null +++ b/libxml2/result/cdata-3-byte-UTF-8.xml.rde @@ -0,0 +1,20 @@ +0 8 #comment 0 1 This tests that three-byte UTF-8 characters are parsed properly when split across a buffer boundary of length XML_PARSER_BIG_BUFFER_SIZE (300 bytes). +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 4 #cdata-section 0 1 牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛 +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 4 #cdata-section 0 1 牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛 +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 4 #cdata-section 0 1 牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛 +1 15 p 0 0 +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/libxml2/result/cdata-3-byte-UTF-8.xml.rdr b/libxml2/result/cdata-3-byte-UTF-8.xml.rdr new file mode 100644 index 0000000..3f4d1c5 --- /dev/null +++ b/libxml2/result/cdata-3-byte-UTF-8.xml.rdr @@ -0,0 +1,20 @@ +0 8 #comment 0 1 This tests that three-byte UTF-8 characters are parsed properly when split across a buffer boundary of length XML_PARSER_BIG_BUFFER_SIZE (300 bytes). +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 4 #cdata-section 0 1 牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛 +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 4 #cdata-section 0 1 牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛 +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 4 #cdata-section 0 1 牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛 +1 15 p 0 0 +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/libxml2/result/cdata-3-byte-UTF-8.xml.sax b/libxml2/result/cdata-3-byte-UTF-8.xml.sax new file mode 100644 index 0000000..2f73e7c --- /dev/null +++ b/libxml2/result/cdata-3-byte-UTF-8.xml.sax @@ -0,0 +1,23 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( This tests that three-byte UTF-8 characters are parsed properly when split across a buffer boundary of length XML_PARSER_BIG_BUFFER_SIZE (300 bytes). ) +SAX.startElement(doc) +SAX.characters( +, 1) +SAX.startElement(p) +SAX.pcdata(牛牛牛牛牛牛ç‰, 1200) +SAX.endElement(p) +SAX.characters( +, 1) +SAX.startElement(p) +SAX.pcdata( 牛牛牛牛牛牛ç, 1201) +SAX.endElement(p) +SAX.characters( +, 1) +SAX.startElement(p) +SAX.pcdata( 牛牛牛牛牛牛, 1202) +SAX.endElement(p) +SAX.characters( +, 1) +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/cdata-3-byte-UTF-8.xml.sax2 b/libxml2/result/cdata-3-byte-UTF-8.xml.sax2 new file mode 100644 index 0000000..3969579 --- /dev/null +++ b/libxml2/result/cdata-3-byte-UTF-8.xml.sax2 @@ -0,0 +1,23 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( This tests that three-byte UTF-8 characters are parsed properly when split across a buffer boundary of length XML_PARSER_BIG_BUFFER_SIZE (300 bytes). ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.pcdata(牛牛牛牛牛牛ç‰, 1200) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.pcdata( 牛牛牛牛牛牛ç, 1201) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.pcdata( 牛牛牛牛牛牛, 1202) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/cdata-4-byte-UTF-8.xml b/libxml2/result/cdata-4-byte-UTF-8.xml new file mode 100644 index 0000000..4d1d9a8 --- /dev/null +++ b/libxml2/result/cdata-4-byte-UTF-8.xml @@ -0,0 +1,8 @@ + + + +

    +

    +

    +

    +
    diff --git a/libxml2/result/cdata-4-byte-UTF-8.xml.rde b/libxml2/result/cdata-4-byte-UTF-8.xml.rde new file mode 100644 index 0000000..437b79e --- /dev/null +++ b/libxml2/result/cdata-4-byte-UTF-8.xml.rde @@ -0,0 +1,25 @@ +0 8 #comment 0 1 This tests that four-byte UTF-8 characters are parsed properly when split across a buffer boundary of length XML_PARSER_BIG_BUFFER_SIZE (300 bytes). +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 4 #cdata-section 0 1 ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 4 #cdata-section 0 1 ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 4 #cdata-section 0 1 ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 4 #cdata-section 0 1 ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ +1 15 p 0 0 +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/libxml2/result/cdata-4-byte-UTF-8.xml.rdr b/libxml2/result/cdata-4-byte-UTF-8.xml.rdr new file mode 100644 index 0000000..437b79e --- /dev/null +++ b/libxml2/result/cdata-4-byte-UTF-8.xml.rdr @@ -0,0 +1,25 @@ +0 8 #comment 0 1 This tests that four-byte UTF-8 characters are parsed properly when split across a buffer boundary of length XML_PARSER_BIG_BUFFER_SIZE (300 bytes). +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 4 #cdata-section 0 1 ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 4 #cdata-section 0 1 ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 4 #cdata-section 0 1 ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 4 #cdata-section 0 1 ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦ +1 15 p 0 0 +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/libxml2/result/cdata-4-byte-UTF-8.xml.sax b/libxml2/result/cdata-4-byte-UTF-8.xml.sax new file mode 100644 index 0000000..d8abcfb --- /dev/null +++ b/libxml2/result/cdata-4-byte-UTF-8.xml.sax @@ -0,0 +1,28 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( This tests that four-byte UTF-8 characters are parsed properly when split across a buffer boundary of length XML_PARSER_BIG_BUFFER_SIZE (300 bytes). ) +SAX.startElement(doc) +SAX.characters( +, 1) +SAX.startElement(p) +SAX.pcdata(ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦, 1200) +SAX.endElement(p) +SAX.characters( +, 1) +SAX.startElement(p) +SAX.pcdata( ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ, 1201) +SAX.endElement(p) +SAX.characters( +, 1) +SAX.startElement(p) +SAX.pcdata( ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ, 1202) +SAX.endElement(p) +SAX.characters( +, 1) +SAX.startElement(p) +SAX.pcdata( ðŸ¦ðŸ¦ðŸ¦ðŸ¦ð, 1203) +SAX.endElement(p) +SAX.characters( +, 1) +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/cdata-4-byte-UTF-8.xml.sax2 b/libxml2/result/cdata-4-byte-UTF-8.xml.sax2 new file mode 100644 index 0000000..5e07d83 --- /dev/null +++ b/libxml2/result/cdata-4-byte-UTF-8.xml.sax2 @@ -0,0 +1,28 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( This tests that four-byte UTF-8 characters are parsed properly when split across a buffer boundary of length XML_PARSER_BIG_BUFFER_SIZE (300 bytes). ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.pcdata(ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦, 1200) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.pcdata( ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ, 1201) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.pcdata( ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ, 1202) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.pcdata( ðŸ¦ðŸ¦ðŸ¦ðŸ¦ð, 1203) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/cdata.rde b/libxml2/result/cdata.rde new file mode 100644 index 0000000..316b8bf --- /dev/null +++ b/libxml2/result/cdata.rde @@ -0,0 +1,7 @@ +0 1 doc 0 0 +1 14 #text 0 1 + +1 4 #cdata-section 0 1 Hello, world! +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/libxml2/result/cdata.rdr b/libxml2/result/cdata.rdr new file mode 100644 index 0000000..316b8bf --- /dev/null +++ b/libxml2/result/cdata.rdr @@ -0,0 +1,7 @@ +0 1 doc 0 0 +1 14 #text 0 1 + +1 4 #cdata-section 0 1 Hello, world! +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/libxml2/result/cdata.sax b/libxml2/result/cdata.sax new file mode 100644 index 0000000..f917f99 --- /dev/null +++ b/libxml2/result/cdata.sax @@ -0,0 +1,10 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(doc) +SAX.characters( +, 1) +SAX.pcdata(Hello, wor, 34) +SAX.characters( +, 1) +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/cdata.sax2 b/libxml2/result/cdata.sax2 new file mode 100644 index 0000000..117b2b0 --- /dev/null +++ b/libxml2/result/cdata.sax2 @@ -0,0 +1,10 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.pcdata(Hello, wor, 34) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/cdata2 b/libxml2/result/cdata2 new file mode 100644 index 0000000..b4db791 --- /dev/null +++ b/libxml2/result/cdata2 @@ -0,0 +1,6 @@ + + + ]> + diff --git a/libxml2/result/cdata2.rde b/libxml2/result/cdata2.rde new file mode 100644 index 0000000..e69a672 --- /dev/null +++ b/libxml2/result/cdata2.rde @@ -0,0 +1,13 @@ +0 1 collection 0 0 +1 14 #text 0 1 + +1 1 test 0 0 +2 4 #cdata-section 0 1 + +2 4 #cdata-section 0 1 + +1 15 test 0 0 +1 14 #text 0 1 + +0 15 collection 0 0 diff --git a/libxml2/result/cdata2.rdr b/libxml2/result/cdata2.rdr new file mode 100644 index 0000000..e69a672 --- /dev/null +++ b/libxml2/result/cdata2.rdr @@ -0,0 +1,13 @@ +0 1 collection 0 0 +1 14 #text 0 1 + +1 1 test 0 0 +2 4 #cdata-section 0 1 + +2 4 #cdata-section 0 1 + +1 15 test 0 0 +1 14 #text 0 1 + +0 15 collection 0 0 diff --git a/libxml2/result/cdata2.sax b/libxml2/result/cdata2.sax new file mode 100644 index 0000000..7fcc863 --- /dev/null +++ b/libxml2/result/cdata2.sax @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(collection) +SAX.characters( + , 3) +SAX.startElement(test) +SAX.pcdata( + , 1) +SAX.pcdata( + , 3) +SAX.endElement(test) +SAX.characters( +, 1) +SAX.endElement(collection) +SAX.endDocument() diff --git a/libxml2/result/cdata2.sax2 b/libxml2/result/cdata2.sax2 new file mode 100644 index 0000000..d1420e9 --- /dev/null +++ b/libxml2/result/cdata2.sax2 @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(collection, NULL, NULL, 0, 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(test, NULL, NULL, 0, 0, 0) +SAX.pcdata( + , 1) +SAX.pcdata( + , 3) +SAX.endElementNs(test, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(collection, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/comment.xml b/libxml2/result/comment.xml new file mode 100644 index 0000000..98c5eff --- /dev/null +++ b/libxml2/result/comment.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/libxml2/result/comment.xml.rde b/libxml2/result/comment.xml.rde new file mode 100644 index 0000000..9551ced --- /dev/null +++ b/libxml2/result/comment.xml.rde @@ -0,0 +1,13 @@ +0 1 doc 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 document start +1 14 #text 0 1 + +1 1 empty 1 0 +1 14 #text 0 1 + +1 8 #comment 0 1 document end +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/libxml2/result/comment.xml.rdr b/libxml2/result/comment.xml.rdr new file mode 100644 index 0000000..9551ced --- /dev/null +++ b/libxml2/result/comment.xml.rdr @@ -0,0 +1,13 @@ +0 1 doc 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 document start +1 14 #text 0 1 + +1 1 empty 1 0 +1 14 #text 0 1 + +1 8 #comment 0 1 document end +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/libxml2/result/comment.xml.sax b/libxml2/result/comment.xml.sax new file mode 100644 index 0000000..d969036 --- /dev/null +++ b/libxml2/result/comment.xml.sax @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(doc) +SAX.characters( +, 1) +SAX.comment( document start ) +SAX.characters( +, 1) +SAX.startElement(empty) +SAX.endElement(empty) +SAX.characters( +, 1) +SAX.comment( document end ) +SAX.characters( +, 1) +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/comment.xml.sax2 b/libxml2/result/comment.xml.sax2 new file mode 100644 index 0000000..da57f50 --- /dev/null +++ b/libxml2/result/comment.xml.sax2 @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.comment( document start ) +SAX.characters( +, 1) +SAX.startElementNs(empty, NULL, NULL, 0, 0, 0) +SAX.endElementNs(empty, NULL, NULL) +SAX.characters( +, 1) +SAX.comment( document end ) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/comment2.xml b/libxml2/result/comment2.xml new file mode 100644 index 0000000..9e122ec --- /dev/null +++ b/libxml2/result/comment2.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/libxml2/result/comment2.xml.rde b/libxml2/result/comment2.xml.rde new file mode 100644 index 0000000..4a3279d --- /dev/null +++ b/libxml2/result/comment2.xml.rde @@ -0,0 +1,9 @@ +0 8 #comment 0 1 document start +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 empty 1 0 +1 14 #text 0 1 + +0 15 doc 0 0 +0 8 #comment 0 1 document end diff --git a/libxml2/result/comment2.xml.rdr b/libxml2/result/comment2.xml.rdr new file mode 100644 index 0000000..4a3279d --- /dev/null +++ b/libxml2/result/comment2.xml.rdr @@ -0,0 +1,9 @@ +0 8 #comment 0 1 document start +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 empty 1 0 +1 14 #text 0 1 + +0 15 doc 0 0 +0 8 #comment 0 1 document end diff --git a/libxml2/result/comment2.xml.sax b/libxml2/result/comment2.xml.sax new file mode 100644 index 0000000..bffd7e1 --- /dev/null +++ b/libxml2/result/comment2.xml.sax @@ -0,0 +1,13 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( document start ) +SAX.startElement(doc) +SAX.characters( +, 1) +SAX.startElement(empty) +SAX.endElement(empty) +SAX.characters( +, 1) +SAX.endElement(doc) +SAX.comment( document end ) +SAX.endDocument() diff --git a/libxml2/result/comment2.xml.sax2 b/libxml2/result/comment2.xml.sax2 new file mode 100644 index 0000000..a286744 --- /dev/null +++ b/libxml2/result/comment2.xml.sax2 @@ -0,0 +1,13 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( document start ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.startElementNs(empty, NULL, NULL, 0, 0, 0) +SAX.endElementNs(empty, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.comment( document end ) +SAX.endDocument() diff --git a/libxml2/result/comment3.xml b/libxml2/result/comment3.xml new file mode 100644 index 0000000..395f67c --- /dev/null +++ b/libxml2/result/comment3.xml @@ -0,0 +1,164 @@ + + + diff --git a/libxml2/result/comment3.xml.rde b/libxml2/result/comment3.xml.rde new file mode 100644 index 0000000..519b8d0 --- /dev/null +++ b/libxml2/result/comment3.xml.rde @@ -0,0 +1,163 @@ +0 8 #comment 0 1 test of very very long comments and buffer limits +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 + +0 1 doc 1 0 diff --git a/libxml2/result/comment3.xml.rdr b/libxml2/result/comment3.xml.rdr new file mode 100644 index 0000000..519b8d0 --- /dev/null +++ b/libxml2/result/comment3.xml.rdr @@ -0,0 +1,163 @@ +0 8 #comment 0 1 test of very very long comments and buffer limits +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 + +0 1 doc 1 0 diff --git a/libxml2/result/comment3.xml.sax b/libxml2/result/comment3.xml.sax new file mode 100644 index 0000000..82b8b36 --- /dev/null +++ b/libxml2/result/comment3.xml.sax @@ -0,0 +1,167 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( test of very very long comments and buffer limits +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +) +SAX.startElement(doc) +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/comment3.xml.sax2 b/libxml2/result/comment3.xml.sax2 new file mode 100644 index 0000000..a5f1fd6 --- /dev/null +++ b/libxml2/result/comment3.xml.sax2 @@ -0,0 +1,167 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( test of very very long comments and buffer limits +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/comment4.xml b/libxml2/result/comment4.xml new file mode 100644 index 0000000..93282d8 --- /dev/null +++ b/libxml2/result/comment4.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/libxml2/result/comment4.xml.rde b/libxml2/result/comment4.xml.rde new file mode 100644 index 0000000..09e181b --- /dev/null +++ b/libxml2/result/comment4.xml.rde @@ -0,0 +1,4 @@ +0 8 #comment 0 1 test of non ascii comments like là et très +0 8 #comment 0 1 à another one +0 8 #comment 0 1 another one à +0 1 doc 1 0 diff --git a/libxml2/result/comment4.xml.rdr b/libxml2/result/comment4.xml.rdr new file mode 100644 index 0000000..09e181b --- /dev/null +++ b/libxml2/result/comment4.xml.rdr @@ -0,0 +1,4 @@ +0 8 #comment 0 1 test of non ascii comments like là et très +0 8 #comment 0 1 à another one +0 8 #comment 0 1 another one à +0 1 doc 1 0 diff --git a/libxml2/result/comment4.xml.sax b/libxml2/result/comment4.xml.sax new file mode 100644 index 0000000..26011d9 --- /dev/null +++ b/libxml2/result/comment4.xml.sax @@ -0,0 +1,8 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( test of non ascii comments like là et très ) +SAX.comment(à another one ) +SAX.comment( another one à) +SAX.startElement(doc) +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/comment4.xml.sax2 b/libxml2/result/comment4.xml.sax2 new file mode 100644 index 0000000..0e2611f --- /dev/null +++ b/libxml2/result/comment4.xml.sax2 @@ -0,0 +1,8 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( test of non ascii comments like là et très ) +SAX.comment(à another one ) +SAX.comment( another one à) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/comment5.xml b/libxml2/result/comment5.xml new file mode 100644 index 0000000..398f974 --- /dev/null +++ b/libxml2/result/comment5.xml @@ -0,0 +1,9 @@ + + + diff --git a/libxml2/result/comment5.xml.rde b/libxml2/result/comment5.xml.rde new file mode 100644 index 0000000..fe7a88f --- /dev/null +++ b/libxml2/result/comment5.xml.rde @@ -0,0 +1,8 @@ +0 8 #comment 0 1 test of hyphen and line break handling + some text - interrupted - +- - - - - - - - - - - - - - - - - - - - - - + this should stop here^ + + + +0 1 doc 1 0 diff --git a/libxml2/result/comment5.xml.rdr b/libxml2/result/comment5.xml.rdr new file mode 100644 index 0000000..fe7a88f --- /dev/null +++ b/libxml2/result/comment5.xml.rdr @@ -0,0 +1,8 @@ +0 8 #comment 0 1 test of hyphen and line break handling + some text - interrupted - +- - - - - - - - - - - - - - - - - - - - - - + this should stop here^ + + + +0 1 doc 1 0 diff --git a/libxml2/result/comment5.xml.sax b/libxml2/result/comment5.xml.sax new file mode 100644 index 0000000..dd58e7a --- /dev/null +++ b/libxml2/result/comment5.xml.sax @@ -0,0 +1,12 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( test of hyphen and line break handling + some text - interrupted - +- - - - - - - - - - - - - - - - - - - - - - + this should stop here^ + + +) +SAX.startElement(doc) +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/comment5.xml.sax2 b/libxml2/result/comment5.xml.sax2 new file mode 100644 index 0000000..f0940b2 --- /dev/null +++ b/libxml2/result/comment5.xml.sax2 @@ -0,0 +1,12 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( test of hyphen and line break handling + some text - interrupted - +- - - - - - - - - - - - - - - - - - - - - - + this should stop here^ + + +) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/comment6.xml b/libxml2/result/comment6.xml new file mode 100644 index 0000000..3e6074e --- /dev/null +++ b/libxml2/result/comment6.xml @@ -0,0 +1,14 @@ + + + +]> + diff --git a/libxml2/result/comment6.xml.rde b/libxml2/result/comment6.xml.rde new file mode 100644 index 0000000..e877c3e --- /dev/null +++ b/libxml2/result/comment6.xml.rde @@ -0,0 +1,11 @@ +0 8 #comment 0 1 +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment + +0 10 a 0 0 +0 1 a 1 0 diff --git a/libxml2/result/comment6.xml.rdr b/libxml2/result/comment6.xml.rdr new file mode 100644 index 0000000..e877c3e --- /dev/null +++ b/libxml2/result/comment6.xml.rdr @@ -0,0 +1,11 @@ +0 8 #comment 0 1 +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment + +0 10 a 0 0 +0 1 a 1 0 diff --git a/libxml2/result/comment6.xml.sax b/libxml2/result/comment6.xml.sax new file mode 100644 index 0000000..53fea21 --- /dev/null +++ b/libxml2/result/comment6.xml.sax @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +) +SAX.internalSubset(a, , ) +SAX.elementDecl(a, 1, ...) +SAX.externalSubset(a, , ) +SAX.startElement(a) +SAX.endElement(a) +SAX.endDocument() diff --git a/libxml2/result/comment6.xml.sax2 b/libxml2/result/comment6.xml.sax2 new file mode 100644 index 0000000..7dd7dc0 --- /dev/null +++ b/libxml2/result/comment6.xml.sax2 @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +) +SAX.internalSubset(a, , ) +SAX.elementDecl(a, 1, ...) +SAX.externalSubset(a, , ) +SAX.startElementNs(a, NULL, NULL, 0, 0, 0) +SAX.endElementNs(a, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/dav1 b/libxml2/result/dav1 new file mode 100644 index 0000000..cbfd4c4 --- /dev/null +++ b/libxml2/result/dav1 @@ -0,0 +1,25 @@ + + + + + + Box type A + + + J.J. Dingleheimerschmidt + + + HTTP/1.1 200 OK + + + + + + + HTTP/1.1 403 Forbidden + The user does not have access to the DingALing property. + + + There has been an access violation error. + + diff --git a/libxml2/result/dav1.rde b/libxml2/result/dav1.rde new file mode 100644 index 0000000..d8d44e6 --- /dev/null +++ b/libxml2/result/dav1.rde @@ -0,0 +1,78 @@ +0 1 D:multistatus 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 R:bigbox 0 0 +4 14 #text 0 1 + +4 1 R:BoxType 0 0 +5 3 #text 0 1 Box type A +4 15 R:BoxType 0 0 +4 14 #text 0 1 + +3 15 R:bigbox 0 0 +3 14 #text 0 1 + +3 1 R:author 0 0 +4 14 #text 0 1 + +4 1 R:Name 0 0 +5 3 #text 0 1 J.J. Dingleheimerschmidt +4 15 R:Name 0 0 +4 14 #text 0 1 + +3 15 R:author 0 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP/1.1 200 OK +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 R:DingALing 1 0 +3 14 #text 0 1 + +3 1 R:Random 1 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP/1.1 403 Forbidden +2 15 D:status 0 0 +2 14 #text 0 1 + +2 1 D:responsedescription 0 0 +3 3 #text 0 1 The user does not have access to the DingALing property. + +2 15 D:responsedescription 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +1 1 D:responsedescription 0 0 +2 3 #text 0 1 There has been an access violation error. + +1 15 D:responsedescription 0 0 +1 14 #text 0 1 + +0 15 D:multistatus 0 0 diff --git a/libxml2/result/dav1.rdr b/libxml2/result/dav1.rdr new file mode 100644 index 0000000..d8d44e6 --- /dev/null +++ b/libxml2/result/dav1.rdr @@ -0,0 +1,78 @@ +0 1 D:multistatus 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 R:bigbox 0 0 +4 14 #text 0 1 + +4 1 R:BoxType 0 0 +5 3 #text 0 1 Box type A +4 15 R:BoxType 0 0 +4 14 #text 0 1 + +3 15 R:bigbox 0 0 +3 14 #text 0 1 + +3 1 R:author 0 0 +4 14 #text 0 1 + +4 1 R:Name 0 0 +5 3 #text 0 1 J.J. Dingleheimerschmidt +4 15 R:Name 0 0 +4 14 #text 0 1 + +3 15 R:author 0 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP/1.1 200 OK +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 R:DingALing 1 0 +3 14 #text 0 1 + +3 1 R:Random 1 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP/1.1 403 Forbidden +2 15 D:status 0 0 +2 14 #text 0 1 + +2 1 D:responsedescription 0 0 +3 3 #text 0 1 The user does not have access to the DingALing property. + +2 15 D:responsedescription 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +1 1 D:responsedescription 0 0 +2 3 #text 0 1 There has been an access violation error. + +1 15 D:responsedescription 0 0 +1 14 #text 0 1 + +0 15 D:multistatus 0 0 diff --git a/libxml2/result/dav1.sax b/libxml2/result/dav1.sax new file mode 100644 index 0000000..9c1988f --- /dev/null +++ b/libxml2/result/dav1.sax @@ -0,0 +1,81 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(D:multistatus, xmlns:D='http://www.ietf.org/standards/dav/', xmlns:R='http://www.foo.bar/boxschema') +SAX.characters( + , 3) +SAX.startElement(D:response) +SAX.characters( + , 5) +SAX.startElement(D:prop) +SAX.characters( + , 7) +SAX.startElement(R:bigbox) +SAX.characters( + , 9) +SAX.startElement(R:BoxType) +SAX.characters(Box type A, 10) +SAX.endElement(R:BoxType) +SAX.characters( + , 7) +SAX.endElement(R:bigbox) +SAX.characters( + , 7) +SAX.startElement(R:author) +SAX.characters( + , 9) +SAX.startElement(R:Name) +SAX.characters(J.J. Dingleheimerschmidt, 24) +SAX.endElement(R:Name) +SAX.characters( + , 7) +SAX.endElement(R:author) +SAX.characters( + , 5) +SAX.endElement(D:prop) +SAX.characters( + , 5) +SAX.startElement(D:status) +SAX.characters(HTTP/1.1 200 OK, 15) +SAX.endElement(D:status) +SAX.characters( + , 3) +SAX.endElement(D:response) +SAX.characters( + , 3) +SAX.startElement(D:response) +SAX.characters( + , 5) +SAX.startElement(D:prop) +SAX.characters( + , 7) +SAX.startElement(R:DingALing) +SAX.endElement(R:DingALing) +SAX.characters( + , 7) +SAX.startElement(R:Random) +SAX.endElement(R:Random) +SAX.characters( + , 5) +SAX.endElement(D:prop) +SAX.characters( + , 5) +SAX.startElement(D:status) +SAX.characters(HTTP/1.1 403 Forbidden, 22) +SAX.endElement(D:status) +SAX.characters( + , 5) +SAX.startElement(D:responsedescription) +SAX.characters( The user does not have access, 64) +SAX.endElement(D:responsedescription) +SAX.characters( + , 3) +SAX.endElement(D:response) +SAX.characters( + , 3) +SAX.startElement(D:responsedescription) +SAX.characters( There has been an access viol, 44) +SAX.endElement(D:responsedescription) +SAX.characters( +, 1) +SAX.endElement(D:multistatus) +SAX.endDocument() diff --git a/libxml2/result/dav1.sax2 b/libxml2/result/dav1.sax2 new file mode 100644 index 0000000..44ad11c --- /dev/null +++ b/libxml2/result/dav1.sax2 @@ -0,0 +1,81 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/', 2, xmlns:D='http://www.ietf.org/standards/dav/', xmlns:R='http://www.foo.bar/boxschema', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(bigbox, R, 'http://www.foo.bar/boxschema', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(BoxType, R, 'http://www.foo.bar/boxschema', 0, 0, 0) +SAX.characters(Box type A, 10) +SAX.endElementNs(BoxType, R, 'http://www.foo.bar/boxschema') +SAX.characters( + , 7) +SAX.endElementNs(bigbox, R, 'http://www.foo.bar/boxschema') +SAX.characters( + , 7) +SAX.startElementNs(author, R, 'http://www.foo.bar/boxschema', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(Name, R, 'http://www.foo.bar/boxschema', 0, 0, 0) +SAX.characters(J.J. Dingleheimerschmidt, 24) +SAX.endElementNs(Name, R, 'http://www.foo.bar/boxschema') +SAX.characters( + , 7) +SAX.endElementNs(author, R, 'http://www.foo.bar/boxschema') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 200 OK, 15) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(DingALing, R, 'http://www.foo.bar/boxschema', 0, 0, 0) +SAX.endElementNs(DingALing, R, 'http://www.foo.bar/boxschema') +SAX.characters( + , 7) +SAX.startElementNs(Random, R, 'http://www.foo.bar/boxschema', 0, 0, 0) +SAX.endElementNs(Random, R, 'http://www.foo.bar/boxschema') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 403 Forbidden, 22) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(responsedescription, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( The user does not have access, 64) +SAX.endElementNs(responsedescription, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(responsedescription, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( There has been an access viol, 44) +SAX.endElementNs(responsedescription, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/libxml2/result/dav10 b/libxml2/result/dav10 new file mode 100644 index 0000000..4b00da4 --- /dev/null +++ b/libxml2/result/dav10 @@ -0,0 +1,4 @@ + + + http://www.ics.uci.edu/~ejw/contact.html + diff --git a/libxml2/result/dav10.rde b/libxml2/result/dav10.rde new file mode 100644 index 0000000..bfb552d --- /dev/null +++ b/libxml2/result/dav10.rde @@ -0,0 +1,9 @@ +0 1 D:owner 0 0 +1 14 #text 0 1 + +1 1 D:href 0 0 +2 3 #text 0 1 http://www.ics.uci.edu/~ejw/contact.html +1 15 D:href 0 0 +1 14 #text 0 1 + +0 15 D:owner 0 0 diff --git a/libxml2/result/dav10.rdr b/libxml2/result/dav10.rdr new file mode 100644 index 0000000..bfb552d --- /dev/null +++ b/libxml2/result/dav10.rdr @@ -0,0 +1,9 @@ +0 1 D:owner 0 0 +1 14 #text 0 1 + +1 1 D:href 0 0 +2 3 #text 0 1 http://www.ics.uci.edu/~ejw/contact.html +1 15 D:href 0 0 +1 14 #text 0 1 + +0 15 D:owner 0 0 diff --git a/libxml2/result/dav10.sax b/libxml2/result/dav10.sax new file mode 100644 index 0000000..aa98251 --- /dev/null +++ b/libxml2/result/dav10.sax @@ -0,0 +1,12 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(D:owner, xmlns:D='http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElement(D:href) +SAX.characters(http://www.ics.uci.edu/~ejw/co, 40) +SAX.endElement(D:href) +SAX.characters( +, 1) +SAX.endElement(D:owner) +SAX.endDocument() diff --git a/libxml2/result/dav10.sax2 b/libxml2/result/dav10.sax2 new file mode 100644 index 0000000..e93e22c --- /dev/null +++ b/libxml2/result/dav10.sax2 @@ -0,0 +1,12 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(owner, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.ics.uci.edu/~ejw/co, 40) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(owner, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/libxml2/result/dav11 b/libxml2/result/dav11 new file mode 100644 index 0000000..8ac23d6 --- /dev/null +++ b/libxml2/result/dav11 @@ -0,0 +1,21 @@ + + + + + write + exclusive + + + + http://www.ics.uci.edu/~ejw/contact.html + + + Second-604800 + + + opaquelocktoken:xyz122393481230912asdfa09s8df09s7df + + + + + diff --git a/libxml2/result/dav11.rde b/libxml2/result/dav11.rde new file mode 100644 index 0000000..088afeb --- /dev/null +++ b/libxml2/result/dav11.rde @@ -0,0 +1,60 @@ +0 1 D:prop 0 0 +1 14 #text 0 1 + +1 1 D:lockdiscovery 0 0 +2 14 #text 0 1 + +2 1 D:activelock 0 0 +3 14 #text 0 1 + +3 1 D:locktype 0 0 +4 3 #text 0 1 write +3 15 D:locktype 0 0 +3 14 #text 0 1 + +3 1 D:lockscope 0 0 +4 3 #text 0 1 exclusive +3 15 D:lockscope 0 0 +3 14 #text 0 1 + +3 1 D:addlocks 1 0 +3 14 #text 0 1 + +3 1 D:owner 0 0 +4 14 #text 0 1 + +4 1 D:href 0 0 +5 3 #text 0 1 + http://www.ics.uci.edu/~ejw/contact.html + +4 15 D:href 0 0 +4 14 #text 0 1 + +3 15 D:owner 0 0 +3 14 #text 0 1 + +3 1 D:timeout 0 0 +4 3 #text 0 1 Second-604800 +3 15 D:timeout 0 0 +3 14 #text 0 1 + +3 1 D:locktoken 0 0 +4 14 #text 0 1 + +4 1 D:href 0 0 +5 3 #text 0 1 + opaquelocktoken:xyz122393481230912asdfa09s8df09s7df + +4 15 D:href 0 0 +4 14 #text 0 1 + +3 15 D:locktoken 0 0 +3 14 #text 0 1 + +2 15 D:activelock 0 0 +2 14 #text 0 1 + +1 15 D:lockdiscovery 0 0 +1 14 #text 0 1 + +0 15 D:prop 0 0 diff --git a/libxml2/result/dav11.rdr b/libxml2/result/dav11.rdr new file mode 100644 index 0000000..088afeb --- /dev/null +++ b/libxml2/result/dav11.rdr @@ -0,0 +1,60 @@ +0 1 D:prop 0 0 +1 14 #text 0 1 + +1 1 D:lockdiscovery 0 0 +2 14 #text 0 1 + +2 1 D:activelock 0 0 +3 14 #text 0 1 + +3 1 D:locktype 0 0 +4 3 #text 0 1 write +3 15 D:locktype 0 0 +3 14 #text 0 1 + +3 1 D:lockscope 0 0 +4 3 #text 0 1 exclusive +3 15 D:lockscope 0 0 +3 14 #text 0 1 + +3 1 D:addlocks 1 0 +3 14 #text 0 1 + +3 1 D:owner 0 0 +4 14 #text 0 1 + +4 1 D:href 0 0 +5 3 #text 0 1 + http://www.ics.uci.edu/~ejw/contact.html + +4 15 D:href 0 0 +4 14 #text 0 1 + +3 15 D:owner 0 0 +3 14 #text 0 1 + +3 1 D:timeout 0 0 +4 3 #text 0 1 Second-604800 +3 15 D:timeout 0 0 +3 14 #text 0 1 + +3 1 D:locktoken 0 0 +4 14 #text 0 1 + +4 1 D:href 0 0 +5 3 #text 0 1 + opaquelocktoken:xyz122393481230912asdfa09s8df09s7df + +4 15 D:href 0 0 +4 14 #text 0 1 + +3 15 D:locktoken 0 0 +3 14 #text 0 1 + +2 15 D:activelock 0 0 +2 14 #text 0 1 + +1 15 D:lockdiscovery 0 0 +1 14 #text 0 1 + +0 15 D:prop 0 0 diff --git a/libxml2/result/dav11.sax b/libxml2/result/dav11.sax new file mode 100644 index 0000000..43815e5 --- /dev/null +++ b/libxml2/result/dav11.sax @@ -0,0 +1,62 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(D:prop, xmlns:D='http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElement(D:lockdiscovery) +SAX.characters( + , 5) +SAX.startElement(D:activelock) +SAX.characters( + , 7) +SAX.startElement(D:locktype) +SAX.characters(write, 5) +SAX.endElement(D:locktype) +SAX.characters( + , 7) +SAX.startElement(D:lockscope) +SAX.characters(exclusive, 9) +SAX.endElement(D:lockscope) +SAX.characters( + , 7) +SAX.startElement(D:addlocks) +SAX.endElement(D:addlocks) +SAX.characters( + , 7) +SAX.startElement(D:owner) +SAX.characters( + , 9) +SAX.startElement(D:href) +SAX.characters( + http://www.ics.uci.edu/~ejw, 46) +SAX.endElement(D:href) +SAX.characters( + , 7) +SAX.endElement(D:owner) +SAX.characters( + , 7) +SAX.startElement(D:timeout) +SAX.characters(Second-604800, 13) +SAX.endElement(D:timeout) +SAX.characters( + , 7) +SAX.startElement(D:locktoken) +SAX.characters( + , 9) +SAX.startElement(D:href) +SAX.characters( + opaquelocktoken:xyz122393, 59) +SAX.endElement(D:href) +SAX.characters( + , 7) +SAX.endElement(D:locktoken) +SAX.characters( + , 5) +SAX.endElement(D:activelock) +SAX.characters( + , 3) +SAX.endElement(D:lockdiscovery) +SAX.characters( +, 1) +SAX.endElement(D:prop) +SAX.endDocument() diff --git a/libxml2/result/dav11.sax2 b/libxml2/result/dav11.sax2 new file mode 100644 index 0000000..d0f2329 --- /dev/null +++ b/libxml2/result/dav11.sax2 @@ -0,0 +1,62 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(lockdiscovery, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(activelock, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(locktype, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(write, 5) +SAX.endElementNs(locktype, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.startElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(exclusive, 9) +SAX.endElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.startElementNs(addlocks, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.endElementNs(addlocks, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.startElementNs(owner, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + http://www.ics.uci.edu/~ejw, 46) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.endElementNs(owner, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.startElementNs(timeout, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(Second-604800, 13) +SAX.endElementNs(timeout, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.startElementNs(locktoken, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + opaquelocktoken:xyz122393, 59) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.endElementNs(locktoken, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.endElementNs(activelock, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(lockdiscovery, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/libxml2/result/dav12 b/libxml2/result/dav12 new file mode 100644 index 0000000..d8d03fe --- /dev/null +++ b/libxml2/result/dav12 @@ -0,0 +1,2 @@ + +http://www.ics.uci.edu/~ejw/contact.html diff --git a/libxml2/result/dav12.rde b/libxml2/result/dav12.rde new file mode 100644 index 0000000..0df7943 --- /dev/null +++ b/libxml2/result/dav12.rde @@ -0,0 +1,3 @@ +0 1 D:href 0 0 +1 3 #text 0 1 http://www.ics.uci.edu/~ejw/contact.html +0 15 D:href 0 0 diff --git a/libxml2/result/dav12.rdr b/libxml2/result/dav12.rdr new file mode 100644 index 0000000..0df7943 --- /dev/null +++ b/libxml2/result/dav12.rdr @@ -0,0 +1,3 @@ +0 1 D:href 0 0 +1 3 #text 0 1 http://www.ics.uci.edu/~ejw/contact.html +0 15 D:href 0 0 diff --git a/libxml2/result/dav12.sax b/libxml2/result/dav12.sax new file mode 100644 index 0000000..67b9f64 --- /dev/null +++ b/libxml2/result/dav12.sax @@ -0,0 +1,6 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(D:href, xmlns:D='http://www.ietf.org/standards/dav/') +SAX.characters(http://www.ics.uci.edu/~ejw/co, 40) +SAX.endElement(D:href) +SAX.endDocument() diff --git a/libxml2/result/dav12.sax2 b/libxml2/result/dav12.sax2 new file mode 100644 index 0000000..61715b6 --- /dev/null +++ b/libxml2/result/dav12.sax2 @@ -0,0 +1,6 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters(http://www.ics.uci.edu/~ejw/co, 40) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/libxml2/result/dav13 b/libxml2/result/dav13 new file mode 100644 index 0000000..f44ae38 --- /dev/null +++ b/libxml2/result/dav13 @@ -0,0 +1,16 @@ + + + + + http://webdav.sb.aol.com/workspace/webdav/proposal.doc + + + http://webdav.sb.aol.com/workspace/webdav/ + + HTTP/1.1 202 Accepted + + + http://foo.bar/blah + HTTP/1.1 403 Forbidden + + diff --git a/libxml2/result/dav13.rde b/libxml2/result/dav13.rde new file mode 100644 index 0000000..ffe978d --- /dev/null +++ b/libxml2/result/dav13.rde @@ -0,0 +1,45 @@ +0 1 D:multistatus 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:href 0 0 +3 3 #text 0 1 + http://webdav.sb.aol.com/workspace/webdav/proposal.doc + +2 15 D:href 0 0 +2 14 #text 0 1 + +2 1 D:href 0 0 +3 3 #text 0 1 + http://webdav.sb.aol.com/workspace/webdav/ + +2 15 D:href 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP/1.1 202 Accepted +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:href 0 0 +3 3 #text 0 1 http://foo.bar/blah +2 15 D:href 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP/1.1 403 Forbidden +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +0 15 D:multistatus 0 0 diff --git a/libxml2/result/dav13.rdr b/libxml2/result/dav13.rdr new file mode 100644 index 0000000..ffe978d --- /dev/null +++ b/libxml2/result/dav13.rdr @@ -0,0 +1,45 @@ +0 1 D:multistatus 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:href 0 0 +3 3 #text 0 1 + http://webdav.sb.aol.com/workspace/webdav/proposal.doc + +2 15 D:href 0 0 +2 14 #text 0 1 + +2 1 D:href 0 0 +3 3 #text 0 1 + http://webdav.sb.aol.com/workspace/webdav/ + +2 15 D:href 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP/1.1 202 Accepted +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:href 0 0 +3 3 #text 0 1 http://foo.bar/blah +2 15 D:href 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP/1.1 403 Forbidden +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +0 15 D:multistatus 0 0 diff --git a/libxml2/result/dav13.sax b/libxml2/result/dav13.sax new file mode 100644 index 0000000..16edfd1 --- /dev/null +++ b/libxml2/result/dav13.sax @@ -0,0 +1,46 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(D:multistatus, xmlns:D='http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElement(D:response) +SAX.characters( + , 5) +SAX.startElement(D:href) +SAX.characters( + http://webdav.sb.aol.com/, 66) +SAX.endElement(D:href) +SAX.characters( + , 5) +SAX.startElement(D:href) +SAX.characters( + http://webdav.sb.aol.com/, 54) +SAX.endElement(D:href) +SAX.characters( + , 5) +SAX.startElement(D:status) +SAX.characters(HTTP/1.1 202 Accepted, 21) +SAX.endElement(D:status) +SAX.characters( + , 3) +SAX.endElement(D:response) +SAX.characters( + , 3) +SAX.startElement(D:response) +SAX.characters( + , 5) +SAX.startElement(D:href) +SAX.characters(http://foo.bar/blah, 19) +SAX.endElement(D:href) +SAX.characters( + , 5) +SAX.startElement(D:status) +SAX.characters(HTTP/1.1 403 Forbidden, 22) +SAX.endElement(D:status) +SAX.characters( + , 3) +SAX.endElement(D:response) +SAX.characters( +, 1) +SAX.endElement(D:multistatus) +SAX.endDocument() diff --git a/libxml2/result/dav13.sax2 b/libxml2/result/dav13.sax2 new file mode 100644 index 0000000..f6c5381 --- /dev/null +++ b/libxml2/result/dav13.sax2 @@ -0,0 +1,46 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + http://webdav.sb.aol.com/, 66) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + http://webdav.sb.aol.com/, 54) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 202 Accepted, 21) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://foo.bar/blah, 19) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 403 Forbidden, 22) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/libxml2/result/dav15 b/libxml2/result/dav15 new file mode 100644 index 0000000..b80802e --- /dev/null +++ b/libxml2/result/dav15 @@ -0,0 +1,20 @@ + + + + + Source + http://foo.bar/program + http://foo.bar/src/main.c + + + Library + http://foo.bar/program + http://foo.bar/src/main.lib + + + Makefile + http://foo.bar/program + http://foo.bar/src/makefile + + + diff --git a/libxml2/result/dav15.rde b/libxml2/result/dav15.rde new file mode 100644 index 0000000..a4a4e7c --- /dev/null +++ b/libxml2/result/dav15.rde @@ -0,0 +1,73 @@ +0 1 D:prop 0 0 +1 14 #text 0 1 + +1 1 D:Source 0 0 +2 14 #text 0 1 + +2 1 D:link 0 0 +3 14 #text 0 1 + +3 1 F:projfiles 0 0 +4 3 #text 0 1 Source +3 15 F:projfiles 0 0 +3 14 #text 0 1 + +3 1 D:src 0 0 +4 3 #text 0 1 http://foo.bar/program +3 15 D:src 0 0 +3 14 #text 0 1 + +3 1 D:dst 0 0 +4 3 #text 0 1 http://foo.bar/src/main.c +3 15 D:dst 0 0 +3 14 #text 0 1 + +2 15 D:link 0 0 +2 14 #text 0 1 + +2 1 D:link 0 0 +3 14 #text 0 1 + +3 1 F:projfiles 0 0 +4 3 #text 0 1 Library +3 15 F:projfiles 0 0 +3 14 #text 0 1 + +3 1 D:src 0 0 +4 3 #text 0 1 http://foo.bar/program +3 15 D:src 0 0 +3 14 #text 0 1 + +3 1 D:dst 0 0 +4 3 #text 0 1 http://foo.bar/src/main.lib +3 15 D:dst 0 0 +3 14 #text 0 1 + +2 15 D:link 0 0 +2 14 #text 0 1 + +2 1 D:link 0 0 +3 14 #text 0 1 + +3 1 F:projfiles 0 0 +4 3 #text 0 1 Makefile +3 15 F:projfiles 0 0 +3 14 #text 0 1 + +3 1 D:src 0 0 +4 3 #text 0 1 http://foo.bar/program +3 15 D:src 0 0 +3 14 #text 0 1 + +3 1 D:dst 0 0 +4 3 #text 0 1 http://foo.bar/src/makefile +3 15 D:dst 0 0 +3 14 #text 0 1 + +2 15 D:link 0 0 +2 14 #text 0 1 + +1 15 D:Source 0 0 +1 14 #text 0 1 + +0 15 D:prop 0 0 diff --git a/libxml2/result/dav15.rdr b/libxml2/result/dav15.rdr new file mode 100644 index 0000000..a4a4e7c --- /dev/null +++ b/libxml2/result/dav15.rdr @@ -0,0 +1,73 @@ +0 1 D:prop 0 0 +1 14 #text 0 1 + +1 1 D:Source 0 0 +2 14 #text 0 1 + +2 1 D:link 0 0 +3 14 #text 0 1 + +3 1 F:projfiles 0 0 +4 3 #text 0 1 Source +3 15 F:projfiles 0 0 +3 14 #text 0 1 + +3 1 D:src 0 0 +4 3 #text 0 1 http://foo.bar/program +3 15 D:src 0 0 +3 14 #text 0 1 + +3 1 D:dst 0 0 +4 3 #text 0 1 http://foo.bar/src/main.c +3 15 D:dst 0 0 +3 14 #text 0 1 + +2 15 D:link 0 0 +2 14 #text 0 1 + +2 1 D:link 0 0 +3 14 #text 0 1 + +3 1 F:projfiles 0 0 +4 3 #text 0 1 Library +3 15 F:projfiles 0 0 +3 14 #text 0 1 + +3 1 D:src 0 0 +4 3 #text 0 1 http://foo.bar/program +3 15 D:src 0 0 +3 14 #text 0 1 + +3 1 D:dst 0 0 +4 3 #text 0 1 http://foo.bar/src/main.lib +3 15 D:dst 0 0 +3 14 #text 0 1 + +2 15 D:link 0 0 +2 14 #text 0 1 + +2 1 D:link 0 0 +3 14 #text 0 1 + +3 1 F:projfiles 0 0 +4 3 #text 0 1 Makefile +3 15 F:projfiles 0 0 +3 14 #text 0 1 + +3 1 D:src 0 0 +4 3 #text 0 1 http://foo.bar/program +3 15 D:src 0 0 +3 14 #text 0 1 + +3 1 D:dst 0 0 +4 3 #text 0 1 http://foo.bar/src/makefile +3 15 D:dst 0 0 +3 14 #text 0 1 + +2 15 D:link 0 0 +2 14 #text 0 1 + +1 15 D:Source 0 0 +1 14 #text 0 1 + +0 15 D:prop 0 0 diff --git a/libxml2/result/dav15.sax b/libxml2/result/dav15.sax new file mode 100644 index 0000000..634ec7d --- /dev/null +++ b/libxml2/result/dav15.sax @@ -0,0 +1,76 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(D:prop, xmlns:D='http://www.ietf.org/standards/dav/', xmlns:F='http://www.foocorp.com/Project/') +SAX.characters( + , 3) +SAX.startElement(D:Source) +SAX.characters( + , 5) +SAX.startElement(D:link) +SAX.characters( + , 7) +SAX.startElement(F:projfiles) +SAX.characters(Source, 6) +SAX.endElement(F:projfiles) +SAX.characters( + , 7) +SAX.startElement(D:src) +SAX.characters(http://foo.bar/program, 22) +SAX.endElement(D:src) +SAX.characters( + , 7) +SAX.startElement(D:dst) +SAX.characters(http://foo.bar/src/main.c, 25) +SAX.endElement(D:dst) +SAX.characters( + , 5) +SAX.endElement(D:link) +SAX.characters( + , 5) +SAX.startElement(D:link) +SAX.characters( + , 7) +SAX.startElement(F:projfiles) +SAX.characters(Library, 7) +SAX.endElement(F:projfiles) +SAX.characters( + , 7) +SAX.startElement(D:src) +SAX.characters(http://foo.bar/program, 22) +SAX.endElement(D:src) +SAX.characters( + , 7) +SAX.startElement(D:dst) +SAX.characters(http://foo.bar/src/main.lib, 27) +SAX.endElement(D:dst) +SAX.characters( + , 5) +SAX.endElement(D:link) +SAX.characters( + , 5) +SAX.startElement(D:link) +SAX.characters( + , 7) +SAX.startElement(F:projfiles) +SAX.characters(Makefile, 8) +SAX.endElement(F:projfiles) +SAX.characters( + , 7) +SAX.startElement(D:src) +SAX.characters(http://foo.bar/program, 22) +SAX.endElement(D:src) +SAX.characters( + , 7) +SAX.startElement(D:dst) +SAX.characters(http://foo.bar/src/makefile, 27) +SAX.endElement(D:dst) +SAX.characters( + , 5) +SAX.endElement(D:link) +SAX.characters( + , 3) +SAX.endElement(D:Source) +SAX.characters( +, 1) +SAX.endElement(D:prop) +SAX.endDocument() diff --git a/libxml2/result/dav15.sax2 b/libxml2/result/dav15.sax2 new file mode 100644 index 0000000..6040cd1 --- /dev/null +++ b/libxml2/result/dav15.sax2 @@ -0,0 +1,76 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 2, xmlns:D='http://www.ietf.org/standards/dav/', xmlns:F='http://www.foocorp.com/Project/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(Source, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(link, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(projfiles, F, 'http://www.foocorp.com/Project/', 0, 0, 0) +SAX.characters(Source, 6) +SAX.endElementNs(projfiles, F, 'http://www.foocorp.com/Project/') +SAX.characters( + , 7) +SAX.startElementNs(src, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://foo.bar/program, 22) +SAX.endElementNs(src, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.startElementNs(dst, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://foo.bar/src/main.c, 25) +SAX.endElementNs(dst, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.endElementNs(link, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(link, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(projfiles, F, 'http://www.foocorp.com/Project/', 0, 0, 0) +SAX.characters(Library, 7) +SAX.endElementNs(projfiles, F, 'http://www.foocorp.com/Project/') +SAX.characters( + , 7) +SAX.startElementNs(src, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://foo.bar/program, 22) +SAX.endElementNs(src, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.startElementNs(dst, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://foo.bar/src/main.lib, 27) +SAX.endElementNs(dst, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.endElementNs(link, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(link, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(projfiles, F, 'http://www.foocorp.com/Project/', 0, 0, 0) +SAX.characters(Makefile, 8) +SAX.endElementNs(projfiles, F, 'http://www.foocorp.com/Project/') +SAX.characters( + , 7) +SAX.startElementNs(src, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://foo.bar/program, 22) +SAX.endElementNs(src, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.startElementNs(dst, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://foo.bar/src/makefile, 27) +SAX.endElementNs(dst, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.endElementNs(link, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(Source, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/libxml2/result/dav16 b/libxml2/result/dav16 new file mode 100644 index 0000000..9a7dc36 --- /dev/null +++ b/libxml2/result/dav16 @@ -0,0 +1,6 @@ + + + + + + diff --git a/libxml2/result/dav16.rde b/libxml2/result/dav16.rde new file mode 100644 index 0000000..97a9933 --- /dev/null +++ b/libxml2/result/dav16.rde @@ -0,0 +1,13 @@ +0 1 D:propfind 0 0 +1 14 #text 0 1 + +1 1 D:prop 0 0 +2 14 #text 0 1 + +2 1 lockdiscovery 1 0 +2 14 #text 0 1 + +1 15 D:prop 0 0 +1 14 #text 0 1 + +0 15 D:propfind 0 0 diff --git a/libxml2/result/dav16.rdr b/libxml2/result/dav16.rdr new file mode 100644 index 0000000..97a9933 --- /dev/null +++ b/libxml2/result/dav16.rdr @@ -0,0 +1,13 @@ +0 1 D:propfind 0 0 +1 14 #text 0 1 + +1 1 D:prop 0 0 +2 14 #text 0 1 + +2 1 lockdiscovery 1 0 +2 14 #text 0 1 + +1 15 D:prop 0 0 +1 14 #text 0 1 + +0 15 D:propfind 0 0 diff --git a/libxml2/result/dav16.sax b/libxml2/result/dav16.sax new file mode 100644 index 0000000..a21252b --- /dev/null +++ b/libxml2/result/dav16.sax @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(D:propfind, xmlns:D='http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElement(D:prop) +SAX.characters( + , 5) +SAX.startElement(lockdiscovery) +SAX.endElement(lockdiscovery) +SAX.characters( + , 3) +SAX.endElement(D:prop) +SAX.characters( +, 1) +SAX.endElement(D:propfind) +SAX.endDocument() diff --git a/libxml2/result/dav16.sax2 b/libxml2/result/dav16.sax2 new file mode 100644 index 0000000..1ede22e --- /dev/null +++ b/libxml2/result/dav16.sax2 @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(propfind, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(lockdiscovery, NULL, NULL, 0, 0, 0) +SAX.endElementNs(lockdiscovery, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(propfind, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/libxml2/result/dav17 b/libxml2/result/dav17 new file mode 100644 index 0000000..1137662 --- /dev/null +++ b/libxml2/result/dav17 @@ -0,0 +1,22 @@ + + + + + + + write + exclusive + + http://foo.com/doc/ + + Jane Smith + Infinite + + iamuri:unique!!!!! + + + + + HTTP/1.1 200 OK + + diff --git a/libxml2/result/dav17.rde b/libxml2/result/dav17.rde new file mode 100644 index 0000000..a47b64e --- /dev/null +++ b/libxml2/result/dav17.rde @@ -0,0 +1,75 @@ +0 1 D:multistatus 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 D:lockdiscovery 0 0 +4 14 #text 0 1 + +4 1 D:activelock 0 0 +5 14 #text 0 1 + +5 1 D:locktype 0 0 +6 3 #text 0 1 write +5 15 D:locktype 0 0 +5 14 #text 0 1 + +5 1 D:lockscope 0 0 +6 3 #text 0 1 exclusive +5 15 D:lockscope 0 0 +5 14 #text 0 1 + +5 1 D:addlocks 0 0 +6 14 #text 0 1 + +6 1 D:href 0 0 +7 3 #text 0 1 http://foo.com/doc/ +6 15 D:href 0 0 +6 14 #text 0 1 + +5 15 D:addlocks 0 0 +5 14 #text 0 1 + +5 1 D:owner 0 0 +6 3 #text 0 1 Jane Smith +5 15 D:owner 0 0 +5 14 #text 0 1 + +5 1 D:timeout 0 0 +6 3 #text 0 1 Infinite +5 15 D:timeout 0 0 +5 14 #text 0 1 + +5 1 D:locktoken 0 0 +6 14 #text 0 1 + +6 1 D:href 0 0 +7 3 #text 0 1 iamuri:unique!!!!! +6 15 D:href 0 0 +6 14 #text 0 1 + +5 15 D:locktoken 0 0 +5 14 #text 0 1 + +4 15 D:activelock 0 0 +4 14 #text 0 1 + +3 15 D:lockdiscovery 0 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP/1.1 200 OK +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +0 15 D:multistatus 0 0 diff --git a/libxml2/result/dav17.rdr b/libxml2/result/dav17.rdr new file mode 100644 index 0000000..a47b64e --- /dev/null +++ b/libxml2/result/dav17.rdr @@ -0,0 +1,75 @@ +0 1 D:multistatus 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 D:lockdiscovery 0 0 +4 14 #text 0 1 + +4 1 D:activelock 0 0 +5 14 #text 0 1 + +5 1 D:locktype 0 0 +6 3 #text 0 1 write +5 15 D:locktype 0 0 +5 14 #text 0 1 + +5 1 D:lockscope 0 0 +6 3 #text 0 1 exclusive +5 15 D:lockscope 0 0 +5 14 #text 0 1 + +5 1 D:addlocks 0 0 +6 14 #text 0 1 + +6 1 D:href 0 0 +7 3 #text 0 1 http://foo.com/doc/ +6 15 D:href 0 0 +6 14 #text 0 1 + +5 15 D:addlocks 0 0 +5 14 #text 0 1 + +5 1 D:owner 0 0 +6 3 #text 0 1 Jane Smith +5 15 D:owner 0 0 +5 14 #text 0 1 + +5 1 D:timeout 0 0 +6 3 #text 0 1 Infinite +5 15 D:timeout 0 0 +5 14 #text 0 1 + +5 1 D:locktoken 0 0 +6 14 #text 0 1 + +6 1 D:href 0 0 +7 3 #text 0 1 iamuri:unique!!!!! +6 15 D:href 0 0 +6 14 #text 0 1 + +5 15 D:locktoken 0 0 +5 14 #text 0 1 + +4 15 D:activelock 0 0 +4 14 #text 0 1 + +3 15 D:lockdiscovery 0 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP/1.1 200 OK +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +0 15 D:multistatus 0 0 diff --git a/libxml2/result/dav17.sax b/libxml2/result/dav17.sax new file mode 100644 index 0000000..83f5bce --- /dev/null +++ b/libxml2/result/dav17.sax @@ -0,0 +1,78 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(D:multistatus, xmlns:D='http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElement(D:response) +SAX.characters( + , 5) +SAX.startElement(D:prop) +SAX.characters( + , 7) +SAX.startElement(D:lockdiscovery) +SAX.characters( + , 9) +SAX.startElement(D:activelock) +SAX.characters( + , 11) +SAX.startElement(D:locktype) +SAX.characters(write, 5) +SAX.endElement(D:locktype) +SAX.characters( + , 11) +SAX.startElement(D:lockscope) +SAX.characters(exclusive, 9) +SAX.endElement(D:lockscope) +SAX.characters( + , 11) +SAX.startElement(D:addlocks) +SAX.characters( + , 13) +SAX.startElement(D:href) +SAX.characters(http://foo.com/doc/, 19) +SAX.endElement(D:href) +SAX.characters( + , 11) +SAX.endElement(D:addlocks) +SAX.characters( + , 11) +SAX.startElement(D:owner) +SAX.characters(Jane Smith, 10) +SAX.endElement(D:owner) +SAX.characters( + , 11) +SAX.startElement(D:timeout) +SAX.characters(Infinite, 8) +SAX.endElement(D:timeout) +SAX.characters( + , 11) +SAX.startElement(D:locktoken) +SAX.characters( + , 13) +SAX.startElement(D:href) +SAX.characters(iamuri:unique!!!!!, 18) +SAX.endElement(D:href) +SAX.characters( + , 11) +SAX.endElement(D:locktoken) +SAX.characters( + , 9) +SAX.endElement(D:activelock) +SAX.characters( + , 7) +SAX.endElement(D:lockdiscovery) +SAX.characters( + , 5) +SAX.endElement(D:prop) +SAX.characters( + , 5) +SAX.startElement(D:status) +SAX.characters(HTTP/1.1 200 OK, 15) +SAX.endElement(D:status) +SAX.characters( + , 3) +SAX.endElement(D:response) +SAX.characters( +, 1) +SAX.endElement(D:multistatus) +SAX.endDocument() diff --git a/libxml2/result/dav17.sax2 b/libxml2/result/dav17.sax2 new file mode 100644 index 0000000..48185a2 --- /dev/null +++ b/libxml2/result/dav17.sax2 @@ -0,0 +1,78 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(lockdiscovery, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(activelock, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 11) +SAX.startElementNs(locktype, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(write, 5) +SAX.endElementNs(locktype, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 11) +SAX.startElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(exclusive, 9) +SAX.endElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 11) +SAX.startElementNs(addlocks, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 13) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://foo.com/doc/, 19) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 11) +SAX.endElementNs(addlocks, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 11) +SAX.startElementNs(owner, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(Jane Smith, 10) +SAX.endElementNs(owner, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 11) +SAX.startElementNs(timeout, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(Infinite, 8) +SAX.endElementNs(timeout, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 11) +SAX.startElementNs(locktoken, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 13) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(iamuri:unique!!!!!, 18) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 11) +SAX.endElementNs(locktoken, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 9) +SAX.endElementNs(activelock, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.endElementNs(lockdiscovery, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 200 OK, 15) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/libxml2/result/dav18 b/libxml2/result/dav18 new file mode 100644 index 0000000..3de1c19 --- /dev/null +++ b/libxml2/result/dav18 @@ -0,0 +1,6 @@ + + + + + + diff --git a/libxml2/result/dav18.rde b/libxml2/result/dav18.rde new file mode 100644 index 0000000..9de17af --- /dev/null +++ b/libxml2/result/dav18.rde @@ -0,0 +1,13 @@ +0 1 D:propfind 0 0 +1 14 #text 0 1 + +1 1 D:prop 0 0 +2 14 #text 0 1 + +2 1 supportedlock 1 0 +2 14 #text 0 1 + +1 15 D:prop 0 0 +1 14 #text 0 1 + +0 15 D:propfind 0 0 diff --git a/libxml2/result/dav18.rdr b/libxml2/result/dav18.rdr new file mode 100644 index 0000000..9de17af --- /dev/null +++ b/libxml2/result/dav18.rdr @@ -0,0 +1,13 @@ +0 1 D:propfind 0 0 +1 14 #text 0 1 + +1 1 D:prop 0 0 +2 14 #text 0 1 + +2 1 supportedlock 1 0 +2 14 #text 0 1 + +1 15 D:prop 0 0 +1 14 #text 0 1 + +0 15 D:propfind 0 0 diff --git a/libxml2/result/dav18.sax b/libxml2/result/dav18.sax new file mode 100644 index 0000000..39f40e6 --- /dev/null +++ b/libxml2/result/dav18.sax @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(D:propfind, xmlns:D='http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElement(D:prop) +SAX.characters( + , 5) +SAX.startElement(supportedlock) +SAX.endElement(supportedlock) +SAX.characters( + , 3) +SAX.endElement(D:prop) +SAX.characters( +, 1) +SAX.endElement(D:propfind) +SAX.endDocument() diff --git a/libxml2/result/dav18.sax2 b/libxml2/result/dav18.sax2 new file mode 100644 index 0000000..cddc100 --- /dev/null +++ b/libxml2/result/dav18.sax2 @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(propfind, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(supportedlock, NULL, NULL, 0, 0, 0) +SAX.endElementNs(supportedlock, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(propfind, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/libxml2/result/dav19 b/libxml2/result/dav19 new file mode 100644 index 0000000..9535ffc --- /dev/null +++ b/libxml2/result/dav19 @@ -0,0 +1,18 @@ + + + + + + + Write + Exclusive + + + Write + Shared + + + + HTTP/1.1 200 OK + + diff --git a/libxml2/result/dav19.rde b/libxml2/result/dav19.rde new file mode 100644 index 0000000..d2c1e00 --- /dev/null +++ b/libxml2/result/dav19.rde @@ -0,0 +1,59 @@ +0 1 D:multistatus 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 D:supportedlock 0 0 +4 14 #text 0 1 + +4 1 D:LockEntry 0 0 +5 14 #text 0 1 + +5 1 D:locktype 0 0 +6 3 #text 0 1 Write +5 15 D:locktype 0 0 +5 14 #text 0 1 + +5 1 D:lockscope 0 0 +6 3 #text 0 1 Exclusive +5 15 D:lockscope 0 0 +5 14 #text 0 1 + +4 15 D:LockEntry 0 0 +4 14 #text 0 1 + +4 1 D:LockEntry 0 0 +5 14 #text 0 1 + +5 1 D:locktype 0 0 +6 3 #text 0 1 Write +5 15 D:locktype 0 0 +5 14 #text 0 1 + +5 1 D:lockscope 0 0 +6 3 #text 0 1 Shared +5 15 D:lockscope 0 0 +5 14 #text 0 1 + +4 15 D:LockEntry 0 0 +4 14 #text 0 1 + +3 15 D:supportedlock 0 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP/1.1 200 OK +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +0 15 D:multistatus 0 0 diff --git a/libxml2/result/dav19.rdr b/libxml2/result/dav19.rdr new file mode 100644 index 0000000..d2c1e00 --- /dev/null +++ b/libxml2/result/dav19.rdr @@ -0,0 +1,59 @@ +0 1 D:multistatus 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 D:supportedlock 0 0 +4 14 #text 0 1 + +4 1 D:LockEntry 0 0 +5 14 #text 0 1 + +5 1 D:locktype 0 0 +6 3 #text 0 1 Write +5 15 D:locktype 0 0 +5 14 #text 0 1 + +5 1 D:lockscope 0 0 +6 3 #text 0 1 Exclusive +5 15 D:lockscope 0 0 +5 14 #text 0 1 + +4 15 D:LockEntry 0 0 +4 14 #text 0 1 + +4 1 D:LockEntry 0 0 +5 14 #text 0 1 + +5 1 D:locktype 0 0 +6 3 #text 0 1 Write +5 15 D:locktype 0 0 +5 14 #text 0 1 + +5 1 D:lockscope 0 0 +6 3 #text 0 1 Shared +5 15 D:lockscope 0 0 +5 14 #text 0 1 + +4 15 D:LockEntry 0 0 +4 14 #text 0 1 + +3 15 D:supportedlock 0 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP/1.1 200 OK +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +0 15 D:multistatus 0 0 diff --git a/libxml2/result/dav19.sax b/libxml2/result/dav19.sax new file mode 100644 index 0000000..c65e03d --- /dev/null +++ b/libxml2/result/dav19.sax @@ -0,0 +1,62 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(D:multistatus, xmlns:D='http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElement(D:response) +SAX.characters( + , 5) +SAX.startElement(D:prop) +SAX.characters( + , 7) +SAX.startElement(D:supportedlock) +SAX.characters( + , 9) +SAX.startElement(D:LockEntry) +SAX.characters( + , 11) +SAX.startElement(D:locktype) +SAX.characters(Write, 5) +SAX.endElement(D:locktype) +SAX.characters( + , 11) +SAX.startElement(D:lockscope) +SAX.characters(Exclusive, 9) +SAX.endElement(D:lockscope) +SAX.characters( + , 9) +SAX.endElement(D:LockEntry) +SAX.characters( + , 9) +SAX.startElement(D:LockEntry) +SAX.characters( + , 11) +SAX.startElement(D:locktype) +SAX.characters(Write, 5) +SAX.endElement(D:locktype) +SAX.characters( + , 11) +SAX.startElement(D:lockscope) +SAX.characters(Shared, 6) +SAX.endElement(D:lockscope) +SAX.characters( + , 9) +SAX.endElement(D:LockEntry) +SAX.characters( + , 7) +SAX.endElement(D:supportedlock) +SAX.characters( + , 5) +SAX.endElement(D:prop) +SAX.characters( + , 5) +SAX.startElement(D:status) +SAX.characters(HTTP/1.1 200 OK, 15) +SAX.endElement(D:status) +SAX.characters( + , 3) +SAX.endElement(D:response) +SAX.characters( +, 1) +SAX.endElement(D:multistatus) +SAX.endDocument() diff --git a/libxml2/result/dav19.sax2 b/libxml2/result/dav19.sax2 new file mode 100644 index 0000000..f0dd402 --- /dev/null +++ b/libxml2/result/dav19.sax2 @@ -0,0 +1,62 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(supportedlock, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(LockEntry, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 11) +SAX.startElementNs(locktype, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(Write, 5) +SAX.endElementNs(locktype, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 11) +SAX.startElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(Exclusive, 9) +SAX.endElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 9) +SAX.endElementNs(LockEntry, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 9) +SAX.startElementNs(LockEntry, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 11) +SAX.startElementNs(locktype, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(Write, 5) +SAX.endElementNs(locktype, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 11) +SAX.startElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(Shared, 6) +SAX.endElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 9) +SAX.endElementNs(LockEntry, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.endElementNs(supportedlock, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 200 OK, 15) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/libxml2/result/dav2 b/libxml2/result/dav2 new file mode 100644 index 0000000..f831b4b --- /dev/null +++ b/libxml2/result/dav2 @@ -0,0 +1,24 @@ + + + + http://www.foo.bar/container/ + + + Box type A + + + Hadrian + + + HTTP 1.1 200 OK + + + http://www.foo.bar/container/index.html + + + Box type B + + + HTTP 1.1 200 OK + + diff --git a/libxml2/result/dav2.rde b/libxml2/result/dav2.rde new file mode 100644 index 0000000..41fc86d --- /dev/null +++ b/libxml2/result/dav2.rde @@ -0,0 +1,81 @@ +0 1 S:multistatus 0 0 +1 14 #text 0 1 + +1 1 S:response 0 0 +2 14 #text 0 1 + +2 1 S:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/ +2 15 S:href 0 0 +2 14 #text 0 1 + +2 1 S:prop 0 0 +3 14 #text 0 1 + +3 1 R:bigbox 0 0 +4 14 #text 0 1 + +4 1 R:BoxType 0 0 +5 3 #text 0 1 Box type A +4 15 R:BoxType 0 0 +4 14 #text 0 1 + +3 15 R:bigbox 0 0 +3 14 #text 0 1 + +3 1 R:author 0 0 +4 14 #text 0 1 + +4 1 R:Name 0 0 +5 3 #text 0 1 Hadrian +4 15 R:Name 0 0 +4 14 #text 0 1 + +3 15 R:author 0 0 +3 14 #text 0 1 + +2 15 S:prop 0 0 +2 14 #text 0 1 + +2 1 S:status 0 0 +3 3 #text 0 1 HTTP 1.1 200 OK +2 15 S:status 0 0 +2 14 #text 0 1 + +1 15 S:response 0 0 +1 14 #text 0 1 + +1 1 S:response 0 0 +2 14 #text 0 1 + +2 1 S:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/index.html +2 15 S:href 0 0 +2 14 #text 0 1 + +2 1 S:prop 0 0 +3 14 #text 0 1 + +3 1 R:bigbox 0 0 +4 14 #text 0 1 + +4 1 R:BoxType 0 0 +5 3 #text 0 1 Box type B +4 15 R:BoxType 0 0 +4 14 #text 0 1 + +3 15 R:bigbox 0 0 +3 14 #text 0 1 + +2 15 S:prop 0 0 +2 14 #text 0 1 + +2 1 S:status 0 0 +3 3 #text 0 1 HTTP 1.1 200 OK +2 15 S:status 0 0 +2 14 #text 0 1 + +1 15 S:response 0 0 +1 14 #text 0 1 + +0 15 S:multistatus 0 0 diff --git a/libxml2/result/dav2.rdr b/libxml2/result/dav2.rdr new file mode 100644 index 0000000..41fc86d --- /dev/null +++ b/libxml2/result/dav2.rdr @@ -0,0 +1,81 @@ +0 1 S:multistatus 0 0 +1 14 #text 0 1 + +1 1 S:response 0 0 +2 14 #text 0 1 + +2 1 S:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/ +2 15 S:href 0 0 +2 14 #text 0 1 + +2 1 S:prop 0 0 +3 14 #text 0 1 + +3 1 R:bigbox 0 0 +4 14 #text 0 1 + +4 1 R:BoxType 0 0 +5 3 #text 0 1 Box type A +4 15 R:BoxType 0 0 +4 14 #text 0 1 + +3 15 R:bigbox 0 0 +3 14 #text 0 1 + +3 1 R:author 0 0 +4 14 #text 0 1 + +4 1 R:Name 0 0 +5 3 #text 0 1 Hadrian +4 15 R:Name 0 0 +4 14 #text 0 1 + +3 15 R:author 0 0 +3 14 #text 0 1 + +2 15 S:prop 0 0 +2 14 #text 0 1 + +2 1 S:status 0 0 +3 3 #text 0 1 HTTP 1.1 200 OK +2 15 S:status 0 0 +2 14 #text 0 1 + +1 15 S:response 0 0 +1 14 #text 0 1 + +1 1 S:response 0 0 +2 14 #text 0 1 + +2 1 S:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/index.html +2 15 S:href 0 0 +2 14 #text 0 1 + +2 1 S:prop 0 0 +3 14 #text 0 1 + +3 1 R:bigbox 0 0 +4 14 #text 0 1 + +4 1 R:BoxType 0 0 +5 3 #text 0 1 Box type B +4 15 R:BoxType 0 0 +4 14 #text 0 1 + +3 15 R:bigbox 0 0 +3 14 #text 0 1 + +2 15 S:prop 0 0 +2 14 #text 0 1 + +2 1 S:status 0 0 +3 3 #text 0 1 HTTP 1.1 200 OK +2 15 S:status 0 0 +2 14 #text 0 1 + +1 15 S:response 0 0 +1 14 #text 0 1 + +0 15 S:multistatus 0 0 diff --git a/libxml2/result/dav2.sax b/libxml2/result/dav2.sax new file mode 100644 index 0000000..95bc06a --- /dev/null +++ b/libxml2/result/dav2.sax @@ -0,0 +1,84 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(S:multistatus, xmlns:S='http://www.ietf.org/standards/dav/', xmlns:R='http://www.foo.bar/boxschema/') +SAX.characters( + , 3) +SAX.startElement(S:response) +SAX.characters( + , 5) +SAX.startElement(S:href) +SAX.characters(http://www.foo.bar/container/, 29) +SAX.endElement(S:href) +SAX.characters( + , 5) +SAX.startElement(S:prop) +SAX.characters( + , 7) +SAX.startElement(R:bigbox) +SAX.characters( + , 9) +SAX.startElement(R:BoxType) +SAX.characters(Box type A, 10) +SAX.endElement(R:BoxType) +SAX.characters( + , 7) +SAX.endElement(R:bigbox) +SAX.characters( + , 7) +SAX.startElement(R:author) +SAX.characters( + , 9) +SAX.startElement(R:Name) +SAX.characters(Hadrian, 7) +SAX.endElement(R:Name) +SAX.characters( + , 7) +SAX.endElement(R:author) +SAX.characters( + , 5) +SAX.endElement(S:prop) +SAX.characters( + , 5) +SAX.startElement(S:status) +SAX.characters(HTTP 1.1 200 OK, 15) +SAX.endElement(S:status) +SAX.characters( + , 3) +SAX.endElement(S:response) +SAX.characters( + , 3) +SAX.startElement(S:response) +SAX.characters( + , 5) +SAX.startElement(S:href) +SAX.characters(http://www.foo.bar/container/i, 39) +SAX.endElement(S:href) +SAX.characters( + , 5) +SAX.startElement(S:prop) +SAX.characters( + , 7) +SAX.startElement(R:bigbox) +SAX.characters( + , 9) +SAX.startElement(R:BoxType) +SAX.characters(Box type B, 10) +SAX.endElement(R:BoxType) +SAX.characters( + , 7) +SAX.endElement(R:bigbox) +SAX.characters( + , 5) +SAX.endElement(S:prop) +SAX.characters( + , 5) +SAX.startElement(S:status) +SAX.characters(HTTP 1.1 200 OK, 15) +SAX.endElement(S:status) +SAX.characters( + , 3) +SAX.endElement(S:response) +SAX.characters( +, 1) +SAX.endElement(S:multistatus) +SAX.endDocument() diff --git a/libxml2/result/dav2.sax2 b/libxml2/result/dav2.sax2 new file mode 100644 index 0000000..22c7bb0 --- /dev/null +++ b/libxml2/result/dav2.sax2 @@ -0,0 +1,84 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, S, 'http://www.ietf.org/standards/dav/', 2, xmlns:S='http://www.ietf.org/standards/dav/', xmlns:R='http://www.foo.bar/boxschema/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/, 29) +SAX.endElementNs(href, S, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(prop, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(bigbox, R, 'http://www.foo.bar/boxschema/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(BoxType, R, 'http://www.foo.bar/boxschema/', 0, 0, 0) +SAX.characters(Box type A, 10) +SAX.endElementNs(BoxType, R, 'http://www.foo.bar/boxschema/') +SAX.characters( + , 7) +SAX.endElementNs(bigbox, R, 'http://www.foo.bar/boxschema/') +SAX.characters( + , 7) +SAX.startElementNs(author, R, 'http://www.foo.bar/boxschema/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(Name, R, 'http://www.foo.bar/boxschema/', 0, 0, 0) +SAX.characters(Hadrian, 7) +SAX.endElementNs(Name, R, 'http://www.foo.bar/boxschema/') +SAX.characters( + , 7) +SAX.endElementNs(author, R, 'http://www.foo.bar/boxschema/') +SAX.characters( + , 5) +SAX.endElementNs(prop, S, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP 1.1 200 OK, 15) +SAX.endElementNs(status, S, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, S, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/i, 39) +SAX.endElementNs(href, S, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(prop, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(bigbox, R, 'http://www.foo.bar/boxschema/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(BoxType, R, 'http://www.foo.bar/boxschema/', 0, 0, 0) +SAX.characters(Box type B, 10) +SAX.endElementNs(BoxType, R, 'http://www.foo.bar/boxschema/') +SAX.characters( + , 7) +SAX.endElementNs(bigbox, R, 'http://www.foo.bar/boxschema/') +SAX.characters( + , 5) +SAX.endElementNs(prop, S, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP 1.1 200 OK, 15) +SAX.endElementNs(status, S, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, S, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, S, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/libxml2/result/dav3 b/libxml2/result/dav3 new file mode 100644 index 0000000..986b3fe --- /dev/null +++ b/libxml2/result/dav3 @@ -0,0 +1,18 @@ + + + + http://www.foo.bar/container/ + + + + + HTTP 1.1 200 OK + + + http://www.foo.bar/container/index.html + + + + HTTP 1.1 200 OK + + diff --git a/libxml2/result/dav3.rde b/libxml2/result/dav3.rde new file mode 100644 index 0000000..f106f17 --- /dev/null +++ b/libxml2/result/dav3.rde @@ -0,0 +1,57 @@ +0 1 D:multistatus 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/ +2 15 D:href 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 R:bigbox 1 0 +3 14 #text 0 1 + +3 1 R:author 1 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP 1.1 200 OK +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/index.html +2 15 D:href 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 R:bigbox 1 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP 1.1 200 OK +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +0 15 D:multistatus 0 0 diff --git a/libxml2/result/dav3.rdr b/libxml2/result/dav3.rdr new file mode 100644 index 0000000..f106f17 --- /dev/null +++ b/libxml2/result/dav3.rdr @@ -0,0 +1,57 @@ +0 1 D:multistatus 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/ +2 15 D:href 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 R:bigbox 1 0 +3 14 #text 0 1 + +3 1 R:author 1 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP 1.1 200 OK +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/index.html +2 15 D:href 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 R:bigbox 1 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP 1.1 200 OK +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +0 15 D:multistatus 0 0 diff --git a/libxml2/result/dav3.sax b/libxml2/result/dav3.sax new file mode 100644 index 0000000..e9eabd8 --- /dev/null +++ b/libxml2/result/dav3.sax @@ -0,0 +1,63 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(D:multistatus, xmlns:D='http://www.ietf.org/standards/dav/', xmlns:R='http://www.foo.bar/boxschema/') +SAX.characters( + , 3) +SAX.startElement(D:response) +SAX.characters( + , 5) +SAX.startElement(D:href) +SAX.characters(http://www.foo.bar/container/, 29) +SAX.endElement(D:href) +SAX.characters( + , 5) +SAX.startElement(D:prop) +SAX.characters( + , 7) +SAX.startElement(R:bigbox) +SAX.endElement(R:bigbox) +SAX.characters( + , 7) +SAX.startElement(R:author) +SAX.endElement(R:author) +SAX.characters( + , 5) +SAX.endElement(D:prop) +SAX.characters( + , 5) +SAX.startElement(D:status) +SAX.characters(HTTP 1.1 200 OK, 15) +SAX.endElement(D:status) +SAX.characters( + , 3) +SAX.endElement(D:response) +SAX.characters( + , 3) +SAX.startElement(D:response) +SAX.characters( + , 5) +SAX.startElement(D:href) +SAX.characters(http://www.foo.bar/container/i, 39) +SAX.endElement(D:href) +SAX.characters( + , 5) +SAX.startElement(D:prop) +SAX.characters( + , 7) +SAX.startElement(R:bigbox) +SAX.endElement(R:bigbox) +SAX.characters( + , 5) +SAX.endElement(D:prop) +SAX.characters( + , 5) +SAX.startElement(D:status) +SAX.characters(HTTP 1.1 200 OK, 15) +SAX.endElement(D:status) +SAX.characters( + , 3) +SAX.endElement(D:response) +SAX.characters( +, 1) +SAX.endElement(D:multistatus) +SAX.endDocument() diff --git a/libxml2/result/dav3.sax2 b/libxml2/result/dav3.sax2 new file mode 100644 index 0000000..0088f29 --- /dev/null +++ b/libxml2/result/dav3.sax2 @@ -0,0 +1,63 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/', 2, xmlns:D='http://www.ietf.org/standards/dav/', xmlns:R='http://www.foo.bar/boxschema/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/, 29) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(bigbox, R, 'http://www.foo.bar/boxschema/', 0, 0, 0) +SAX.endElementNs(bigbox, R, 'http://www.foo.bar/boxschema/') +SAX.characters( + , 7) +SAX.startElementNs(author, R, 'http://www.foo.bar/boxschema/', 0, 0, 0) +SAX.endElementNs(author, R, 'http://www.foo.bar/boxschema/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP 1.1 200 OK, 15) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/i, 39) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(bigbox, R, 'http://www.foo.bar/boxschema/', 0, 0, 0) +SAX.endElementNs(bigbox, R, 'http://www.foo.bar/boxschema/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP 1.1 200 OK, 15) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/libxml2/result/dav4 b/libxml2/result/dav4 new file mode 100644 index 0000000..9ab7ceb --- /dev/null +++ b/libxml2/result/dav4 @@ -0,0 +1,16 @@ + + + + + + Jim Whitehead + Roy Fielding + + + + + + + + + diff --git a/libxml2/result/dav4.rde b/libxml2/result/dav4.rde new file mode 100644 index 0000000..e764047 --- /dev/null +++ b/libxml2/result/dav4.rde @@ -0,0 +1,47 @@ +0 1 D:propertyupdate 0 0 +1 14 #text 0 1 + +1 1 D:set 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 Z:authors 0 0 +4 14 #text 0 1 + +4 1 Z:Author 0 0 +5 3 #text 0 1 Jim Whitehead +4 15 Z:Author 0 0 +4 14 #text 0 1 + +4 1 Z:Author 0 0 +5 3 #text 0 1 Roy Fielding +4 15 Z:Author 0 0 +4 14 #text 0 1 + +3 15 Z:authors 0 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +1 15 D:set 0 0 +1 14 #text 0 1 + +1 1 D:remove 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 Z:Copyright-Owner 1 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +1 15 D:remove 0 0 +1 14 #text 0 1 + +0 15 D:propertyupdate 0 0 diff --git a/libxml2/result/dav4.rdr b/libxml2/result/dav4.rdr new file mode 100644 index 0000000..e764047 --- /dev/null +++ b/libxml2/result/dav4.rdr @@ -0,0 +1,47 @@ +0 1 D:propertyupdate 0 0 +1 14 #text 0 1 + +1 1 D:set 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 Z:authors 0 0 +4 14 #text 0 1 + +4 1 Z:Author 0 0 +5 3 #text 0 1 Jim Whitehead +4 15 Z:Author 0 0 +4 14 #text 0 1 + +4 1 Z:Author 0 0 +5 3 #text 0 1 Roy Fielding +4 15 Z:Author 0 0 +4 14 #text 0 1 + +3 15 Z:authors 0 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +1 15 D:set 0 0 +1 14 #text 0 1 + +1 1 D:remove 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 Z:Copyright-Owner 1 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +1 15 D:remove 0 0 +1 14 #text 0 1 + +0 15 D:propertyupdate 0 0 diff --git a/libxml2/result/dav4.sax b/libxml2/result/dav4.sax new file mode 100644 index 0000000..8268026 --- /dev/null +++ b/libxml2/result/dav4.sax @@ -0,0 +1,51 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(D:propertyupdate, xmlns:D='http://www.ietf.org/standards/dav/', xmlns:Z='http://www.w3.com/standards/z39.50/') +SAX.characters( + , 3) +SAX.startElement(D:set) +SAX.characters( + , 5) +SAX.startElement(D:prop) +SAX.characters( + , 7) +SAX.startElement(Z:authors) +SAX.characters( + , 9) +SAX.startElement(Z:Author) +SAX.characters(Jim Whitehead, 13) +SAX.endElement(Z:Author) +SAX.characters( + , 9) +SAX.startElement(Z:Author) +SAX.characters(Roy Fielding, 12) +SAX.endElement(Z:Author) +SAX.characters( + , 7) +SAX.endElement(Z:authors) +SAX.characters( + , 5) +SAX.endElement(D:prop) +SAX.characters( + , 3) +SAX.endElement(D:set) +SAX.characters( + , 3) +SAX.startElement(D:remove) +SAX.characters( + , 5) +SAX.startElement(D:prop) +SAX.characters( + , 7) +SAX.startElement(Z:Copyright-Owner) +SAX.endElement(Z:Copyright-Owner) +SAX.characters( + , 5) +SAX.endElement(D:prop) +SAX.characters( + , 3) +SAX.endElement(D:remove) +SAX.characters( +, 1) +SAX.endElement(D:propertyupdate) +SAX.endDocument() diff --git a/libxml2/result/dav4.sax2 b/libxml2/result/dav4.sax2 new file mode 100644 index 0000000..58fb8ac --- /dev/null +++ b/libxml2/result/dav4.sax2 @@ -0,0 +1,51 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(propertyupdate, D, 'http://www.ietf.org/standards/dav/', 2, xmlns:D='http://www.ietf.org/standards/dav/', xmlns:Z='http://www.w3.com/standards/z39.50/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(set, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(authors, Z, 'http://www.w3.com/standards/z39.50/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(Author, Z, 'http://www.w3.com/standards/z39.50/', 0, 0, 0) +SAX.characters(Jim Whitehead, 13) +SAX.endElementNs(Author, Z, 'http://www.w3.com/standards/z39.50/') +SAX.characters( + , 9) +SAX.startElementNs(Author, Z, 'http://www.w3.com/standards/z39.50/', 0, 0, 0) +SAX.characters(Roy Fielding, 12) +SAX.endElementNs(Author, Z, 'http://www.w3.com/standards/z39.50/') +SAX.characters( + , 7) +SAX.endElementNs(authors, Z, 'http://www.w3.com/standards/z39.50/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(set, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(remove, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(Copyright-Owner, Z, 'http://www.w3.com/standards/z39.50/', 0, 0, 0) +SAX.endElementNs(Copyright-Owner, Z, 'http://www.w3.com/standards/z39.50/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(remove, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(propertyupdate, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/libxml2/result/dav5 b/libxml2/result/dav5 new file mode 100644 index 0000000..68ebab9 --- /dev/null +++ b/libxml2/result/dav5 @@ -0,0 +1,17 @@ + + + + + + + HTTP/1.1 420 Method Failure + + + + + + HTTP/1.1 409 Conflict + + Copyright Owner can not be deleted or +altered. + diff --git a/libxml2/result/dav5.rde b/libxml2/result/dav5.rde new file mode 100644 index 0000000..c92d177 --- /dev/null +++ b/libxml2/result/dav5.rde @@ -0,0 +1,50 @@ +0 1 D:multistatus 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 Z:Authors 1 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP/1.1 420 Method Failure +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 Z:Copyright-Owner 1 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP/1.1 409 Conflict +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +1 1 D:responsedescription 0 0 +2 3 #text 0 1 Copyright Owner can not be deleted or +altered. +1 15 D:responsedescription 0 0 +1 14 #text 0 1 + +0 15 D:multistatus 0 0 diff --git a/libxml2/result/dav5.rdr b/libxml2/result/dav5.rdr new file mode 100644 index 0000000..c92d177 --- /dev/null +++ b/libxml2/result/dav5.rdr @@ -0,0 +1,50 @@ +0 1 D:multistatus 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 Z:Authors 1 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP/1.1 420 Method Failure +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 Z:Copyright-Owner 1 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP/1.1 409 Conflict +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +1 1 D:responsedescription 0 0 +2 3 #text 0 1 Copyright Owner can not be deleted or +altered. +1 15 D:responsedescription 0 0 +1 14 #text 0 1 + +0 15 D:multistatus 0 0 diff --git a/libxml2/result/dav5.sax b/libxml2/result/dav5.sax new file mode 100644 index 0000000..53967f8 --- /dev/null +++ b/libxml2/result/dav5.sax @@ -0,0 +1,54 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(D:multistatus, xmlns:D='http://www.ietf.org/standards/dav/', xmlns:Z='http://www.w3.com/standards/z39.50/') +SAX.characters( + , 3) +SAX.startElement(D:response) +SAX.characters( + , 5) +SAX.startElement(D:prop) +SAX.characters( + , 7) +SAX.startElement(Z:Authors) +SAX.endElement(Z:Authors) +SAX.characters( + , 5) +SAX.endElement(D:prop) +SAX.characters( + , 5) +SAX.startElement(D:status) +SAX.characters(HTTP/1.1 420 Method Failure, 27) +SAX.endElement(D:status) +SAX.characters( + , 3) +SAX.endElement(D:response) +SAX.characters( + , 3) +SAX.startElement(D:response) +SAX.characters( + , 5) +SAX.startElement(D:prop) +SAX.characters( + , 7) +SAX.startElement(Z:Copyright-Owner) +SAX.endElement(Z:Copyright-Owner) +SAX.characters( + , 5) +SAX.endElement(D:prop) +SAX.characters( + , 5) +SAX.startElement(D:status) +SAX.characters(HTTP/1.1 409 Conflict, 21) +SAX.endElement(D:status) +SAX.characters( + , 3) +SAX.endElement(D:response) +SAX.characters( + , 3) +SAX.startElement(D:responsedescription) +SAX.characters( Copyright Owner can not be de, 47) +SAX.endElement(D:responsedescription) +SAX.characters( +, 1) +SAX.endElement(D:multistatus) +SAX.endDocument() diff --git a/libxml2/result/dav5.sax2 b/libxml2/result/dav5.sax2 new file mode 100644 index 0000000..6062cca --- /dev/null +++ b/libxml2/result/dav5.sax2 @@ -0,0 +1,54 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/', 2, xmlns:D='http://www.ietf.org/standards/dav/', xmlns:Z='http://www.w3.com/standards/z39.50/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(Authors, Z, 'http://www.w3.com/standards/z39.50/', 0, 0, 0) +SAX.endElementNs(Authors, Z, 'http://www.w3.com/standards/z39.50/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 420 Method Failure, 27) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(Copyright-Owner, Z, 'http://www.w3.com/standards/z39.50/', 0, 0, 0) +SAX.endElementNs(Copyright-Owner, Z, 'http://www.w3.com/standards/z39.50/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 409 Conflict, 21) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(responsedescription, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( Copyright Owner can not be de, 47) +SAX.endElementNs(responsedescription, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/libxml2/result/dav6 b/libxml2/result/dav6 new file mode 100644 index 0000000..3d0de24 --- /dev/null +++ b/libxml2/result/dav6 @@ -0,0 +1,22 @@ + + + + http://www.microsoft.com/user/yarong/dav_drafts/ + + + + + + + HTTP 1.1 200 OK + + + + http://www.microsoft.com/user/yarong/dav_drafts/base + + + + + HTTP 1.1 200 OK + + diff --git a/libxml2/result/dav6.rde b/libxml2/result/dav6.rde new file mode 100644 index 0000000..726e3c2 --- /dev/null +++ b/libxml2/result/dav6.rde @@ -0,0 +1,63 @@ +0 1 D:multistatus 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:href 0 0 +3 3 #text 0 1 http://www.microsoft.com/user/yarong/dav_drafts/ + +2 15 D:href 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 D:resourcetype 0 0 +4 14 #text 0 1 + +4 1 D:collection 1 0 +4 14 #text 0 1 + +3 15 D:resourcetype 0 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP 1.1 200 OK +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:href 0 0 +3 3 #text 0 1 + http://www.microsoft.com/user/yarong/dav_drafts/base + +2 15 D:href 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 D:resourcetype 1 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP 1.1 200 OK +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +0 15 D:multistatus 0 0 diff --git a/libxml2/result/dav6.rdr b/libxml2/result/dav6.rdr new file mode 100644 index 0000000..726e3c2 --- /dev/null +++ b/libxml2/result/dav6.rdr @@ -0,0 +1,63 @@ +0 1 D:multistatus 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:href 0 0 +3 3 #text 0 1 http://www.microsoft.com/user/yarong/dav_drafts/ + +2 15 D:href 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 D:resourcetype 0 0 +4 14 #text 0 1 + +4 1 D:collection 1 0 +4 14 #text 0 1 + +3 15 D:resourcetype 0 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP 1.1 200 OK +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:href 0 0 +3 3 #text 0 1 + http://www.microsoft.com/user/yarong/dav_drafts/base + +2 15 D:href 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 D:resourcetype 1 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP 1.1 200 OK +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +0 15 D:multistatus 0 0 diff --git a/libxml2/result/dav6.sax b/libxml2/result/dav6.sax new file mode 100644 index 0000000..a6a5b2d --- /dev/null +++ b/libxml2/result/dav6.sax @@ -0,0 +1,66 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(D:multistatus, xmlns:D='http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElement(D:response) +SAX.characters( + , 5) +SAX.startElement(D:href) +SAX.characters(http://www.microsoft.com/user/, 55) +SAX.endElement(D:href) +SAX.characters( + , 5) +SAX.startElement(D:prop) +SAX.characters( + , 7) +SAX.startElement(D:resourcetype) +SAX.characters( + , 9) +SAX.startElement(D:collection) +SAX.endElement(D:collection) +SAX.characters( + , 7) +SAX.endElement(D:resourcetype) +SAX.characters( + , 5) +SAX.endElement(D:prop) +SAX.characters( + , 5) +SAX.startElement(D:status) +SAX.characters(HTTP 1.1 200 OK, 15) +SAX.endElement(D:status) +SAX.characters( + , 3) +SAX.endElement(D:response) +SAX.characters( + , 3) +SAX.startElement(D:response) +SAX.characters( + , 5) +SAX.startElement(D:href) +SAX.characters( + http://www.microsoft.co, 66) +SAX.endElement(D:href) +SAX.characters( + , 5) +SAX.startElement(D:prop) +SAX.characters( + , 7) +SAX.startElement(D:resourcetype) +SAX.endElement(D:resourcetype) +SAX.characters( + , 5) +SAX.endElement(D:prop) +SAX.characters( + , 5) +SAX.startElement(D:status) +SAX.characters(HTTP 1.1 200 OK, 15) +SAX.endElement(D:status) +SAX.characters( + , 3) +SAX.endElement(D:response) +SAX.characters( +, 1) +SAX.endElement(D:multistatus) +SAX.endDocument() diff --git a/libxml2/result/dav6.sax2 b/libxml2/result/dav6.sax2 new file mode 100644 index 0000000..31952c5 --- /dev/null +++ b/libxml2/result/dav6.sax2 @@ -0,0 +1,66 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.microsoft.com/user/, 55) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(resourcetype, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(collection, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.endElementNs(collection, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.endElementNs(resourcetype, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP 1.1 200 OK, 15) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + http://www.microsoft.co, 66) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(resourcetype, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.endElementNs(resourcetype, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP 1.1 200 OK, 15) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/libxml2/result/dav7 b/libxml2/result/dav7 new file mode 100644 index 0000000..ec4a952 --- /dev/null +++ b/libxml2/result/dav7 @@ -0,0 +1,16 @@ + + + + http://www.foo.bar/container/resource1 + http://www.foo.bar/container/resource2 + HTTP/1.1 200 OK + + + http://www.foo.bar/container/ + HTTP/1.1 420 Method Failure + + + http://www.foo.bar/container/resource3 + HTTP/1.1 412 Precondition Failed + + diff --git a/libxml2/result/dav7.rde b/libxml2/result/dav7.rde new file mode 100644 index 0000000..3f98328 --- /dev/null +++ b/libxml2/result/dav7.rde @@ -0,0 +1,57 @@ +0 1 d:multistatus 0 0 +1 14 #text 0 1 + +1 1 d:response 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/resource1 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/resource2 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:status 0 0 +3 3 #text 0 1 HTTP/1.1 200 OK +2 15 d:status 0 0 +2 14 #text 0 1 + +1 15 d:response 0 0 +1 14 #text 0 1 + +1 1 d:response 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/ +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:status 0 0 +3 3 #text 0 1 HTTP/1.1 420 Method Failure +2 15 d:status 0 0 +2 14 #text 0 1 + +1 15 d:response 0 0 +1 14 #text 0 1 + +1 1 d:response 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/resource3 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:status 0 0 +3 3 #text 0 1 HTTP/1.1 412 Precondition Failed +2 15 d:status 0 0 +2 14 #text 0 1 + +1 15 d:response 0 0 +1 14 #text 0 1 + +0 15 d:multistatus 0 0 diff --git a/libxml2/result/dav7.rdr b/libxml2/result/dav7.rdr new file mode 100644 index 0000000..3f98328 --- /dev/null +++ b/libxml2/result/dav7.rdr @@ -0,0 +1,57 @@ +0 1 d:multistatus 0 0 +1 14 #text 0 1 + +1 1 d:response 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/resource1 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/resource2 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:status 0 0 +3 3 #text 0 1 HTTP/1.1 200 OK +2 15 d:status 0 0 +2 14 #text 0 1 + +1 15 d:response 0 0 +1 14 #text 0 1 + +1 1 d:response 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/ +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:status 0 0 +3 3 #text 0 1 HTTP/1.1 420 Method Failure +2 15 d:status 0 0 +2 14 #text 0 1 + +1 15 d:response 0 0 +1 14 #text 0 1 + +1 1 d:response 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/resource3 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:status 0 0 +3 3 #text 0 1 HTTP/1.1 412 Precondition Failed +2 15 d:status 0 0 +2 14 #text 0 1 + +1 15 d:response 0 0 +1 14 #text 0 1 + +0 15 d:multistatus 0 0 diff --git a/libxml2/result/dav7.sax b/libxml2/result/dav7.sax new file mode 100644 index 0000000..133a9c1 --- /dev/null +++ b/libxml2/result/dav7.sax @@ -0,0 +1,60 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(d:multistatus, xmlns:d='http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElement(d:response) +SAX.characters( + , 5) +SAX.startElement(d:href) +SAX.characters(http://www.foo.bar/container/r, 38) +SAX.endElement(d:href) +SAX.characters( + , 5) +SAX.startElement(d:href) +SAX.characters(http://www.foo.bar/container/r, 38) +SAX.endElement(d:href) +SAX.characters( + , 5) +SAX.startElement(d:status) +SAX.characters(HTTP/1.1 200 OK, 15) +SAX.endElement(d:status) +SAX.characters( + , 3) +SAX.endElement(d:response) +SAX.characters( + , 3) +SAX.startElement(d:response) +SAX.characters( + , 5) +SAX.startElement(d:href) +SAX.characters(http://www.foo.bar/container/, 29) +SAX.endElement(d:href) +SAX.characters( + , 5) +SAX.startElement(d:status) +SAX.characters(HTTP/1.1 420 Method Failure, 27) +SAX.endElement(d:status) +SAX.characters( + , 3) +SAX.endElement(d:response) +SAX.characters( + , 3) +SAX.startElement(d:response) +SAX.characters( + , 5) +SAX.startElement(d:href) +SAX.characters(http://www.foo.bar/container/r, 38) +SAX.endElement(d:href) +SAX.characters( + , 5) +SAX.startElement(d:status) +SAX.characters(HTTP/1.1 412 Precondition Fail, 32) +SAX.endElement(d:status) +SAX.characters( + , 3) +SAX.endElement(d:response) +SAX.characters( +, 1) +SAX.endElement(d:multistatus) +SAX.endDocument() diff --git a/libxml2/result/dav7.sax2 b/libxml2/result/dav7.sax2 new file mode 100644 index 0000000..1d51e74 --- /dev/null +++ b/libxml2/result/dav7.sax2 @@ -0,0 +1,60 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, d, 'http://www.ietf.org/standards/dav/', 1, xmlns:d='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/r, 38) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/r, 38) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 200 OK, 15) +SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/, 29) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 420 Method Failure, 27) +SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/r, 38) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 412 Precondition Fail, 32) +SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, d, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/libxml2/result/dav8 b/libxml2/result/dav8 new file mode 100644 index 0000000..7f99baf --- /dev/null +++ b/libxml2/result/dav8 @@ -0,0 +1,14 @@ + + + + http://www.foo.bar/othercontainer/resource1 + http://www.foo.bar/othercontainer/resource2 + http://www.foo.bar/othercontainer/ + http://www.foo.bar/othercontainer/R2/D2 + HTTP/1.1 201 Created + + + http://www.foo.bar/othercontainer/R2/ + HTTP/1.1 412 Precondition Failed + + diff --git a/libxml2/result/dav8.rde b/libxml2/result/dav8.rde new file mode 100644 index 0000000..f14225e --- /dev/null +++ b/libxml2/result/dav8.rde @@ -0,0 +1,51 @@ +0 1 d:multistatus 0 0 +1 14 #text 0 1 + +1 1 d:response 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/othercontainer/resource1 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/othercontainer/resource2 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/othercontainer/ +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/othercontainer/R2/D2 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:status 0 0 +3 3 #text 0 1 HTTP/1.1 201 Created +2 15 d:status 0 0 +2 14 #text 0 1 + +1 15 d:response 0 0 +1 14 #text 0 1 + +1 1 d:response 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/othercontainer/R2/ +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:status 0 0 +3 3 #text 0 1 HTTP/1.1 412 Precondition Failed +2 15 d:status 0 0 +2 14 #text 0 1 + +1 15 d:response 0 0 +1 14 #text 0 1 + +0 15 d:multistatus 0 0 diff --git a/libxml2/result/dav8.rdr b/libxml2/result/dav8.rdr new file mode 100644 index 0000000..f14225e --- /dev/null +++ b/libxml2/result/dav8.rdr @@ -0,0 +1,51 @@ +0 1 d:multistatus 0 0 +1 14 #text 0 1 + +1 1 d:response 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/othercontainer/resource1 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/othercontainer/resource2 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/othercontainer/ +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/othercontainer/R2/D2 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:status 0 0 +3 3 #text 0 1 HTTP/1.1 201 Created +2 15 d:status 0 0 +2 14 #text 0 1 + +1 15 d:response 0 0 +1 14 #text 0 1 + +1 1 d:response 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/othercontainer/R2/ +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:status 0 0 +3 3 #text 0 1 HTTP/1.1 412 Precondition Failed +2 15 d:status 0 0 +2 14 #text 0 1 + +1 15 d:response 0 0 +1 14 #text 0 1 + +0 15 d:multistatus 0 0 diff --git a/libxml2/result/dav8.sax b/libxml2/result/dav8.sax new file mode 100644 index 0000000..8a810ef --- /dev/null +++ b/libxml2/result/dav8.sax @@ -0,0 +1,54 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(d:multistatus, xmlns:d='http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElement(d:response) +SAX.characters( + , 5) +SAX.startElement(d:href) +SAX.characters(http://www.foo.bar/othercontai, 43) +SAX.endElement(d:href) +SAX.characters( + , 5) +SAX.startElement(d:href) +SAX.characters(http://www.foo.bar/othercontai, 43) +SAX.endElement(d:href) +SAX.characters( + , 5) +SAX.startElement(d:href) +SAX.characters(http://www.foo.bar/othercontai, 34) +SAX.endElement(d:href) +SAX.characters( + , 5) +SAX.startElement(d:href) +SAX.characters(http://www.foo.bar/othercontai, 39) +SAX.endElement(d:href) +SAX.characters( + , 5) +SAX.startElement(d:status) +SAX.characters(HTTP/1.1 201 Created, 20) +SAX.endElement(d:status) +SAX.characters( + , 3) +SAX.endElement(d:response) +SAX.characters( + , 3) +SAX.startElement(d:response) +SAX.characters( + , 5) +SAX.startElement(d:href) +SAX.characters(http://www.foo.bar/othercontai, 37) +SAX.endElement(d:href) +SAX.characters( + , 5) +SAX.startElement(d:status) +SAX.characters(HTTP/1.1 412 Precondition Fail, 32) +SAX.endElement(d:status) +SAX.characters( + , 3) +SAX.endElement(d:response) +SAX.characters( +, 1) +SAX.endElement(d:multistatus) +SAX.endDocument() diff --git a/libxml2/result/dav8.sax2 b/libxml2/result/dav8.sax2 new file mode 100644 index 0000000..7de547e --- /dev/null +++ b/libxml2/result/dav8.sax2 @@ -0,0 +1,54 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, d, 'http://www.ietf.org/standards/dav/', 1, xmlns:d='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/othercontai, 43) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/othercontai, 43) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/othercontai, 34) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/othercontai, 39) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 201 Created, 20) +SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/othercontai, 37) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 412 Precondition Fail, 32) +SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, d, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/libxml2/result/dav9 b/libxml2/result/dav9 new file mode 100644 index 0000000..8ed63b8 --- /dev/null +++ b/libxml2/result/dav9 @@ -0,0 +1,18 @@ + + + + http://www.foo.bar/container/resource1 + http://www.foo.bar/container/resource2 + http://www.foo.bar/container/ + http://www.foo.bar/container/C2/R2 + HTTP/1.1 201 Created + + + http://www.foo.bar/container/C2 + HTTP/1.1 420 Method Failure + + + http://www.foo.bar/othercontainer/C2 + HTTP/1.1 409 Conflict + + diff --git a/libxml2/result/dav9.rde b/libxml2/result/dav9.rde new file mode 100644 index 0000000..943ab96 --- /dev/null +++ b/libxml2/result/dav9.rde @@ -0,0 +1,67 @@ +0 1 d:multistatus 0 0 +1 14 #text 0 1 + +1 1 d:response 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/resource1 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/resource2 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/ +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/C2/R2 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:status 0 0 +3 3 #text 0 1 HTTP/1.1 201 Created +2 15 d:status 0 0 +2 14 #text 0 1 + +1 15 d:response 0 0 +1 14 #text 0 1 + +1 1 d:response 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/C2 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:status 0 0 +3 3 #text 0 1 HTTP/1.1 420 Method Failure +2 15 d:status 0 0 +2 14 #text 0 1 + +1 15 d:response 0 0 +1 14 #text 0 1 + +1 1 d:response 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/othercontainer/C2 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:status 0 0 +3 3 #text 0 1 HTTP/1.1 409 Conflict +2 15 d:status 0 0 +2 14 #text 0 1 + +1 15 d:response 0 0 +1 14 #text 0 1 + +0 15 d:multistatus 0 0 diff --git a/libxml2/result/dav9.rdr b/libxml2/result/dav9.rdr new file mode 100644 index 0000000..943ab96 --- /dev/null +++ b/libxml2/result/dav9.rdr @@ -0,0 +1,67 @@ +0 1 d:multistatus 0 0 +1 14 #text 0 1 + +1 1 d:response 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/resource1 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/resource2 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/ +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/C2/R2 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:status 0 0 +3 3 #text 0 1 HTTP/1.1 201 Created +2 15 d:status 0 0 +2 14 #text 0 1 + +1 15 d:response 0 0 +1 14 #text 0 1 + +1 1 d:response 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/C2 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:status 0 0 +3 3 #text 0 1 HTTP/1.1 420 Method Failure +2 15 d:status 0 0 +2 14 #text 0 1 + +1 15 d:response 0 0 +1 14 #text 0 1 + +1 1 d:response 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/othercontainer/C2 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:status 0 0 +3 3 #text 0 1 HTTP/1.1 409 Conflict +2 15 d:status 0 0 +2 14 #text 0 1 + +1 15 d:response 0 0 +1 14 #text 0 1 + +0 15 d:multistatus 0 0 diff --git a/libxml2/result/dav9.sax b/libxml2/result/dav9.sax new file mode 100644 index 0000000..4116bad --- /dev/null +++ b/libxml2/result/dav9.sax @@ -0,0 +1,70 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(d:multistatus, xmlns:d='http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElement(d:response) +SAX.characters( + , 5) +SAX.startElement(d:href) +SAX.characters(http://www.foo.bar/container/r, 38) +SAX.endElement(d:href) +SAX.characters( + , 5) +SAX.startElement(d:href) +SAX.characters(http://www.foo.bar/container/r, 38) +SAX.endElement(d:href) +SAX.characters( + , 5) +SAX.startElement(d:href) +SAX.characters(http://www.foo.bar/container/, 29) +SAX.endElement(d:href) +SAX.characters( + , 5) +SAX.startElement(d:href) +SAX.characters(http://www.foo.bar/container/C, 34) +SAX.endElement(d:href) +SAX.characters( + , 5) +SAX.startElement(d:status) +SAX.characters(HTTP/1.1 201 Created, 20) +SAX.endElement(d:status) +SAX.characters( + , 3) +SAX.endElement(d:response) +SAX.characters( + , 3) +SAX.startElement(d:response) +SAX.characters( + , 5) +SAX.startElement(d:href) +SAX.characters(http://www.foo.bar/container/C, 31) +SAX.endElement(d:href) +SAX.characters( + , 5) +SAX.startElement(d:status) +SAX.characters(HTTP/1.1 420 Method Failure, 27) +SAX.endElement(d:status) +SAX.characters( + , 3) +SAX.endElement(d:response) +SAX.characters( + , 3) +SAX.startElement(d:response) +SAX.characters( + , 5) +SAX.startElement(d:href) +SAX.characters(http://www.foo.bar/othercontai, 36) +SAX.endElement(d:href) +SAX.characters( + , 5) +SAX.startElement(d:status) +SAX.characters(HTTP/1.1 409 Conflict, 21) +SAX.endElement(d:status) +SAX.characters( + , 3) +SAX.endElement(d:response) +SAX.characters( +, 1) +SAX.endElement(d:multistatus) +SAX.endDocument() diff --git a/libxml2/result/dav9.sax2 b/libxml2/result/dav9.sax2 new file mode 100644 index 0000000..26e4942 --- /dev/null +++ b/libxml2/result/dav9.sax2 @@ -0,0 +1,70 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, d, 'http://www.ietf.org/standards/dav/', 1, xmlns:d='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/r, 38) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/r, 38) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/, 29) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/C, 34) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 201 Created, 20) +SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/C, 31) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 420 Method Failure, 27) +SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/othercontai, 36) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 409 Conflict, 21) +SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, d, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/libxml2/result/def-xml-attr.xml b/libxml2/result/def-xml-attr.xml new file mode 100644 index 0000000..3bcfddd --- /dev/null +++ b/libxml2/result/def-xml-attr.xml @@ -0,0 +1,8 @@ + + + +]> + + Ja + diff --git a/libxml2/result/def-xml-attr.xml.rde b/libxml2/result/def-xml-attr.xml.rde new file mode 100644 index 0000000..96e8823 --- /dev/null +++ b/libxml2/result/def-xml-attr.xml.rde @@ -0,0 +1,10 @@ +0 10 root 0 0 +0 1 root 0 0 +1 14 #text 0 1 + +1 1 foo 0 0 +2 3 #text 0 1 Ja +1 15 foo 0 0 +1 14 #text 0 1 + +0 15 root 0 0 diff --git a/libxml2/result/def-xml-attr.xml.rdr b/libxml2/result/def-xml-attr.xml.rdr new file mode 100644 index 0000000..96e8823 --- /dev/null +++ b/libxml2/result/def-xml-attr.xml.rdr @@ -0,0 +1,10 @@ +0 10 root 0 0 +0 1 root 0 0 +1 14 #text 0 1 + +1 1 foo 0 0 +2 3 #text 0 1 Ja +1 15 foo 0 0 +1 14 #text 0 1 + +0 15 root 0 0 diff --git a/libxml2/result/def-xml-attr.xml.sax b/libxml2/result/def-xml-attr.xml.sax new file mode 100644 index 0000000..c0d0017 --- /dev/null +++ b/libxml2/result/def-xml-attr.xml.sax @@ -0,0 +1,16 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(root, , ) +SAX.attributeDecl(foo, xml:lang, 1, 1, eng, ...) +SAX.attributeDecl(foo, bar, 1, 1, <>", ...) +SAX.externalSubset(root, , ) +SAX.startElement(root) +SAX.characters( + , 3) +SAX.startElement(foo, xml:lang='ger') +SAX.characters(Ja, 2) +SAX.endElement(foo) +SAX.characters( +, 1) +SAX.endElement(root) +SAX.endDocument() diff --git a/libxml2/result/def-xml-attr.xml.sax2 b/libxml2/result/def-xml-attr.xml.sax2 new file mode 100644 index 0000000..845db84 --- /dev/null +++ b/libxml2/result/def-xml-attr.xml.sax2 @@ -0,0 +1,16 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(root, , ) +SAX.attributeDecl(foo, xml:lang, 1, 1, eng, ...) +SAX.attributeDecl(foo, bar, 1, 1, <>", ...) +SAX.externalSubset(root, , ) +SAX.startElementNs(root, NULL, NULL, 0, 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(foo, NULL, NULL, 0, 2, 1, xml:lang='ger"...', 3, bar='<>"...', 3) +SAX.characters(Ja, 2) +SAX.endElementNs(foo, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(root, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/defattr.xml b/libxml2/result/defattr.xml new file mode 100644 index 0000000..0a4ac15 --- /dev/null +++ b/libxml2/result/defattr.xml @@ -0,0 +1,6 @@ + + + +]> + diff --git a/libxml2/result/defattr.xml.rde b/libxml2/result/defattr.xml.rde new file mode 100644 index 0000000..9b0a34d --- /dev/null +++ b/libxml2/result/defattr.xml.rde @@ -0,0 +1,2 @@ +0 10 doc 0 0 +0 1 doc 1 0 diff --git a/libxml2/result/defattr.xml.rdr b/libxml2/result/defattr.xml.rdr new file mode 100644 index 0000000..9b0a34d --- /dev/null +++ b/libxml2/result/defattr.xml.rdr @@ -0,0 +1,2 @@ +0 10 doc 0 0 +0 1 doc 1 0 diff --git a/libxml2/result/defattr.xml.sax b/libxml2/result/defattr.xml.sax new file mode 100644 index 0000000..86ef54a --- /dev/null +++ b/libxml2/result/defattr.xml.sax @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 1, ...) +SAX.attributeDecl(doc, xmlns, 1, 4, http://www.example.com/, ...) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/defattr.xml.sax2 b/libxml2/result/defattr.xml.sax2 new file mode 100644 index 0000000..dfeba49 --- /dev/null +++ b/libxml2/result/defattr.xml.sax2 @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 1, ...) +SAX.attributeDecl(doc, xmlns, 1, 4, http://www.example.com/, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, 'http://www.example.com/', 1, xmlns='http://www.example.com/', 0, 0) +SAX.endElementNs(doc, NULL, 'http://www.example.com/') +SAX.endDocument() diff --git a/libxml2/result/defattr2.xml b/libxml2/result/defattr2.xml new file mode 100644 index 0000000..8d1fc3b --- /dev/null +++ b/libxml2/result/defattr2.xml @@ -0,0 +1,8 @@ + + + + + +]> + diff --git a/libxml2/result/defattr2.xml.rde b/libxml2/result/defattr2.xml.rde new file mode 100644 index 0000000..9b0a34d --- /dev/null +++ b/libxml2/result/defattr2.xml.rde @@ -0,0 +1,2 @@ +0 10 doc 0 0 +0 1 doc 1 0 diff --git a/libxml2/result/defattr2.xml.rdr b/libxml2/result/defattr2.xml.rdr new file mode 100644 index 0000000..9b0a34d --- /dev/null +++ b/libxml2/result/defattr2.xml.rdr @@ -0,0 +1,2 @@ +0 10 doc 0 0 +0 1 doc 1 0 diff --git a/libxml2/result/defattr2.xml.sax b/libxml2/result/defattr2.xml.sax new file mode 100644 index 0000000..72f8fca --- /dev/null +++ b/libxml2/result/defattr2.xml.sax @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 1, ...) +SAX.attributeDecl(doc, defatt, 9, 1, 0, ...) +SAX.attributeDecl(doc, xmlns:tst, 1, 4, http://example.org, ...) +SAX.attributeDecl(doc, tst:att, 9, 1, 1, ...) +SAX.externalSubset(doc, , ) +SAX.startElement(doc, att='1') +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/defattr2.xml.sax2 b/libxml2/result/defattr2.xml.sax2 new file mode 100644 index 0000000..0f77271 --- /dev/null +++ b/libxml2/result/defattr2.xml.sax2 @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 1, ...) +SAX.attributeDecl(doc, defatt, 9, 1, 0, ...) +SAX.attributeDecl(doc, xmlns:tst, 1, 4, http://example.org, ...) +SAX.attributeDecl(doc, tst:att, 9, 1, 1, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 1, xmlns:tst='http://example.org', 3, 2, att='1"/>...', 1, defatt='0...', 1, tst:att='1...', 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/dia1 b/libxml2/result/dia1 new file mode 100644 index 0000000..207bd73 --- /dev/null +++ b/libxml2/result/dia1 @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libxml2/result/dia1.rde b/libxml2/result/dia1.rde new file mode 100644 index 0000000..3767325 --- /dev/null +++ b/libxml2/result/dia1.rde @@ -0,0 +1,292 @@ +0 1 dia:diagram 0 0 +1 14 #text 0 1 + +1 1 dia:diagramdata 0 0 +2 14 #text 0 1 + +2 1 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:color 1 0 +3 14 #text 0 1 + +2 15 dia:attribute 0 0 +2 14 #text 0 1 + +1 15 dia:diagramdata 0 0 +1 14 #text 0 1 + +1 1 dia:layer 0 0 +2 14 #text 0 1 + +2 1 dia:object 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:rectangle 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:color 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:real 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:enum 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:enum 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:enum 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:connections 0 0 +4 14 #text 0 1 + +4 1 dia:connection 1 0 +4 14 #text 0 1 + +3 15 dia:connections 0 0 +3 14 #text 0 1 + +2 15 dia:object 0 0 +2 14 #text 0 1 + +2 1 dia:object 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:rectangle 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:composite 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:string 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:font 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:real 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:point 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:color 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:enum 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +4 15 dia:composite 0 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +2 15 dia:object 0 0 +2 14 #text 0 1 + +2 1 dia:object 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:rectangle 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:real 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:real 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:real 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:color 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:color 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:enum 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +2 15 dia:object 0 0 +2 14 #text 0 1 + +1 15 dia:layer 0 0 +1 14 #text 0 1 + +0 15 dia:diagram 0 0 diff --git a/libxml2/result/dia1.rdr b/libxml2/result/dia1.rdr new file mode 100644 index 0000000..3767325 --- /dev/null +++ b/libxml2/result/dia1.rdr @@ -0,0 +1,292 @@ +0 1 dia:diagram 0 0 +1 14 #text 0 1 + +1 1 dia:diagramdata 0 0 +2 14 #text 0 1 + +2 1 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:color 1 0 +3 14 #text 0 1 + +2 15 dia:attribute 0 0 +2 14 #text 0 1 + +1 15 dia:diagramdata 0 0 +1 14 #text 0 1 + +1 1 dia:layer 0 0 +2 14 #text 0 1 + +2 1 dia:object 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:rectangle 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:color 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:real 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:enum 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:enum 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:enum 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:connections 0 0 +4 14 #text 0 1 + +4 1 dia:connection 1 0 +4 14 #text 0 1 + +3 15 dia:connections 0 0 +3 14 #text 0 1 + +2 15 dia:object 0 0 +2 14 #text 0 1 + +2 1 dia:object 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:rectangle 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:composite 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:string 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:font 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:real 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:point 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:color 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:enum 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +4 15 dia:composite 0 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +2 15 dia:object 0 0 +2 14 #text 0 1 + +2 1 dia:object 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:rectangle 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:real 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:real 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:real 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:color 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:color 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:enum 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +2 15 dia:object 0 0 +2 14 #text 0 1 + +1 15 dia:layer 0 0 +1 14 #text 0 1 + +0 15 dia:diagram 0 0 diff --git a/libxml2/result/dia1.sax b/libxml2/result/dia1.sax new file mode 100644 index 0000000..6f65d63 --- /dev/null +++ b/libxml2/result/dia1.sax @@ -0,0 +1,323 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(dia:diagram, xmlns:dia='http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 3) +SAX.startElement(dia:diagramdata) +SAX.characters( + , 5) +SAX.startElement(dia:attribute, name='background') +SAX.characters( + , 7) +SAX.startElement(dia:color, val='#ffffff') +SAX.endElement(dia:color) +SAX.characters( + , 5) +SAX.endElement(dia:attribute) +SAX.characters( + , 3) +SAX.endElement(dia:diagramdata) +SAX.characters( + , 3) +SAX.startElement(dia:layer, name='Background', visible='true') +SAX.characters( + , 5) +SAX.startElement(dia:object, type='Standard - Line', version='0', id='O0') +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='obj_pos') +SAX.characters( + , 9) +SAX.startElement(dia:point, val='1.95,6.85') +SAX.endElement(dia:point) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='obj_bb') +SAX.characters( + , 9) +SAX.startElement(dia:rectangle, val='1.9,6.8;11,8.55') +SAX.endElement(dia:rectangle) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='conn_endpoints') +SAX.characters( + , 9) +SAX.startElement(dia:point, val='1.95,6.85') +SAX.endElement(dia:point) +SAX.characters( + , 9) +SAX.startElement(dia:point, val='10.95,8.5') +SAX.endElement(dia:point) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='line_color') +SAX.characters( + , 9) +SAX.startElement(dia:color, val='#000000') +SAX.endElement(dia:color) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='line_width') +SAX.characters( + , 9) +SAX.startElement(dia:real, val='0.1') +SAX.endElement(dia:real) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='line_style') +SAX.characters( + , 9) +SAX.startElement(dia:enum, val='0') +SAX.endElement(dia:enum) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='start_arrow') +SAX.characters( + , 9) +SAX.startElement(dia:enum, val='0') +SAX.endElement(dia:enum) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='end_arrow') +SAX.characters( + , 9) +SAX.startElement(dia:enum, val='0') +SAX.endElement(dia:enum) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:connections) +SAX.characters( + , 9) +SAX.startElement(dia:connection, handle='1', to='O2', connection='3') +SAX.endElement(dia:connection) +SAX.characters( + , 7) +SAX.endElement(dia:connections) +SAX.characters( + , 5) +SAX.endElement(dia:object) +SAX.characters( + , 5) +SAX.startElement(dia:object, type='Standard - Text', version='0', id='O1') +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='obj_pos') +SAX.characters( + , 9) +SAX.startElement(dia:point, val='4.8,4.75') +SAX.endElement(dia:point) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='obj_bb') +SAX.characters( + , 9) +SAX.startElement(dia:rectangle, val='2.579,3.96359;7.021,4.96359') +SAX.endElement(dia:rectangle) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='text') +SAX.characters( + , 9) +SAX.startElement(dia:composite, type='text') +SAX.characters( + , 11) +SAX.startElement(dia:attribute, name='string') +SAX.characters( + , 13) +SAX.startElement(dia:string, val='sdfsdfg') +SAX.endElement(dia:string) +SAX.characters( + , 11) +SAX.endElement(dia:attribute) +SAX.characters( + , 11) +SAX.startElement(dia:attribute, name='font') +SAX.characters( + , 13) +SAX.startElement(dia:font, name='Courier') +SAX.endElement(dia:font) +SAX.characters( + , 11) +SAX.endElement(dia:attribute) +SAX.characters( + , 11) +SAX.startElement(dia:attribute, name='height') +SAX.characters( + , 13) +SAX.startElement(dia:real, val='1') +SAX.endElement(dia:real) +SAX.characters( + , 11) +SAX.endElement(dia:attribute) +SAX.characters( + , 11) +SAX.startElement(dia:attribute, name='pos') +SAX.characters( + , 13) +SAX.startElement(dia:point, val='4.8,4.75') +SAX.endElement(dia:point) +SAX.characters( + , 11) +SAX.endElement(dia:attribute) +SAX.characters( + , 11) +SAX.startElement(dia:attribute, name='color') +SAX.characters( + , 13) +SAX.startElement(dia:color, val='#000000') +SAX.endElement(dia:color) +SAX.characters( + , 11) +SAX.endElement(dia:attribute) +SAX.characters( + , 11) +SAX.startElement(dia:attribute, name='alignment') +SAX.characters( + , 13) +SAX.startElement(dia:enum, val='1') +SAX.endElement(dia:enum) +SAX.characters( + , 11) +SAX.endElement(dia:attribute) +SAX.characters( + , 9) +SAX.endElement(dia:composite) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 5) +SAX.endElement(dia:object) +SAX.characters( + , 5) +SAX.startElement(dia:object, type='Standard - Box', version='0', id='O2') +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='obj_pos') +SAX.characters( + , 9) +SAX.startElement(dia:point, val='10.95,7.5') +SAX.endElement(dia:point) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='obj_bb') +SAX.characters( + , 9) +SAX.startElement(dia:rectangle, val='10.9,7.45;13.05,9.55') +SAX.endElement(dia:rectangle) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='elem_corner') +SAX.characters( + , 9) +SAX.startElement(dia:point, val='10.95,7.5') +SAX.endElement(dia:point) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='elem_width') +SAX.characters( + , 9) +SAX.startElement(dia:real, val='2.05') +SAX.endElement(dia:real) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='elem_height') +SAX.characters( + , 9) +SAX.startElement(dia:real, val='2') +SAX.endElement(dia:real) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='border_width') +SAX.characters( + , 9) +SAX.startElement(dia:real, val='0.1') +SAX.endElement(dia:real) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='border_color') +SAX.characters( + , 9) +SAX.startElement(dia:color, val='#000000') +SAX.endElement(dia:color) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='inner_color') +SAX.characters( + , 9) +SAX.startElement(dia:color, val='#ffffff') +SAX.endElement(dia:color) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='line_style') +SAX.characters( + , 9) +SAX.startElement(dia:enum, val='0') +SAX.endElement(dia:enum) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 5) +SAX.endElement(dia:object) +SAX.characters( + , 3) +SAX.endElement(dia:layer) +SAX.characters( +, 1) +SAX.endElement(dia:diagram) +SAX.endDocument() diff --git a/libxml2/result/dia1.sax2 b/libxml2/result/dia1.sax2 new file mode 100644 index 0000000..4821c9b --- /dev/null +++ b/libxml2/result/dia1.sax2 @@ -0,0 +1,323 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/', 1, xmlns:dia='http://www.lysator.liu.se/~alla/dia/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(diagramdata, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='back...', 10) +SAX.characters( + , 7) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#fff...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 3) +SAX.endElementNs(diagramdata, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 3) +SAX.startElementNs(layer, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 2, 0, name='Back...', 10, visible='true...', 4) +SAX.characters( + , 5) +SAX.startElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, type='Stan...', 15, version='0" i...', 1, id='O0">...', 2) +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 7) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1.95...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 6) +SAX.characters( + , 9) +SAX.startElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1.9,...', 15) +SAX.endElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='conn...', 14) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1.95...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10) +SAX.characters( + , 9) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#000...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10) +SAX.characters( + , 9) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0.1"...', 3) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10) +SAX.characters( + , 9) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='star...', 11) +SAX.characters( + , 9) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='end_...', 9) +SAX.characters( + , 9) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(connections, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(connection, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, handle='1" t...', 1, to='O2" ...', 2, connection='3"/>...', 1) +SAX.endElementNs(connection, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(connections, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.endElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.startElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, type='Stan...', 15, version='0" i...', 1, id='O1">...', 2) +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 7) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='4.8,...', 8) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 6) +SAX.characters( + , 9) +SAX.startElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='2.57...', 27) +SAX.endElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='text...', 4) +SAX.characters( + , 9) +SAX.startElementNs(composite, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, type='text...', 4) +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='stri...', 6) +SAX.characters( + , 13) +SAX.startElementNs(string, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='sdfs...', 7) +SAX.endElementNs(string, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='font...', 4) +SAX.characters( + , 13) +SAX.startElementNs(font, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='Cour...', 7) +SAX.endElementNs(font, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='heig...', 6) +SAX.characters( + , 13) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1"/>...', 1) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='pos"...', 3) +SAX.characters( + , 13) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='4.8,...', 8) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='colo...', 5) +SAX.characters( + , 13) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#000...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='alig...', 9) +SAX.characters( + , 13) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 9) +SAX.endElementNs(composite, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.endElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.startElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, type='Stan...', 14, version='0" i...', 1, id='O2">...', 2) +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 7) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 6) +SAX.characters( + , 9) +SAX.startElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 20) +SAX.endElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='elem...', 11) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='elem...', 10) +SAX.characters( + , 9) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='2.05...', 4) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='elem...', 11) +SAX.characters( + , 9) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='2"/>...', 1) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='bord...', 12) +SAX.characters( + , 9) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0.1"...', 3) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='bord...', 12) +SAX.characters( + , 9) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#000...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='inne...', 11) +SAX.characters( + , 9) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#fff...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10) +SAX.characters( + , 9) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.endElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 3) +SAX.endElementNs(layer, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( +, 1) +SAX.endElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.endDocument() diff --git a/libxml2/result/dia2 b/libxml2/result/dia2 new file mode 100644 index 0000000..207bd73 --- /dev/null +++ b/libxml2/result/dia2 @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libxml2/result/dia2.rde b/libxml2/result/dia2.rde new file mode 100644 index 0000000..3767325 --- /dev/null +++ b/libxml2/result/dia2.rde @@ -0,0 +1,292 @@ +0 1 dia:diagram 0 0 +1 14 #text 0 1 + +1 1 dia:diagramdata 0 0 +2 14 #text 0 1 + +2 1 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:color 1 0 +3 14 #text 0 1 + +2 15 dia:attribute 0 0 +2 14 #text 0 1 + +1 15 dia:diagramdata 0 0 +1 14 #text 0 1 + +1 1 dia:layer 0 0 +2 14 #text 0 1 + +2 1 dia:object 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:rectangle 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:color 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:real 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:enum 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:enum 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:enum 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:connections 0 0 +4 14 #text 0 1 + +4 1 dia:connection 1 0 +4 14 #text 0 1 + +3 15 dia:connections 0 0 +3 14 #text 0 1 + +2 15 dia:object 0 0 +2 14 #text 0 1 + +2 1 dia:object 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:rectangle 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:composite 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:string 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:font 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:real 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:point 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:color 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:enum 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +4 15 dia:composite 0 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +2 15 dia:object 0 0 +2 14 #text 0 1 + +2 1 dia:object 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:rectangle 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:real 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:real 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:real 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:color 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:color 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:enum 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +2 15 dia:object 0 0 +2 14 #text 0 1 + +1 15 dia:layer 0 0 +1 14 #text 0 1 + +0 15 dia:diagram 0 0 diff --git a/libxml2/result/dia2.rdr b/libxml2/result/dia2.rdr new file mode 100644 index 0000000..3767325 --- /dev/null +++ b/libxml2/result/dia2.rdr @@ -0,0 +1,292 @@ +0 1 dia:diagram 0 0 +1 14 #text 0 1 + +1 1 dia:diagramdata 0 0 +2 14 #text 0 1 + +2 1 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:color 1 0 +3 14 #text 0 1 + +2 15 dia:attribute 0 0 +2 14 #text 0 1 + +1 15 dia:diagramdata 0 0 +1 14 #text 0 1 + +1 1 dia:layer 0 0 +2 14 #text 0 1 + +2 1 dia:object 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:rectangle 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:color 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:real 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:enum 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:enum 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:enum 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:connections 0 0 +4 14 #text 0 1 + +4 1 dia:connection 1 0 +4 14 #text 0 1 + +3 15 dia:connections 0 0 +3 14 #text 0 1 + +2 15 dia:object 0 0 +2 14 #text 0 1 + +2 1 dia:object 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:rectangle 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:composite 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:string 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:font 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:real 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:point 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:color 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:enum 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +4 15 dia:composite 0 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +2 15 dia:object 0 0 +2 14 #text 0 1 + +2 1 dia:object 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:rectangle 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:real 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:real 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:real 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:color 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:color 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:enum 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +2 15 dia:object 0 0 +2 14 #text 0 1 + +1 15 dia:layer 0 0 +1 14 #text 0 1 + +0 15 dia:diagram 0 0 diff --git a/libxml2/result/dia2.sax b/libxml2/result/dia2.sax new file mode 100644 index 0000000..6f65d63 --- /dev/null +++ b/libxml2/result/dia2.sax @@ -0,0 +1,323 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(dia:diagram, xmlns:dia='http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 3) +SAX.startElement(dia:diagramdata) +SAX.characters( + , 5) +SAX.startElement(dia:attribute, name='background') +SAX.characters( + , 7) +SAX.startElement(dia:color, val='#ffffff') +SAX.endElement(dia:color) +SAX.characters( + , 5) +SAX.endElement(dia:attribute) +SAX.characters( + , 3) +SAX.endElement(dia:diagramdata) +SAX.characters( + , 3) +SAX.startElement(dia:layer, name='Background', visible='true') +SAX.characters( + , 5) +SAX.startElement(dia:object, type='Standard - Line', version='0', id='O0') +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='obj_pos') +SAX.characters( + , 9) +SAX.startElement(dia:point, val='1.95,6.85') +SAX.endElement(dia:point) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='obj_bb') +SAX.characters( + , 9) +SAX.startElement(dia:rectangle, val='1.9,6.8;11,8.55') +SAX.endElement(dia:rectangle) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='conn_endpoints') +SAX.characters( + , 9) +SAX.startElement(dia:point, val='1.95,6.85') +SAX.endElement(dia:point) +SAX.characters( + , 9) +SAX.startElement(dia:point, val='10.95,8.5') +SAX.endElement(dia:point) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='line_color') +SAX.characters( + , 9) +SAX.startElement(dia:color, val='#000000') +SAX.endElement(dia:color) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='line_width') +SAX.characters( + , 9) +SAX.startElement(dia:real, val='0.1') +SAX.endElement(dia:real) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='line_style') +SAX.characters( + , 9) +SAX.startElement(dia:enum, val='0') +SAX.endElement(dia:enum) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='start_arrow') +SAX.characters( + , 9) +SAX.startElement(dia:enum, val='0') +SAX.endElement(dia:enum) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='end_arrow') +SAX.characters( + , 9) +SAX.startElement(dia:enum, val='0') +SAX.endElement(dia:enum) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:connections) +SAX.characters( + , 9) +SAX.startElement(dia:connection, handle='1', to='O2', connection='3') +SAX.endElement(dia:connection) +SAX.characters( + , 7) +SAX.endElement(dia:connections) +SAX.characters( + , 5) +SAX.endElement(dia:object) +SAX.characters( + , 5) +SAX.startElement(dia:object, type='Standard - Text', version='0', id='O1') +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='obj_pos') +SAX.characters( + , 9) +SAX.startElement(dia:point, val='4.8,4.75') +SAX.endElement(dia:point) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='obj_bb') +SAX.characters( + , 9) +SAX.startElement(dia:rectangle, val='2.579,3.96359;7.021,4.96359') +SAX.endElement(dia:rectangle) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='text') +SAX.characters( + , 9) +SAX.startElement(dia:composite, type='text') +SAX.characters( + , 11) +SAX.startElement(dia:attribute, name='string') +SAX.characters( + , 13) +SAX.startElement(dia:string, val='sdfsdfg') +SAX.endElement(dia:string) +SAX.characters( + , 11) +SAX.endElement(dia:attribute) +SAX.characters( + , 11) +SAX.startElement(dia:attribute, name='font') +SAX.characters( + , 13) +SAX.startElement(dia:font, name='Courier') +SAX.endElement(dia:font) +SAX.characters( + , 11) +SAX.endElement(dia:attribute) +SAX.characters( + , 11) +SAX.startElement(dia:attribute, name='height') +SAX.characters( + , 13) +SAX.startElement(dia:real, val='1') +SAX.endElement(dia:real) +SAX.characters( + , 11) +SAX.endElement(dia:attribute) +SAX.characters( + , 11) +SAX.startElement(dia:attribute, name='pos') +SAX.characters( + , 13) +SAX.startElement(dia:point, val='4.8,4.75') +SAX.endElement(dia:point) +SAX.characters( + , 11) +SAX.endElement(dia:attribute) +SAX.characters( + , 11) +SAX.startElement(dia:attribute, name='color') +SAX.characters( + , 13) +SAX.startElement(dia:color, val='#000000') +SAX.endElement(dia:color) +SAX.characters( + , 11) +SAX.endElement(dia:attribute) +SAX.characters( + , 11) +SAX.startElement(dia:attribute, name='alignment') +SAX.characters( + , 13) +SAX.startElement(dia:enum, val='1') +SAX.endElement(dia:enum) +SAX.characters( + , 11) +SAX.endElement(dia:attribute) +SAX.characters( + , 9) +SAX.endElement(dia:composite) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 5) +SAX.endElement(dia:object) +SAX.characters( + , 5) +SAX.startElement(dia:object, type='Standard - Box', version='0', id='O2') +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='obj_pos') +SAX.characters( + , 9) +SAX.startElement(dia:point, val='10.95,7.5') +SAX.endElement(dia:point) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='obj_bb') +SAX.characters( + , 9) +SAX.startElement(dia:rectangle, val='10.9,7.45;13.05,9.55') +SAX.endElement(dia:rectangle) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='elem_corner') +SAX.characters( + , 9) +SAX.startElement(dia:point, val='10.95,7.5') +SAX.endElement(dia:point) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='elem_width') +SAX.characters( + , 9) +SAX.startElement(dia:real, val='2.05') +SAX.endElement(dia:real) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='elem_height') +SAX.characters( + , 9) +SAX.startElement(dia:real, val='2') +SAX.endElement(dia:real) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='border_width') +SAX.characters( + , 9) +SAX.startElement(dia:real, val='0.1') +SAX.endElement(dia:real) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='border_color') +SAX.characters( + , 9) +SAX.startElement(dia:color, val='#000000') +SAX.endElement(dia:color) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='inner_color') +SAX.characters( + , 9) +SAX.startElement(dia:color, val='#ffffff') +SAX.endElement(dia:color) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='line_style') +SAX.characters( + , 9) +SAX.startElement(dia:enum, val='0') +SAX.endElement(dia:enum) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 5) +SAX.endElement(dia:object) +SAX.characters( + , 3) +SAX.endElement(dia:layer) +SAX.characters( +, 1) +SAX.endElement(dia:diagram) +SAX.endDocument() diff --git a/libxml2/result/dia2.sax2 b/libxml2/result/dia2.sax2 new file mode 100644 index 0000000..4821c9b --- /dev/null +++ b/libxml2/result/dia2.sax2 @@ -0,0 +1,323 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/', 1, xmlns:dia='http://www.lysator.liu.se/~alla/dia/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(diagramdata, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='back...', 10) +SAX.characters( + , 7) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#fff...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 3) +SAX.endElementNs(diagramdata, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 3) +SAX.startElementNs(layer, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 2, 0, name='Back...', 10, visible='true...', 4) +SAX.characters( + , 5) +SAX.startElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, type='Stan...', 15, version='0" i...', 1, id='O0">...', 2) +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 7) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1.95...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 6) +SAX.characters( + , 9) +SAX.startElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1.9,...', 15) +SAX.endElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='conn...', 14) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1.95...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10) +SAX.characters( + , 9) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#000...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10) +SAX.characters( + , 9) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0.1"...', 3) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10) +SAX.characters( + , 9) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='star...', 11) +SAX.characters( + , 9) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='end_...', 9) +SAX.characters( + , 9) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(connections, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(connection, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, handle='1" t...', 1, to='O2" ...', 2, connection='3"/>...', 1) +SAX.endElementNs(connection, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(connections, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.endElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.startElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, type='Stan...', 15, version='0" i...', 1, id='O1">...', 2) +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 7) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='4.8,...', 8) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 6) +SAX.characters( + , 9) +SAX.startElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='2.57...', 27) +SAX.endElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='text...', 4) +SAX.characters( + , 9) +SAX.startElementNs(composite, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, type='text...', 4) +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='stri...', 6) +SAX.characters( + , 13) +SAX.startElementNs(string, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='sdfs...', 7) +SAX.endElementNs(string, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='font...', 4) +SAX.characters( + , 13) +SAX.startElementNs(font, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='Cour...', 7) +SAX.endElementNs(font, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='heig...', 6) +SAX.characters( + , 13) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1"/>...', 1) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='pos"...', 3) +SAX.characters( + , 13) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='4.8,...', 8) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='colo...', 5) +SAX.characters( + , 13) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#000...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='alig...', 9) +SAX.characters( + , 13) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 9) +SAX.endElementNs(composite, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.endElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.startElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, type='Stan...', 14, version='0" i...', 1, id='O2">...', 2) +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 7) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 6) +SAX.characters( + , 9) +SAX.startElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 20) +SAX.endElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='elem...', 11) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='elem...', 10) +SAX.characters( + , 9) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='2.05...', 4) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='elem...', 11) +SAX.characters( + , 9) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='2"/>...', 1) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='bord...', 12) +SAX.characters( + , 9) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0.1"...', 3) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='bord...', 12) +SAX.characters( + , 9) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#000...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='inne...', 11) +SAX.characters( + , 9) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#fff...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10) +SAX.characters( + , 9) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.endElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 3) +SAX.endElementNs(layer, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( +, 1) +SAX.endElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.endDocument() diff --git a/libxml2/result/dtd1 b/libxml2/result/dtd1 new file mode 100644 index 0000000..fb11ffa --- /dev/null +++ b/libxml2/result/dtd1 @@ -0,0 +1,4 @@ + + + + diff --git a/libxml2/result/dtd1.rde b/libxml2/result/dtd1.rde new file mode 100644 index 0000000..6bb39b8 --- /dev/null +++ b/libxml2/result/dtd1.rde @@ -0,0 +1,5 @@ +0 10 MEMO 0 0 +0 1 MEMO 0 0 +1 14 #text 0 1 + +0 15 MEMO 0 0 diff --git a/libxml2/result/dtd1.rdr b/libxml2/result/dtd1.rdr new file mode 100644 index 0000000..6bb39b8 --- /dev/null +++ b/libxml2/result/dtd1.rdr @@ -0,0 +1,5 @@ +0 10 MEMO 0 0 +0 1 MEMO 0 0 +1 14 #text 0 1 + +0 15 MEMO 0 0 diff --git a/libxml2/result/dtd1.sax b/libxml2/result/dtd1.sax new file mode 100644 index 0000000..ef8d6d3 --- /dev/null +++ b/libxml2/result/dtd1.sax @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(MEMO, -//SGMLSOURCE//DTD MEMO//EN, http://www.sgmlsource.com/dtds/memo.dtd) +SAX.externalSubset(MEMO, -//SGMLSOURCE//DTD MEMO//EN, http://www.sgmlsource.com/dtds/memo.dtd) +SAX.startElement(MEMO) +SAX.characters( +, 1) +SAX.endElement(MEMO) +SAX.endDocument() diff --git a/libxml2/result/dtd1.sax2 b/libxml2/result/dtd1.sax2 new file mode 100644 index 0000000..47be5e0 --- /dev/null +++ b/libxml2/result/dtd1.sax2 @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(MEMO, -//SGMLSOURCE//DTD MEMO//EN, http://www.sgmlsource.com/dtds/memo.dtd) +SAX.externalSubset(MEMO, -//SGMLSOURCE//DTD MEMO//EN, http://www.sgmlsource.com/dtds/memo.dtd) +SAX.startElementNs(MEMO, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.endElementNs(MEMO, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/dtd10 b/libxml2/result/dtd10 new file mode 100644 index 0000000..8c7d5e7 --- /dev/null +++ b/libxml2/result/dtd10 @@ -0,0 +1,9 @@ + + + + + + +]> +This is a valid document diff --git a/libxml2/result/dtd10.rde b/libxml2/result/dtd10.rde new file mode 100644 index 0000000..1df24c7 --- /dev/null +++ b/libxml2/result/dtd10.rde @@ -0,0 +1,12 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 1 b 0 0 +2 3 #text 0 1 This +1 15 b 0 0 +1 1 c 0 0 +2 3 #text 0 1 is a +1 15 c 0 0 +1 1 d 0 0 +2 3 #text 0 1 valid document +1 15 d 0 0 +0 15 doc 0 0 diff --git a/libxml2/result/dtd10.rdr b/libxml2/result/dtd10.rdr new file mode 100644 index 0000000..1df24c7 --- /dev/null +++ b/libxml2/result/dtd10.rdr @@ -0,0 +1,12 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 1 b 0 0 +2 3 #text 0 1 This +1 15 b 0 0 +1 1 c 0 0 +2 3 #text 0 1 is a +1 15 c 0 0 +1 1 d 0 0 +2 3 #text 0 1 valid document +1 15 d 0 0 +0 15 doc 0 0 diff --git a/libxml2/result/dtd10.sax b/libxml2/result/dtd10.sax new file mode 100644 index 0000000..87fd041 --- /dev/null +++ b/libxml2/result/dtd10.sax @@ -0,0 +1,21 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 4, ...) +SAX.elementDecl(a, 3, ...) +SAX.elementDecl(b, 3, ...) +SAX.elementDecl(c, 3, ...) +SAX.elementDecl(d, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.startElement(b) +SAX.characters(This, 4) +SAX.endElement(b) +SAX.startElement(c) +SAX.characters( is a, 5) +SAX.endElement(c) +SAX.startElement(d) +SAX.characters( valid document, 15) +SAX.endElement(d) +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/dtd10.sax2 b/libxml2/result/dtd10.sax2 new file mode 100644 index 0000000..7f15a09 --- /dev/null +++ b/libxml2/result/dtd10.sax2 @@ -0,0 +1,21 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 4, ...) +SAX.elementDecl(a, 3, ...) +SAX.elementDecl(b, 3, ...) +SAX.elementDecl(c, 3, ...) +SAX.elementDecl(d, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.startElementNs(b, NULL, NULL, 0, 0, 0) +SAX.characters(This, 4) +SAX.endElementNs(b, NULL, NULL) +SAX.startElementNs(c, NULL, NULL, 0, 0, 0) +SAX.characters( is a, 5) +SAX.endElementNs(c, NULL, NULL) +SAX.startElementNs(d, NULL, NULL, 0, 0, 0) +SAX.characters( valid document, 15) +SAX.endElementNs(d, NULL, NULL) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/dtd11 b/libxml2/result/dtd11 new file mode 100644 index 0000000..e0df8af --- /dev/null +++ b/libxml2/result/dtd11 @@ -0,0 +1,6 @@ + + + +]> + diff --git a/libxml2/result/dtd11.rde b/libxml2/result/dtd11.rde new file mode 100644 index 0000000..9b0a34d --- /dev/null +++ b/libxml2/result/dtd11.rde @@ -0,0 +1,2 @@ +0 10 doc 0 0 +0 1 doc 1 0 diff --git a/libxml2/result/dtd11.rdr b/libxml2/result/dtd11.rdr new file mode 100644 index 0000000..9b0a34d --- /dev/null +++ b/libxml2/result/dtd11.rdr @@ -0,0 +1,2 @@ +0 10 doc 0 0 +0 1 doc 1 0 diff --git a/libxml2/result/dtd11.sax b/libxml2/result/dtd11.sax new file mode 100644 index 0000000..a2bee0c --- /dev/null +++ b/libxml2/result/dtd11.sax @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 3, ...) +SAX.attributeDecl(doc, val, 1, 3, NULL, ...) +SAX.externalSubset(doc, , ) +SAX.startElement(doc, val='v1') +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/dtd11.sax2 b/libxml2/result/dtd11.sax2 new file mode 100644 index 0000000..a9cae5d --- /dev/null +++ b/libxml2/result/dtd11.sax2 @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 3, ...) +SAX.attributeDecl(doc, val, 1, 3, NULL, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 1, 0, val='v1"/...', 2) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/dtd12 b/libxml2/result/dtd12 new file mode 100644 index 0000000..f0d1261 --- /dev/null +++ b/libxml2/result/dtd12 @@ -0,0 +1,6 @@ + + + +]> +&WhatHeSaid; diff --git a/libxml2/result/dtd12.rde b/libxml2/result/dtd12.rde new file mode 100644 index 0000000..c2d4cc0 --- /dev/null +++ b/libxml2/result/dtd12.rde @@ -0,0 +1,4 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 3 #text 0 1 He said "Yes" +0 15 doc 0 0 diff --git a/libxml2/result/dtd12.rdr b/libxml2/result/dtd12.rdr new file mode 100644 index 0000000..c394a46 --- /dev/null +++ b/libxml2/result/dtd12.rdr @@ -0,0 +1,4 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 5 WhatHeSaid 0 0 +0 15 doc 0 0 diff --git a/libxml2/result/dtd12.sax b/libxml2/result/dtd12.sax new file mode 100644 index 0000000..82054ce --- /dev/null +++ b/libxml2/result/dtd12.sax @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(YN, 1, (null), (null), "Yes") +SAX.getEntity(YN) +SAX.entityDecl(WhatHeSaid, 1, (null), (null), He said &YN;) +SAX.getEntity(WhatHeSaid) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.getEntity(WhatHeSaid) +SAX.characters(He said , 8) +SAX.getEntity(YN) +SAX.characters("Yes", 5) +SAX.reference(YN) +SAX.reference(WhatHeSaid) +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/dtd12.sax2 b/libxml2/result/dtd12.sax2 new file mode 100644 index 0000000..8a5d8a4 --- /dev/null +++ b/libxml2/result/dtd12.sax2 @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(YN, 1, (null), (null), "Yes") +SAX.getEntity(YN) +SAX.entityDecl(WhatHeSaid, 1, (null), (null), He said &YN;) +SAX.getEntity(WhatHeSaid) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.getEntity(WhatHeSaid) +SAX.characters(He said , 8) +SAX.getEntity(YN) +SAX.characters("Yes", 5) +SAX.reference(YN) +SAX.reference(WhatHeSaid) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/dtd13 b/libxml2/result/dtd13 new file mode 100644 index 0000000..2814146 --- /dev/null +++ b/libxml2/result/dtd13 @@ -0,0 +1,7 @@ + + + +]> + + diff --git a/libxml2/result/dtd13.rde b/libxml2/result/dtd13.rde new file mode 100644 index 0000000..f567ccb --- /dev/null +++ b/libxml2/result/dtd13.rde @@ -0,0 +1,4 @@ +0 8 #comment 0 1 comment before the DTD +0 10 doc 0 0 +0 8 #comment 0 1 comment after the DTD +0 1 doc 1 0 diff --git a/libxml2/result/dtd13.rdr b/libxml2/result/dtd13.rdr new file mode 100644 index 0000000..f567ccb --- /dev/null +++ b/libxml2/result/dtd13.rdr @@ -0,0 +1,4 @@ +0 8 #comment 0 1 comment before the DTD +0 10 doc 0 0 +0 8 #comment 0 1 comment after the DTD +0 1 doc 1 0 diff --git a/libxml2/result/dtd13.sax b/libxml2/result/dtd13.sax new file mode 100644 index 0000000..5b1245f --- /dev/null +++ b/libxml2/result/dtd13.sax @@ -0,0 +1,10 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( comment before the DTD ) +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 2, ...) +SAX.externalSubset(doc, , ) +SAX.comment( comment after the DTD ) +SAX.startElement(doc) +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/dtd13.sax2 b/libxml2/result/dtd13.sax2 new file mode 100644 index 0000000..b631501 --- /dev/null +++ b/libxml2/result/dtd13.sax2 @@ -0,0 +1,10 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( comment before the DTD ) +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 2, ...) +SAX.externalSubset(doc, , ) +SAX.comment( comment after the DTD ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/dtd2 b/libxml2/result/dtd2 new file mode 100644 index 0000000..921fd94 --- /dev/null +++ b/libxml2/result/dtd2 @@ -0,0 +1,5 @@ + + +]> +This is a valid document ! diff --git a/libxml2/result/dtd2.rde b/libxml2/result/dtd2.rde new file mode 100644 index 0000000..20cbf2a --- /dev/null +++ b/libxml2/result/dtd2.rde @@ -0,0 +1,4 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 3 #text 0 1 This is a valid document ! +0 15 doc 0 0 diff --git a/libxml2/result/dtd2.rdr b/libxml2/result/dtd2.rdr new file mode 100644 index 0000000..20cbf2a --- /dev/null +++ b/libxml2/result/dtd2.rdr @@ -0,0 +1,4 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 3 #text 0 1 This is a valid document ! +0 15 doc 0 0 diff --git a/libxml2/result/dtd2.sax b/libxml2/result/dtd2.sax new file mode 100644 index 0000000..0343486 --- /dev/null +++ b/libxml2/result/dtd2.sax @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.characters(This is a valid document !, 26) +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/dtd2.sax2 b/libxml2/result/dtd2.sax2 new file mode 100644 index 0000000..ff6b568 --- /dev/null +++ b/libxml2/result/dtd2.sax2 @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters(This is a valid document !, 26) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/dtd3 b/libxml2/result/dtd3 new file mode 100644 index 0000000..6681ef7 --- /dev/null +++ b/libxml2/result/dtd3 @@ -0,0 +1,5 @@ + + +]> +This is a valid document ! diff --git a/libxml2/result/dtd3.rde b/libxml2/result/dtd3.rde new file mode 100644 index 0000000..20cbf2a --- /dev/null +++ b/libxml2/result/dtd3.rde @@ -0,0 +1,4 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 3 #text 0 1 This is a valid document ! +0 15 doc 0 0 diff --git a/libxml2/result/dtd3.rdr b/libxml2/result/dtd3.rdr new file mode 100644 index 0000000..20cbf2a --- /dev/null +++ b/libxml2/result/dtd3.rdr @@ -0,0 +1,4 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 3 #text 0 1 This is a valid document ! +0 15 doc 0 0 diff --git a/libxml2/result/dtd3.sax b/libxml2/result/dtd3.sax new file mode 100644 index 0000000..57539d3 --- /dev/null +++ b/libxml2/result/dtd3.sax @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 2, ...) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.characters(This is a valid document !, 26) +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/dtd3.sax2 b/libxml2/result/dtd3.sax2 new file mode 100644 index 0000000..9625ad5 --- /dev/null +++ b/libxml2/result/dtd3.sax2 @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 2, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters(This is a valid document !, 26) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/dtd4 b/libxml2/result/dtd4 new file mode 100644 index 0000000..6cf2444 --- /dev/null +++ b/libxml2/result/dtd4 @@ -0,0 +1,5 @@ + + +]> + diff --git a/libxml2/result/dtd4.rde b/libxml2/result/dtd4.rde new file mode 100644 index 0000000..9b0a34d --- /dev/null +++ b/libxml2/result/dtd4.rde @@ -0,0 +1,2 @@ +0 10 doc 0 0 +0 1 doc 1 0 diff --git a/libxml2/result/dtd4.rdr b/libxml2/result/dtd4.rdr new file mode 100644 index 0000000..9b0a34d --- /dev/null +++ b/libxml2/result/dtd4.rdr @@ -0,0 +1,2 @@ +0 10 doc 0 0 +0 1 doc 1 0 diff --git a/libxml2/result/dtd4.sax b/libxml2/result/dtd4.sax new file mode 100644 index 0000000..cfb4c79 --- /dev/null +++ b/libxml2/result/dtd4.sax @@ -0,0 +1,8 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 1, ...) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/dtd4.sax2 b/libxml2/result/dtd4.sax2 new file mode 100644 index 0000000..8366d48 --- /dev/null +++ b/libxml2/result/dtd4.sax2 @@ -0,0 +1,8 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 1, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/dtd5 b/libxml2/result/dtd5 new file mode 100644 index 0000000..5409d51 --- /dev/null +++ b/libxml2/result/dtd5 @@ -0,0 +1,7 @@ + + + + +]> +This is a valid document diff --git a/libxml2/result/dtd5.rde b/libxml2/result/dtd5.rde new file mode 100644 index 0000000..66773a3 --- /dev/null +++ b/libxml2/result/dtd5.rde @@ -0,0 +1,11 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 1 a 0 0 +2 3 #text 0 1 This +1 15 a 0 0 +1 3 #text 0 1 is a +1 1 b 0 0 +2 3 #text 0 1 valid +1 15 b 0 0 +1 3 #text 0 1 document +0 15 doc 0 0 diff --git a/libxml2/result/dtd5.rdr b/libxml2/result/dtd5.rdr new file mode 100644 index 0000000..66773a3 --- /dev/null +++ b/libxml2/result/dtd5.rdr @@ -0,0 +1,11 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 1 a 0 0 +2 3 #text 0 1 This +1 15 a 0 0 +1 3 #text 0 1 is a +1 1 b 0 0 +2 3 #text 0 1 valid +1 15 b 0 0 +1 3 #text 0 1 document +0 15 doc 0 0 diff --git a/libxml2/result/dtd5.sax b/libxml2/result/dtd5.sax new file mode 100644 index 0000000..5dc8db3 --- /dev/null +++ b/libxml2/result/dtd5.sax @@ -0,0 +1,18 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 3, ...) +SAX.elementDecl(a, 3, ...) +SAX.elementDecl(b, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.startElement(a) +SAX.characters(This, 4) +SAX.endElement(a) +SAX.characters( is a , 6) +SAX.startElement(b) +SAX.characters(valid, 5) +SAX.endElement(b) +SAX.characters( document, 9) +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/dtd5.sax2 b/libxml2/result/dtd5.sax2 new file mode 100644 index 0000000..f48c01c --- /dev/null +++ b/libxml2/result/dtd5.sax2 @@ -0,0 +1,18 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 3, ...) +SAX.elementDecl(a, 3, ...) +SAX.elementDecl(b, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.startElementNs(a, NULL, NULL, 0, 0, 0) +SAX.characters(This, 4) +SAX.endElementNs(a, NULL, NULL) +SAX.characters( is a , 6) +SAX.startElementNs(b, NULL, NULL, 0, 0, 0) +SAX.characters(valid, 5) +SAX.endElementNs(b, NULL, NULL) +SAX.characters( document, 9) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/dtd6 b/libxml2/result/dtd6 new file mode 100644 index 0000000..ed2d993 --- /dev/null +++ b/libxml2/result/dtd6 @@ -0,0 +1,7 @@ + + + + +]> +This is a valid document diff --git a/libxml2/result/dtd6.rde b/libxml2/result/dtd6.rde new file mode 100644 index 0000000..a941e6a --- /dev/null +++ b/libxml2/result/dtd6.rde @@ -0,0 +1,12 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 1 a 0 0 +2 3 #text 0 1 This +1 15 a 0 0 +1 1 b 0 0 +2 3 #text 0 1 is a valid +1 15 b 0 0 +1 1 a 0 0 +2 3 #text 0 1 document +1 15 a 0 0 +0 15 doc 0 0 diff --git a/libxml2/result/dtd6.rdr b/libxml2/result/dtd6.rdr new file mode 100644 index 0000000..a941e6a --- /dev/null +++ b/libxml2/result/dtd6.rdr @@ -0,0 +1,12 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 1 a 0 0 +2 3 #text 0 1 This +1 15 a 0 0 +1 1 b 0 0 +2 3 #text 0 1 is a valid +1 15 b 0 0 +1 1 a 0 0 +2 3 #text 0 1 document +1 15 a 0 0 +0 15 doc 0 0 diff --git a/libxml2/result/dtd6.sax b/libxml2/result/dtd6.sax new file mode 100644 index 0000000..e9088d7 --- /dev/null +++ b/libxml2/result/dtd6.sax @@ -0,0 +1,19 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 4, ...) +SAX.elementDecl(a, 3, ...) +SAX.elementDecl(b, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.startElement(a) +SAX.characters(This, 4) +SAX.endElement(a) +SAX.startElement(b) +SAX.characters( is a valid, 11) +SAX.endElement(b) +SAX.startElement(a) +SAX.characters( document, 9) +SAX.endElement(a) +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/dtd6.sax2 b/libxml2/result/dtd6.sax2 new file mode 100644 index 0000000..6e78924 --- /dev/null +++ b/libxml2/result/dtd6.sax2 @@ -0,0 +1,19 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 4, ...) +SAX.elementDecl(a, 3, ...) +SAX.elementDecl(b, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.startElementNs(a, NULL, NULL, 0, 0, 0) +SAX.characters(This, 4) +SAX.endElementNs(a, NULL, NULL) +SAX.startElementNs(b, NULL, NULL, 0, 0, 0) +SAX.characters( is a valid, 11) +SAX.endElementNs(b, NULL, NULL) +SAX.startElementNs(a, NULL, NULL, 0, 0, 0) +SAX.characters( document, 9) +SAX.endElementNs(a, NULL, NULL) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/dtd7 b/libxml2/result/dtd7 new file mode 100644 index 0000000..0a4075f --- /dev/null +++ b/libxml2/result/dtd7 @@ -0,0 +1,7 @@ + + + + +]> +This is a valid document diff --git a/libxml2/result/dtd7.rde b/libxml2/result/dtd7.rde new file mode 100644 index 0000000..a477613 --- /dev/null +++ b/libxml2/result/dtd7.rde @@ -0,0 +1,9 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 1 a 0 0 +2 3 #text 0 1 This +1 15 a 0 0 +1 1 b 0 0 +2 3 #text 0 1 is a valid document +1 15 b 0 0 +0 15 doc 0 0 diff --git a/libxml2/result/dtd7.rdr b/libxml2/result/dtd7.rdr new file mode 100644 index 0000000..a477613 --- /dev/null +++ b/libxml2/result/dtd7.rdr @@ -0,0 +1,9 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 1 a 0 0 +2 3 #text 0 1 This +1 15 a 0 0 +1 1 b 0 0 +2 3 #text 0 1 is a valid document +1 15 b 0 0 +0 15 doc 0 0 diff --git a/libxml2/result/dtd7.sax b/libxml2/result/dtd7.sax new file mode 100644 index 0000000..dbf6e5f --- /dev/null +++ b/libxml2/result/dtd7.sax @@ -0,0 +1,16 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 4, ...) +SAX.elementDecl(a, 3, ...) +SAX.elementDecl(b, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.startElement(a) +SAX.characters(This, 4) +SAX.endElement(a) +SAX.startElement(b) +SAX.characters( is a valid document, 20) +SAX.endElement(b) +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/dtd7.sax2 b/libxml2/result/dtd7.sax2 new file mode 100644 index 0000000..4a47191 --- /dev/null +++ b/libxml2/result/dtd7.sax2 @@ -0,0 +1,16 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 4, ...) +SAX.elementDecl(a, 3, ...) +SAX.elementDecl(b, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.startElementNs(a, NULL, NULL, 0, 0, 0) +SAX.characters(This, 4) +SAX.endElementNs(a, NULL, NULL) +SAX.startElementNs(b, NULL, NULL, 0, 0, 0) +SAX.characters( is a valid document, 20) +SAX.endElementNs(b, NULL, NULL) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/dtd8 b/libxml2/result/dtd8 new file mode 100644 index 0000000..7a655f9 --- /dev/null +++ b/libxml2/result/dtd8 @@ -0,0 +1,9 @@ + + + + + + +]> +This is a valid document diff --git a/libxml2/result/dtd8.rde b/libxml2/result/dtd8.rde new file mode 100644 index 0000000..15ee010 --- /dev/null +++ b/libxml2/result/dtd8.rde @@ -0,0 +1,9 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 1 b 0 0 +2 3 #text 0 1 This +1 15 b 0 0 +1 1 c 0 0 +2 3 #text 0 1 is a valid document +1 15 c 0 0 +0 15 doc 0 0 diff --git a/libxml2/result/dtd8.rdr b/libxml2/result/dtd8.rdr new file mode 100644 index 0000000..15ee010 --- /dev/null +++ b/libxml2/result/dtd8.rdr @@ -0,0 +1,9 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 1 b 0 0 +2 3 #text 0 1 This +1 15 b 0 0 +1 1 c 0 0 +2 3 #text 0 1 is a valid document +1 15 c 0 0 +0 15 doc 0 0 diff --git a/libxml2/result/dtd8.sax b/libxml2/result/dtd8.sax new file mode 100644 index 0000000..fd949a2 --- /dev/null +++ b/libxml2/result/dtd8.sax @@ -0,0 +1,18 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 4, ...) +SAX.elementDecl(a, 3, ...) +SAX.elementDecl(b, 3, ...) +SAX.elementDecl(c, 3, ...) +SAX.elementDecl(d, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.startElement(b) +SAX.characters(This, 4) +SAX.endElement(b) +SAX.startElement(c) +SAX.characters( is a valid document, 20) +SAX.endElement(c) +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/dtd8.sax2 b/libxml2/result/dtd8.sax2 new file mode 100644 index 0000000..d38b60d --- /dev/null +++ b/libxml2/result/dtd8.sax2 @@ -0,0 +1,18 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 4, ...) +SAX.elementDecl(a, 3, ...) +SAX.elementDecl(b, 3, ...) +SAX.elementDecl(c, 3, ...) +SAX.elementDecl(d, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.startElementNs(b, NULL, NULL, 0, 0, 0) +SAX.characters(This, 4) +SAX.endElementNs(b, NULL, NULL) +SAX.startElementNs(c, NULL, NULL, 0, 0, 0) +SAX.characters( is a valid document, 20) +SAX.endElementNs(c, NULL, NULL) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/dtd9 b/libxml2/result/dtd9 new file mode 100644 index 0000000..89cc1d4 --- /dev/null +++ b/libxml2/result/dtd9 @@ -0,0 +1,9 @@ + + + + + + +]> +This is a valid document diff --git a/libxml2/result/dtd9.rde b/libxml2/result/dtd9.rde new file mode 100644 index 0000000..2e2b2e9 --- /dev/null +++ b/libxml2/result/dtd9.rde @@ -0,0 +1,9 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 1 b 0 0 +2 3 #text 0 1 This +1 15 b 0 0 +1 1 d 0 0 +2 3 #text 0 1 is a valid document +1 15 d 0 0 +0 15 doc 0 0 diff --git a/libxml2/result/dtd9.rdr b/libxml2/result/dtd9.rdr new file mode 100644 index 0000000..2e2b2e9 --- /dev/null +++ b/libxml2/result/dtd9.rdr @@ -0,0 +1,9 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 1 b 0 0 +2 3 #text 0 1 This +1 15 b 0 0 +1 1 d 0 0 +2 3 #text 0 1 is a valid document +1 15 d 0 0 +0 15 doc 0 0 diff --git a/libxml2/result/dtd9.sax b/libxml2/result/dtd9.sax new file mode 100644 index 0000000..738f4d3 --- /dev/null +++ b/libxml2/result/dtd9.sax @@ -0,0 +1,18 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 4, ...) +SAX.elementDecl(a, 3, ...) +SAX.elementDecl(b, 3, ...) +SAX.elementDecl(c, 3, ...) +SAX.elementDecl(d, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.startElement(b) +SAX.characters(This, 4) +SAX.endElement(b) +SAX.startElement(d) +SAX.characters( is a valid document, 20) +SAX.endElement(d) +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/dtd9.sax2 b/libxml2/result/dtd9.sax2 new file mode 100644 index 0000000..a5b537f --- /dev/null +++ b/libxml2/result/dtd9.sax2 @@ -0,0 +1,18 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 4, ...) +SAX.elementDecl(a, 3, ...) +SAX.elementDecl(b, 3, ...) +SAX.elementDecl(c, 3, ...) +SAX.elementDecl(d, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.startElementNs(b, NULL, NULL, 0, 0, 0) +SAX.characters(This, 4) +SAX.endElementNs(b, NULL, NULL) +SAX.startElementNs(d, NULL, NULL, 0, 0, 0) +SAX.characters( is a valid document, 20) +SAX.endElementNs(d, NULL, NULL) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/ebcdic_566012.xml b/libxml2/result/ebcdic_566012.xml new file mode 100644 index 0000000..153add5 --- /dev/null +++ b/libxml2/result/ebcdic_566012.xml @@ -0,0 +1 @@ +Lo§”“@¥…™¢‰–•~ñKð@…•ƒ–„‰•‡~ÉÂÔ`ññôñon%L£…¢£@££™~JàZan% \ No newline at end of file diff --git a/libxml2/result/ebcdic_566012.xml.rde b/libxml2/result/ebcdic_566012.xml.rde new file mode 100644 index 0000000..efbc18b --- /dev/null +++ b/libxml2/result/ebcdic_566012.xml.rde @@ -0,0 +1 @@ +0 1 test 1 0 diff --git a/libxml2/result/ebcdic_566012.xml.rdr b/libxml2/result/ebcdic_566012.xml.rdr new file mode 100644 index 0000000..efbc18b --- /dev/null +++ b/libxml2/result/ebcdic_566012.xml.rdr @@ -0,0 +1 @@ +0 1 test 1 0 diff --git a/libxml2/result/ebcdic_566012.xml.sax b/libxml2/result/ebcdic_566012.xml.sax new file mode 100644 index 0000000..7ec6d5a --- /dev/null +++ b/libxml2/result/ebcdic_566012.xml.sax @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(test, attr='ÄÖÜ') +SAX.endElement(test) +SAX.endDocument() diff --git a/libxml2/result/ebcdic_566012.xml.sax2 b/libxml2/result/ebcdic_566012.xml.sax2 new file mode 100644 index 0000000..b8a4ce0 --- /dev/null +++ b/libxml2/result/ebcdic_566012.xml.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(test, NULL, NULL, 0, 1, 0, attr='ÄÖ...', 6) +SAX.endElementNs(test, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/emptycdata.xml b/libxml2/result/emptycdata.xml new file mode 100644 index 0000000..bc98388 --- /dev/null +++ b/libxml2/result/emptycdata.xml @@ -0,0 +1,4 @@ + + + + diff --git a/libxml2/result/emptycdata.xml.rde b/libxml2/result/emptycdata.xml.rde new file mode 100644 index 0000000..1c8b74f --- /dev/null +++ b/libxml2/result/emptycdata.xml.rde @@ -0,0 +1,7 @@ +0 1 html 0 0 +1 14 #text 0 1 + +1 4 #cdata-section 0 1 +1 14 #text 0 1 + +0 15 html 0 0 diff --git a/libxml2/result/emptycdata.xml.rdr b/libxml2/result/emptycdata.xml.rdr new file mode 100644 index 0000000..1c8b74f --- /dev/null +++ b/libxml2/result/emptycdata.xml.rdr @@ -0,0 +1,7 @@ +0 1 html 0 0 +1 14 #text 0 1 + +1 4 #cdata-section 0 1 +1 14 #text 0 1 + +0 15 html 0 0 diff --git a/libxml2/result/emptycdata.xml.sax b/libxml2/result/emptycdata.xml.sax new file mode 100644 index 0000000..39587c6 --- /dev/null +++ b/libxml2/result/emptycdata.xml.sax @@ -0,0 +1,10 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html, xmlns='http://www.w3.org/1999/xhtml') +SAX.characters( +, 1) +SAX.pcdata(, 0) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.endDocument() diff --git a/libxml2/result/emptycdata.xml.sax2 b/libxml2/result/emptycdata.xml.sax2 new file mode 100644 index 0000000..7f80296 --- /dev/null +++ b/libxml2/result/emptycdata.xml.sax2 @@ -0,0 +1,10 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(html, NULL, 'http://www.w3.org/1999/xhtml', 1, xmlns='http://www.w3.org/1999/xhtml', 0, 0) +SAX.characters( +, 1) +SAX.pcdata(, 0) +SAX.characters( +, 1) +SAX.endElementNs(html, NULL, 'http://www.w3.org/1999/xhtml') +SAX.endDocument() diff --git a/libxml2/result/ent1 b/libxml2/result/ent1 new file mode 100644 index 0000000..3e24756 --- /dev/null +++ b/libxml2/result/ent1 @@ -0,0 +1,7 @@ + + +]> + + &xml; + diff --git a/libxml2/result/ent1.rde b/libxml2/result/ent1.rde new file mode 100644 index 0000000..d806d24 --- /dev/null +++ b/libxml2/result/ent1.rde @@ -0,0 +1,6 @@ +0 10 EXAMPLE 0 0 +0 1 EXAMPLE 0 0 +1 3 #text 0 1 + Extensible Markup Language + +0 15 EXAMPLE 0 0 diff --git a/libxml2/result/ent1.rdr b/libxml2/result/ent1.rdr new file mode 100644 index 0000000..9f9c2cc --- /dev/null +++ b/libxml2/result/ent1.rdr @@ -0,0 +1,8 @@ +0 10 EXAMPLE 0 0 +0 1 EXAMPLE 0 0 +1 14 #text 0 1 + +1 5 xml 0 0 +1 14 #text 0 1 + +0 15 EXAMPLE 0 0 diff --git a/libxml2/result/ent1.sax b/libxml2/result/ent1.sax new file mode 100644 index 0000000..1d5334f --- /dev/null +++ b/libxml2/result/ent1.sax @@ -0,0 +1,16 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(EXAMPLE, , example.dtd) +SAX.entityDecl(xml, 1, (null), (null), Extensible Markup Language) +SAX.getEntity(xml) +SAX.externalSubset(EXAMPLE, , example.dtd) +SAX.startElement(EXAMPLE) +SAX.characters( + , 5) +SAX.getEntity(xml) +SAX.characters(Extensible Markup Language, 26) +SAX.reference(xml) +SAX.characters( +, 1) +SAX.endElement(EXAMPLE) +SAX.endDocument() diff --git a/libxml2/result/ent1.sax2 b/libxml2/result/ent1.sax2 new file mode 100644 index 0000000..573f485 --- /dev/null +++ b/libxml2/result/ent1.sax2 @@ -0,0 +1,16 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(EXAMPLE, , example.dtd) +SAX.entityDecl(xml, 1, (null), (null), Extensible Markup Language) +SAX.getEntity(xml) +SAX.externalSubset(EXAMPLE, , example.dtd) +SAX.startElementNs(EXAMPLE, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.getEntity(xml) +SAX.characters(Extensible Markup Language, 26) +SAX.reference(xml) +SAX.characters( +, 1) +SAX.endElementNs(EXAMPLE, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/ent10 b/libxml2/result/ent10 new file mode 100644 index 0000000..c46d19f --- /dev/null +++ b/libxml2/result/ent10 @@ -0,0 +1,14 @@ + + + + + + hello world + + "> +]> + + &f; + diff --git a/libxml2/result/ent10.rde b/libxml2/result/ent10.rde new file mode 100644 index 0000000..e69594c --- /dev/null +++ b/libxml2/result/ent10.rde @@ -0,0 +1,14 @@ +0 10 rnode 0 0 +0 1 rnode 0 0 +1 14 #text 0 1 + + +1 1 f 0 0 +2 3 #text 0 1 + hello world + +1 15 f 0 0 +1 14 #text 0 1 + + +0 15 rnode 0 0 diff --git a/libxml2/result/ent10.rdr b/libxml2/result/ent10.rdr new file mode 100644 index 0000000..34edb50 --- /dev/null +++ b/libxml2/result/ent10.rdr @@ -0,0 +1,8 @@ +0 10 rnode 0 0 +0 1 rnode 0 0 +1 14 #text 0 1 + +1 5 f 0 0 +1 14 #text 0 1 + +0 15 rnode 0 0 diff --git a/libxml2/result/ent10.sax b/libxml2/result/ent10.sax new file mode 100644 index 0000000..ed0e339 --- /dev/null +++ b/libxml2/result/ent10.sax @@ -0,0 +1,31 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(rnode, , ) +SAX.elementDecl(rnode, 4, ...) +SAX.elementDecl(f, 3, ...) +SAX.attributeDecl(f, att1, 1, 4, J, ...) +SAX.entityDecl(f, 1, (null), (null), + + hello world + + ) +SAX.getEntity(f) +SAX.externalSubset(rnode, , ) +SAX.startElement(rnode) +SAX.characters( + , 4) +SAX.getEntity(f) +SAX.characters( + , 4) +SAX.startElement(f) +SAX.characters( + hello world + , 19) +SAX.endElement(f) +SAX.characters( + , 4) +SAX.reference(f) +SAX.characters( +, 1) +SAX.endElement(rnode) +SAX.endDocument() diff --git a/libxml2/result/ent10.sax2 b/libxml2/result/ent10.sax2 new file mode 100644 index 0000000..dbad129 --- /dev/null +++ b/libxml2/result/ent10.sax2 @@ -0,0 +1,31 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(rnode, , ) +SAX.elementDecl(rnode, 4, ...) +SAX.elementDecl(f, 3, ...) +SAX.attributeDecl(f, att1, 1, 4, J, ...) +SAX.entityDecl(f, 1, (null), (null), + + hello world + + ) +SAX.getEntity(f) +SAX.externalSubset(rnode, , ) +SAX.startElementNs(rnode, NULL, NULL, 0, 0, 0) +SAX.characters( + , 4) +SAX.getEntity(f) +SAX.characters( + , 4) +SAX.startElementNs(f, NULL, NULL, 0, 1, 1, att1='J...', 1) +SAX.characters( + hello world + , 19) +SAX.endElementNs(f, NULL, NULL) +SAX.characters( + , 4) +SAX.reference(f) +SAX.characters( +, 1) +SAX.endElementNs(rnode, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/ent11 b/libxml2/result/ent11 new file mode 100644 index 0000000..7eee023 --- /dev/null +++ b/libxml2/result/ent11 @@ -0,0 +1,5 @@ + + +]> +&newl; diff --git a/libxml2/result/ent11.rde b/libxml2/result/ent11.rde new file mode 100644 index 0000000..f6c3c27 --- /dev/null +++ b/libxml2/result/ent11.rde @@ -0,0 +1,5 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/libxml2/result/ent11.rdr b/libxml2/result/ent11.rdr new file mode 100644 index 0000000..54a754a --- /dev/null +++ b/libxml2/result/ent11.rdr @@ -0,0 +1,4 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 5 newl 0 0 +0 15 doc 0 0 diff --git a/libxml2/result/ent11.sax b/libxml2/result/ent11.sax new file mode 100644 index 0000000..4e36a6b --- /dev/null +++ b/libxml2/result/ent11.sax @@ -0,0 +1,13 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(newl, 1, (null), (null), ) +SAX.getEntity(newl) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.getEntity(newl) +SAX.characters( +, 1) +SAX.reference(newl) +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/ent11.sax2 b/libxml2/result/ent11.sax2 new file mode 100644 index 0000000..e80778f --- /dev/null +++ b/libxml2/result/ent11.sax2 @@ -0,0 +1,13 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(newl, 1, (null), (null), ) +SAX.getEntity(newl) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.getEntity(newl) +SAX.characters( +, 1) +SAX.reference(newl) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/ent12 b/libxml2/result/ent12 new file mode 100644 index 0000000..f603c59 --- /dev/null +++ b/libxml2/result/ent12 @@ -0,0 +1,8 @@ + + + +]> + + &bar; + diff --git a/libxml2/result/ent12.rde b/libxml2/result/ent12.rde new file mode 100644 index 0000000..483547b --- /dev/null +++ b/libxml2/result/ent12.rde @@ -0,0 +1,10 @@ +0 10 root 0 0 +0 1 root 0 0 +1 14 #text 0 1 + +1 1 element 0 0 +2 3 #text 0 1 def +1 15 element 0 0 +1 14 #text 0 1 + +0 15 root 0 0 diff --git a/libxml2/result/ent12.rdr b/libxml2/result/ent12.rdr new file mode 100644 index 0000000..884c1fe --- /dev/null +++ b/libxml2/result/ent12.rdr @@ -0,0 +1,10 @@ +0 10 root 0 0 +0 1 root 0 0 +1 14 #text 0 1 + +1 1 element 0 0 +2 5 bar 0 0 +1 15 element 0 0 +1 14 #text 0 1 + +0 15 root 0 0 diff --git a/libxml2/result/ent12.sax b/libxml2/result/ent12.sax new file mode 100644 index 0000000..84322d2 --- /dev/null +++ b/libxml2/result/ent12.sax @@ -0,0 +1,21 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(root, , ) +SAX.entityDecl(foo, 1, (null), (null), abc) +SAX.getEntity(foo) +SAX.entityDecl(bar, 1, (null), (null), def) +SAX.getEntity(bar) +SAX.externalSubset(root, , ) +SAX.getEntity(foo) +SAX.startElement(root, attribute='&foo;') +SAX.characters( + , 4) +SAX.startElement(element) +SAX.getEntity(bar) +SAX.characters(def, 3) +SAX.reference(bar) +SAX.endElement(element) +SAX.characters( +, 1) +SAX.endElement(root) +SAX.endDocument() diff --git a/libxml2/result/ent12.sax2 b/libxml2/result/ent12.sax2 new file mode 100644 index 0000000..881fedd --- /dev/null +++ b/libxml2/result/ent12.sax2 @@ -0,0 +1,21 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(root, , ) +SAX.entityDecl(foo, 1, (null), (null), abc) +SAX.getEntity(foo) +SAX.entityDecl(bar, 1, (null), (null), def) +SAX.getEntity(bar) +SAX.externalSubset(root, , ) +SAX.getEntity(foo) +SAX.startElementNs(root, NULL, NULL, 0, 1, 0, attribute='&foo...', 5) +SAX.characters( + , 4) +SAX.startElementNs(element, NULL, NULL, 0, 0, 0) +SAX.getEntity(bar) +SAX.characters(def, 3) +SAX.reference(bar) +SAX.endElementNs(element, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(root, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/ent13 b/libxml2/result/ent13 new file mode 100644 index 0000000..8dd96c9 --- /dev/null +++ b/libxml2/result/ent13 @@ -0,0 +1,5 @@ + + +]> +a diff --git a/libxml2/result/ent13.rde b/libxml2/result/ent13.rde new file mode 100644 index 0000000..d9227fc --- /dev/null +++ b/libxml2/result/ent13.rde @@ -0,0 +1,4 @@ +0 10 test 0 0 +0 1 t 0 0 +1 3 #text 0 1 a +0 15 t 0 0 diff --git a/libxml2/result/ent13.rdr b/libxml2/result/ent13.rdr new file mode 100644 index 0000000..d9227fc --- /dev/null +++ b/libxml2/result/ent13.rdr @@ -0,0 +1,4 @@ +0 10 test 0 0 +0 1 t 0 0 +1 3 #text 0 1 a +0 15 t 0 0 diff --git a/libxml2/result/ent13.sax b/libxml2/result/ent13.sax new file mode 100644 index 0000000..5e4bb44 --- /dev/null +++ b/libxml2/result/ent13.sax @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(test, , ) +SAX.entityDecl(ampproblem, 1, (null), (null), &) +SAX.getEntity(ampproblem) +SAX.externalSubset(test, , ) +SAX.getEntity(ampproblem) +SAX.startElement(t, a='&problem;') +SAX.characters(a, 1) +SAX.endElement(t) +SAX.endDocument() diff --git a/libxml2/result/ent13.sax2 b/libxml2/result/ent13.sax2 new file mode 100644 index 0000000..3414da6 --- /dev/null +++ b/libxml2/result/ent13.sax2 @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(test, , ) +SAX.entityDecl(ampproblem, 1, (null), (null), &) +SAX.getEntity(ampproblem) +SAX.externalSubset(test, , ) +SAX.getEntity(ampproblem) +SAX.startElementNs(t, NULL, NULL, 0, 1, 0, a='&...', 12) +SAX.characters(a, 1) +SAX.endElementNs(t, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/ent2 b/libxml2/result/ent2 new file mode 100644 index 0000000..2b4137c --- /dev/null +++ b/libxml2/result/ent2 @@ -0,0 +1,10 @@ + + + + +]> + + &title; + This text is about XML, the &xml; and this is an embedded + diff --git a/libxml2/result/ent2.rde b/libxml2/result/ent2.rde new file mode 100644 index 0000000..7fe3aa8 --- /dev/null +++ b/libxml2/result/ent2.rde @@ -0,0 +1,15 @@ +0 10 EXAMPLE 0 0 +0 1 EXAMPLE 0 0 +1 14 #text 0 1 + + +1 1 title 0 0 +2 3 #text 0 1 my title +1 15 title 0 0 +1 3 #text 0 1 + + This text is about XML, the Extensible Markup Language and this is an embedded +1 1 IMG 1 0 +1 14 #text 0 1 + +0 15 EXAMPLE 0 0 diff --git a/libxml2/result/ent2.rdr b/libxml2/result/ent2.rdr new file mode 100644 index 0000000..6c2e761 --- /dev/null +++ b/libxml2/result/ent2.rdr @@ -0,0 +1,13 @@ +0 10 EXAMPLE 0 0 +0 1 EXAMPLE 0 0 +1 14 #text 0 1 + +1 5 title 0 0 +1 3 #text 0 1 + This text is about XML, the +1 5 xml 0 0 +1 3 #text 0 1 and this is an embedded +1 1 IMG 1 0 +1 14 #text 0 1 + +0 15 EXAMPLE 0 0 diff --git a/libxml2/result/ent2.sax b/libxml2/result/ent2.sax new file mode 100644 index 0000000..46da6fd --- /dev/null +++ b/libxml2/result/ent2.sax @@ -0,0 +1,25 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(EXAMPLE, , example.dtd) +SAX.entityDecl(xml, 1, (null), (null), Extensible Markup Language) +SAX.getEntity(xml) +SAX.entityDecl(title, 2, -//MY-TITLE//FR, title.xml, (null)) +SAX.unparsedEntityDecl(image, (null), img.gif, GIF) +SAX.externalSubset(EXAMPLE, , example.dtd) +SAX.startElement(EXAMPLE) +SAX.characters( + , 3) +SAX.getEntity(title) +SAX.reference(title) +SAX.characters( + This text is about XML, the, 31) +SAX.getEntity(xml) +SAX.characters(Extensible Markup Language, 26) +SAX.reference(xml) +SAX.characters( and this is an embedded , 25) +SAX.startElement(IMG, src='image') +SAX.endElement(IMG) +SAX.characters( +, 1) +SAX.endElement(EXAMPLE) +SAX.endDocument() diff --git a/libxml2/result/ent2.sax2 b/libxml2/result/ent2.sax2 new file mode 100644 index 0000000..6275de4 --- /dev/null +++ b/libxml2/result/ent2.sax2 @@ -0,0 +1,25 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(EXAMPLE, , example.dtd) +SAX.entityDecl(xml, 1, (null), (null), Extensible Markup Language) +SAX.getEntity(xml) +SAX.entityDecl(title, 2, -//MY-TITLE//FR, title.xml, (null)) +SAX.unparsedEntityDecl(image, (null), img.gif, GIF) +SAX.externalSubset(EXAMPLE, , example.dtd) +SAX.startElementNs(EXAMPLE, NULL, NULL, 0, 0, 0) +SAX.characters( + , 3) +SAX.getEntity(title) +SAX.reference(title) +SAX.characters( + This text is about XML, the, 31) +SAX.getEntity(xml) +SAX.characters(Extensible Markup Language, 26) +SAX.reference(xml) +SAX.characters( and this is an embedded , 25) +SAX.startElementNs(IMG, NULL, NULL, 0, 1, 0, src='imag...', 5) +SAX.endElementNs(IMG, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(EXAMPLE, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/ent3 b/libxml2/result/ent3 new file mode 100644 index 0000000..7fb4c7b --- /dev/null +++ b/libxml2/result/ent3 @@ -0,0 +1,7 @@ + + +]> + + Test of entities in attributes. + diff --git a/libxml2/result/ent3.rde b/libxml2/result/ent3.rde new file mode 100644 index 0000000..740442d --- /dev/null +++ b/libxml2/result/ent3.rde @@ -0,0 +1,6 @@ +0 10 EXAMPLE 0 0 +0 1 EXAMPLE 0 0 +1 3 #text 0 1 + Test of entities in attributes. + +0 15 EXAMPLE 0 0 diff --git a/libxml2/result/ent3.rdr b/libxml2/result/ent3.rdr new file mode 100644 index 0000000..740442d --- /dev/null +++ b/libxml2/result/ent3.rdr @@ -0,0 +1,6 @@ +0 10 EXAMPLE 0 0 +0 1 EXAMPLE 0 0 +1 3 #text 0 1 + Test of entities in attributes. + +0 15 EXAMPLE 0 0 diff --git a/libxml2/result/ent3.sax b/libxml2/result/ent3.sax new file mode 100644 index 0000000..407d24b --- /dev/null +++ b/libxml2/result/ent3.sax @@ -0,0 +1,12 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(EXAMPLE, , example.dtd) +SAX.entityDecl(xml, 1, (null), (null), Extensible Markup Language) +SAX.getEntity(xml) +SAX.externalSubset(EXAMPLE, , example.dtd) +SAX.getEntity(xml) +SAX.startElement(EXAMPLE, prop1='a&b', prop2='&xml;') +SAX.characters( + Test of entities in attribu, 35) +SAX.endElement(EXAMPLE) +SAX.endDocument() diff --git a/libxml2/result/ent3.sax2 b/libxml2/result/ent3.sax2 new file mode 100644 index 0000000..de5ff15 --- /dev/null +++ b/libxml2/result/ent3.sax2 @@ -0,0 +1,12 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(EXAMPLE, , example.dtd) +SAX.entityDecl(xml, 1, (null), (null), Extensible Markup Language) +SAX.getEntity(xml) +SAX.externalSubset(EXAMPLE, , example.dtd) +SAX.getEntity(xml) +SAX.startElementNs(EXAMPLE, NULL, NULL, 0, 2, 0, prop1='a...', 7, prop2='&xml...', 5) +SAX.characters( + Test of entities in attribu, 35) +SAX.endElementNs(EXAMPLE, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/ent4 b/libxml2/result/ent4 new file mode 100644 index 0000000..a92194c --- /dev/null +++ b/libxml2/result/ent4 @@ -0,0 +1,7 @@ + + +]> + + Test of &amp; behaviour a&b . + diff --git a/libxml2/result/ent4.rde b/libxml2/result/ent4.rde new file mode 100644 index 0000000..7b65485 --- /dev/null +++ b/libxml2/result/ent4.rde @@ -0,0 +1,6 @@ +0 10 EXAMPLE 0 0 +0 1 EXAMPLE 0 0 +1 3 #text 0 1 + Test of & behaviour a&b . + +0 15 EXAMPLE 0 0 diff --git a/libxml2/result/ent4.rdr b/libxml2/result/ent4.rdr new file mode 100644 index 0000000..7b65485 --- /dev/null +++ b/libxml2/result/ent4.rdr @@ -0,0 +1,6 @@ +0 10 EXAMPLE 0 0 +0 1 EXAMPLE 0 0 +1 3 #text 0 1 + Test of & behaviour a&b . + +0 15 EXAMPLE 0 0 diff --git a/libxml2/result/ent4.sax b/libxml2/result/ent4.sax new file mode 100644 index 0000000..20bc28e --- /dev/null +++ b/libxml2/result/ent4.sax @@ -0,0 +1,16 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(EXAMPLE, , example.dtd) +SAX.entityDecl(xml, 1, (null), (null), Extensible Markup Language) +SAX.getEntity(xml) +SAX.externalSubset(EXAMPLE, , example.dtd) +SAX.startElement(EXAMPLE) +SAX.characters( + Test of , 11) +SAX.characters(&, 1) +SAX.characters(amp; behaviour a, 16) +SAX.characters(&, 1) +SAX.characters(b . +, 4) +SAX.endElement(EXAMPLE) +SAX.endDocument() diff --git a/libxml2/result/ent4.sax2 b/libxml2/result/ent4.sax2 new file mode 100644 index 0000000..b0a6b08 --- /dev/null +++ b/libxml2/result/ent4.sax2 @@ -0,0 +1,16 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(EXAMPLE, , example.dtd) +SAX.entityDecl(xml, 1, (null), (null), Extensible Markup Language) +SAX.getEntity(xml) +SAX.externalSubset(EXAMPLE, , example.dtd) +SAX.startElementNs(EXAMPLE, NULL, NULL, 0, 0, 0) +SAX.characters( + Test of , 11) +SAX.characters(&, 1) +SAX.characters(amp; behaviour a, 16) +SAX.characters(&, 1) +SAX.characters(b . +, 4) +SAX.endElementNs(EXAMPLE, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/ent5 b/libxml2/result/ent5 new file mode 100644 index 0000000..16e7e10 --- /dev/null +++ b/libxml2/result/ent5 @@ -0,0 +1,5 @@ + + + This is an inverted exclamation sign ¡ + This is a space + diff --git a/libxml2/result/ent5.rde b/libxml2/result/ent5.rde new file mode 100644 index 0000000..c570c31 --- /dev/null +++ b/libxml2/result/ent5.rde @@ -0,0 +1,6 @@ +0 1 EXAMPLE 0 0 +1 3 #text 0 1 + This is an inverted exclamation sign ¡ + This is a space + +0 15 EXAMPLE 0 0 diff --git a/libxml2/result/ent5.rdr b/libxml2/result/ent5.rdr new file mode 100644 index 0000000..c570c31 --- /dev/null +++ b/libxml2/result/ent5.rdr @@ -0,0 +1,6 @@ +0 1 EXAMPLE 0 0 +1 3 #text 0 1 + This is an inverted exclamation sign ¡ + This is a space + +0 15 EXAMPLE 0 0 diff --git a/libxml2/result/ent5.sax b/libxml2/result/ent5.sax new file mode 100644 index 0000000..7ad8b65 --- /dev/null +++ b/libxml2/result/ent5.sax @@ -0,0 +1,13 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(EXAMPLE) +SAX.characters( + This is an inverted excla, 42) +SAX.characters(¡, 2) +SAX.characters( + This is a space , 21) +SAX.characters( , 1) +SAX.characters( +, 2) +SAX.endElement(EXAMPLE) +SAX.endDocument() diff --git a/libxml2/result/ent5.sax2 b/libxml2/result/ent5.sax2 new file mode 100644 index 0000000..f7251e4 --- /dev/null +++ b/libxml2/result/ent5.sax2 @@ -0,0 +1,13 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(EXAMPLE, NULL, NULL, 0, 0, 0) +SAX.characters( + This is an inverted excla, 42) +SAX.characters(¡, 2) +SAX.characters( + This is a space , 21) +SAX.characters( , 1) +SAX.characters( +, 2) +SAX.endElementNs(EXAMPLE, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/ent6 b/libxml2/result/ent6 new file mode 100644 index 0000000..047f9bb --- /dev/null +++ b/libxml2/result/ent6 @@ -0,0 +1,9 @@ + + + + + + +]> + diff --git a/libxml2/result/ent6.rde b/libxml2/result/ent6.rde new file mode 100644 index 0000000..9b0a34d --- /dev/null +++ b/libxml2/result/ent6.rde @@ -0,0 +1,2 @@ +0 10 doc 0 0 +0 1 doc 1 0 diff --git a/libxml2/result/ent6.rdr b/libxml2/result/ent6.rdr new file mode 100644 index 0000000..9b0a34d --- /dev/null +++ b/libxml2/result/ent6.rdr @@ -0,0 +1,2 @@ +0 10 doc 0 0 +0 1 doc 1 0 diff --git a/libxml2/result/ent6.sax b/libxml2/result/ent6.sax new file mode 100644 index 0000000..a4426e7 --- /dev/null +++ b/libxml2/result/ent6.sax @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(lt, 1, (null), (null), <) +SAX.getEntity(lt) +SAX.entityDecl(gt, 1, (null), (null), >) +SAX.getEntity(gt) +SAX.entityDecl(amp, 1, (null), (null), &) +SAX.getEntity(amp) +SAX.entityDecl(apos, 1, (null), (null), ') +SAX.getEntity(apos) +SAX.entityDecl(quot, 1, (null), (null), ") +SAX.getEntity(quot) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/ent6.sax2 b/libxml2/result/ent6.sax2 new file mode 100644 index 0000000..a70d0bb --- /dev/null +++ b/libxml2/result/ent6.sax2 @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(lt, 1, (null), (null), <) +SAX.getEntity(lt) +SAX.entityDecl(gt, 1, (null), (null), >) +SAX.getEntity(gt) +SAX.entityDecl(amp, 1, (null), (null), &) +SAX.getEntity(amp) +SAX.entityDecl(apos, 1, (null), (null), ') +SAX.getEntity(apos) +SAX.entityDecl(quot, 1, (null), (null), ") +SAX.getEntity(quot) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/ent6hex b/libxml2/result/ent6hex new file mode 100644 index 0000000..6d59df9 --- /dev/null +++ b/libxml2/result/ent6hex @@ -0,0 +1,9 @@ + + + + + + +]> + diff --git a/libxml2/result/ent6hex.rde b/libxml2/result/ent6hex.rde new file mode 100644 index 0000000..9b0a34d --- /dev/null +++ b/libxml2/result/ent6hex.rde @@ -0,0 +1,2 @@ +0 10 doc 0 0 +0 1 doc 1 0 diff --git a/libxml2/result/ent6hex.rdr b/libxml2/result/ent6hex.rdr new file mode 100644 index 0000000..9b0a34d --- /dev/null +++ b/libxml2/result/ent6hex.rdr @@ -0,0 +1,2 @@ +0 10 doc 0 0 +0 1 doc 1 0 diff --git a/libxml2/result/ent6hex.sax b/libxml2/result/ent6hex.sax new file mode 100644 index 0000000..df844cd --- /dev/null +++ b/libxml2/result/ent6hex.sax @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(lt, 1, (null), (null), <) +SAX.getEntity(lt) +SAX.entityDecl(gt, 1, (null), (null), >) +SAX.getEntity(gt) +SAX.entityDecl(amp, 1, (null), (null), &) +SAX.getEntity(amp) +SAX.entityDecl(apos, 1, (null), (null), ') +SAX.getEntity(apos) +SAX.entityDecl(quot, 1, (null), (null), ") +SAX.getEntity(quot) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/ent6hex.sax2 b/libxml2/result/ent6hex.sax2 new file mode 100644 index 0000000..6c9df2e --- /dev/null +++ b/libxml2/result/ent6hex.sax2 @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(lt, 1, (null), (null), <) +SAX.getEntity(lt) +SAX.entityDecl(gt, 1, (null), (null), >) +SAX.getEntity(gt) +SAX.entityDecl(amp, 1, (null), (null), &) +SAX.getEntity(amp) +SAX.entityDecl(apos, 1, (null), (null), ') +SAX.getEntity(apos) +SAX.entityDecl(quot, 1, (null), (null), ") +SAX.getEntity(quot) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/ent7 b/libxml2/result/ent7 new file mode 100644 index 0000000..f46d8bb --- /dev/null +++ b/libxml2/result/ent7 @@ -0,0 +1,8 @@ + +"> + + + +]> +'they called me &sampleEnt;' diff --git a/libxml2/result/ent7.rde b/libxml2/result/ent7.rde new file mode 100644 index 0000000..fa74b0f --- /dev/null +++ b/libxml2/result/ent7.rde @@ -0,0 +1,6 @@ +0 10 item 0 0 +0 1 item 0 0 +1 1 para 0 0 +2 3 #text 0 1 'they called me the hyacinth girl' +1 15 para 0 0 +0 15 item 0 0 diff --git a/libxml2/result/ent7.rdr b/libxml2/result/ent7.rdr new file mode 100644 index 0000000..937a848 --- /dev/null +++ b/libxml2/result/ent7.rdr @@ -0,0 +1,8 @@ +0 10 item 0 0 +0 1 item 0 0 +1 1 para 0 0 +2 3 #text 0 1 'they called me +2 5 sampleEnt 0 0 +2 3 #text 0 1 ' +1 15 para 0 0 +0 15 item 0 0 diff --git a/libxml2/result/ent7.sax b/libxml2/result/ent7.sax new file mode 100644 index 0000000..40c64eb --- /dev/null +++ b/libxml2/result/ent7.sax @@ -0,0 +1,21 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(item, , ) +SAX.entityDecl(sampleEnt, 4, (null), (null), ) +SAX.getParameterEntity(sampleEnt) +SAX.entityDecl(sampleEnt, 1, (null), (null), the hyacinth girl) +SAX.getEntity(sampleEnt) +SAX.getParameterEntity(sampleEnt) +SAX.elementDecl(item, 4, ...) +SAX.elementDecl(para, 3, ...) +SAX.externalSubset(item, , ) +SAX.startElement(item) +SAX.startElement(para) +SAX.characters('they called me , 16) +SAX.getEntity(sampleEnt) +SAX.characters(the hyacinth girl, 17) +SAX.reference(sampleEnt) +SAX.characters(', 1) +SAX.endElement(para) +SAX.endElement(item) +SAX.endDocument() diff --git a/libxml2/result/ent7.sax2 b/libxml2/result/ent7.sax2 new file mode 100644 index 0000000..ddd9c4a --- /dev/null +++ b/libxml2/result/ent7.sax2 @@ -0,0 +1,21 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(item, , ) +SAX.entityDecl(sampleEnt, 4, (null), (null), ) +SAX.getParameterEntity(sampleEnt) +SAX.entityDecl(sampleEnt, 1, (null), (null), the hyacinth girl) +SAX.getEntity(sampleEnt) +SAX.getParameterEntity(sampleEnt) +SAX.elementDecl(item, 4, ...) +SAX.elementDecl(para, 3, ...) +SAX.externalSubset(item, , ) +SAX.startElementNs(item, NULL, NULL, 0, 0, 0) +SAX.startElementNs(para, NULL, NULL, 0, 0, 0) +SAX.characters('they called me , 16) +SAX.getEntity(sampleEnt) +SAX.characters(the hyacinth girl, 17) +SAX.reference(sampleEnt) +SAX.characters(', 1) +SAX.endElementNs(para, NULL, NULL) +SAX.endElementNs(item, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/ent8 b/libxml2/result/ent8 new file mode 100644 index 0000000..86e6c30 --- /dev/null +++ b/libxml2/result/ent8 @@ -0,0 +1,10 @@ + + + +]> + + Retenção + <> + &test1;&test2; + diff --git a/libxml2/result/ent8.rde b/libxml2/result/ent8.rde new file mode 100644 index 0000000..fb87667 --- /dev/null +++ b/libxml2/result/ent8.rde @@ -0,0 +1,20 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 Content 0 0 +2 3 #text 0 1 Retenção +1 15 Content 0 0 +1 14 #text 0 1 + +1 1 Content 0 0 +2 3 #text 0 1 <> +1 15 Content 0 0 +1 14 #text 0 1 + +1 1 Content 0 0 +2 3 #text 0 1 test 1test 2 +1 15 Content 0 0 +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/libxml2/result/ent8.rdr b/libxml2/result/ent8.rdr new file mode 100644 index 0000000..0977e90 --- /dev/null +++ b/libxml2/result/ent8.rdr @@ -0,0 +1,21 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 Content 0 0 +2 3 #text 0 1 Retenção +1 15 Content 0 0 +1 14 #text 0 1 + +1 1 Content 0 0 +2 3 #text 0 1 <> +1 15 Content 0 0 +1 14 #text 0 1 + +1 1 Content 0 0 +2 5 test1 0 0 +2 5 test2 0 0 +1 15 Content 0 0 +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/libxml2/result/ent8.sax b/libxml2/result/ent8.sax new file mode 100644 index 0000000..4639441 --- /dev/null +++ b/libxml2/result/ent8.sax @@ -0,0 +1,37 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(test1, 1, (null), (null), test 1) +SAX.getEntity(test1) +SAX.entityDecl(test2, 1, (null), (null), test 2) +SAX.getEntity(test2) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.characters( + , 4) +SAX.startElement(Content) +SAX.characters(Reten, 5) +SAX.characters(ç, 2) +SAX.characters(ã, 2) +SAX.characters(o, 1) +SAX.endElement(Content) +SAX.characters( + , 4) +SAX.startElement(Content) +SAX.characters(<, 1) +SAX.characters(>, 1) +SAX.endElement(Content) +SAX.characters( + , 4) +SAX.startElement(Content) +SAX.getEntity(test1) +SAX.characters(test 1, 6) +SAX.reference(test1) +SAX.getEntity(test2) +SAX.characters(test 2, 6) +SAX.reference(test2) +SAX.endElement(Content) +SAX.characters( +, 1) +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/ent8.sax2 b/libxml2/result/ent8.sax2 new file mode 100644 index 0000000..301f9a4 --- /dev/null +++ b/libxml2/result/ent8.sax2 @@ -0,0 +1,37 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(test1, 1, (null), (null), test 1) +SAX.getEntity(test1) +SAX.entityDecl(test2, 1, (null), (null), test 2) +SAX.getEntity(test2) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( + , 4) +SAX.startElementNs(Content, NULL, NULL, 0, 0, 0) +SAX.characters(Reten, 5) +SAX.characters(ç, 2) +SAX.characters(ã, 2) +SAX.characters(o, 1) +SAX.endElementNs(Content, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(Content, NULL, NULL, 0, 0, 0) +SAX.characters(<, 1) +SAX.characters(>, 1) +SAX.endElementNs(Content, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(Content, NULL, NULL, 0, 0, 0) +SAX.getEntity(test1) +SAX.characters(test 1, 6) +SAX.reference(test1) +SAX.getEntity(test2) +SAX.characters(test 2, 6) +SAX.reference(test2) +SAX.endElementNs(Content, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/ent9 b/libxml2/result/ent9 new file mode 100644 index 0000000..1ce3089 --- /dev/null +++ b/libxml2/result/ent9 @@ -0,0 +1,61 @@ + +,,,"> +]> + + &test1; +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    + &test1; +
    diff --git a/libxml2/result/ent9.rde b/libxml2/result/ent9.rde new file mode 100644 index 0000000..8cf218e --- /dev/null +++ b/libxml2/result/ent9.rde @@ -0,0 +1,292 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 ent 0 0 +2 1 a 1 0 +2 3 #text 0 1 , +2 1 b 1 0 +2 3 #text 0 1 , +2 1 c 1 0 +2 3 #text 0 1 , +2 1 d 1 0 +1 15 ent 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 ent 0 0 +2 1 a 1 0 +2 3 #text 0 1 , +2 1 b 1 0 +2 3 #text 0 1 , +2 1 c 1 0 +2 3 #text 0 1 , +2 1 d 1 0 +1 15 ent 0 0 +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/libxml2/result/ent9.rdr b/libxml2/result/ent9.rdr new file mode 100644 index 0000000..42f8a5f --- /dev/null +++ b/libxml2/result/ent9.rdr @@ -0,0 +1,280 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 ent 0 0 +2 5 test1 0 0 +1 15 ent 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 ent 0 0 +2 5 test1 0 0 +1 15 ent 0 0 +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/libxml2/result/ent9.sax b/libxml2/result/ent9.sax new file mode 100644 index 0000000..aca2ad1 --- /dev/null +++ b/libxml2/result/ent9.sax @@ -0,0 +1,310 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(test1, 1, (null), (null), ,,,) +SAX.getEntity(test1) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.characters( + , 4) +SAX.startElement(ent) +SAX.getEntity(test1) +SAX.startElement(a) +SAX.endElement(a) +SAX.characters(,, 1) +SAX.startElement(b) +SAX.endElement(b) +SAX.characters(,, 1) +SAX.startElement(c) +SAX.endElement(c) +SAX.characters(,, 1) +SAX.startElement(d) +SAX.endElement(d) +SAX.reference(test1) +SAX.endElement(ent) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(ent) +SAX.getEntity(test1) +SAX.startElement(a) +SAX.endElement(a) +SAX.characters(,, 1) +SAX.startElement(b) +SAX.endElement(b) +SAX.characters(,, 1) +SAX.startElement(c) +SAX.endElement(c) +SAX.characters(,, 1) +SAX.startElement(d) +SAX.endElement(d) +SAX.reference(test1) +SAX.endElement(ent) +SAX.characters( +, 1) +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/ent9.sax2 b/libxml2/result/ent9.sax2 new file mode 100644 index 0000000..439dcfc --- /dev/null +++ b/libxml2/result/ent9.sax2 @@ -0,0 +1,310 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(test1, 1, (null), (null), ,,,) +SAX.getEntity(test1) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( + , 4) +SAX.startElementNs(ent, NULL, NULL, 0, 0, 0) +SAX.getEntity(test1) +SAX.startElementNs(a, NULL, NULL, 0, 0, 0) +SAX.endElementNs(a, NULL, NULL) +SAX.characters(,, 1) +SAX.startElementNs(b, NULL, NULL, 0, 0, 0) +SAX.endElementNs(b, NULL, NULL) +SAX.characters(,, 1) +SAX.startElementNs(c, NULL, NULL, 0, 0, 0) +SAX.endElementNs(c, NULL, NULL) +SAX.characters(,, 1) +SAX.startElementNs(d, NULL, NULL, 0, 0, 0) +SAX.endElementNs(d, NULL, NULL) +SAX.reference(test1) +SAX.endElementNs(ent, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(ent, NULL, NULL, 0, 0, 0) +SAX.getEntity(test1) +SAX.startElementNs(a, NULL, NULL, 0, 0, 0) +SAX.endElementNs(a, NULL, NULL) +SAX.characters(,, 1) +SAX.startElementNs(b, NULL, NULL, 0, 0, 0) +SAX.endElementNs(b, NULL, NULL) +SAX.characters(,, 1) +SAX.startElementNs(c, NULL, NULL, 0, 0, 0) +SAX.endElementNs(c, NULL, NULL) +SAX.characters(,, 1) +SAX.startElementNs(d, NULL, NULL, 0, 0, 0) +SAX.endElementNs(d, NULL, NULL) +SAX.reference(test1) +SAX.endElementNs(ent, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/ent_738805.xml b/libxml2/result/ent_738805.xml new file mode 100644 index 0000000..d285eee --- /dev/null +++ b/libxml2/result/ent_738805.xml @@ -0,0 +1,15 @@ + + + +]> + + + + +&a; should appear after colon: &a; +&b; should appear after colon: &a; +&a; should appear after colon: &b; +&b; should appear after colon: &b; + + diff --git a/libxml2/result/ent_738805.xml.rde b/libxml2/result/ent_738805.xml.rde new file mode 100644 index 0000000..fa086fe --- /dev/null +++ b/libxml2/result/ent_738805.xml.rde @@ -0,0 +1,15 @@ +0 10 somedoc 0 0 +0 1 somedoc 0 0 +1 14 #text 0 1 + + +1 1 somebeacon 1 0 +1 3 #text 0 1 + +something should appear after colon: something +something should appear after colon: something +something should appear after colon: something +something should appear after colon: something + + +0 15 somedoc 0 0 diff --git a/libxml2/result/ent_738805.xml.rdr b/libxml2/result/ent_738805.xml.rdr new file mode 100644 index 0000000..c52dbf1 --- /dev/null +++ b/libxml2/result/ent_738805.xml.rdr @@ -0,0 +1,31 @@ +0 10 somedoc 0 0 +0 1 somedoc 0 0 +1 14 #text 0 1 + + +1 1 somebeacon 1 0 +1 14 #text 0 1 + + +1 5 a 0 0 +1 3 #text 0 1 should appear after colon: +1 5 a 0 0 +1 14 #text 0 1 + +1 5 b 0 0 +1 3 #text 0 1 should appear after colon: +1 5 a 0 0 +1 14 #text 0 1 + +1 5 a 0 0 +1 3 #text 0 1 should appear after colon: +1 5 b 0 0 +1 14 #text 0 1 + +1 5 b 0 0 +1 3 #text 0 1 should appear after colon: +1 5 b 0 0 +1 14 #text 0 1 + + +0 15 somedoc 0 0 diff --git a/libxml2/result/ent_738805.xml.sax b/libxml2/result/ent_738805.xml.sax new file mode 100644 index 0000000..2649117 --- /dev/null +++ b/libxml2/result/ent_738805.xml.sax @@ -0,0 +1,66 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(somedoc, , ) +SAX.entityDecl(a, 1, (null), (null), something) +SAX.getEntity(a) +SAX.entityDecl(b, 1, (null), (null), &a;) +SAX.getEntity(b) +SAX.externalSubset(somedoc, , ) +SAX.startElement(somedoc) +SAX.characters( + +, 2) +SAX.getEntity(b) +SAX.getEntity(a) +SAX.startElement(somebeacon, someattribute='&b;') +SAX.endElement(somebeacon) +SAX.characters( + +, 2) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.reference(a) +SAX.characters( should appear after colon: , 28) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.reference(a) +SAX.characters( +, 1) +SAX.getEntity(b) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.reference(a) +SAX.reference(b) +SAX.characters( should appear after colon: , 28) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.reference(a) +SAX.characters( +, 1) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.reference(a) +SAX.characters( should appear after colon: , 28) +SAX.getEntity(b) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.reference(a) +SAX.reference(b) +SAX.characters( +, 1) +SAX.getEntity(b) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.reference(a) +SAX.reference(b) +SAX.characters( should appear after colon: , 28) +SAX.getEntity(b) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.reference(a) +SAX.reference(b) +SAX.characters( + +, 2) +SAX.endElement(somedoc) +SAX.endDocument() diff --git a/libxml2/result/ent_738805.xml.sax2 b/libxml2/result/ent_738805.xml.sax2 new file mode 100644 index 0000000..1eae781 --- /dev/null +++ b/libxml2/result/ent_738805.xml.sax2 @@ -0,0 +1,66 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(somedoc, , ) +SAX.entityDecl(a, 1, (null), (null), something) +SAX.getEntity(a) +SAX.entityDecl(b, 1, (null), (null), &a;) +SAX.getEntity(b) +SAX.externalSubset(somedoc, , ) +SAX.startElementNs(somedoc, NULL, NULL, 0, 0, 0) +SAX.characters( + +, 2) +SAX.getEntity(b) +SAX.getEntity(a) +SAX.startElementNs(somebeacon, NULL, NULL, 0, 1, 0, someattribute='&b;...', 3) +SAX.endElementNs(somebeacon, NULL, NULL) +SAX.characters( + +, 2) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.reference(a) +SAX.characters( should appear after colon: , 28) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.reference(a) +SAX.characters( +, 1) +SAX.getEntity(b) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.reference(a) +SAX.reference(b) +SAX.characters( should appear after colon: , 28) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.reference(a) +SAX.characters( +, 1) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.reference(a) +SAX.characters( should appear after colon: , 28) +SAX.getEntity(b) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.reference(a) +SAX.reference(b) +SAX.characters( +, 1) +SAX.getEntity(b) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.reference(a) +SAX.reference(b) +SAX.characters( should appear after colon: , 28) +SAX.getEntity(b) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.reference(a) +SAX.reference(b) +SAX.characters( + +, 2) +SAX.endElementNs(somedoc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/entity-in-ns-uri.xml b/libxml2/result/entity-in-ns-uri.xml new file mode 100644 index 0000000..87655b0 --- /dev/null +++ b/libxml2/result/entity-in-ns-uri.xml @@ -0,0 +1,8 @@ + + +]> + + + + diff --git a/libxml2/result/entity-in-ns-uri.xml.rde b/libxml2/result/entity-in-ns-uri.xml.rde new file mode 100644 index 0000000..aa228df --- /dev/null +++ b/libxml2/result/entity-in-ns-uri.xml.rde @@ -0,0 +1,11 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 e 1 0 +1 14 #text 0 1 + +1 1 e 1 0 +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/libxml2/result/entity-in-ns-uri.xml.rdr b/libxml2/result/entity-in-ns-uri.xml.rdr new file mode 100644 index 0000000..aa228df --- /dev/null +++ b/libxml2/result/entity-in-ns-uri.xml.rdr @@ -0,0 +1,11 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 e 1 0 +1 14 #text 0 1 + +1 1 e 1 0 +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/libxml2/result/entity-in-ns-uri.xml.sax b/libxml2/result/entity-in-ns-uri.xml.sax new file mode 100644 index 0000000..e06eabd --- /dev/null +++ b/libxml2/result/entity-in-ns-uri.xml.sax @@ -0,0 +1,21 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(e, 1, (null), (null), -) +SAX.getEntity(e) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.characters( + , 5) +SAX.getEntity(e) +SAX.startElement(e, xmlns='foo:x&x&x'x&e;x') +SAX.endElement(e) +SAX.characters( + , 5) +SAX.getEntity(e) +SAX.startElement(e, xmlns:ns='foo:x&x&x'x&e;x') +SAX.endElement(e) +SAX.characters( +, 1) +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/entity-in-ns-uri.xml.sax2 b/libxml2/result/entity-in-ns-uri.xml.sax2 new file mode 100644 index 0000000..13b2547 --- /dev/null +++ b/libxml2/result/entity-in-ns-uri.xml.sax2 @@ -0,0 +1,21 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(e, 1, (null), (null), -) +SAX.getEntity(e) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.getEntity(e) +SAX.startElementNs(e, NULL, 'foo:x&x&x'x-x', 1, xmlns='foo:x&x&x'x-x', 0, 0) +SAX.endElementNs(e, NULL, 'foo:x&x&x'x-x') +SAX.characters( + , 5) +SAX.getEntity(e) +SAX.startElementNs(e, NULL, NULL, 1, xmlns:ns='foo:x&x&x'x-x', 0, 0) +SAX.endElementNs(e, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/errors/754946.xml.ent b/libxml2/result/errors/754946.xml.ent new file mode 100644 index 0000000..066ac62 --- /dev/null +++ b/libxml2/result/errors/754946.xml.ent @@ -0,0 +1,9 @@ +./test/errors/754946.xml:3: parser error : Content error in the internal subset + %SYSTEM; + ^ +Entity: line 1: +A' +2597946867209384634725979468672093846347259794686720938463472597946867261d:a>' +2597946867209384634725979468672093846347259794686720938463472597946867261d:a>' +2597946867209384634725979468672093846347259794686720938463472597946867261d:a> + ^ diff --git a/libxml2/result/errors/759398.xml.err b/libxml2/result/errors/759398.xml.err new file mode 100644 index 0000000..c3f4df4 --- /dev/null +++ b/libxml2/result/errors/759398.xml.err @@ -0,0 +1,9 @@ +./test/errors/759398.xml:210: parser error : StartTag: invalid element name +need to worry about parsers whi + ^ diff --git a/libxml2/result/errors/759398.xml.str b/libxml2/result/errors/759398.xml.str new file mode 100644 index 0000000..8e37d69 --- /dev/null +++ b/libxml2/result/errors/759398.xml.str @@ -0,0 +1,4 @@ +./test/errors/759398.xml:210: parser error : StartTag: invalid element name +need to worry about parsers whi + ^ +Entity: line 1: parser error : xmlParseEntityDecl: no name +%zz; + ^ +Entity: line 1: + + ^ +Entity: line 1: parser error : ParsePI: PI xDOCTYPEm space expected +%zz; + ^ +Entity: line 1: + + ^ +./test/errors/759573-2.xml:6: parser error : Content error in the internal subset +%xx; + ^ +Entity: line 1: + + ^ +Entity: line 1: parser error : xmlParseEntityDecl: no name +%zz; + ^ +Entity: line 1: + + ^ +Entity: line 1: parser error : ParsePI: PI xDOCTYPEm space expected +%zz; + ^ +Entity: line 1: + + ^ +./test/errors/759573-2.xml:6: parser error : Content error in the internal subset +%xx; + ^ +Entity: line 1: + + ^ +Entity: line 1: parser error : xmlParseEntityDecl: no name +%zz; + ^ +Entity: line 1: + + ^ +Entity: line 1: parser error : ParsePI: PI xDOCTYPEm space expected +%zz; + ^ +Entity: line 1: + + ^ +./test/errors/759573-2.xml:6: parser error : Content error in the internal subset +%xx; + ^ +Entity: line 1: +%xx; + ^ +./test/errors/759573.xml:1: parser error : Content error in the internal subset +T t (A)>%xx; + ^ diff --git a/libxml2/result/errors/759573.xml.err b/libxml2/result/errors/759573.xml.err new file mode 100644 index 0000000..e403ab4 --- /dev/null +++ b/libxml2/result/errors/759573.xml.err @@ -0,0 +1,18 @@ +./test/errors/759573.xml:1: parser error : Space required after 'DOCTYPE' +%xx; + ^ +./test/errors/759573.xml:1: parser error : Content error in the internal subset +T t (A)>%xx; + ^ diff --git a/libxml2/result/errors/759573.xml.str b/libxml2/result/errors/759573.xml.str new file mode 100644 index 0000000..459431d --- /dev/null +++ b/libxml2/result/errors/759573.xml.str @@ -0,0 +1,4 @@ +./test/errors/759573.xml:1: parser error : Space required after 'DOCTYPE' + + + +]> + diff --git a/libxml2/result/errors/attr4.xml.ent b/libxml2/result/errors/attr4.xml.ent new file mode 100644 index 0000000..4320586 --- /dev/null +++ b/libxml2/result/errors/attr4.xml.ent @@ -0,0 +1,3 @@ +./test/errors/attr4.xml:1: parser error : invalid character in attribute value + + ^ diff --git a/libxml2/result/errors/attr4.xml.err b/libxml2/result/errors/attr4.xml.err new file mode 100644 index 0000000..4320586 --- /dev/null +++ b/libxml2/result/errors/attr4.xml.err @@ -0,0 +1,3 @@ +./test/errors/attr4.xml:1: parser error : invalid character in attribute value + + ^ diff --git a/libxml2/result/errors/attr4.xml.str b/libxml2/result/errors/attr4.xml.str new file mode 100644 index 0000000..45c722b --- /dev/null +++ b/libxml2/result/errors/attr4.xml.str @@ -0,0 +1,4 @@ +./test/errors/attr4.xml:1: parser error : invalid character in attribute value + + ^ +./test/errors/attr4.xml : failed to parse diff --git a/libxml2/result/errors/attr5.xml.ent b/libxml2/result/errors/attr5.xml.ent new file mode 100644 index 0000000..b1f524f --- /dev/null +++ b/libxml2/result/errors/attr5.xml.ent @@ -0,0 +1,3 @@ +./test/errors/attr5.xml:2: parser error : Attribute b redefined + + ^ diff --git a/libxml2/result/errors/attr5.xml.err b/libxml2/result/errors/attr5.xml.err new file mode 100644 index 0000000..b1f524f --- /dev/null +++ b/libxml2/result/errors/attr5.xml.err @@ -0,0 +1,3 @@ +./test/errors/attr5.xml:2: parser error : Attribute b redefined + + ^ diff --git a/libxml2/result/errors/attr5.xml.str b/libxml2/result/errors/attr5.xml.str new file mode 100644 index 0000000..9a73951 --- /dev/null +++ b/libxml2/result/errors/attr5.xml.str @@ -0,0 +1,4 @@ +./test/errors/attr5.xml:2: parser error : Attribute b redefined + + ^ +./test/errors/attr5.xml : failed to parse diff --git a/libxml2/result/errors/attr6.xml.ent b/libxml2/result/errors/attr6.xml.ent new file mode 100644 index 0000000..96c7a24 --- /dev/null +++ b/libxml2/result/errors/attr6.xml.ent @@ -0,0 +1,60 @@ +./test/errors/attr6.xml:3: parser error : Attribute c:db redefined +"" d:em="" d:bw="" b:bb="" b:ey="" c:cd="" a:ce="" b:ah="" c:am="" cq="" c:db="" + ^ +./test/errors/attr6.xml:4: parser error : Attribute d:do redefined + c:ba="" b:bj="" a:bn="" c:fd="" c:fe="" a:dh="" b:ef="" d:do="" b:da="" a:cv="" + ^ +./test/errors/attr6.xml:7: parser error : Attribute bu redefined +r="" b:fe="" dc="" d:cx="" d:ce="" b:fg="" d:dw="" d:cy="" ap="" a:ek="" c:ee="" + ^ +./test/errors/attr6.xml:8: parser error : Attribute c:ae redefined +a="" b:dk="" a:cl="" d:bd="" d:bh="" bv="" c:fc="" d:bx="" d:bf="" d:cq="" dz="" + ^ +./test/errors/attr6.xml:15: parser error : Attribute c:cy redefined +"" a:ey="" a:be="" c:df="" b:ej="" a:cv="" c:ds="" d:bx="" c:cd="" eo="" a:fi="" + ^ +./test/errors/attr6.xml:17: parser error : Attribute bt redefined +"" b:aa="" a:aj="" c:cp="" a:ck="" b:fi="" a:fj="" aw="" d:df="" d:ct="" d:fg="" + ^ +./test/errors/attr6.xml:19: parser error : Attribute aa redefined + b:fi="" b:ey="" a:cv="" b:ag="" b:du="" a:az="" a:fg="" b:cr="" d:bd="" d:eu="" + ^ +./test/errors/attr6.xml:19: parser error : Attribute d:cy redefined + b:fi="" b:ey="" a:cv="" b:ag="" b:du="" a:az="" a:fg="" b:cr="" d:bd="" d:eu="" + ^ +./test/errors/attr6.xml:27: parser error : Attribute dw redefined +"" d:ax="" bw="" d:as="" b:eh="" a:cw="" b:cy="" d:ed="" b:do="" b:bx="" a:bo="" + ^ +./test/errors/attr6.xml:27: parser error : Attribute d:du redefined +"" d:ax="" bw="" d:as="" b:eh="" a:cw="" b:cy="" d:ed="" b:do="" b:bx="" a:bo="" + ^ +./test/errors/attr6.xml:29: parser error : Attribute b:cb redefined + a:cu="" c:eu="" fe="" d:ac="" d:bl="" c:dr="" co="" c:bn="" cf="" b:cw="" ew="" + ^ +./test/errors/attr6.xml:36: parser error : Attribute ay redefined + b:cv="" d:bi="" b:fl="" fe="" b:am="" c:fm="" c:di="" bs="" dc="" b:bm="" es="" + ^ +./test/errors/attr6.xml:41: parser error : Attribute au redefined +t="" d:ew="" d:ek="" a:bu="" b:dc="" d:ab="" cj="" d:bj="" a:bg="" a:da="" ac="" + ^ +./test/errors/attr6.xml:43: parser error : Attribute em redefined +p="" d:cv="" bh="" c:dy="" c:eq="" b:am="" b:ed="" b:co="" a:ew="" c:av="" ad="" + ^ +./test/errors/attr6.xml:45: parser error : Attribute cr redefined +:ax="" bc="" d:br="" b:aq="" a:dn="" d:fa="" d:cb="" d:bo="" ds="" ad="" c:cg="" + ^ +./test/errors/attr6.xml:45: parser error : Attribute a:az redefined +:ax="" bc="" d:br="" b:aq="" a:dn="" d:fa="" d:cb="" d:bo="" ds="" ad="" c:cg="" + ^ +./test/errors/attr6.xml:46: parser error : Attribute a:cy redefined +x="" b:cr="" d:ca="" c:em="" d:es="" a:du="" cc="" c:ci="" b:dt="" d:fm="" bb="" + ^ +./test/errors/attr6.xml:47: parser error : Attribute d:cs redefined +"" a:ea="" c:en="" c:cv="" c:eq="" c:fk="" ax="" a:az="" a:fd="" d:cw="" d:cs="" + ^ +./test/errors/attr6.xml:49: parser error : Attribute a:dv redefined +y="" dg="" a:dp="" d:ai="" a:ea="" b:eq="" b:ei="" d:ar="" cp="" a:fe="" a:cv="" + ^ +./test/errors/attr6.xml:50: parser error : Attribute b:do redefined +"" a:el="" b:fe="" cy="" d:cq="" c:eo="" a:cg="" a:dh="" b:eu="" a:cp="" a:fk="" + ^ diff --git a/libxml2/result/errors/attr6.xml.err b/libxml2/result/errors/attr6.xml.err new file mode 100644 index 0000000..96c7a24 --- /dev/null +++ b/libxml2/result/errors/attr6.xml.err @@ -0,0 +1,60 @@ +./test/errors/attr6.xml:3: parser error : Attribute c:db redefined +"" d:em="" d:bw="" b:bb="" b:ey="" c:cd="" a:ce="" b:ah="" c:am="" cq="" c:db="" + ^ +./test/errors/attr6.xml:4: parser error : Attribute d:do redefined + c:ba="" b:bj="" a:bn="" c:fd="" c:fe="" a:dh="" b:ef="" d:do="" b:da="" a:cv="" + ^ +./test/errors/attr6.xml:7: parser error : Attribute bu redefined +r="" b:fe="" dc="" d:cx="" d:ce="" b:fg="" d:dw="" d:cy="" ap="" a:ek="" c:ee="" + ^ +./test/errors/attr6.xml:8: parser error : Attribute c:ae redefined +a="" b:dk="" a:cl="" d:bd="" d:bh="" bv="" c:fc="" d:bx="" d:bf="" d:cq="" dz="" + ^ +./test/errors/attr6.xml:15: parser error : Attribute c:cy redefined +"" a:ey="" a:be="" c:df="" b:ej="" a:cv="" c:ds="" d:bx="" c:cd="" eo="" a:fi="" + ^ +./test/errors/attr6.xml:17: parser error : Attribute bt redefined +"" b:aa="" a:aj="" c:cp="" a:ck="" b:fi="" a:fj="" aw="" d:df="" d:ct="" d:fg="" + ^ +./test/errors/attr6.xml:19: parser error : Attribute aa redefined + b:fi="" b:ey="" a:cv="" b:ag="" b:du="" a:az="" a:fg="" b:cr="" d:bd="" d:eu="" + ^ +./test/errors/attr6.xml:19: parser error : Attribute d:cy redefined + b:fi="" b:ey="" a:cv="" b:ag="" b:du="" a:az="" a:fg="" b:cr="" d:bd="" d:eu="" + ^ +./test/errors/attr6.xml:27: parser error : Attribute dw redefined +"" d:ax="" bw="" d:as="" b:eh="" a:cw="" b:cy="" d:ed="" b:do="" b:bx="" a:bo="" + ^ +./test/errors/attr6.xml:27: parser error : Attribute d:du redefined +"" d:ax="" bw="" d:as="" b:eh="" a:cw="" b:cy="" d:ed="" b:do="" b:bx="" a:bo="" + ^ +./test/errors/attr6.xml:29: parser error : Attribute b:cb redefined + a:cu="" c:eu="" fe="" d:ac="" d:bl="" c:dr="" co="" c:bn="" cf="" b:cw="" ew="" + ^ +./test/errors/attr6.xml:36: parser error : Attribute ay redefined + b:cv="" d:bi="" b:fl="" fe="" b:am="" c:fm="" c:di="" bs="" dc="" b:bm="" es="" + ^ +./test/errors/attr6.xml:41: parser error : Attribute au redefined +t="" d:ew="" d:ek="" a:bu="" b:dc="" d:ab="" cj="" d:bj="" a:bg="" a:da="" ac="" + ^ +./test/errors/attr6.xml:43: parser error : Attribute em redefined +p="" d:cv="" bh="" c:dy="" c:eq="" b:am="" b:ed="" b:co="" a:ew="" c:av="" ad="" + ^ +./test/errors/attr6.xml:45: parser error : Attribute cr redefined +:ax="" bc="" d:br="" b:aq="" a:dn="" d:fa="" d:cb="" d:bo="" ds="" ad="" c:cg="" + ^ +./test/errors/attr6.xml:45: parser error : Attribute a:az redefined +:ax="" bc="" d:br="" b:aq="" a:dn="" d:fa="" d:cb="" d:bo="" ds="" ad="" c:cg="" + ^ +./test/errors/attr6.xml:46: parser error : Attribute a:cy redefined +x="" b:cr="" d:ca="" c:em="" d:es="" a:du="" cc="" c:ci="" b:dt="" d:fm="" bb="" + ^ +./test/errors/attr6.xml:47: parser error : Attribute d:cs redefined +"" a:ea="" c:en="" c:cv="" c:eq="" c:fk="" ax="" a:az="" a:fd="" d:cw="" d:cs="" + ^ +./test/errors/attr6.xml:49: parser error : Attribute a:dv redefined +y="" dg="" a:dp="" d:ai="" a:ea="" b:eq="" b:ei="" d:ar="" cp="" a:fe="" a:cv="" + ^ +./test/errors/attr6.xml:50: parser error : Attribute b:do redefined +"" a:el="" b:fe="" cy="" d:cq="" c:eo="" a:cg="" a:dh="" b:eu="" a:cp="" a:fk="" + ^ diff --git a/libxml2/result/errors/attr6.xml.str b/libxml2/result/errors/attr6.xml.str new file mode 100644 index 0000000..556e949 --- /dev/null +++ b/libxml2/result/errors/attr6.xml.str @@ -0,0 +1,4 @@ +./test/errors/attr6.xml:3: parser error : Attribute c:db redefined +"" d:em="" d:bw="" b:bb="" b:ey="" c:cd="" a:ce="" b:ah="" c:am="" cq="" c:db="" + ^ +./test/errors/attr6.xml : failed to parse diff --git a/libxml2/result/errors/cdata.xml.ent b/libxml2/result/errors/cdata.xml.ent new file mode 100644 index 0000000..73ae306 --- /dev/null +++ b/libxml2/result/errors/cdata.xml.ent @@ -0,0 +1,4 @@ +./test/errors/cdata.xml:2: I/O error : Invalid bytes in character encoding +Bytes: 0xE1 0x72 0x5D 0x5D +� + ^ diff --git a/libxml2/result/errors/charref1.xml.err b/libxml2/result/errors/charref1.xml.err new file mode 100644 index 0000000..dbf3005 --- /dev/null +++ b/libxml2/result/errors/charref1.xml.err @@ -0,0 +1,3 @@ +./test/errors/charref1.xml:1: parser error : xmlParseCharRef: character reference out of bounds + + ^ diff --git a/libxml2/result/errors/charref1.xml.str b/libxml2/result/errors/charref1.xml.str new file mode 100644 index 0000000..692f614 --- /dev/null +++ b/libxml2/result/errors/charref1.xml.str @@ -0,0 +1,4 @@ +./test/errors/charref1.xml:1: parser error : xmlParseCharRef: character reference out of bounds + + ^ +./test/errors/charref1.xml : failed to parse diff --git a/libxml2/result/errors/comment1.xml.ent b/libxml2/result/errors/comment1.xml.ent new file mode 100644 index 0000000..4eceb6c --- /dev/null +++ b/libxml2/result/errors/comment1.xml.ent @@ -0,0 +1,3 @@ +./test/errors/comment1.xml:5: parser error : xmlParseComment: invalid xmlChar value 14 + in p02:  --> + ^ diff --git a/libxml2/result/errors/comment1.xml.err b/libxml2/result/errors/comment1.xml.err new file mode 100644 index 0000000..4eceb6c --- /dev/null +++ b/libxml2/result/errors/comment1.xml.err @@ -0,0 +1,3 @@ +./test/errors/comment1.xml:5: parser error : xmlParseComment: invalid xmlChar value 14 + in p02:  --> + ^ diff --git a/libxml2/result/errors/comment1.xml.str b/libxml2/result/errors/comment1.xml.str new file mode 100644 index 0000000..494d1ed --- /dev/null +++ b/libxml2/result/errors/comment1.xml.str @@ -0,0 +1,4 @@ +./test/errors/comment1.xml:5: parser error : xmlParseComment: invalid xmlChar value 14 + in p02:  --> + ^ +./test/errors/comment1.xml : failed to parse diff --git a/libxml2/result/errors/content1.xml.ent b/libxml2/result/errors/content1.xml.ent new file mode 100644 index 0000000..ed073ee --- /dev/null +++ b/libxml2/result/errors/content1.xml.ent @@ -0,0 +1,6 @@ +./test/errors/content1.xml:7: parser error : ContentDecl : ',' '|' or ')' expected + + ^ +./test/errors/content1.xml:7: parser error : Content error in the internal subset + + ^ diff --git a/libxml2/result/errors/content1.xml.err b/libxml2/result/errors/content1.xml.err new file mode 100644 index 0000000..ed073ee --- /dev/null +++ b/libxml2/result/errors/content1.xml.err @@ -0,0 +1,6 @@ +./test/errors/content1.xml:7: parser error : ContentDecl : ',' '|' or ')' expected + + ^ +./test/errors/content1.xml:7: parser error : Content error in the internal subset + + ^ diff --git a/libxml2/result/errors/content1.xml.str b/libxml2/result/errors/content1.xml.str new file mode 100644 index 0000000..006df46 --- /dev/null +++ b/libxml2/result/errors/content1.xml.str @@ -0,0 +1,7 @@ +./test/errors/content1.xml:7: parser error : ContentDecl : ',' '|' or ')' expected + + ^ +./test/errors/content1.xml:7: parser error : Content error in the internal subset + + ^ +./test/errors/content1.xml : failed to parse diff --git a/libxml2/result/errors/doctype1.xml.ent b/libxml2/result/errors/doctype1.xml.ent new file mode 100644 index 0000000..71283ea --- /dev/null +++ b/libxml2/result/errors/doctype1.xml.ent @@ -0,0 +1,3 @@ +./test/errors/doctype1.xml:1: parser error : Start tag expected, '<' not found +[]> + ^ diff --git a/libxml2/result/errors/doctype1.xml.err b/libxml2/result/errors/doctype1.xml.err new file mode 100644 index 0000000..71283ea --- /dev/null +++ b/libxml2/result/errors/doctype1.xml.err @@ -0,0 +1,3 @@ +./test/errors/doctype1.xml:1: parser error : Start tag expected, '<' not found +[]> + ^ diff --git a/libxml2/result/errors/doctype1.xml.str b/libxml2/result/errors/doctype1.xml.str new file mode 100644 index 0000000..5e63269 --- /dev/null +++ b/libxml2/result/errors/doctype1.xml.str @@ -0,0 +1,4 @@ +./test/errors/doctype1.xml:1: parser error : Start tag expected, '<' not found +[]> + ^ +./test/errors/doctype1.xml : failed to parse diff --git a/libxml2/result/errors/doctype2.xml.ent b/libxml2/result/errors/doctype2.xml.ent new file mode 100644 index 0000000..ddb4f56 --- /dev/null +++ b/libxml2/result/errors/doctype2.xml.ent @@ -0,0 +1,3 @@ +./test/errors/doctype2.xml:1: parser error : Space required after 'DOCTYPE' + + ^ diff --git a/libxml2/result/errors/doctype2.xml.err b/libxml2/result/errors/doctype2.xml.err new file mode 100644 index 0000000..ddb4f56 --- /dev/null +++ b/libxml2/result/errors/doctype2.xml.err @@ -0,0 +1,3 @@ +./test/errors/doctype2.xml:1: parser error : Space required after 'DOCTYPE' + + ^ diff --git a/libxml2/result/errors/doctype2.xml.str b/libxml2/result/errors/doctype2.xml.str new file mode 100644 index 0000000..1e7f4c2 --- /dev/null +++ b/libxml2/result/errors/doctype2.xml.str @@ -0,0 +1,4 @@ +./test/errors/doctype2.xml:1: parser error : Space required after 'DOCTYPE' + + ^ +./test/errors/doctype2.xml : failed to parse diff --git a/libxml2/result/errors/dup-xml-attr.xml.ent b/libxml2/result/errors/dup-xml-attr.xml.ent new file mode 100644 index 0000000..addb4bb --- /dev/null +++ b/libxml2/result/errors/dup-xml-attr.xml.ent @@ -0,0 +1,3 @@ +./test/errors/dup-xml-attr.xml:1: parser error : Attribute xml:lang redefined + + ^ diff --git a/libxml2/result/errors/dup-xml-attr.xml.err b/libxml2/result/errors/dup-xml-attr.xml.err new file mode 100644 index 0000000..addb4bb --- /dev/null +++ b/libxml2/result/errors/dup-xml-attr.xml.err @@ -0,0 +1,3 @@ +./test/errors/dup-xml-attr.xml:1: parser error : Attribute xml:lang redefined + + ^ diff --git a/libxml2/result/errors/dup-xml-attr.xml.str b/libxml2/result/errors/dup-xml-attr.xml.str new file mode 100644 index 0000000..8dd28e2 --- /dev/null +++ b/libxml2/result/errors/dup-xml-attr.xml.str @@ -0,0 +1,4 @@ +./test/errors/dup-xml-attr.xml:1: parser error : Attribute xml:lang redefined + + ^ +./test/errors/dup-xml-attr.xml : failed to parse diff --git a/libxml2/result/errors/dup-xml-attr2.xml.ent b/libxml2/result/errors/dup-xml-attr2.xml.ent new file mode 100644 index 0000000..ab28d80 --- /dev/null +++ b/libxml2/result/errors/dup-xml-attr2.xml.ent @@ -0,0 +1,9 @@ +./test/errors/dup-xml-attr2.xml:2: namespace error : Namespaced Attribute a in 'urn:a' redefined + + ^ +./test/errors/dup-xml-attr2.xml:2: namespace error : Namespaced Attribute a in 'urn:a' redefined + + ^ +./test/errors/dup-xml-attr2.xml:2: parser error : Attribute b:a redefined + + ^ diff --git a/libxml2/result/errors/dup-xml-attr2.xml.err b/libxml2/result/errors/dup-xml-attr2.xml.err new file mode 100644 index 0000000..ab28d80 --- /dev/null +++ b/libxml2/result/errors/dup-xml-attr2.xml.err @@ -0,0 +1,9 @@ +./test/errors/dup-xml-attr2.xml:2: namespace error : Namespaced Attribute a in 'urn:a' redefined + + ^ +./test/errors/dup-xml-attr2.xml:2: namespace error : Namespaced Attribute a in 'urn:a' redefined + + ^ +./test/errors/dup-xml-attr2.xml:2: parser error : Attribute b:a redefined + + ^ diff --git a/libxml2/result/errors/dup-xml-attr2.xml.str b/libxml2/result/errors/dup-xml-attr2.xml.str new file mode 100644 index 0000000..45dbb9e --- /dev/null +++ b/libxml2/result/errors/dup-xml-attr2.xml.str @@ -0,0 +1,10 @@ +./test/errors/dup-xml-attr2.xml:2: namespace error : Namespaced Attribute a in 'urn:a' redefined + + ^ +./test/errors/dup-xml-attr2.xml:2: namespace error : Namespaced Attribute a in 'urn:a' redefined + + ^ +./test/errors/dup-xml-attr2.xml:2: parser error : Attribute b:a redefined + + ^ +./test/errors/dup-xml-attr2.xml : failed to parse diff --git a/libxml2/result/errors/empty.xml.ent b/libxml2/result/errors/empty.xml.ent new file mode 100644 index 0000000..922ca6f --- /dev/null +++ b/libxml2/result/errors/empty.xml.ent @@ -0,0 +1,3 @@ +./test/errors/empty.xml:1: parser error : Document is empty + +^ diff --git a/libxml2/result/errors/empty.xml.err b/libxml2/result/errors/empty.xml.err new file mode 100644 index 0000000..922ca6f --- /dev/null +++ b/libxml2/result/errors/empty.xml.err @@ -0,0 +1,3 @@ +./test/errors/empty.xml:1: parser error : Document is empty + +^ diff --git a/libxml2/result/errors/empty.xml.str b/libxml2/result/errors/empty.xml.str new file mode 100644 index 0000000..37ef177 --- /dev/null +++ b/libxml2/result/errors/empty.xml.str @@ -0,0 +1,4 @@ +./test/errors/empty.xml:1: parser error : Document is empty + +^ +./test/errors/empty.xml : failed to parse diff --git a/libxml2/result/errors/ent_redecl.xml b/libxml2/result/errors/ent_redecl.xml new file mode 100644 index 0000000..04216b6 --- /dev/null +++ b/libxml2/result/errors/ent_redecl.xml @@ -0,0 +1,3 @@ + + + diff --git a/libxml2/result/errors/ent_redecl.xml.ent b/libxml2/result/errors/ent_redecl.xml.ent new file mode 100644 index 0000000..b517d80 --- /dev/null +++ b/libxml2/result/errors/ent_redecl.xml.ent @@ -0,0 +1,3 @@ +./test/errors/ent_redecl.xml:2: parser warning : Invalid redeclaration of predefined entity 'lt' + + ^ diff --git a/libxml2/result/errors/ent_redecl.xml.err b/libxml2/result/errors/ent_redecl.xml.err new file mode 100644 index 0000000..b517d80 --- /dev/null +++ b/libxml2/result/errors/ent_redecl.xml.err @@ -0,0 +1,3 @@ +./test/errors/ent_redecl.xml:2: parser warning : Invalid redeclaration of predefined entity 'lt' + + ^ diff --git a/libxml2/result/errors/ent_redecl.xml.str b/libxml2/result/errors/ent_redecl.xml.str new file mode 100644 index 0000000..b517d80 --- /dev/null +++ b/libxml2/result/errors/ent_redecl.xml.str @@ -0,0 +1,3 @@ +./test/errors/ent_redecl.xml:2: parser warning : Invalid redeclaration of predefined entity 'lt' + + ^ diff --git a/libxml2/result/errors/extparsedent.xml b/libxml2/result/errors/extparsedent.xml new file mode 100644 index 0000000..07e4c54 --- /dev/null +++ b/libxml2/result/errors/extparsedent.xml @@ -0,0 +1,5 @@ + + +]> +&c; diff --git a/libxml2/result/errors/extparsedent.xml.ent b/libxml2/result/errors/extparsedent.xml.ent new file mode 100644 index 0000000..b86594a --- /dev/null +++ b/libxml2/result/errors/extparsedent.xml.ent @@ -0,0 +1,3 @@ +./test/errors/extparsedent.xml:5: I/O warning : failed to load "/etc/doesnotexist": No such file or directory +&c; + ^ diff --git a/libxml2/result/errors/extra-content.xml.ent b/libxml2/result/errors/extra-content.xml.ent new file mode 100644 index 0000000..7fedc44 --- /dev/null +++ b/libxml2/result/errors/extra-content.xml.ent @@ -0,0 +1,3 @@ +./test/errors/extra-content.xml:1: parser error : Extra content at the end of the document +x + ^ diff --git a/libxml2/result/errors/extra-content.xml.err b/libxml2/result/errors/extra-content.xml.err new file mode 100644 index 0000000..7fedc44 --- /dev/null +++ b/libxml2/result/errors/extra-content.xml.err @@ -0,0 +1,3 @@ +./test/errors/extra-content.xml:1: parser error : Extra content at the end of the document +x + ^ diff --git a/libxml2/result/errors/extra-content.xml.str b/libxml2/result/errors/extra-content.xml.str new file mode 100644 index 0000000..50d8b48 --- /dev/null +++ b/libxml2/result/errors/extra-content.xml.str @@ -0,0 +1,4 @@ +./test/errors/extra-content.xml:1: parser error : Extra content at the end of the document +x + ^ +./test/errors/extra-content.xml : failed to parse diff --git a/libxml2/result/errors/invalid-start-tag-1.xml.ent b/libxml2/result/errors/invalid-start-tag-1.xml.ent new file mode 100644 index 0000000..e48002f --- /dev/null +++ b/libxml2/result/errors/invalid-start-tag-1.xml.ent @@ -0,0 +1,3 @@ +./test/errors/invalid-start-tag-1.xml:1: parser error : Start tag expected, '<' not found +x +^ diff --git a/libxml2/result/errors/invalid-start-tag-1.xml.err b/libxml2/result/errors/invalid-start-tag-1.xml.err new file mode 100644 index 0000000..e48002f --- /dev/null +++ b/libxml2/result/errors/invalid-start-tag-1.xml.err @@ -0,0 +1,3 @@ +./test/errors/invalid-start-tag-1.xml:1: parser error : Start tag expected, '<' not found +x +^ diff --git a/libxml2/result/errors/invalid-start-tag-1.xml.str b/libxml2/result/errors/invalid-start-tag-1.xml.str new file mode 100644 index 0000000..bbb49cb --- /dev/null +++ b/libxml2/result/errors/invalid-start-tag-1.xml.str @@ -0,0 +1,4 @@ +./test/errors/invalid-start-tag-1.xml:1: parser error : Start tag expected, '<' not found +x +^ +./test/errors/invalid-start-tag-1.xml : failed to parse diff --git a/libxml2/result/errors/invalid-start-tag-2.xml.ent b/libxml2/result/errors/invalid-start-tag-2.xml.ent new file mode 100644 index 0000000..a71398d --- /dev/null +++ b/libxml2/result/errors/invalid-start-tag-2.xml.ent @@ -0,0 +1,3 @@ +./test/errors/invalid-start-tag-2.xml:1: parser error : StartTag: invalid element name +< + ^ diff --git a/libxml2/result/errors/invalid-start-tag-2.xml.err b/libxml2/result/errors/invalid-start-tag-2.xml.err new file mode 100644 index 0000000..a71398d --- /dev/null +++ b/libxml2/result/errors/invalid-start-tag-2.xml.err @@ -0,0 +1,3 @@ +./test/errors/invalid-start-tag-2.xml:1: parser error : StartTag: invalid element name +< + ^ diff --git a/libxml2/result/errors/invalid-start-tag-2.xml.str b/libxml2/result/errors/invalid-start-tag-2.xml.str new file mode 100644 index 0000000..da03e41 --- /dev/null +++ b/libxml2/result/errors/invalid-start-tag-2.xml.str @@ -0,0 +1,4 @@ +./test/errors/invalid-start-tag-2.xml:1: parser error : StartTag: invalid element name +< + ^ +./test/errors/invalid-start-tag-2.xml : failed to parse diff --git a/libxml2/result/errors/issue151.xml.ent b/libxml2/result/errors/issue151.xml.ent new file mode 100644 index 0000000..a36dfea --- /dev/null +++ b/libxml2/result/errors/issue151.xml.ent @@ -0,0 +1,6 @@ +./test/errors/issue151.xml:8: parser error : StartTag: invalid element name + << + ^ +./test/errors/issue151.xml:8: parser error : StartTag: invalid element name + << + ^ diff --git a/libxml2/result/errors/issue151.xml.err b/libxml2/result/errors/issue151.xml.err new file mode 100644 index 0000000..a36dfea --- /dev/null +++ b/libxml2/result/errors/issue151.xml.err @@ -0,0 +1,6 @@ +./test/errors/issue151.xml:8: parser error : StartTag: invalid element name + << + ^ +./test/errors/issue151.xml:8: parser error : StartTag: invalid element name + << + ^ diff --git a/libxml2/result/errors/issue151.xml.str b/libxml2/result/errors/issue151.xml.str new file mode 100644 index 0000000..c1dc476 --- /dev/null +++ b/libxml2/result/errors/issue151.xml.str @@ -0,0 +1,4 @@ +./test/errors/issue151.xml:8: parser error : StartTag: invalid element name + << + ^ +./test/errors/issue151.xml : failed to parse diff --git a/libxml2/result/errors/issue868.xml.ent b/libxml2/result/errors/issue868.xml.ent new file mode 100644 index 0000000..28ccc2c --- /dev/null +++ b/libxml2/result/errors/issue868.xml.ent @@ -0,0 +1,3 @@ +./test/errors/issue868.xml:3: parser error : Content error in the internal subset + +^ diff --git a/libxml2/result/errors/issue868.xml.err b/libxml2/result/errors/issue868.xml.err new file mode 100644 index 0000000..28ccc2c --- /dev/null +++ b/libxml2/result/errors/issue868.xml.err @@ -0,0 +1,3 @@ +./test/errors/issue868.xml:3: parser error : Content error in the internal subset + +^ diff --git a/libxml2/result/errors/issue868.xml.str b/libxml2/result/errors/issue868.xml.str new file mode 100644 index 0000000..13f1e76 --- /dev/null +++ b/libxml2/result/errors/issue868.xml.str @@ -0,0 +1,4 @@ +./test/errors/issue868.xml:3: parser error : Content error in the internal subset + +^ +./test/errors/issue868.xml : failed to parse diff --git a/libxml2/result/errors/name.xml.ent b/libxml2/result/errors/name.xml.ent new file mode 100644 index 0000000..4dbfc52 --- /dev/null +++ b/libxml2/result/errors/name.xml.ent @@ -0,0 +1,3 @@ +./test/errors/name.xml:2: parser error : Couldn't find end of Start Tag foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo line 1 + +^ diff --git a/libxml2/result/errors/name.xml.err b/libxml2/result/errors/name.xml.err new file mode 100644 index 0000000..4dbfc52 --- /dev/null +++ b/libxml2/result/errors/name.xml.err @@ -0,0 +1,3 @@ +./test/errors/name.xml:2: parser error : Couldn't find end of Start Tag foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo line 1 + +^ diff --git a/libxml2/result/errors/name.xml.str b/libxml2/result/errors/name.xml.str new file mode 100644 index 0000000..fd4af59 --- /dev/null +++ b/libxml2/result/errors/name.xml.str @@ -0,0 +1,4 @@ +./test/errors/name.xml:2: parser error : Couldn't find end of Start Tag foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo + +^ +./test/errors/name.xml : failed to parse diff --git a/libxml2/result/errors/name2.xml.ent b/libxml2/result/errors/name2.xml.ent new file mode 100644 index 0000000..8acef79 --- /dev/null +++ b/libxml2/result/errors/name2.xml.ent @@ -0,0 +1,9 @@ +./test/errors/name2.xml:2: parser error : Specification mandates value for attribute foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo + +^ +./test/errors/name2.xml:2: parser error : attributes construct error + +^ +./test/errors/name2.xml:2: parser error : Couldn't find end of Start Tag foo line 1 + +^ diff --git a/libxml2/result/errors/name2.xml.err b/libxml2/result/errors/name2.xml.err new file mode 100644 index 0000000..8acef79 --- /dev/null +++ b/libxml2/result/errors/name2.xml.err @@ -0,0 +1,9 @@ +./test/errors/name2.xml:2: parser error : Specification mandates value for attribute foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo + +^ +./test/errors/name2.xml:2: parser error : attributes construct error + +^ +./test/errors/name2.xml:2: parser error : Couldn't find end of Start Tag foo line 1 + +^ diff --git a/libxml2/result/errors/name2.xml.str b/libxml2/result/errors/name2.xml.str new file mode 100644 index 0000000..90f8c08 --- /dev/null +++ b/libxml2/result/errors/name2.xml.str @@ -0,0 +1,10 @@ +./test/errors/name2.xml:2: parser error : Specification mandates value for attribute foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo + +^ +./test/errors/name2.xml:2: parser error : attributes construct error + +^ +./test/errors/name2.xml:2: parser error : Couldn't find end of Start Tag foo + +^ +./test/errors/name2.xml : failed to parse diff --git a/libxml2/result/errors/name3.xml.ent b/libxml2/result/errors/name3.xml.ent new file mode 100644 index 0000000..3925f9d --- /dev/null +++ b/libxml2/result/errors/name3.xml.ent @@ -0,0 +1,3 @@ +./test/errors/name3.xml:1: parser error : StartTag: invalid element name +<.name/> + ^ diff --git a/libxml2/result/errors/name3.xml.err b/libxml2/result/errors/name3.xml.err new file mode 100644 index 0000000..3925f9d --- /dev/null +++ b/libxml2/result/errors/name3.xml.err @@ -0,0 +1,3 @@ +./test/errors/name3.xml:1: parser error : StartTag: invalid element name +<.name/> + ^ diff --git a/libxml2/result/errors/name3.xml.str b/libxml2/result/errors/name3.xml.str new file mode 100644 index 0000000..460b31a --- /dev/null +++ b/libxml2/result/errors/name3.xml.str @@ -0,0 +1,4 @@ +./test/errors/name3.xml:1: parser error : StartTag: invalid element name +<.name/> + ^ +./test/errors/name3.xml : failed to parse diff --git a/libxml2/result/errors/ns-ent.xml b/libxml2/result/errors/ns-ent.xml new file mode 100644 index 0000000..94f89b1 --- /dev/null +++ b/libxml2/result/errors/ns-ent.xml @@ -0,0 +1,11 @@ + +"> +"> +]> + + &ent1; + &ent1; + &ent2; + &ent2; + diff --git a/libxml2/result/errors/ns-ent.xml.ent b/libxml2/result/errors/ns-ent.xml.ent new file mode 100644 index 0000000..e660f87 --- /dev/null +++ b/libxml2/result/errors/ns-ent.xml.ent @@ -0,0 +1,5 @@ +./test/errors/ns-ent.xml:8: namespace error : Namespace prefix ns on elem is not defined + &ent2; + ^ + + ^ diff --git a/libxml2/result/errors/ns-ent.xml.err b/libxml2/result/errors/ns-ent.xml.err new file mode 100644 index 0000000..e660f87 --- /dev/null +++ b/libxml2/result/errors/ns-ent.xml.err @@ -0,0 +1,5 @@ +./test/errors/ns-ent.xml:8: namespace error : Namespace prefix ns on elem is not defined + &ent2; + ^ + + ^ diff --git a/libxml2/result/errors/ns-ent.xml.str b/libxml2/result/errors/ns-ent.xml.str new file mode 100644 index 0000000..e660f87 --- /dev/null +++ b/libxml2/result/errors/ns-ent.xml.str @@ -0,0 +1,5 @@ +./test/errors/ns-ent.xml:8: namespace error : Namespace prefix ns on elem is not defined + &ent2; + ^ + + ^ diff --git a/libxml2/result/errors/ns-undeclared.xml b/libxml2/result/errors/ns-undeclared.xml new file mode 100644 index 0000000..4e8b91e --- /dev/null +++ b/libxml2/result/errors/ns-undeclared.xml @@ -0,0 +1,2 @@ + + diff --git a/libxml2/result/errors/ns-undeclared.xml.ent b/libxml2/result/errors/ns-undeclared.xml.ent new file mode 100644 index 0000000..a19fbe7 --- /dev/null +++ b/libxml2/result/errors/ns-undeclared.xml.ent @@ -0,0 +1,3 @@ +./test/errors/ns-undeclared.xml:1: namespace error : Namespace prefix xLink for href on linearGradient is not defined + + ^ diff --git a/libxml2/result/errors/ns-undeclared.xml.err b/libxml2/result/errors/ns-undeclared.xml.err new file mode 100644 index 0000000..a19fbe7 --- /dev/null +++ b/libxml2/result/errors/ns-undeclared.xml.err @@ -0,0 +1,3 @@ +./test/errors/ns-undeclared.xml:1: namespace error : Namespace prefix xLink for href on linearGradient is not defined + + ^ diff --git a/libxml2/result/errors/ns-undeclared.xml.str b/libxml2/result/errors/ns-undeclared.xml.str new file mode 100644 index 0000000..a19fbe7 --- /dev/null +++ b/libxml2/result/errors/ns-undeclared.xml.str @@ -0,0 +1,3 @@ +./test/errors/ns-undeclared.xml:1: namespace error : Namespace prefix xLink for href on linearGradient is not defined + + ^ diff --git a/libxml2/result/errors/quadratic-defattr.xml.ent b/libxml2/result/errors/quadratic-defattr.xml.ent new file mode 100644 index 0000000..eddbe4f --- /dev/null +++ b/libxml2/result/errors/quadratic-defattr.xml.ent @@ -0,0 +1,3 @@ +./test/errors/quadratic-defattr.xml:65: parser error : Maximum entity amplification factor exceeded, see xmlCtxtSetMaxAmplification. + + ^ diff --git a/libxml2/result/errors/quadratic-defattr.xml.err b/libxml2/result/errors/quadratic-defattr.xml.err new file mode 100644 index 0000000..eddbe4f --- /dev/null +++ b/libxml2/result/errors/quadratic-defattr.xml.err @@ -0,0 +1,3 @@ +./test/errors/quadratic-defattr.xml:65: parser error : Maximum entity amplification factor exceeded, see xmlCtxtSetMaxAmplification. + + ^ diff --git a/libxml2/result/errors/quadratic-defattr.xml.str b/libxml2/result/errors/quadratic-defattr.xml.str new file mode 100644 index 0000000..a6b4d80 --- /dev/null +++ b/libxml2/result/errors/quadratic-defattr.xml.str @@ -0,0 +1,4 @@ +./test/errors/quadratic-defattr.xml:65: parser error : Maximum entity amplification factor exceeded, see xmlCtxtSetMaxAmplification. + + ^ +./test/errors/quadratic-defattr.xml : failed to parse diff --git a/libxml2/result/errors/rec_att_default.xml.ent b/libxml2/result/errors/rec_att_default.xml.ent new file mode 100644 index 0000000..375a0d6 --- /dev/null +++ b/libxml2/result/errors/rec_att_default.xml.ent @@ -0,0 +1,6 @@ +./test/errors/rec_att_default.xml:3: parser error : Entity 'b' not defined + + ^ +./test/errors/rec_att_default.xml:6: parser error : Detected an entity reference loop + + ^ diff --git a/libxml2/result/errors/rec_att_default.xml.err b/libxml2/result/errors/rec_att_default.xml.err new file mode 100644 index 0000000..3450584 --- /dev/null +++ b/libxml2/result/errors/rec_att_default.xml.err @@ -0,0 +1,6 @@ +./test/errors/rec_att_default.xml:3: parser warning : Entity 'b' not defined + + ^ +./test/errors/rec_att_default.xml:6: parser error : Detected an entity reference loop + + ^ diff --git a/libxml2/result/errors/rec_att_default.xml.str b/libxml2/result/errors/rec_att_default.xml.str new file mode 100644 index 0000000..f8cdd3d --- /dev/null +++ b/libxml2/result/errors/rec_att_default.xml.str @@ -0,0 +1,7 @@ +./test/errors/rec_att_default.xml:3: parser warning : Entity 'b' not defined + + ^ +./test/errors/rec_att_default.xml:6: parser error : Detected an entity reference loop + + ^ +./test/errors/rec_att_default.xml : failed to parse diff --git a/libxml2/result/errors/rec_ext_ent.xml b/libxml2/result/errors/rec_ext_ent.xml new file mode 100644 index 0000000..6a196cb --- /dev/null +++ b/libxml2/result/errors/rec_ext_ent.xml @@ -0,0 +1,5 @@ + + +]> +&e; &e; &e; &e; diff --git a/libxml2/result/errors/rec_ext_ent.xml.ent b/libxml2/result/errors/rec_ext_ent.xml.ent new file mode 100644 index 0000000..1b5f50f --- /dev/null +++ b/libxml2/result/errors/rec_ext_ent.xml.ent @@ -0,0 +1,3 @@ +test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop +&e; &e; &e; &e; + ^ diff --git a/libxml2/result/errors/trailing-null-1.xml.ent b/libxml2/result/errors/trailing-null-1.xml.ent new file mode 100644 index 0000000..193a77a --- /dev/null +++ b/libxml2/result/errors/trailing-null-1.xml.ent @@ -0,0 +1,3 @@ +./test/errors/trailing-null-1.xml:1: parser error : Extra content at the end of the document + + ^ diff --git a/libxml2/result/errors/trailing-null-1.xml.err b/libxml2/result/errors/trailing-null-1.xml.err new file mode 100644 index 0000000..193a77a --- /dev/null +++ b/libxml2/result/errors/trailing-null-1.xml.err @@ -0,0 +1,3 @@ +./test/errors/trailing-null-1.xml:1: parser error : Extra content at the end of the document + + ^ diff --git a/libxml2/result/errors/trailing-null-1.xml.str b/libxml2/result/errors/trailing-null-1.xml.str new file mode 100644 index 0000000..09fab37 --- /dev/null +++ b/libxml2/result/errors/trailing-null-1.xml.str @@ -0,0 +1,4 @@ +./test/errors/trailing-null-1.xml:1: parser error : Extra content at the end of the document + + ^ +./test/errors/trailing-null-1.xml : failed to parse diff --git a/libxml2/result/errors/trailing-null-2.xml.ent b/libxml2/result/errors/trailing-null-2.xml.ent new file mode 100644 index 0000000..4348275 --- /dev/null +++ b/libxml2/result/errors/trailing-null-2.xml.ent @@ -0,0 +1,7 @@ +./test/errors/trailing-null-2.xml:1: parser error : Invalid character: Char 0x0 out of allowed range + + + ^ +./test/errors/trailing-null-2.xml:1: parser error : PCDATA invalid Char value 0 + + ^ diff --git a/libxml2/result/errors/trailing-null-2.xml.err b/libxml2/result/errors/trailing-null-2.xml.err new file mode 100644 index 0000000..4348275 --- /dev/null +++ b/libxml2/result/errors/trailing-null-2.xml.err @@ -0,0 +1,7 @@ +./test/errors/trailing-null-2.xml:1: parser error : Invalid character: Char 0x0 out of allowed range + + + ^ +./test/errors/trailing-null-2.xml:1: parser error : PCDATA invalid Char value 0 + + ^ diff --git a/libxml2/result/errors/trailing-null-2.xml.str b/libxml2/result/errors/trailing-null-2.xml.str new file mode 100644 index 0000000..ff572b6 --- /dev/null +++ b/libxml2/result/errors/trailing-null-2.xml.str @@ -0,0 +1,8 @@ +./test/errors/trailing-null-2.xml:1: parser error : Invalid character: Char 0x0 out of allowed range + + + ^ +./test/errors/trailing-null-2.xml:1: parser error : PCDATA invalid Char value 0 + + ^ +./test/errors/trailing-null-2.xml : failed to parse diff --git a/libxml2/result/errors/truncated-utf16.xml.ent b/libxml2/result/errors/truncated-utf16.xml.ent new file mode 100644 index 0000000..25edf0f --- /dev/null +++ b/libxml2/result/errors/truncated-utf16.xml.ent @@ -0,0 +1,3 @@ +./test/errors/truncated-utf16.xml:1: I/O error : Invalid bytes in character encoding + + ^ diff --git a/libxml2/result/errors/truncated-utf16.xml.err b/libxml2/result/errors/truncated-utf16.xml.err new file mode 100644 index 0000000..25edf0f --- /dev/null +++ b/libxml2/result/errors/truncated-utf16.xml.err @@ -0,0 +1,3 @@ +./test/errors/truncated-utf16.xml:1: I/O error : Invalid bytes in character encoding + + ^ diff --git a/libxml2/result/errors/truncated-utf16.xml.str b/libxml2/result/errors/truncated-utf16.xml.str new file mode 100644 index 0000000..3e37f30 --- /dev/null +++ b/libxml2/result/errors/truncated-utf16.xml.str @@ -0,0 +1,4 @@ +./test/errors/truncated-utf16.xml:1: I/O error : Invalid bytes in character encoding + + ^ +./test/errors/truncated-utf16.xml : failed to parse diff --git a/libxml2/result/errors/unclosed-element.xml.ent b/libxml2/result/errors/unclosed-element.xml.ent new file mode 100644 index 0000000..1402055 --- /dev/null +++ b/libxml2/result/errors/unclosed-element.xml.ent @@ -0,0 +1,3 @@ +./test/errors/unclosed-element.xml:2: parser error : Premature end of data in tag d line 1 + +^ diff --git a/libxml2/result/errors/unclosed-element.xml.err b/libxml2/result/errors/unclosed-element.xml.err new file mode 100644 index 0000000..1402055 --- /dev/null +++ b/libxml2/result/errors/unclosed-element.xml.err @@ -0,0 +1,3 @@ +./test/errors/unclosed-element.xml:2: parser error : Premature end of data in tag d line 1 + +^ diff --git a/libxml2/result/errors/unclosed-element.xml.str b/libxml2/result/errors/unclosed-element.xml.str new file mode 100644 index 0000000..9d7f2e7 --- /dev/null +++ b/libxml2/result/errors/unclosed-element.xml.str @@ -0,0 +1,4 @@ +./test/errors/unclosed-element.xml:2: parser error : Premature end of data in tag d line 1 + +^ +./test/errors/unclosed-element.xml : failed to parse diff --git a/libxml2/result/errors/unsupported-encoding.xml.ent b/libxml2/result/errors/unsupported-encoding.xml.ent new file mode 100644 index 0000000..a275ec1 --- /dev/null +++ b/libxml2/result/errors/unsupported-encoding.xml.ent @@ -0,0 +1,3 @@ +./test/errors/unsupported-encoding.xml:1: parser error : Unsupported encoding: unsupported-encoding + + ^ diff --git a/libxml2/result/errors/unsupported-encoding.xml.err b/libxml2/result/errors/unsupported-encoding.xml.err new file mode 100644 index 0000000..a275ec1 --- /dev/null +++ b/libxml2/result/errors/unsupported-encoding.xml.err @@ -0,0 +1,3 @@ +./test/errors/unsupported-encoding.xml:1: parser error : Unsupported encoding: unsupported-encoding + + ^ diff --git a/libxml2/result/errors/unsupported-encoding.xml.str b/libxml2/result/errors/unsupported-encoding.xml.str new file mode 100644 index 0000000..1f06d60 --- /dev/null +++ b/libxml2/result/errors/unsupported-encoding.xml.str @@ -0,0 +1,4 @@ +./test/errors/unsupported-encoding.xml:1: parser error : Unsupported encoding: unsupported-encoding + + ^ +./test/errors/unsupported-encoding.xml : failed to parse diff --git a/libxml2/result/errors/utf8-1.xml.ent b/libxml2/result/errors/utf8-1.xml.ent new file mode 100644 index 0000000..9ce2b93 --- /dev/null +++ b/libxml2/result/errors/utf8-1.xml.ent @@ -0,0 +1,6 @@ +./test/errors/utf8-1.xml:1: parser error : StartTag: invalid element name +..............................................................................<< + ^ +./test/errors/utf8-1.xml:1: parser error : StartTag: invalid element name +..............................................................................<< + ^ diff --git a/libxml2/result/errors/utf8-1.xml.err b/libxml2/result/errors/utf8-1.xml.err new file mode 100644 index 0000000..9ce2b93 --- /dev/null +++ b/libxml2/result/errors/utf8-1.xml.err @@ -0,0 +1,6 @@ +./test/errors/utf8-1.xml:1: parser error : StartTag: invalid element name +..............................................................................<< + ^ +./test/errors/utf8-1.xml:1: parser error : StartTag: invalid element name +..............................................................................<< + ^ diff --git a/libxml2/result/errors/utf8-1.xml.str b/libxml2/result/errors/utf8-1.xml.str new file mode 100644 index 0000000..8c6df1d --- /dev/null +++ b/libxml2/result/errors/utf8-1.xml.str @@ -0,0 +1,4 @@ +./test/errors/utf8-1.xml:1: parser error : StartTag: invalid element name +..............................................................................<< + ^ +./test/errors/utf8-1.xml : failed to parse diff --git a/libxml2/result/errors/utf8-2.xml.ent b/libxml2/result/errors/utf8-2.xml.ent new file mode 100644 index 0000000..c0e1722 --- /dev/null +++ b/libxml2/result/errors/utf8-2.xml.ent @@ -0,0 +1,6 @@ +./test/errors/utf8-2.xml:1: parser error : StartTag: invalid element name +.<<€€€€€€€€€€€€€€€€€€€€€€€€ + ^ +./test/errors/utf8-2.xml:2: parser error : Couldn't find end of Start Tag €€€€€€€€€€€€€€€€€€€€€€€€€ line 1 + +^ diff --git a/libxml2/result/errors/utf8-2.xml.err b/libxml2/result/errors/utf8-2.xml.err new file mode 100644 index 0000000..c0e1722 --- /dev/null +++ b/libxml2/result/errors/utf8-2.xml.err @@ -0,0 +1,6 @@ +./test/errors/utf8-2.xml:1: parser error : StartTag: invalid element name +.<<€€€€€€€€€€€€€€€€€€€€€€€€ + ^ +./test/errors/utf8-2.xml:2: parser error : Couldn't find end of Start Tag €€€€€€€€€€€€€€€€€€€€€€€€€ line 1 + +^ diff --git a/libxml2/result/errors/utf8-2.xml.str b/libxml2/result/errors/utf8-2.xml.str new file mode 100644 index 0000000..f8db7f7 --- /dev/null +++ b/libxml2/result/errors/utf8-2.xml.str @@ -0,0 +1,4 @@ +./test/errors/utf8-2.xml:1: parser error : StartTag: invalid element name +.<<€€€€€€€€€€€€€€€€€€€€€€€€ + ^ +./test/errors/utf8-2.xml : failed to parse diff --git a/libxml2/result/errors10/781205.xml.err b/libxml2/result/errors10/781205.xml.err new file mode 100644 index 0000000..c9cb96c --- /dev/null +++ b/libxml2/result/errors10/781205.xml.err @@ -0,0 +1,6 @@ +./test/errors10/781205.xml:3: parser error : Content error in the internal subset + %a; + ^ +Entity: line 1: +<:0000 +^ diff --git a/libxml2/result/errors10/781361.xml.err b/libxml2/result/errors10/781361.xml.err new file mode 100644 index 0000000..dbb9c1a --- /dev/null +++ b/libxml2/result/errors10/781361.xml.err @@ -0,0 +1,15 @@ +./test/errors10/781361.xml:3: parser error : Space required after the element name + %elem; + ^ +Entity: line 1: + + +]> + + diff --git a/libxml2/result/eve.xml.rde b/libxml2/result/eve.xml.rde new file mode 100644 index 0000000..6f08c55 --- /dev/null +++ b/libxml2/result/eve.xml.rde @@ -0,0 +1,5 @@ +0 10 spec 0 0 +0 1 spec 0 0 +1 14 #text 0 1 + +0 15 spec 0 0 diff --git a/libxml2/result/eve.xml.rdr b/libxml2/result/eve.xml.rdr new file mode 100644 index 0000000..6f08c55 --- /dev/null +++ b/libxml2/result/eve.xml.rdr @@ -0,0 +1,5 @@ +0 10 spec 0 0 +0 1 spec 0 0 +1 14 #text 0 1 + +0 15 spec 0 0 diff --git a/libxml2/result/eve.xml.sax b/libxml2/result/eve.xml.sax new file mode 100644 index 0000000..1b416b2 --- /dev/null +++ b/libxml2/result/eve.xml.sax @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(spec, -//testspec//, dtds/eve.dtd) +SAX.entityDecl(iso6.doc.date, 1, (null), (null), 29-May-1999) +SAX.getEntity(iso6.doc.date) +SAX.externalSubset(spec, -//testspec//, dtds/eve.dtd) +SAX.startElement(spec) +SAX.characters( +, 1) +SAX.endElement(spec) +SAX.endDocument() diff --git a/libxml2/result/eve.xml.sax2 b/libxml2/result/eve.xml.sax2 new file mode 100644 index 0000000..ea3b430 --- /dev/null +++ b/libxml2/result/eve.xml.sax2 @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(spec, -//testspec//, dtds/eve.dtd) +SAX.entityDecl(iso6.doc.date, 1, (null), (null), 29-May-1999) +SAX.getEntity(iso6.doc.date) +SAX.externalSubset(spec, -//testspec//, dtds/eve.dtd) +SAX.startElementNs(spec, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.endElementNs(spec, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/expr/base b/libxml2/result/expr/base new file mode 100644 index 0000000..9ab0d19 --- /dev/null +++ b/libxml2/result/expr/base @@ -0,0 +1,85 @@ +Expression: a +Subexp: a => accept, Ok +Subexp: a | a => accept, Ok +Subexp: b => reject, Ok +Expression: a|b +Subexp: a => accept, Ok +Subexp: b => accept, Ok +Subexp: a | b => accept, Ok +Subexp: a{0} => reject, Ok +Subexp: b{0} => reject, Ok +Expression: a | b | a +Subexp: a => accept, Ok +Subexp: b => accept, Ok +Subexp: a | b => accept, Ok +Subexp: b | a => accept, Ok +Subexp: a | b | b => accept, Ok +Subexp: a | b | a => accept, Ok +Subexp: b | a | b => accept, Ok +Expression: a,a +Subexp: a,a => accept, Ok +Subexp: a => reject, Ok +Subexp: a,a,a => reject, Ok +Expression: a{0,3} +Subexp: a{3} => accept, Ok +Subexp: a => accept, Ok +Subexp: a,a,a => accept, Ok +Subexp: a{1,3} => accept, Ok +Expression: (a|b){0,4} +Subexp: a => accept, Ok +Subexp: b => accept, Ok +Subexp: a,b => accept, Ok +Subexp: a,b,a,b => accept, Ok +Subexp: b,a,b,a,b => reject, Ok +Subexp: b,a{1,3} => accept, Ok +Subexp: a{1,3},b => accept, Ok +Subexp: a{1,3},b,a => reject, Ok +Subexp: a{1,4},b => reject, Ok +Subexp: a{0,5} => reject, Ok +Subexp: (b|a){0,4} => accept, Ok +Subexp: (b|a){0,4},a => reject, Ok +Subexp: (a,b){0,2} => accept, Ok +Subexp: (a,b){0,1},b => accept, Ok +Expression: a* +Subexp: a => accept, Ok +Subexp: a? => accept, Ok +Subexp: a+ => accept, Ok +Subexp: a* => accept, Ok +Subexp: a{0} => accept, Ok +Expression: a+ +Subexp: a => accept, Ok +Subexp: a? => reject, Ok +Subexp: a+ => accept, Ok +Subexp: a* => reject, Ok +Subexp: a?,a => accept, Ok +Subexp: a,a* => accept, Ok +Subexp: a*,a => accept, Ok +Subexp: a?,a*,a => accept, Ok +Subexp: a*,a?,a => accept, Ok +Expression: (a|b)* +Subexp: a => accept, Ok +Subexp: b => accept, Ok +Subexp: a,b => accept, Ok +Subexp: a,b,a,b => accept, Ok +Subexp: (b|a){0,4} => accept, Ok +Subexp: (b|a){0,4},a => accept, Ok +Subexp: a* => accept, Ok +Subexp: b* => accept, Ok +Subexp: (a|b)* => accept, Ok +Subexp: a{1,3} => accept, Ok +Subexp: b,a{1,3} => accept, Ok +Subexp: a{1,3},b => accept, Ok +Subexp: a*,(a|b)* => accept, Ok +Subexp: a*,b{2,5} => accept, Ok +Subexp: a*,(a|b)*,b{2,5} => accept, Ok +Expression: (a|b)+,(c|d) +Subexp: a+,c => accept, Ok +Subexp: a*,c => reject, Ok +Subexp: a,c => accept, Ok +Subexp: a,b*,a*,c => accept, Ok +Expression: (a|b),(a|c){0,100} +Subexp: a{0,100},(a|c) => accept, Ok +Subexp: a{0,101},(a|c) => reject, Ok +Expression: (a, ((b, c, d){0,5}, e{0,1}){0,4}, f) +Subexp: (a, b, (c, d, b){2,3}, c, d, e, f) => accept, Ok +Ops: 0 nodes, 221 cons diff --git a/libxml2/result/html-tokenizer/NOTICE b/libxml2/result/html-tokenizer/NOTICE new file mode 100644 index 0000000..02aad49 --- /dev/null +++ b/libxml2/result/html-tokenizer/NOTICE @@ -0,0 +1,27 @@ +The test cases in this directory are derived from the html5lib test +suite available from https://github.com/html5lib/html5lib-tests under +the following license: + +--- + +Copyright (c) 2006-2013 James Graham, Geoffrey Sneddon, and +other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/libxml2/result/html-tokenizer/contentModelFlags.test b/libxml2/result/html-tokenizer/contentModelFlags.test new file mode 100644 index 0000000..e8f8e63 --- /dev/null +++ b/libxml2/result/html-tokenizer/contentModelFlags.test @@ -0,0 +1,96 @@ +0 +Character +&body; +1 +Character +&body; +2 +Character +foo +EndTag +xmp +3 +Character +foo +EndTag +xmp +4 +Character +foo +EndTag +xmp +5 +Character +foo +EndTag +xmp +6 +Character +foo +7 +Character +foo +8 +Character +foobar +EndTag +xmp +15 +Character +bar +EndTag +xmp +16 +Character +bar +19 +Character +bar +20 +Character +foo +EndTag +xmp +EndTag +baz +21 +Character +foo +EndTag +xmp +EndTag +baz +22 +Character +&foo; +23 +Character +< diff --git a/libxml2/result/html-tokenizer/domjs.test b/libxml2/result/html-tokenizer/domjs.test new file mode 100644 index 0000000..f5a73a1 --- /dev/null +++ b/libxml2/result/html-tokenizer/domjs.test @@ -0,0 +1,190 @@ +0 +Comment +? + +1 +Comment +? + +2 +Comment +? + + +3 +Character +� +4 +Character +� +5 +Character +� +6 +Character +� +7 +Character + +8 +Character + +9 +Character + +16 +Character + +17 +Character + +18 +Character + +EndTag +script +19 +Character + +EndTag +script +20 +Character + +EndTag +script +21 +Character + +EndTag +script +Character + --> +EndTag +script +22 +Character + +23 +Character + +24 +Character + +25 +Character + +26 +Character +foobar +27 +Character +foobar +28 +Character +foobar +29 +Character +foobar +30 +Character +≂̸ +31 +Character +&NotEqualTild; +32 +EndTag +xmp +33 +EndTag +xmp +34 +EndTag +xmp +35 +Character + +36 +Character + +37 +Character + +38 +Character + +39 +Character + +40 +Character + +41 +Character + + +50 +Comment +[CDATA[foo]] +51 +Character +hello world diff --git a/libxml2/result/html-tokenizer/entities.test b/libxml2/result/html-tokenizer/entities.test new file mode 100644 index 0000000..a8b271c --- /dev/null +++ b/libxml2/result/html-tokenizer/entities.test @@ -0,0 +1,240 @@ +0 +StartTag +h a=¬i; +1 +StartTag +h a=&lang= +2 +StartTag +h a=¬= +3 +StartTag +h a=¬i; +4 +StartTag +h a=&lang= +5 +StartTag +h a=¬= +6 +StartTag +h a=¬i; +7 +StartTag +h a=&lang= +8 +StartTag +h a=¬= +9 +Character +&rrrraannddom; +10 +Character +¬i; +11 +Character +&ammmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmp; +12 +Character + +13 +Character + +14 +Character +€ +15 +Character + +16 +Character +‚ +17 +Character +Æ’ +18 +Character +„ +19 +Character +… +20 +Character +† +21 +Character +‡ +22 +Character +ˆ +23 +Character +‰ +24 +Character +Å  +25 +Character +‹ +26 +Character +Å’ +27 +Character + +28 +Character +Ž +29 +Character + +30 +Character + +31 +Character +‘ +32 +Character +’ +33 +Character +“ +34 +Character +†+35 +Character +• +36 +Character +– +37 +Character +— +38 +Character +Ëœ +39 +Character +â„¢ +40 +Character +Å¡ +41 +Character +› +42 +Character +Å“ +43 +Character + +44 +Character +€ +45 +Character + +46 +Character +‚ +47 +Character +Æ’ +48 +Character +„ +49 +Character +… +50 +Character +† +51 +Character +‡ +52 +Character +ˆ +53 +Character +‰ +54 +Character +Å  +55 +Character +‹ +56 +Character +Å’ +57 +Character + +58 +Character +Ž +59 +Character + +60 +Character + +61 +Character +‘ +62 +Character +’ +63 +Character +“ +64 +Character +†+65 +Character +• +66 +Character +– +67 +Character +— +68 +Character +Ëœ +69 +Character +â„¢ +70 +Character +Å¡ +71 +Character +› +72 +Character +Å“ +73 +Character + +74 +Character +ž +75 +Character +Ÿ +76 +Character +aa +77 +Character +aA +78 +Character +af +79 +Character +aF diff --git a/libxml2/result/html-tokenizer/escapeFlag.test b/libxml2/result/html-tokenizer/escapeFlag.test new file mode 100644 index 0000000..3a3c898 --- /dev/null +++ b/libxml2/result/html-tokenizer/escapeFlag.test @@ -0,0 +1,65 @@ +0 +Character +foo +EndTag +xmp +1 +Character +foo +EndTag +xmp +2 +Character +foobaz +EndTag +xmp +3 +Character +foobaz +EndTag +xmp +4 +Character +foo +EndTag +xmp +Comment + +Character +baz +EndTag +xmp +5 +Character +foo +EndTag +xmp +Comment + +Character +baz +EndTag +xmp +6 +Character + & & +EndTag +xmp +7 +Character +foox--<> +EndTag +xmp +8 +Character +foox--<> +EndTag +xmp diff --git a/libxml2/result/html-tokenizer/namedEntities.test b/libxml2/result/html-tokenizer/namedEntities.test new file mode 100644 index 0000000..9c05435 --- /dev/null +++ b/libxml2/result/html-tokenizer/namedEntities.test @@ -0,0 +1,12631 @@ +0 +Character +Æ +1 +Character +Æ +2 +Character +& +3 +Character +& +4 +Character +à +5 +Character +à +6 +Character +&Abreve +7 +Character +Ä‚ +8 +Character + +9 +Character + +10 +Character +&Acy +11 +Character +Ð +12 +Character +&Afr +13 +Character +𔄠+14 +Character +À +15 +Character +À +16 +Character +&Alpha +17 +Character +Α +18 +Character +&Amacr +19 +Character +Ä€ +20 +Character +&And +21 +Character +â©“ +22 +Character +&Aogon +23 +Character +Ä„ +24 +Character +&Aopf +25 +Character +𔸠+26 +Character +&ApplyFunction +27 +Character +â¡ +28 +Character +Ã… +29 +Character +Ã… +30 +Character +&Ascr +31 +Character +𒜠+32 +Character +&Assign +33 +Character +≔ +34 +Character +à +35 +Character +à +36 +Character +Ä +37 +Character +Ä +38 +Character +&Backslash +39 +Character +∖ +40 +Character +&Barv +41 +Character +â«§ +42 +Character +&Barwed +43 +Character +⌆ +44 +Character +&Bcy +45 +Character +Б +46 +Character +&Because +47 +Character +∵ +48 +Character +&Bernoullis +49 +Character +ℬ +50 +Character +&Beta +51 +Character +Î’ +52 +Character +&Bfr +53 +Character +ð”… +54 +Character +&Bopf +55 +Character +𔹠+56 +Character +&Breve +57 +Character +˘ +58 +Character +&Bscr +59 +Character +ℬ +60 +Character +&Bumpeq +61 +Character +≎ +62 +Character +&CHcy +63 +Character +Ч +64 +Character +© +65 +Character +© +66 +Character +&Cacute +67 +Character +Ć +68 +Character +&Cap +69 +Character +â‹’ +70 +Character +&CapitalDifferentialD +71 +Character +â…… +72 +Character +&Cayleys +73 +Character +â„­ +74 +Character +&Ccaron +75 +Character +ÄŒ +76 +Character +Ç +77 +Character +Ç +78 +Character +&Ccirc +79 +Character +Ĉ +80 +Character +&Cconint +81 +Character +∰ +82 +Character +&Cdot +83 +Character +ÄŠ +84 +Character +&Cedilla +85 +Character +¸ +86 +Character +&CenterDot +87 +Character +· +88 +Character +&Cfr +89 +Character +â„­ +90 +Character +&Chi +91 +Character +Χ +92 +Character +&CircleDot +93 +Character +⊙ +94 +Character +&CircleMinus +95 +Character +⊖ +96 +Character +&CirclePlus +97 +Character +⊕ +98 +Character +&CircleTimes +99 +Character +⊗ +100 +Character +&ClockwiseContourIntegral +101 +Character +∲ +102 +Character +&CloseCurlyDoubleQuote +103 +Character +†+104 +Character +&CloseCurlyQuote +105 +Character +’ +106 +Character +&Colon +107 +Character +∷ +108 +Character +&Colone +109 +Character +â©´ +110 +Character +&Congruent +111 +Character +≡ +112 +Character +&Conint +113 +Character +∯ +114 +Character +&ContourIntegral +115 +Character +∮ +116 +Character +&Copf +117 +Character +â„‚ +118 +Character +&Coproduct +119 +Character +∠+120 +Character +&CounterClockwiseContourIntegral +121 +Character +∳ +122 +Character +&Cross +123 +Character +⨯ +124 +Character +&Cscr +125 +Character +ð’ž +126 +Character +&Cup +127 +Character +â‹“ +128 +Character +&CupCap +129 +Character +≠+130 +Character +&DD +131 +Character +â…… +132 +Character +&DDotrahd +133 +Character +⤑ +134 +Character +&DJcy +135 +Character +Ђ +136 +Character +&DScy +137 +Character +Ð… +138 +Character +&DZcy +139 +Character +Ð +140 +Character +&Dagger +141 +Character +‡ +142 +Character +&Darr +143 +Character +↡ +144 +Character +&Dashv +145 +Character +⫤ +146 +Character +&Dcaron +147 +Character +ÄŽ +148 +Character +&Dcy +149 +Character +Д +150 +Character +&Del +151 +Character +∇ +152 +Character +&Delta +153 +Character +Δ +154 +Character +&Dfr +155 +Character +𔇠+156 +Character +&DiacriticalAcute +157 +Character +´ +158 +Character +&DiacriticalDot +159 +Character +Ë™ +160 +Character +&DiacriticalDoubleAcute +161 +Character +Ë +162 +Character +&DiacriticalGrave +163 +Character +` +164 +Character +&DiacriticalTilde +165 +Character +Ëœ +166 +Character +&Diamond +167 +Character +â‹„ +168 +Character +&DifferentialD +169 +Character +â…† +170 +Character +&Dopf +171 +Character +ð”» +172 +Character +&Dot +173 +Character +¨ +174 +Character +&DotDot +175 +Character +⃜ +176 +Character +&DotEqual +177 +Character +≠+178 +Character +&DoubleContourIntegral +179 +Character +∯ +180 +Character +&DoubleDot +181 +Character +¨ +182 +Character +&DoubleDownArrow +183 +Character +⇓ +184 +Character +&DoubleLeftArrow +185 +Character +⇠+186 +Character +&DoubleLeftRightArrow +187 +Character +⇔ +188 +Character +&DoubleLeftTee +189 +Character +⫤ +190 +Character +&DoubleLongLeftArrow +191 +Character +⟸ +192 +Character +&DoubleLongLeftRightArrow +193 +Character +⟺ +194 +Character +&DoubleLongRightArrow +195 +Character +⟹ +196 +Character +&DoubleRightArrow +197 +Character +⇒ +198 +Character +&DoubleRightTee +199 +Character +⊨ +200 +Character +&DoubleUpArrow +201 +Character +⇑ +202 +Character +&DoubleUpDownArrow +203 +Character +⇕ +204 +Character +&DoubleVerticalBar +205 +Character +∥ +206 +Character +&DownArrow +207 +Character +↓ +208 +Character +&DownArrowBar +209 +Character +⤓ +210 +Character +&DownArrowUpArrow +211 +Character +⇵ +212 +Character +&DownBreve +213 +Character +Ì‘ +214 +Character +&DownLeftRightVector +215 +Character +⥠+216 +Character +&DownLeftTeeVector +217 +Character +⥞ +218 +Character +&DownLeftVector +219 +Character +↽ +220 +Character +&DownLeftVectorBar +221 +Character +⥖ +222 +Character +&DownRightTeeVector +223 +Character +⥟ +224 +Character +&DownRightVector +225 +Character +⇠+226 +Character +&DownRightVectorBar +227 +Character +⥗ +228 +Character +&DownTee +229 +Character +⊤ +230 +Character +&DownTeeArrow +231 +Character +↧ +232 +Character +&Downarrow +233 +Character +⇓ +234 +Character +&Dscr +235 +Character +ð’Ÿ +236 +Character +&Dstrok +237 +Character +Ä +238 +Character +&ENG +239 +Character +ÅŠ +240 +Character +à +241 +Character +à +242 +Character +É +243 +Character +É +244 +Character +&Ecaron +245 +Character +Äš +246 +Character +Ê +247 +Character +Ê +248 +Character +&Ecy +249 +Character +Э +250 +Character +&Edot +251 +Character +Ä– +252 +Character +&Efr +253 +Character +𔈠+254 +Character +È +255 +Character +È +256 +Character +&Element +257 +Character +∈ +258 +Character +&Emacr +259 +Character +Ä’ +260 +Character +&EmptySmallSquare +261 +Character +â—» +262 +Character +&EmptyVerySmallSquare +263 +Character +â–« +264 +Character +&Eogon +265 +Character +Ę +266 +Character +&Eopf +267 +Character +𔼠+268 +Character +&Epsilon +269 +Character +Ε +270 +Character +&Equal +271 +Character +⩵ +272 +Character +&EqualTilde +273 +Character +≂ +274 +Character +&Equilibrium +275 +Character +⇌ +276 +Character +&Escr +277 +Character +â„° +278 +Character +&Esim +279 +Character +⩳ +280 +Character +&Eta +281 +Character +Η +282 +Character +Ë +283 +Character +Ë +284 +Character +&Exists +285 +Character +∃ +286 +Character +&ExponentialE +287 +Character +â…‡ +288 +Character +&Fcy +289 +Character +Ф +290 +Character +&Ffr +291 +Character +𔉠+292 +Character +&FilledSmallSquare +293 +Character +â—¼ +294 +Character +&FilledVerySmallSquare +295 +Character +â–ª +296 +Character +&Fopf +297 +Character +𔽠+298 +Character +&ForAll +299 +Character +∀ +300 +Character +&Fouriertrf +301 +Character +ℱ +302 +Character +&Fscr +303 +Character +ℱ +304 +Character +&GJcy +305 +Character +Ѓ +306 +Character +> +307 +Character +> +308 +Character +&Gamma +309 +Character +Γ +310 +Character +&Gammad +311 +Character +Ïœ +312 +Character +&Gbreve +313 +Character +Äž +314 +Character +&Gcedil +315 +Character +Ä¢ +316 +Character +&Gcirc +317 +Character +Äœ +318 +Character +&Gcy +319 +Character +Г +320 +Character +&Gdot +321 +Character +Ä  +322 +Character +&Gfr +323 +Character +𔊠+324 +Character +&Gg +325 +Character +â‹™ +326 +Character +&Gopf +327 +Character +𔾠+328 +Character +&GreaterEqual +329 +Character +≥ +330 +Character +&GreaterEqualLess +331 +Character +â‹› +332 +Character +&GreaterFullEqual +333 +Character +≧ +334 +Character +&GreaterGreater +335 +Character +⪢ +336 +Character +&GreaterLess +337 +Character +≷ +338 +Character +&GreaterSlantEqual +339 +Character +⩾ +340 +Character +&GreaterTilde +341 +Character +≳ +342 +Character +&Gscr +343 +Character +ð’¢ +344 +Character +&Gt +345 +Character +≫ +346 +Character +&HARDcy +347 +Character +Ъ +348 +Character +&Hacek +349 +Character +ˇ +350 +Character +&Hat +351 +Character +^ +352 +Character +&Hcirc +353 +Character +Ĥ +354 +Character +&Hfr +355 +Character +ℌ +356 +Character +&HilbertSpace +357 +Character +â„‹ +358 +Character +&Hopf +359 +Character +â„ +360 +Character +&HorizontalLine +361 +Character +─ +362 +Character +&Hscr +363 +Character +â„‹ +364 +Character +&Hstrok +365 +Character +Ħ +366 +Character +&HumpDownHump +367 +Character +≎ +368 +Character +&HumpEqual +369 +Character +≠+370 +Character +&IEcy +371 +Character +Е +372 +Character +&IJlig +373 +Character +IJ +374 +Character +&IOcy +375 +Character +Ð +376 +Character +à +377 +Character +à +378 +Character +ÃŽ +379 +Character +ÃŽ +380 +Character +&Icy +381 +Character +И +382 +Character +&Idot +383 +Character +İ +384 +Character +&Ifr +385 +Character +â„‘ +386 +Character +ÃŒ +387 +Character +ÃŒ +388 +Character +&Im +389 +Character +â„‘ +390 +Character +&Imacr +391 +Character +Ī +392 +Character +&ImaginaryI +393 +Character +â…ˆ +394 +Character +&Implies +395 +Character +⇒ +396 +Character +&Int +397 +Character +∬ +398 +Character +&Integral +399 +Character +∫ +400 +Character +&Intersection +401 +Character +â‹‚ +402 +Character +&InvisibleComma +403 +Character +⣠+404 +Character +&InvisibleTimes +405 +Character +⢠+406 +Character +&Iogon +407 +Character +Ä® +408 +Character +&Iopf +409 +Character +ð•€ +410 +Character +&Iota +411 +Character +Ι +412 +Character +&Iscr +413 +Character +â„ +414 +Character +&Itilde +415 +Character +Ĩ +416 +Character +&Iukcy +417 +Character +І +418 +Character +à +419 +Character +à +420 +Character +&Jcirc +421 +Character +Ä´ +422 +Character +&Jcy +423 +Character +Й +424 +Character +&Jfr +425 +Character +ð” +426 +Character +&Jopf +427 +Character +ð• +428 +Character +&Jscr +429 +Character +ð’¥ +430 +Character +&Jsercy +431 +Character +Ј +432 +Character +&Jukcy +433 +Character +Є +434 +Character +&KHcy +435 +Character +Ð¥ +436 +Character +&KJcy +437 +Character +ÐŒ +438 +Character +&Kappa +439 +Character +Κ +440 +Character +&Kcedil +441 +Character +Ķ +442 +Character +&Kcy +443 +Character +К +444 +Character +&Kfr +445 +Character +𔎠+446 +Character +&Kopf +447 +Character +ð•‚ +448 +Character +&Kscr +449 +Character +ð’¦ +450 +Character +&LJcy +451 +Character +Љ +452 +Character +< +453 +Character +< +454 +Character +&Lacute +455 +Character +Ĺ +456 +Character +&Lambda +457 +Character +Λ +458 +Character +&Lang +459 +Character +⟪ +460 +Character +&Laplacetrf +461 +Character +â„’ +462 +Character +&Larr +463 +Character +↞ +464 +Character +&Lcaron +465 +Character +Ľ +466 +Character +&Lcedil +467 +Character +Ä» +468 +Character +&Lcy +469 +Character +Л +470 +Character +&LeftAngleBracket +471 +Character +⟨ +472 +Character +&LeftArrow +473 +Character +↠+474 +Character +&LeftArrowBar +475 +Character +⇤ +476 +Character +&LeftArrowRightArrow +477 +Character +⇆ +478 +Character +&LeftCeiling +479 +Character +⌈ +480 +Character +&LeftDoubleBracket +481 +Character +⟦ +482 +Character +&LeftDownTeeVector +483 +Character +⥡ +484 +Character +&LeftDownVector +485 +Character +⇃ +486 +Character +&LeftDownVectorBar +487 +Character +⥙ +488 +Character +&LeftFloor +489 +Character +⌊ +490 +Character +&LeftRightArrow +491 +Character +↔ +492 +Character +&LeftRightVector +493 +Character +⥎ +494 +Character +&LeftTee +495 +Character +⊣ +496 +Character +&LeftTeeArrow +497 +Character +↤ +498 +Character +&LeftTeeVector +499 +Character +⥚ +500 +Character +&LeftTriangle +501 +Character +⊲ +502 +Character +&LeftTriangleBar +503 +Character +â§ +504 +Character +&LeftTriangleEqual +505 +Character +⊴ +506 +Character +&LeftUpDownVector +507 +Character +⥑ +508 +Character +&LeftUpTeeVector +509 +Character +⥠ +510 +Character +&LeftUpVector +511 +Character +↿ +512 +Character +&LeftUpVectorBar +513 +Character +⥘ +514 +Character +&LeftVector +515 +Character +↼ +516 +Character +&LeftVectorBar +517 +Character +⥒ +518 +Character +&Leftarrow +519 +Character +⇠+520 +Character +&Leftrightarrow +521 +Character +⇔ +522 +Character +&LessEqualGreater +523 +Character +⋚ +524 +Character +&LessFullEqual +525 +Character +≦ +526 +Character +&LessGreater +527 +Character +≶ +528 +Character +&LessLess +529 +Character +⪡ +530 +Character +&LessSlantEqual +531 +Character +⩽ +532 +Character +&LessTilde +533 +Character +≲ +534 +Character +&Lfr +535 +Character +ð” +536 +Character +&Ll +537 +Character +⋘ +538 +Character +&Lleftarrow +539 +Character +⇚ +540 +Character +&Lmidot +541 +Character +Ä¿ +542 +Character +&LongLeftArrow +543 +Character +⟵ +544 +Character +&LongLeftRightArrow +545 +Character +⟷ +546 +Character +&LongRightArrow +547 +Character +⟶ +548 +Character +&Longleftarrow +549 +Character +⟸ +550 +Character +&Longleftrightarrow +551 +Character +⟺ +552 +Character +&Longrightarrow +553 +Character +⟹ +554 +Character +&Lopf +555 +Character +𕃠+556 +Character +&LowerLeftArrow +557 +Character +↙ +558 +Character +&LowerRightArrow +559 +Character +↘ +560 +Character +&Lscr +561 +Character +â„’ +562 +Character +&Lsh +563 +Character +↰ +564 +Character +&Lstrok +565 +Character +Å +566 +Character +&Lt +567 +Character +≪ +568 +Character +&Map +569 +Character +⤅ +570 +Character +&Mcy +571 +Character +М +572 +Character +&MediumSpace +573 +Character +⟠+574 +Character +&Mellintrf +575 +Character +ℳ +576 +Character +&Mfr +577 +Character +ð” +578 +Character +&MinusPlus +579 +Character +∓ +580 +Character +&Mopf +581 +Character +ð•„ +582 +Character +&Mscr +583 +Character +ℳ +584 +Character +&Mu +585 +Character +Μ +586 +Character +&NJcy +587 +Character +Њ +588 +Character +&Nacute +589 +Character +Ń +590 +Character +&Ncaron +591 +Character +Ň +592 +Character +&Ncedil +593 +Character +Å… +594 +Character +&Ncy +595 +Character +Ð +596 +Character +&NegativeMediumSpace +597 +Character +​ +598 +Character +&NegativeThickSpace +599 +Character +​ +600 +Character +&NegativeThinSpace +601 +Character +​ +602 +Character +&NegativeVeryThinSpace +603 +Character +​ +604 +Character +&NestedGreaterGreater +605 +Character +≫ +606 +Character +&NestedLessLess +607 +Character +≪ +608 +Character +&NewLine +609 +Character + + +610 +Character +&Nfr +611 +Character +𔑠+612 +Character +&NoBreak +613 +Character +â  +614 +Character +&NonBreakingSpace +615 +Character +  +616 +Character +&Nopf +617 +Character +â„• +618 +Character +&Not +619 +Character +⫬ +620 +Character +&NotCongruent +621 +Character +≢ +622 +Character +&NotCupCap +623 +Character +≭ +624 +Character +&NotDoubleVerticalBar +625 +Character +∦ +626 +Character +&NotElement +627 +Character +∉ +628 +Character +&NotEqual +629 +Character +≠ +630 +Character +&NotEqualTilde +631 +Character +≂̸ +632 +Character +&NotExists +633 +Character +∄ +634 +Character +&NotGreater +635 +Character +≯ +636 +Character +&NotGreaterEqual +637 +Character +≱ +638 +Character +&NotGreaterFullEqual +639 +Character +≧̸ +640 +Character +&NotGreaterGreater +641 +Character +≫̸ +642 +Character +&NotGreaterLess +643 +Character +≹ +644 +Character +&NotGreaterSlantEqual +645 +Character +⩾̸ +646 +Character +&NotGreaterTilde +647 +Character +≵ +648 +Character +&NotHumpDownHump +649 +Character +≎̸ +650 +Character +&NotHumpEqual +651 +Character +â‰Ì¸ +652 +Character +&NotLeftTriangle +653 +Character +⋪ +654 +Character +&NotLeftTriangleBar +655 +Character +â§Ì¸ +656 +Character +&NotLeftTriangleEqual +657 +Character +⋬ +658 +Character +&NotLess +659 +Character +≮ +660 +Character +&NotLessEqual +661 +Character +≰ +662 +Character +&NotLessGreater +663 +Character +≸ +664 +Character +&NotLessLess +665 +Character +≪̸ +666 +Character +&NotLessSlantEqual +667 +Character +⩽̸ +668 +Character +&NotLessTilde +669 +Character +≴ +670 +Character +&NotNestedGreaterGreater +671 +Character +⪢̸ +672 +Character +&NotNestedLessLess +673 +Character +⪡̸ +674 +Character +&NotPrecedes +675 +Character +⊀ +676 +Character +&NotPrecedesEqual +677 +Character +⪯̸ +678 +Character +&NotPrecedesSlantEqual +679 +Character +â‹  +680 +Character +&NotReverseElement +681 +Character +∌ +682 +Character +&NotRightTriangle +683 +Character +â‹« +684 +Character +&NotRightTriangleBar +685 +Character +â§Ì¸ +686 +Character +&NotRightTriangleEqual +687 +Character +â‹­ +688 +Character +&NotSquareSubset +689 +Character +âŠÌ¸ +690 +Character +&NotSquareSubsetEqual +691 +Character +â‹¢ +692 +Character +&NotSquareSuperset +693 +Character +âŠÌ¸ +694 +Character +&NotSquareSupersetEqual +695 +Character +â‹£ +696 +Character +&NotSubset +697 +Character +⊂⃒ +698 +Character +&NotSubsetEqual +699 +Character +⊈ +700 +Character +&NotSucceeds +701 +Character +⊠+702 +Character +&NotSucceedsEqual +703 +Character +⪰̸ +704 +Character +&NotSucceedsSlantEqual +705 +Character +â‹¡ +706 +Character +&NotSucceedsTilde +707 +Character +≿̸ +708 +Character +&NotSuperset +709 +Character +⊃⃒ +710 +Character +&NotSupersetEqual +711 +Character +⊉ +712 +Character +&NotTilde +713 +Character +≠+714 +Character +&NotTildeEqual +715 +Character +≄ +716 +Character +&NotTildeFullEqual +717 +Character +≇ +718 +Character +&NotTildeTilde +719 +Character +≉ +720 +Character +&NotVerticalBar +721 +Character +∤ +722 +Character +&Nscr +723 +Character +ð’© +724 +Character +Ñ +725 +Character +Ñ +726 +Character +&Nu +727 +Character +Î +728 +Character +&OElig +729 +Character +Å’ +730 +Character +Ó +731 +Character +Ó +732 +Character +Ô +733 +Character +Ô +734 +Character +&Ocy +735 +Character +О +736 +Character +&Odblac +737 +Character +Å +738 +Character +&Ofr +739 +Character +ð”’ +740 +Character +Ã’ +741 +Character +Ã’ +742 +Character +&Omacr +743 +Character +ÅŒ +744 +Character +&Omega +745 +Character +Ω +746 +Character +&Omicron +747 +Character +Ο +748 +Character +&Oopf +749 +Character +𕆠+750 +Character +&OpenCurlyDoubleQuote +751 +Character +“ +752 +Character +&OpenCurlyQuote +753 +Character +‘ +754 +Character +&Or +755 +Character +â©” +756 +Character +&Oscr +757 +Character +ð’ª +758 +Character +Ø +759 +Character +Ø +760 +Character +Õ +761 +Character +Õ +762 +Character +&Otimes +763 +Character +⨷ +764 +Character +Ö +765 +Character +Ö +766 +Character +&OverBar +767 +Character +‾ +768 +Character +&OverBrace +769 +Character +âž +770 +Character +&OverBracket +771 +Character +⎴ +772 +Character +&OverParenthesis +773 +Character +✠+774 +Character +&PartialD +775 +Character +∂ +776 +Character +&Pcy +777 +Character +П +778 +Character +&Pfr +779 +Character +𔓠+780 +Character +&Phi +781 +Character +Φ +782 +Character +&Pi +783 +Character +Π +784 +Character +&PlusMinus +785 +Character +± +786 +Character +&Poincareplane +787 +Character +ℌ +788 +Character +&Popf +789 +Character +â„™ +790 +Character +&Pr +791 +Character +⪻ +792 +Character +&Precedes +793 +Character +≺ +794 +Character +&PrecedesEqual +795 +Character +⪯ +796 +Character +&PrecedesSlantEqual +797 +Character +≼ +798 +Character +&PrecedesTilde +799 +Character +≾ +800 +Character +&Prime +801 +Character +″ +802 +Character +&Product +803 +Character +∠+804 +Character +&Proportion +805 +Character +∷ +806 +Character +&Proportional +807 +Character +∠+808 +Character +&Pscr +809 +Character +ð’« +810 +Character +&Psi +811 +Character +Ψ +812 +Character +" +813 +Character +" +814 +Character +&Qfr +815 +Character +ð”” +816 +Character +&Qopf +817 +Character +ℚ +818 +Character +&Qscr +819 +Character +ð’¬ +820 +Character +&RBarr +821 +Character +⤠+822 +Character +® +823 +Character +® +824 +Character +&Racute +825 +Character +Å” +826 +Character +&Rang +827 +Character +⟫ +828 +Character +&Rarr +829 +Character +↠ +830 +Character +&Rarrtl +831 +Character +⤖ +832 +Character +&Rcaron +833 +Character +Ř +834 +Character +&Rcedil +835 +Character +Å– +836 +Character +&Rcy +837 +Character +Р +838 +Character +&Re +839 +Character +ℜ +840 +Character +&ReverseElement +841 +Character +∋ +842 +Character +&ReverseEquilibrium +843 +Character +⇋ +844 +Character +&ReverseUpEquilibrium +845 +Character +⥯ +846 +Character +&Rfr +847 +Character +ℜ +848 +Character +&Rho +849 +Character +Ρ +850 +Character +&RightAngleBracket +851 +Character +⟩ +852 +Character +&RightArrow +853 +Character +→ +854 +Character +&RightArrowBar +855 +Character +⇥ +856 +Character +&RightArrowLeftArrow +857 +Character +⇄ +858 +Character +&RightCeiling +859 +Character +⌉ +860 +Character +&RightDoubleBracket +861 +Character +⟧ +862 +Character +&RightDownTeeVector +863 +Character +⥠+864 +Character +&RightDownVector +865 +Character +⇂ +866 +Character +&RightDownVectorBar +867 +Character +⥕ +868 +Character +&RightFloor +869 +Character +⌋ +870 +Character +&RightTee +871 +Character +⊢ +872 +Character +&RightTeeArrow +873 +Character +↦ +874 +Character +&RightTeeVector +875 +Character +⥛ +876 +Character +&RightTriangle +877 +Character +⊳ +878 +Character +&RightTriangleBar +879 +Character +â§ +880 +Character +&RightTriangleEqual +881 +Character +⊵ +882 +Character +&RightUpDownVector +883 +Character +⥠+884 +Character +&RightUpTeeVector +885 +Character +⥜ +886 +Character +&RightUpVector +887 +Character +↾ +888 +Character +&RightUpVectorBar +889 +Character +⥔ +890 +Character +&RightVector +891 +Character +⇀ +892 +Character +&RightVectorBar +893 +Character +⥓ +894 +Character +&Rightarrow +895 +Character +⇒ +896 +Character +&Ropf +897 +Character +â„ +898 +Character +&RoundImplies +899 +Character +⥰ +900 +Character +&Rrightarrow +901 +Character +⇛ +902 +Character +&Rscr +903 +Character +â„› +904 +Character +&Rsh +905 +Character +↱ +906 +Character +&RuleDelayed +907 +Character +â§´ +908 +Character +&SHCHcy +909 +Character +Щ +910 +Character +&SHcy +911 +Character +Ш +912 +Character +&SOFTcy +913 +Character +Ь +914 +Character +&Sacute +915 +Character +Åš +916 +Character +&Sc +917 +Character +⪼ +918 +Character +&Scaron +919 +Character +Å  +920 +Character +&Scedil +921 +Character +Åž +922 +Character +&Scirc +923 +Character +Åœ +924 +Character +&Scy +925 +Character +С +926 +Character +&Sfr +927 +Character +ð”– +928 +Character +&ShortDownArrow +929 +Character +↓ +930 +Character +&ShortLeftArrow +931 +Character +↠+932 +Character +&ShortRightArrow +933 +Character +→ +934 +Character +&ShortUpArrow +935 +Character +↑ +936 +Character +&Sigma +937 +Character +Σ +938 +Character +&SmallCircle +939 +Character +∘ +940 +Character +&Sopf +941 +Character +𕊠+942 +Character +&Sqrt +943 +Character +√ +944 +Character +&Square +945 +Character +â–¡ +946 +Character +&SquareIntersection +947 +Character +⊓ +948 +Character +&SquareSubset +949 +Character +⊠+950 +Character +&SquareSubsetEqual +951 +Character +⊑ +952 +Character +&SquareSuperset +953 +Character +⊠+954 +Character +&SquareSupersetEqual +955 +Character +⊒ +956 +Character +&SquareUnion +957 +Character +⊔ +958 +Character +&Sscr +959 +Character +ð’® +960 +Character +&Star +961 +Character +⋆ +962 +Character +&Sub +963 +Character +â‹ +964 +Character +&Subset +965 +Character +â‹ +966 +Character +&SubsetEqual +967 +Character +⊆ +968 +Character +&Succeeds +969 +Character +≻ +970 +Character +&SucceedsEqual +971 +Character +⪰ +972 +Character +&SucceedsSlantEqual +973 +Character +≽ +974 +Character +&SucceedsTilde +975 +Character +≿ +976 +Character +&SuchThat +977 +Character +∋ +978 +Character +&Sum +979 +Character +∑ +980 +Character +&Sup +981 +Character +â‹‘ +982 +Character +&Superset +983 +Character +⊃ +984 +Character +&SupersetEqual +985 +Character +⊇ +986 +Character +&Supset +987 +Character +â‹‘ +988 +Character +Þ +989 +Character +Þ +990 +Character +&TRADE +991 +Character +â„¢ +992 +Character +&TSHcy +993 +Character +Ћ +994 +Character +&TScy +995 +Character +Ц +996 +Character +&Tab +997 +Character + +998 +Character +&Tau +999 +Character +Τ +1000 +Character +&Tcaron +1001 +Character +Ť +1002 +Character +&Tcedil +1003 +Character +Å¢ +1004 +Character +&Tcy +1005 +Character +Т +1006 +Character +&Tfr +1007 +Character +ð”— +1008 +Character +&Therefore +1009 +Character +∴ +1010 +Character +&Theta +1011 +Character +Θ +1012 +Character +&ThickSpace +1013 +Character +âŸâ€Š +1014 +Character +&ThinSpace +1015 +Character +  +1016 +Character +&Tilde +1017 +Character +∼ +1018 +Character +&TildeEqual +1019 +Character +≃ +1020 +Character +&TildeFullEqual +1021 +Character +≅ +1022 +Character +&TildeTilde +1023 +Character +≈ +1024 +Character +&Topf +1025 +Character +ð•‹ +1026 +Character +&TripleDot +1027 +Character +⃛ +1028 +Character +&Tscr +1029 +Character +ð’¯ +1030 +Character +&Tstrok +1031 +Character +Ŧ +1032 +Character +Ú +1033 +Character +Ú +1034 +Character +&Uarr +1035 +Character +↟ +1036 +Character +&Uarrocir +1037 +Character +⥉ +1038 +Character +&Ubrcy +1039 +Character +ÐŽ +1040 +Character +&Ubreve +1041 +Character +Ŭ +1042 +Character +Û +1043 +Character +Û +1044 +Character +&Ucy +1045 +Character +У +1046 +Character +&Udblac +1047 +Character +Ű +1048 +Character +&Ufr +1049 +Character +𔘠+1050 +Character +Ù +1051 +Character +Ù +1052 +Character +&Umacr +1053 +Character +Ū +1054 +Character +&UnderBar +1055 +Character +_ +1056 +Character +&UnderBrace +1057 +Character +⟠+1058 +Character +&UnderBracket +1059 +Character +⎵ +1060 +Character +&UnderParenthesis +1061 +Character +â +1062 +Character +&Union +1063 +Character +⋃ +1064 +Character +&UnionPlus +1065 +Character +⊎ +1066 +Character +&Uogon +1067 +Character +Ų +1068 +Character +&Uopf +1069 +Character +𕌠+1070 +Character +&UpArrow +1071 +Character +↑ +1072 +Character +&UpArrowBar +1073 +Character +⤒ +1074 +Character +&UpArrowDownArrow +1075 +Character +⇅ +1076 +Character +&UpDownArrow +1077 +Character +↕ +1078 +Character +&UpEquilibrium +1079 +Character +⥮ +1080 +Character +&UpTee +1081 +Character +⊥ +1082 +Character +&UpTeeArrow +1083 +Character +↥ +1084 +Character +&Uparrow +1085 +Character +⇑ +1086 +Character +&Updownarrow +1087 +Character +⇕ +1088 +Character +&UpperLeftArrow +1089 +Character +↖ +1090 +Character +&UpperRightArrow +1091 +Character +↗ +1092 +Character +&Upsi +1093 +Character +Ï’ +1094 +Character +&Upsilon +1095 +Character +Î¥ +1096 +Character +&Uring +1097 +Character +Å® +1098 +Character +&Uscr +1099 +Character +ð’° +1100 +Character +&Utilde +1101 +Character +Ũ +1102 +Character +Ü +1103 +Character +Ü +1104 +Character +&VDash +1105 +Character +⊫ +1106 +Character +&Vbar +1107 +Character +â«« +1108 +Character +&Vcy +1109 +Character +Ð’ +1110 +Character +&Vdash +1111 +Character +⊩ +1112 +Character +&Vdashl +1113 +Character +⫦ +1114 +Character +&Vee +1115 +Character +â‹ +1116 +Character +&Verbar +1117 +Character +‖ +1118 +Character +&Vert +1119 +Character +‖ +1120 +Character +&VerticalBar +1121 +Character +∣ +1122 +Character +&VerticalLine +1123 +Character +| +1124 +Character +&VerticalSeparator +1125 +Character +☠+1126 +Character +&VerticalTilde +1127 +Character +≀ +1128 +Character +&VeryThinSpace +1129 +Character +  +1130 +Character +&Vfr +1131 +Character +ð”™ +1132 +Character +&Vopf +1133 +Character +ð• +1134 +Character +&Vscr +1135 +Character +ð’± +1136 +Character +&Vvdash +1137 +Character +⊪ +1138 +Character +&Wcirc +1139 +Character +Å´ +1140 +Character +&Wedge +1141 +Character +â‹€ +1142 +Character +&Wfr +1143 +Character +𔚠+1144 +Character +&Wopf +1145 +Character +𕎠+1146 +Character +&Wscr +1147 +Character +ð’² +1148 +Character +&Xfr +1149 +Character +ð”› +1150 +Character +&Xi +1151 +Character +Ξ +1152 +Character +&Xopf +1153 +Character +ð• +1154 +Character +&Xscr +1155 +Character +ð’³ +1156 +Character +&YAcy +1157 +Character +Я +1158 +Character +&YIcy +1159 +Character +Ї +1160 +Character +&YUcy +1161 +Character +Ю +1162 +Character +à +1163 +Character +à +1164 +Character +&Ycirc +1165 +Character +Ŷ +1166 +Character +&Ycy +1167 +Character +Ы +1168 +Character +&Yfr +1169 +Character +𔜠+1170 +Character +&Yopf +1171 +Character +ð• +1172 +Character +&Yscr +1173 +Character +ð’´ +1174 +Character +&Yuml +1175 +Character +Ÿ +1176 +Character +&ZHcy +1177 +Character +Ж +1178 +Character +&Zacute +1179 +Character +Ź +1180 +Character +&Zcaron +1181 +Character +Ž +1182 +Character +&Zcy +1183 +Character +З +1184 +Character +&Zdot +1185 +Character +Å» +1186 +Character +&ZeroWidthSpace +1187 +Character +​ +1188 +Character +&Zeta +1189 +Character +Ζ +1190 +Character +&Zfr +1191 +Character +ℨ +1192 +Character +&Zopf +1193 +Character +ℤ +1194 +Character +&Zscr +1195 +Character +ð’µ +1196 +Character +á +1197 +Character +á +1198 +Character +&abreve +1199 +Character +ă +1200 +Character +&ac +1201 +Character +∾ +1202 +Character +&acE +1203 +Character +∾̳ +1204 +Character +&acd +1205 +Character +∿ +1206 +Character +â +1207 +Character +â +1208 +Character +´ +1209 +Character +´ +1210 +Character +&acy +1211 +Character +а +1212 +Character +æ +1213 +Character +æ +1214 +Character +&af +1215 +Character +â¡ +1216 +Character +&afr +1217 +Character +𔞠+1218 +Character +à +1219 +Character +à +1220 +Character +&alefsym +1221 +Character +ℵ +1222 +Character +&aleph +1223 +Character +ℵ +1224 +Character +&alpha +1225 +Character +α +1226 +Character +&amacr +1227 +Character +Ä +1228 +Character +&amalg +1229 +Character +⨿ +1230 +Character +& +1231 +Character +& +1232 +Character +&and +1233 +Character +∧ +1234 +Character +&andand +1235 +Character +â©• +1236 +Character +&andd +1237 +Character +⩜ +1238 +Character +&andslope +1239 +Character +⩘ +1240 +Character +&andv +1241 +Character +⩚ +1242 +Character +&ang +1243 +Character +∠ +1244 +Character +&ange +1245 +Character +⦤ +1246 +Character +&angle +1247 +Character +∠ +1248 +Character +&angmsd +1249 +Character +∡ +1250 +Character +&angmsdaa +1251 +Character +⦨ +1252 +Character +&angmsdab +1253 +Character +⦩ +1254 +Character +&angmsdac +1255 +Character +⦪ +1256 +Character +&angmsdad +1257 +Character +⦫ +1258 +Character +&angmsdae +1259 +Character +⦬ +1260 +Character +&angmsdaf +1261 +Character +⦭ +1262 +Character +&angmsdag +1263 +Character +⦮ +1264 +Character +&angmsdah +1265 +Character +⦯ +1266 +Character +&angrt +1267 +Character +∟ +1268 +Character +&angrtvb +1269 +Character +⊾ +1270 +Character +&angrtvbd +1271 +Character +⦠+1272 +Character +&angsph +1273 +Character +∢ +1274 +Character +&angst +1275 +Character +Ã… +1276 +Character +&angzarr +1277 +Character +â¼ +1278 +Character +&aogon +1279 +Character +Ä… +1280 +Character +&aopf +1281 +Character +ð•’ +1282 +Character +&ap +1283 +Character +≈ +1284 +Character +&apE +1285 +Character +â©° +1286 +Character +&apacir +1287 +Character +⩯ +1288 +Character +&ape +1289 +Character +≊ +1290 +Character +&apid +1291 +Character +≋ +1292 +Character +&apos +1293 +Character +' +1294 +Character +&approx +1295 +Character +≈ +1296 +Character +&approxeq +1297 +Character +≊ +1298 +Character +Ã¥ +1299 +Character +Ã¥ +1300 +Character +&ascr +1301 +Character +ð’¶ +1302 +Character +&ast +1303 +Character +* +1304 +Character +&asymp +1305 +Character +≈ +1306 +Character +&asympeq +1307 +Character +≠+1308 +Character +ã +1309 +Character +ã +1310 +Character +ä +1311 +Character +ä +1312 +Character +&awconint +1313 +Character +∳ +1314 +Character +&awint +1315 +Character +⨑ +1316 +Character +&bNot +1317 +Character +â«­ +1318 +Character +&backcong +1319 +Character +≌ +1320 +Character +&backepsilon +1321 +Character +϶ +1322 +Character +&backprime +1323 +Character +‵ +1324 +Character +&backsim +1325 +Character +∽ +1326 +Character +&backsimeq +1327 +Character +â‹ +1328 +Character +&barvee +1329 +Character +⊽ +1330 +Character +&barwed +1331 +Character +⌅ +1332 +Character +&barwedge +1333 +Character +⌅ +1334 +Character +&bbrk +1335 +Character +⎵ +1336 +Character +&bbrktbrk +1337 +Character +⎶ +1338 +Character +&bcong +1339 +Character +≌ +1340 +Character +&bcy +1341 +Character +б +1342 +Character +&bdquo +1343 +Character +„ +1344 +Character +&becaus +1345 +Character +∵ +1346 +Character +&because +1347 +Character +∵ +1348 +Character +&bemptyv +1349 +Character +⦰ +1350 +Character +&bepsi +1351 +Character +϶ +1352 +Character +&bernou +1353 +Character +ℬ +1354 +Character +&beta +1355 +Character +β +1356 +Character +&beth +1357 +Character +â„¶ +1358 +Character +&between +1359 +Character +≬ +1360 +Character +&bfr +1361 +Character +𔟠+1362 +Character +&bigcap +1363 +Character +â‹‚ +1364 +Character +&bigcirc +1365 +Character +â—¯ +1366 +Character +&bigcup +1367 +Character +⋃ +1368 +Character +&bigodot +1369 +Character +⨀ +1370 +Character +&bigoplus +1371 +Character +⨠+1372 +Character +&bigotimes +1373 +Character +⨂ +1374 +Character +&bigsqcup +1375 +Character +⨆ +1376 +Character +&bigstar +1377 +Character +★ +1378 +Character +&bigtriangledown +1379 +Character +â–½ +1380 +Character +&bigtriangleup +1381 +Character +â–³ +1382 +Character +&biguplus +1383 +Character +⨄ +1384 +Character +&bigvee +1385 +Character +â‹ +1386 +Character +&bigwedge +1387 +Character +â‹€ +1388 +Character +&bkarow +1389 +Character +⤠+1390 +Character +&blacklozenge +1391 +Character +â§« +1392 +Character +&blacksquare +1393 +Character +â–ª +1394 +Character +&blacktriangle +1395 +Character +â–´ +1396 +Character +&blacktriangledown +1397 +Character +â–¾ +1398 +Character +&blacktriangleleft +1399 +Character +â—‚ +1400 +Character +&blacktriangleright +1401 +Character +â–¸ +1402 +Character +&blank +1403 +Character +⣠+1404 +Character +&blk12 +1405 +Character +â–’ +1406 +Character +&blk14 +1407 +Character +â–‘ +1408 +Character +&blk34 +1409 +Character +â–“ +1410 +Character +&block +1411 +Character +â–ˆ +1412 +Character +&bne +1413 +Character +=⃥ +1414 +Character +&bnequiv +1415 +Character +≡⃥ +1416 +Character +&bnot +1417 +Character +⌠+1418 +Character +&bopf +1419 +Character +ð•“ +1420 +Character +&bot +1421 +Character +⊥ +1422 +Character +&bottom +1423 +Character +⊥ +1424 +Character +&bowtie +1425 +Character +⋈ +1426 +Character +&boxDL +1427 +Character +â•— +1428 +Character +&boxDR +1429 +Character +â•” +1430 +Character +&boxDl +1431 +Character +â•– +1432 +Character +&boxDr +1433 +Character +â•“ +1434 +Character +&boxH +1435 +Character +â• +1436 +Character +&boxHD +1437 +Character +╦ +1438 +Character +&boxHU +1439 +Character +â•© +1440 +Character +&boxHd +1441 +Character +╤ +1442 +Character +&boxHu +1443 +Character +â•§ +1444 +Character +&boxUL +1445 +Character +â• +1446 +Character +&boxUR +1447 +Character +╚ +1448 +Character +&boxUl +1449 +Character +╜ +1450 +Character +&boxUr +1451 +Character +â•™ +1452 +Character +&boxV +1453 +Character +â•‘ +1454 +Character +&boxVH +1455 +Character +╬ +1456 +Character +&boxVL +1457 +Character +â•£ +1458 +Character +&boxVR +1459 +Character +â•  +1460 +Character +&boxVh +1461 +Character +â•« +1462 +Character +&boxVl +1463 +Character +â•¢ +1464 +Character +&boxVr +1465 +Character +╟ +1466 +Character +&boxbox +1467 +Character +⧉ +1468 +Character +&boxdL +1469 +Character +â•• +1470 +Character +&boxdR +1471 +Character +â•’ +1472 +Character +&boxdl +1473 +Character +â” +1474 +Character +&boxdr +1475 +Character +┌ +1476 +Character +&boxh +1477 +Character +─ +1478 +Character +&boxhD +1479 +Character +â•¥ +1480 +Character +&boxhU +1481 +Character +╨ +1482 +Character +&boxhd +1483 +Character +┬ +1484 +Character +&boxhu +1485 +Character +â”´ +1486 +Character +&boxminus +1487 +Character +⊟ +1488 +Character +&boxplus +1489 +Character +⊞ +1490 +Character +&boxtimes +1491 +Character +⊠ +1492 +Character +&boxuL +1493 +Character +â•› +1494 +Character +&boxuR +1495 +Character +╘ +1496 +Character +&boxul +1497 +Character +┘ +1498 +Character +&boxur +1499 +Character +â”” +1500 +Character +&boxv +1501 +Character +│ +1502 +Character +&boxvH +1503 +Character +╪ +1504 +Character +&boxvL +1505 +Character +â•¡ +1506 +Character +&boxvR +1507 +Character +╞ +1508 +Character +&boxvh +1509 +Character +┼ +1510 +Character +&boxvl +1511 +Character +┤ +1512 +Character +&boxvr +1513 +Character +├ +1514 +Character +&bprime +1515 +Character +‵ +1516 +Character +&breve +1517 +Character +˘ +1518 +Character +¦ +1519 +Character +¦ +1520 +Character +&bscr +1521 +Character +ð’· +1522 +Character +&bsemi +1523 +Character +â +1524 +Character +&bsim +1525 +Character +∽ +1526 +Character +&bsime +1527 +Character +â‹ +1528 +Character +&bsol +1529 +Character +\ +1530 +Character +&bsolb +1531 +Character +â§… +1532 +Character +&bsolhsub +1533 +Character +⟈ +1534 +Character +&bull +1535 +Character +• +1536 +Character +&bullet +1537 +Character +• +1538 +Character +&bump +1539 +Character +≎ +1540 +Character +&bumpE +1541 +Character +⪮ +1542 +Character +&bumpe +1543 +Character +≠+1544 +Character +&bumpeq +1545 +Character +≠+1546 +Character +&cacute +1547 +Character +ć +1548 +Character +&cap +1549 +Character +∩ +1550 +Character +&capand +1551 +Character +â©„ +1552 +Character +&capbrcup +1553 +Character +⩉ +1554 +Character +&capcap +1555 +Character +â©‹ +1556 +Character +&capcup +1557 +Character +⩇ +1558 +Character +&capdot +1559 +Character +â©€ +1560 +Character +&caps +1561 +Character +∩︀ +1562 +Character +&caret +1563 +Character +â +1564 +Character +&caron +1565 +Character +ˇ +1566 +Character +&ccaps +1567 +Character +â© +1568 +Character +&ccaron +1569 +Character +Ä +1570 +Character +ç +1571 +Character +ç +1572 +Character +&ccirc +1573 +Character +ĉ +1574 +Character +&ccups +1575 +Character +⩌ +1576 +Character +&ccupssm +1577 +Character +â© +1578 +Character +&cdot +1579 +Character +Ä‹ +1580 +Character +¸ +1581 +Character +¸ +1582 +Character +&cemptyv +1583 +Character +⦲ +1584 +Character +¢ +1585 +Character +¢ +1586 +Character +· +1587 +Character +&cfr +1588 +Character +ð”  +1589 +Character +&chcy +1590 +Character +ч +1591 +Character +&check +1592 +Character +✓ +1593 +Character +&checkmark +1594 +Character +✓ +1595 +Character +&chi +1596 +Character +χ +1597 +Character +&cir +1598 +Character +â—‹ +1599 +Character +&cirE +1600 +Character +⧃ +1601 +Character +&circ +1602 +Character +ˆ +1603 +Character +&circeq +1604 +Character +≗ +1605 +Character +&circlearrowleft +1606 +Character +↺ +1607 +Character +&circlearrowright +1608 +Character +↻ +1609 +Character +&circledR +1610 +Character +® +1611 +Character +&circledS +1612 +Character +Ⓢ +1613 +Character +&circledast +1614 +Character +⊛ +1615 +Character +&circledcirc +1616 +Character +⊚ +1617 +Character +&circleddash +1618 +Character +⊠+1619 +Character +&cire +1620 +Character +≗ +1621 +Character +&cirfnint +1622 +Character +⨠+1623 +Character +&cirmid +1624 +Character +⫯ +1625 +Character +&cirscir +1626 +Character +â§‚ +1627 +Character +&clubs +1628 +Character +♣ +1629 +Character +&clubsuit +1630 +Character +♣ +1631 +Character +&colon +1632 +Character +: +1633 +Character +&colone +1634 +Character +≔ +1635 +Character +&coloneq +1636 +Character +≔ +1637 +Character +&comma +1638 +Character +, +1639 +Character +&commat +1640 +Character +@ +1641 +Character +&comp +1642 +Character +∠+1643 +Character +&compfn +1644 +Character +∘ +1645 +Character +&complement +1646 +Character +∠+1647 +Character +&complexes +1648 +Character +â„‚ +1649 +Character +&cong +1650 +Character +≅ +1651 +Character +&congdot +1652 +Character +â©­ +1653 +Character +&conint +1654 +Character +∮ +1655 +Character +&copf +1656 +Character +ð•” +1657 +Character +&coprod +1658 +Character +∠+1659 +Character +© +1660 +Character +© +1661 +Character +â„— +1662 +Character +&crarr +1663 +Character +↵ +1664 +Character +&cross +1665 +Character +✗ +1666 +Character +&cscr +1667 +Character +ð’¸ +1668 +Character +&csub +1669 +Character +â« +1670 +Character +&csube +1671 +Character +â«‘ +1672 +Character +&csup +1673 +Character +â« +1674 +Character +&csupe +1675 +Character +â«’ +1676 +Character +&ctdot +1677 +Character +⋯ +1678 +Character +&cudarrl +1679 +Character +⤸ +1680 +Character +&cudarrr +1681 +Character +⤵ +1682 +Character +&cuepr +1683 +Character +⋞ +1684 +Character +&cuesc +1685 +Character +⋟ +1686 +Character +&cularr +1687 +Character +↶ +1688 +Character +&cularrp +1689 +Character +⤽ +1690 +Character +&cup +1691 +Character +∪ +1692 +Character +&cupbrcap +1693 +Character +⩈ +1694 +Character +&cupcap +1695 +Character +⩆ +1696 +Character +&cupcup +1697 +Character +⩊ +1698 +Character +&cupdot +1699 +Character +⊠+1700 +Character +&cupor +1701 +Character +â©… +1702 +Character +&cups +1703 +Character +∪︀ +1704 +Character +&curarr +1705 +Character +↷ +1706 +Character +&curarrm +1707 +Character +⤼ +1708 +Character +&curlyeqprec +1709 +Character +⋞ +1710 +Character +&curlyeqsucc +1711 +Character +⋟ +1712 +Character +&curlyvee +1713 +Character +⋎ +1714 +Character +&curlywedge +1715 +Character +â‹ +1716 +Character +¤ +1717 +Character +¤ +1718 +Character +&curvearrowleft +1719 +Character +↶ +1720 +Character +&curvearrowright +1721 +Character +↷ +1722 +Character +&cuvee +1723 +Character +⋎ +1724 +Character +&cuwed +1725 +Character +â‹ +1726 +Character +&cwconint +1727 +Character +∲ +1728 +Character +&cwint +1729 +Character +∱ +1730 +Character +&cylcty +1731 +Character +⌭ +1732 +Character +&dArr +1733 +Character +⇓ +1734 +Character +&dHar +1735 +Character +⥥ +1736 +Character +&dagger +1737 +Character +† +1738 +Character +&daleth +1739 +Character +ℸ +1740 +Character +&darr +1741 +Character +↓ +1742 +Character +&dash +1743 +Character +†+1744 +Character +&dashv +1745 +Character +⊣ +1746 +Character +&dbkarow +1747 +Character +⤠+1748 +Character +&dblac +1749 +Character +Ë +1750 +Character +&dcaron +1751 +Character +Ä +1752 +Character +&dcy +1753 +Character +д +1754 +Character +&dd +1755 +Character +â…† +1756 +Character +&ddagger +1757 +Character +‡ +1758 +Character +&ddarr +1759 +Character +⇊ +1760 +Character +&ddotseq +1761 +Character +â©· +1762 +Character +° +1763 +Character +° +1764 +Character +&delta +1765 +Character +δ +1766 +Character +&demptyv +1767 +Character +⦱ +1768 +Character +&dfisht +1769 +Character +⥿ +1770 +Character +&dfr +1771 +Character +𔡠+1772 +Character +&dharl +1773 +Character +⇃ +1774 +Character +&dharr +1775 +Character +⇂ +1776 +Character +&diam +1777 +Character +â‹„ +1778 +Character +&diamond +1779 +Character +â‹„ +1780 +Character +&diamondsuit +1781 +Character +♦ +1782 +Character +&diams +1783 +Character +♦ +1784 +Character +&die +1785 +Character +¨ +1786 +Character +&digamma +1787 +Character +Ï +1788 +Character +&disin +1789 +Character +⋲ +1790 +Character +&div +1791 +Character +÷ +1792 +Character +÷ +1793 +Character +÷ +1794 +Character +⋇ +1795 +Character +&divonx +1796 +Character +⋇ +1797 +Character +&djcy +1798 +Character +Ñ’ +1799 +Character +&dlcorn +1800 +Character +⌞ +1801 +Character +&dlcrop +1802 +Character +⌠+1803 +Character +&dollar +1804 +Character +$ +1805 +Character +&dopf +1806 +Character +ð•• +1807 +Character +&dot +1808 +Character +Ë™ +1809 +Character +&doteq +1810 +Character +≠+1811 +Character +&doteqdot +1812 +Character +≑ +1813 +Character +&dotminus +1814 +Character +∸ +1815 +Character +&dotplus +1816 +Character +∔ +1817 +Character +&dotsquare +1818 +Character +⊡ +1819 +Character +&doublebarwedge +1820 +Character +⌆ +1821 +Character +&downarrow +1822 +Character +↓ +1823 +Character +&downdownarrows +1824 +Character +⇊ +1825 +Character +&downharpoonleft +1826 +Character +⇃ +1827 +Character +&downharpoonright +1828 +Character +⇂ +1829 +Character +&drbkarow +1830 +Character +⤠+1831 +Character +&drcorn +1832 +Character +⌟ +1833 +Character +&drcrop +1834 +Character +⌌ +1835 +Character +&dscr +1836 +Character +ð’¹ +1837 +Character +&dscy +1838 +Character +Ñ• +1839 +Character +&dsol +1840 +Character +â§¶ +1841 +Character +&dstrok +1842 +Character +Ä‘ +1843 +Character +&dtdot +1844 +Character +⋱ +1845 +Character +&dtri +1846 +Character +â–¿ +1847 +Character +&dtrif +1848 +Character +â–¾ +1849 +Character +&duarr +1850 +Character +⇵ +1851 +Character +&duhar +1852 +Character +⥯ +1853 +Character +&dwangle +1854 +Character +⦦ +1855 +Character +&dzcy +1856 +Character +ÑŸ +1857 +Character +&dzigrarr +1858 +Character +⟿ +1859 +Character +&eDDot +1860 +Character +â©· +1861 +Character +&eDot +1862 +Character +≑ +1863 +Character +é +1864 +Character +é +1865 +Character +&easter +1866 +Character +â©® +1867 +Character +&ecaron +1868 +Character +Ä› +1869 +Character +&ecir +1870 +Character +≖ +1871 +Character +ê +1872 +Character +ê +1873 +Character +&ecolon +1874 +Character +≕ +1875 +Character +&ecy +1876 +Character +Ñ +1877 +Character +&edot +1878 +Character +Ä— +1879 +Character +&ee +1880 +Character +â…‡ +1881 +Character +&efDot +1882 +Character +≒ +1883 +Character +&efr +1884 +Character +𔢠+1885 +Character +&eg +1886 +Character +⪚ +1887 +Character +è +1888 +Character +è +1889 +Character +&egs +1890 +Character +⪖ +1891 +Character +&egsdot +1892 +Character +⪘ +1893 +Character +&el +1894 +Character +⪙ +1895 +Character +&elinters +1896 +Character +â§ +1897 +Character +&ell +1898 +Character +â„“ +1899 +Character +&els +1900 +Character +⪕ +1901 +Character +&elsdot +1902 +Character +⪗ +1903 +Character +&emacr +1904 +Character +Ä“ +1905 +Character +&empty +1906 +Character +∅ +1907 +Character +&emptyset +1908 +Character +∅ +1909 +Character +&emptyv +1910 +Character +∅ +1911 +Character +&emsp +1912 +Character +&emsp13 +1913 +Character +  +1914 +Character +&emsp14 +1915 +Character +  +1916 +Character +  +1917 +Character +&eng +1918 +Character +Å‹ +1919 +Character +&ensp +1920 +Character +  +1921 +Character +&eogon +1922 +Character +Ä™ +1923 +Character +&eopf +1924 +Character +ð•– +1925 +Character +&epar +1926 +Character +â‹• +1927 +Character +&eparsl +1928 +Character +â§£ +1929 +Character +&eplus +1930 +Character +⩱ +1931 +Character +&epsi +1932 +Character +ε +1933 +Character +&epsilon +1934 +Character +ε +1935 +Character +&epsiv +1936 +Character +ϵ +1937 +Character +&eqcirc +1938 +Character +≖ +1939 +Character +&eqcolon +1940 +Character +≕ +1941 +Character +&eqsim +1942 +Character +≂ +1943 +Character +&eqslantgtr +1944 +Character +⪖ +1945 +Character +&eqslantless +1946 +Character +⪕ +1947 +Character +&equals +1948 +Character += +1949 +Character +&equest +1950 +Character +≟ +1951 +Character +&equiv +1952 +Character +≡ +1953 +Character +&equivDD +1954 +Character +⩸ +1955 +Character +&eqvparsl +1956 +Character +â§¥ +1957 +Character +&erDot +1958 +Character +≓ +1959 +Character +&erarr +1960 +Character +⥱ +1961 +Character +&escr +1962 +Character +ℯ +1963 +Character +&esdot +1964 +Character +≠+1965 +Character +&esim +1966 +Character +≂ +1967 +Character +&eta +1968 +Character +η +1969 +Character +ð +1970 +Character +ð +1971 +Character +ë +1972 +Character +ë +1973 +Character +&euro +1974 +Character +€ +1975 +Character +&excl +1976 +Character +! +1977 +Character +&exist +1978 +Character +∃ +1979 +Character +&expectation +1980 +Character +â„° +1981 +Character +&exponentiale +1982 +Character +â…‡ +1983 +Character +&fallingdotseq +1984 +Character +≒ +1985 +Character +&fcy +1986 +Character +Ñ„ +1987 +Character +&female +1988 +Character +♀ +1989 +Character +&ffilig +1990 +Character +ffi +1991 +Character +&fflig +1992 +Character +ff +1993 +Character +&ffllig +1994 +Character +ffl +1995 +Character +&ffr +1996 +Character +𔣠+1997 +Character +&filig +1998 +Character +ï¬ +1999 +Character +&fjlig +2000 +Character +fj +2001 +Character +&flat +2002 +Character +â™­ +2003 +Character +&fllig +2004 +Character +fl +2005 +Character +&fltns +2006 +Character +â–± +2007 +Character +&fnof +2008 +Character +Æ’ +2009 +Character +&fopf +2010 +Character +ð•— +2011 +Character +&forall +2012 +Character +∀ +2013 +Character +&fork +2014 +Character +â‹” +2015 +Character +&forkv +2016 +Character +â«™ +2017 +Character +&fpartint +2018 +Character +⨠+2019 +Character +½ +2020 +Character +½ +2021 +Character +&frac13 +2022 +Character +â…“ +2023 +Character +¼ +2024 +Character +¼ +2025 +Character +&frac15 +2026 +Character +â…• +2027 +Character +&frac16 +2028 +Character +â…™ +2029 +Character +&frac18 +2030 +Character +â…› +2031 +Character +&frac23 +2032 +Character +â…” +2033 +Character +&frac25 +2034 +Character +â…– +2035 +Character +¾ +2036 +Character +¾ +2037 +Character +&frac35 +2038 +Character +â…— +2039 +Character +&frac38 +2040 +Character +â…œ +2041 +Character +&frac45 +2042 +Character +â…˜ +2043 +Character +&frac56 +2044 +Character +â…š +2045 +Character +&frac58 +2046 +Character +â… +2047 +Character +&frac78 +2048 +Character +â…ž +2049 +Character +&frasl +2050 +Character +â„ +2051 +Character +&frown +2052 +Character +⌢ +2053 +Character +&fscr +2054 +Character +ð’» +2055 +Character +&gE +2056 +Character +≧ +2057 +Character +&gEl +2058 +Character +⪌ +2059 +Character +&gacute +2060 +Character +ǵ +2061 +Character +&gamma +2062 +Character +γ +2063 +Character +&gammad +2064 +Character +Ï +2065 +Character +&gap +2066 +Character +⪆ +2067 +Character +&gbreve +2068 +Character +ÄŸ +2069 +Character +&gcirc +2070 +Character +Ä +2071 +Character +&gcy +2072 +Character +г +2073 +Character +&gdot +2074 +Character +Ä¡ +2075 +Character +&ge +2076 +Character +≥ +2077 +Character +&gel +2078 +Character +â‹› +2079 +Character +&geq +2080 +Character +≥ +2081 +Character +&geqq +2082 +Character +≧ +2083 +Character +&geqslant +2084 +Character +⩾ +2085 +Character +&ges +2086 +Character +⩾ +2087 +Character +&gescc +2088 +Character +⪩ +2089 +Character +&gesdot +2090 +Character +⪀ +2091 +Character +&gesdoto +2092 +Character +⪂ +2093 +Character +&gesdotol +2094 +Character +⪄ +2095 +Character +&gesl +2096 +Character +⋛︀ +2097 +Character +&gesles +2098 +Character +⪔ +2099 +Character +&gfr +2100 +Character +𔤠+2101 +Character +&gg +2102 +Character +≫ +2103 +Character +&ggg +2104 +Character +â‹™ +2105 +Character +&gimel +2106 +Character +â„· +2107 +Character +&gjcy +2108 +Character +Ñ“ +2109 +Character +&gl +2110 +Character +≷ +2111 +Character +&glE +2112 +Character +⪒ +2113 +Character +&gla +2114 +Character +⪥ +2115 +Character +&glj +2116 +Character +⪤ +2117 +Character +&gnE +2118 +Character +≩ +2119 +Character +&gnap +2120 +Character +⪊ +2121 +Character +&gnapprox +2122 +Character +⪊ +2123 +Character +&gne +2124 +Character +⪈ +2125 +Character +&gneq +2126 +Character +⪈ +2127 +Character +&gneqq +2128 +Character +≩ +2129 +Character +&gnsim +2130 +Character +â‹§ +2131 +Character +&gopf +2132 +Character +𕘠+2133 +Character +&grave +2134 +Character +` +2135 +Character +&gscr +2136 +Character +ℊ +2137 +Character +&gsim +2138 +Character +≳ +2139 +Character +&gsime +2140 +Character +⪎ +2141 +Character +&gsiml +2142 +Character +⪠+2143 +Character +> +2144 +Character +> +2145 +Character +⪧ +2146 +Character +⩺ +2147 +Character +â‹— +2148 +Character +⦕ +2149 +Character +⩼ +2150 +Character +⪆ +2151 +Character +⥸ +2152 +Character +â‹— +2153 +Character +â‹› +2154 +Character +⪌ +2155 +Character +≷ +2156 +Character +≳ +2157 +Character +&gvertneqq +2158 +Character +≩︀ +2159 +Character +&gvnE +2160 +Character +≩︀ +2161 +Character +&hArr +2162 +Character +⇔ +2163 +Character +&hairsp +2164 +Character +  +2165 +Character +&half +2166 +Character +½ +2167 +Character +&hamilt +2168 +Character +â„‹ +2169 +Character +&hardcy +2170 +Character +ÑŠ +2171 +Character +&harr +2172 +Character +↔ +2173 +Character +&harrcir +2174 +Character +⥈ +2175 +Character +&harrw +2176 +Character +↭ +2177 +Character +&hbar +2178 +Character +â„ +2179 +Character +&hcirc +2180 +Character +Ä¥ +2181 +Character +&hearts +2182 +Character +♥ +2183 +Character +&heartsuit +2184 +Character +♥ +2185 +Character +&hellip +2186 +Character +… +2187 +Character +&hercon +2188 +Character +⊹ +2189 +Character +&hfr +2190 +Character +𔥠+2191 +Character +&hksearow +2192 +Character +⤥ +2193 +Character +&hkswarow +2194 +Character +⤦ +2195 +Character +&hoarr +2196 +Character +⇿ +2197 +Character +&homtht +2198 +Character +∻ +2199 +Character +&hookleftarrow +2200 +Character +↩ +2201 +Character +&hookrightarrow +2202 +Character +↪ +2203 +Character +&hopf +2204 +Character +ð•™ +2205 +Character +&horbar +2206 +Character +― +2207 +Character +&hscr +2208 +Character +ð’½ +2209 +Character +&hslash +2210 +Character +â„ +2211 +Character +&hstrok +2212 +Character +ħ +2213 +Character +&hybull +2214 +Character +⃠+2215 +Character +&hyphen +2216 +Character +†+2217 +Character +í +2218 +Character +í +2219 +Character +&ic +2220 +Character +⣠+2221 +Character +î +2222 +Character +î +2223 +Character +&icy +2224 +Character +и +2225 +Character +&iecy +2226 +Character +е +2227 +Character +¡ +2228 +Character +¡ +2229 +Character +&iff +2230 +Character +⇔ +2231 +Character +&ifr +2232 +Character +𔦠+2233 +Character +ì +2234 +Character +ì +2235 +Character +&ii +2236 +Character +â…ˆ +2237 +Character +&iiiint +2238 +Character +⨌ +2239 +Character +&iiint +2240 +Character +∭ +2241 +Character +&iinfin +2242 +Character +â§œ +2243 +Character +&iiota +2244 +Character +â„© +2245 +Character +&ijlig +2246 +Character +ij +2247 +Character +&imacr +2248 +Character +Ä« +2249 +Character +&image +2250 +Character +â„‘ +2251 +Character +&imagline +2252 +Character +â„ +2253 +Character +&imagpart +2254 +Character +â„‘ +2255 +Character +&imath +2256 +Character +ı +2257 +Character +&imof +2258 +Character +⊷ +2259 +Character +&imped +2260 +Character +Ƶ +2261 +Character +&in +2262 +Character +∈ +2263 +Character +&incare +2264 +Character +â„… +2265 +Character +&infin +2266 +Character +∞ +2267 +Character +&infintie +2268 +Character +â§ +2269 +Character +&inodot +2270 +Character +ı +2271 +Character +&int +2272 +Character +∫ +2273 +Character +&intcal +2274 +Character +⊺ +2275 +Character +&integers +2276 +Character +ℤ +2277 +Character +&intercal +2278 +Character +⊺ +2279 +Character +&intlarhk +2280 +Character +⨗ +2281 +Character +&intprod +2282 +Character +⨼ +2283 +Character +&iocy +2284 +Character +Ñ‘ +2285 +Character +&iogon +2286 +Character +į +2287 +Character +&iopf +2288 +Character +𕚠+2289 +Character +&iota +2290 +Character +ι +2291 +Character +&iprod +2292 +Character +⨼ +2293 +Character +¿ +2294 +Character +¿ +2295 +Character +&iscr +2296 +Character +ð’¾ +2297 +Character +&isin +2298 +Character +∈ +2299 +Character +&isinE +2300 +Character +⋹ +2301 +Character +&isindot +2302 +Character +⋵ +2303 +Character +&isins +2304 +Character +â‹´ +2305 +Character +&isinsv +2306 +Character +⋳ +2307 +Character +&isinv +2308 +Character +∈ +2309 +Character +&it +2310 +Character +⢠+2311 +Character +&itilde +2312 +Character +Ä© +2313 +Character +&iukcy +2314 +Character +Ñ– +2315 +Character +ï +2316 +Character +ï +2317 +Character +&jcirc +2318 +Character +ĵ +2319 +Character +&jcy +2320 +Character +й +2321 +Character +&jfr +2322 +Character +ð”§ +2323 +Character +&jmath +2324 +Character +È· +2325 +Character +&jopf +2326 +Character +ð•› +2327 +Character +&jscr +2328 +Character +ð’¿ +2329 +Character +&jsercy +2330 +Character +ј +2331 +Character +&jukcy +2332 +Character +Ñ” +2333 +Character +&kappa +2334 +Character +κ +2335 +Character +&kappav +2336 +Character +ϰ +2337 +Character +&kcedil +2338 +Character +Ä· +2339 +Character +&kcy +2340 +Character +к +2341 +Character +&kfr +2342 +Character +𔨠+2343 +Character +&kgreen +2344 +Character +ĸ +2345 +Character +&khcy +2346 +Character +Ñ… +2347 +Character +&kjcy +2348 +Character +Ñœ +2349 +Character +&kopf +2350 +Character +𕜠+2351 +Character +&kscr +2352 +Character +ð“€ +2353 +Character +&lAarr +2354 +Character +⇚ +2355 +Character +&lArr +2356 +Character +⇠+2357 +Character +&lAtail +2358 +Character +⤛ +2359 +Character +&lBarr +2360 +Character +⤎ +2361 +Character +&lE +2362 +Character +≦ +2363 +Character +&lEg +2364 +Character +⪋ +2365 +Character +&lHar +2366 +Character +⥢ +2367 +Character +&lacute +2368 +Character +ĺ +2369 +Character +&laemptyv +2370 +Character +⦴ +2371 +Character +&lagran +2372 +Character +â„’ +2373 +Character +&lambda +2374 +Character +λ +2375 +Character +&lang +2376 +Character +⟨ +2377 +Character +&langd +2378 +Character +⦑ +2379 +Character +&langle +2380 +Character +⟨ +2381 +Character +&lap +2382 +Character +⪅ +2383 +Character +« +2384 +Character +« +2385 +Character +&larr +2386 +Character +↠+2387 +Character +&larrb +2388 +Character +⇤ +2389 +Character +&larrbfs +2390 +Character +⤟ +2391 +Character +&larrfs +2392 +Character +⤠+2393 +Character +&larrhk +2394 +Character +↩ +2395 +Character +&larrlp +2396 +Character +↫ +2397 +Character +&larrpl +2398 +Character +⤹ +2399 +Character +&larrsim +2400 +Character +⥳ +2401 +Character +&larrtl +2402 +Character +↢ +2403 +Character +&lat +2404 +Character +⪫ +2405 +Character +&latail +2406 +Character +⤙ +2407 +Character +&late +2408 +Character +⪭ +2409 +Character +&lates +2410 +Character +⪭︀ +2411 +Character +&lbarr +2412 +Character +⤌ +2413 +Character +&lbbrk +2414 +Character +â² +2415 +Character +&lbrace +2416 +Character +{ +2417 +Character +&lbrack +2418 +Character +[ +2419 +Character +&lbrke +2420 +Character +⦋ +2421 +Character +&lbrksld +2422 +Character +⦠+2423 +Character +&lbrkslu +2424 +Character +⦠+2425 +Character +&lcaron +2426 +Character +ľ +2427 +Character +&lcedil +2428 +Character +ļ +2429 +Character +&lceil +2430 +Character +⌈ +2431 +Character +&lcub +2432 +Character +{ +2433 +Character +&lcy +2434 +Character +л +2435 +Character +&ldca +2436 +Character +⤶ +2437 +Character +&ldquo +2438 +Character +“ +2439 +Character +&ldquor +2440 +Character +„ +2441 +Character +&ldrdhar +2442 +Character +⥧ +2443 +Character +&ldrushar +2444 +Character +⥋ +2445 +Character +&ldsh +2446 +Character +↲ +2447 +Character +&le +2448 +Character +≤ +2449 +Character +&leftarrow +2450 +Character +↠+2451 +Character +&leftarrowtail +2452 +Character +↢ +2453 +Character +&leftharpoondown +2454 +Character +↽ +2455 +Character +&leftharpoonup +2456 +Character +↼ +2457 +Character +&leftleftarrows +2458 +Character +⇇ +2459 +Character +&leftrightarrow +2460 +Character +↔ +2461 +Character +&leftrightarrows +2462 +Character +⇆ +2463 +Character +&leftrightharpoons +2464 +Character +⇋ +2465 +Character +&leftrightsquigarrow +2466 +Character +↭ +2467 +Character +&leftthreetimes +2468 +Character +â‹‹ +2469 +Character +&leg +2470 +Character +⋚ +2471 +Character +&leq +2472 +Character +≤ +2473 +Character +&leqq +2474 +Character +≦ +2475 +Character +&leqslant +2476 +Character +⩽ +2477 +Character +&les +2478 +Character +⩽ +2479 +Character +&lescc +2480 +Character +⪨ +2481 +Character +&lesdot +2482 +Character +â©¿ +2483 +Character +&lesdoto +2484 +Character +⪠+2485 +Character +&lesdotor +2486 +Character +⪃ +2487 +Character +&lesg +2488 +Character +⋚︀ +2489 +Character +&lesges +2490 +Character +⪓ +2491 +Character +&lessapprox +2492 +Character +⪅ +2493 +Character +&lessdot +2494 +Character +â‹– +2495 +Character +&lesseqgtr +2496 +Character +⋚ +2497 +Character +&lesseqqgtr +2498 +Character +⪋ +2499 +Character +&lessgtr +2500 +Character +≶ +2501 +Character +&lesssim +2502 +Character +≲ +2503 +Character +&lfisht +2504 +Character +⥼ +2505 +Character +&lfloor +2506 +Character +⌊ +2507 +Character +&lfr +2508 +Character +𔩠+2509 +Character +&lg +2510 +Character +≶ +2511 +Character +&lgE +2512 +Character +⪑ +2513 +Character +&lhard +2514 +Character +↽ +2515 +Character +&lharu +2516 +Character +↼ +2517 +Character +&lharul +2518 +Character +⥪ +2519 +Character +&lhblk +2520 +Character +â–„ +2521 +Character +&ljcy +2522 +Character +Ñ™ +2523 +Character +&ll +2524 +Character +≪ +2525 +Character +&llarr +2526 +Character +⇇ +2527 +Character +&llcorner +2528 +Character +⌞ +2529 +Character +&llhard +2530 +Character +⥫ +2531 +Character +&lltri +2532 +Character +â—º +2533 +Character +&lmidot +2534 +Character +Å€ +2535 +Character +&lmoust +2536 +Character +⎰ +2537 +Character +&lmoustache +2538 +Character +⎰ +2539 +Character +&lnE +2540 +Character +≨ +2541 +Character +&lnap +2542 +Character +⪉ +2543 +Character +&lnapprox +2544 +Character +⪉ +2545 +Character +&lne +2546 +Character +⪇ +2547 +Character +&lneq +2548 +Character +⪇ +2549 +Character +&lneqq +2550 +Character +≨ +2551 +Character +&lnsim +2552 +Character +⋦ +2553 +Character +&loang +2554 +Character +⟬ +2555 +Character +&loarr +2556 +Character +⇽ +2557 +Character +&lobrk +2558 +Character +⟦ +2559 +Character +&longleftarrow +2560 +Character +⟵ +2561 +Character +&longleftrightarrow +2562 +Character +⟷ +2563 +Character +&longmapsto +2564 +Character +⟼ +2565 +Character +&longrightarrow +2566 +Character +⟶ +2567 +Character +&looparrowleft +2568 +Character +↫ +2569 +Character +&looparrowright +2570 +Character +↬ +2571 +Character +&lopar +2572 +Character +⦅ +2573 +Character +&lopf +2574 +Character +ð• +2575 +Character +&loplus +2576 +Character +⨭ +2577 +Character +&lotimes +2578 +Character +⨴ +2579 +Character +&lowast +2580 +Character +∗ +2581 +Character +&lowbar +2582 +Character +_ +2583 +Character +&loz +2584 +Character +â—Š +2585 +Character +&lozenge +2586 +Character +â—Š +2587 +Character +&lozf +2588 +Character +â§« +2589 +Character +&lpar +2590 +Character +( +2591 +Character +&lparlt +2592 +Character +⦓ +2593 +Character +&lrarr +2594 +Character +⇆ +2595 +Character +&lrcorner +2596 +Character +⌟ +2597 +Character +&lrhar +2598 +Character +⇋ +2599 +Character +&lrhard +2600 +Character +⥭ +2601 +Character +&lrm +2602 +Character +‎ +2603 +Character +&lrtri +2604 +Character +⊿ +2605 +Character +&lsaquo +2606 +Character +‹ +2607 +Character +&lscr +2608 +Character +ð“ +2609 +Character +&lsh +2610 +Character +↰ +2611 +Character +&lsim +2612 +Character +≲ +2613 +Character +&lsime +2614 +Character +⪠+2615 +Character +&lsimg +2616 +Character +⪠+2617 +Character +&lsqb +2618 +Character +[ +2619 +Character +&lsquo +2620 +Character +‘ +2621 +Character +&lsquor +2622 +Character +‚ +2623 +Character +&lstrok +2624 +Character +Å‚ +2625 +Character +< +2626 +Character +< +2627 +Character +⪦ +2628 +Character +⩹ +2629 +Character +â‹– +2630 +Character +â‹‹ +2631 +Character +⋉ +2632 +Character +⥶ +2633 +Character +â©» +2634 +Character +⦖ +2635 +Character +â—ƒ +2636 +Character +⊴ +2637 +Character +â—‚ +2638 +Character +&lurdshar +2639 +Character +⥊ +2640 +Character +&luruhar +2641 +Character +⥦ +2642 +Character +&lvertneqq +2643 +Character +≨︀ +2644 +Character +&lvnE +2645 +Character +≨︀ +2646 +Character +&mDDot +2647 +Character +∺ +2648 +Character +¯ +2649 +Character +¯ +2650 +Character +&male +2651 +Character +♂ +2652 +Character +&malt +2653 +Character +✠ +2654 +Character +&maltese +2655 +Character +✠ +2656 +Character +&map +2657 +Character +↦ +2658 +Character +&mapsto +2659 +Character +↦ +2660 +Character +&mapstodown +2661 +Character +↧ +2662 +Character +&mapstoleft +2663 +Character +↤ +2664 +Character +&mapstoup +2665 +Character +↥ +2666 +Character +&marker +2667 +Character +â–® +2668 +Character +&mcomma +2669 +Character +⨩ +2670 +Character +&mcy +2671 +Character +м +2672 +Character +&mdash +2673 +Character +— +2674 +Character +&measuredangle +2675 +Character +∡ +2676 +Character +&mfr +2677 +Character +𔪠+2678 +Character +&mho +2679 +Character +â„§ +2680 +Character +µ +2681 +Character +µ +2682 +Character +&mid +2683 +Character +∣ +2684 +Character +&midast +2685 +Character +* +2686 +Character +&midcir +2687 +Character +â«° +2688 +Character +· +2689 +Character +· +2690 +Character +&minus +2691 +Character +− +2692 +Character +&minusb +2693 +Character +⊟ +2694 +Character +&minusd +2695 +Character +∸ +2696 +Character +&minusdu +2697 +Character +⨪ +2698 +Character +&mlcp +2699 +Character +â«› +2700 +Character +&mldr +2701 +Character +… +2702 +Character +&mnplus +2703 +Character +∓ +2704 +Character +&models +2705 +Character +⊧ +2706 +Character +&mopf +2707 +Character +𕞠+2708 +Character +&mp +2709 +Character +∓ +2710 +Character +&mscr +2711 +Character +ð“‚ +2712 +Character +&mstpos +2713 +Character +∾ +2714 +Character +&mu +2715 +Character +μ +2716 +Character +&multimap +2717 +Character +⊸ +2718 +Character +&mumap +2719 +Character +⊸ +2720 +Character +&nGg +2721 +Character +⋙̸ +2722 +Character +&nGt +2723 +Character +≫⃒ +2724 +Character +&nGtv +2725 +Character +≫̸ +2726 +Character +&nLeftarrow +2727 +Character +⇠+2728 +Character +&nLeftrightarrow +2729 +Character +⇎ +2730 +Character +&nLl +2731 +Character +⋘̸ +2732 +Character +&nLt +2733 +Character +≪⃒ +2734 +Character +&nLtv +2735 +Character +≪̸ +2736 +Character +&nRightarrow +2737 +Character +⇠+2738 +Character +&nVDash +2739 +Character +⊯ +2740 +Character +&nVdash +2741 +Character +⊮ +2742 +Character +&nabla +2743 +Character +∇ +2744 +Character +&nacute +2745 +Character +Å„ +2746 +Character +&nang +2747 +Character +∠⃒ +2748 +Character +&nap +2749 +Character +≉ +2750 +Character +&napE +2751 +Character +⩰̸ +2752 +Character +&napid +2753 +Character +≋̸ +2754 +Character +&napos +2755 +Character +ʼn +2756 +Character +&napprox +2757 +Character +≉ +2758 +Character +&natur +2759 +Character +â™® +2760 +Character +&natural +2761 +Character +â™® +2762 +Character +&naturals +2763 +Character +â„• +2764 +Character +  +2765 +Character +  +2766 +Character +&nbump +2767 +Character +≎̸ +2768 +Character +&nbumpe +2769 +Character +â‰Ì¸ +2770 +Character +&ncap +2771 +Character +⩃ +2772 +Character +&ncaron +2773 +Character +ň +2774 +Character +&ncedil +2775 +Character +ņ +2776 +Character +&ncong +2777 +Character +≇ +2778 +Character +&ncongdot +2779 +Character +⩭̸ +2780 +Character +&ncup +2781 +Character +â©‚ +2782 +Character +&ncy +2783 +Character +н +2784 +Character +&ndash +2785 +Character +– +2786 +Character +&ne +2787 +Character +≠ +2788 +Character +&neArr +2789 +Character +⇗ +2790 +Character +&nearhk +2791 +Character +⤤ +2792 +Character +&nearr +2793 +Character +↗ +2794 +Character +&nearrow +2795 +Character +↗ +2796 +Character +&nedot +2797 +Character +â‰Ì¸ +2798 +Character +&nequiv +2799 +Character +≢ +2800 +Character +&nesear +2801 +Character +⤨ +2802 +Character +&nesim +2803 +Character +≂̸ +2804 +Character +&nexist +2805 +Character +∄ +2806 +Character +&nexists +2807 +Character +∄ +2808 +Character +&nfr +2809 +Character +𔫠+2810 +Character +&ngE +2811 +Character +≧̸ +2812 +Character +&nge +2813 +Character +≱ +2814 +Character +&ngeq +2815 +Character +≱ +2816 +Character +&ngeqq +2817 +Character +≧̸ +2818 +Character +&ngeqslant +2819 +Character +⩾̸ +2820 +Character +&nges +2821 +Character +⩾̸ +2822 +Character +&ngsim +2823 +Character +≵ +2824 +Character +&ngt +2825 +Character +≯ +2826 +Character +&ngtr +2827 +Character +≯ +2828 +Character +&nhArr +2829 +Character +⇎ +2830 +Character +&nharr +2831 +Character +↮ +2832 +Character +&nhpar +2833 +Character +⫲ +2834 +Character +&ni +2835 +Character +∋ +2836 +Character +&nis +2837 +Character +⋼ +2838 +Character +&nisd +2839 +Character +⋺ +2840 +Character +&niv +2841 +Character +∋ +2842 +Character +&njcy +2843 +Character +Ñš +2844 +Character +&nlArr +2845 +Character +⇠+2846 +Character +&nlE +2847 +Character +≦̸ +2848 +Character +&nlarr +2849 +Character +↚ +2850 +Character +&nldr +2851 +Character +‥ +2852 +Character +&nle +2853 +Character +≰ +2854 +Character +&nleftarrow +2855 +Character +↚ +2856 +Character +&nleftrightarrow +2857 +Character +↮ +2858 +Character +&nleq +2859 +Character +≰ +2860 +Character +&nleqq +2861 +Character +≦̸ +2862 +Character +&nleqslant +2863 +Character +⩽̸ +2864 +Character +&nles +2865 +Character +⩽̸ +2866 +Character +&nless +2867 +Character +≮ +2868 +Character +&nlsim +2869 +Character +≴ +2870 +Character +&nlt +2871 +Character +≮ +2872 +Character +&nltri +2873 +Character +⋪ +2874 +Character +&nltrie +2875 +Character +⋬ +2876 +Character +&nmid +2877 +Character +∤ +2878 +Character +&nopf +2879 +Character +𕟠+2880 +Character +¬ +2881 +Character +¬ +2882 +Character +∉ +2883 +Character +⋹̸ +2884 +Character +⋵̸ +2885 +Character +∉ +2886 +Character +â‹· +2887 +Character +â‹¶ +2888 +Character +∌ +2889 +Character +∌ +2890 +Character +⋾ +2891 +Character +⋽ +2892 +Character +&npar +2893 +Character +∦ +2894 +Character +&nparallel +2895 +Character +∦ +2896 +Character +&nparsl +2897 +Character +⫽⃥ +2898 +Character +&npart +2899 +Character +∂̸ +2900 +Character +&npolint +2901 +Character +⨔ +2902 +Character +&npr +2903 +Character +⊀ +2904 +Character +&nprcue +2905 +Character +â‹  +2906 +Character +&npre +2907 +Character +⪯̸ +2908 +Character +&nprec +2909 +Character +⊀ +2910 +Character +&npreceq +2911 +Character +⪯̸ +2912 +Character +&nrArr +2913 +Character +⇠+2914 +Character +&nrarr +2915 +Character +↛ +2916 +Character +&nrarrc +2917 +Character +⤳̸ +2918 +Character +&nrarrw +2919 +Character +â†Ì¸ +2920 +Character +&nrightarrow +2921 +Character +↛ +2922 +Character +&nrtri +2923 +Character +â‹« +2924 +Character +&nrtrie +2925 +Character +â‹­ +2926 +Character +&nsc +2927 +Character +⊠+2928 +Character +&nsccue +2929 +Character +â‹¡ +2930 +Character +&nsce +2931 +Character +⪰̸ +2932 +Character +&nscr +2933 +Character +𓃠+2934 +Character +&nshortmid +2935 +Character +∤ +2936 +Character +&nshortparallel +2937 +Character +∦ +2938 +Character +&nsim +2939 +Character +≠+2940 +Character +&nsime +2941 +Character +≄ +2942 +Character +&nsimeq +2943 +Character +≄ +2944 +Character +&nsmid +2945 +Character +∤ +2946 +Character +&nspar +2947 +Character +∦ +2948 +Character +&nsqsube +2949 +Character +â‹¢ +2950 +Character +&nsqsupe +2951 +Character +â‹£ +2952 +Character +&nsub +2953 +Character +⊄ +2954 +Character +&nsubE +2955 +Character +⫅̸ +2956 +Character +&nsube +2957 +Character +⊈ +2958 +Character +&nsubset +2959 +Character +⊂⃒ +2960 +Character +&nsubseteq +2961 +Character +⊈ +2962 +Character +&nsubseteqq +2963 +Character +⫅̸ +2964 +Character +&nsucc +2965 +Character +⊠+2966 +Character +&nsucceq +2967 +Character +⪰̸ +2968 +Character +&nsup +2969 +Character +⊅ +2970 +Character +&nsupE +2971 +Character +⫆̸ +2972 +Character +&nsupe +2973 +Character +⊉ +2974 +Character +&nsupset +2975 +Character +⊃⃒ +2976 +Character +&nsupseteq +2977 +Character +⊉ +2978 +Character +&nsupseteqq +2979 +Character +⫆̸ +2980 +Character +&ntgl +2981 +Character +≹ +2982 +Character +ñ +2983 +Character +ñ +2984 +Character +&ntlg +2985 +Character +≸ +2986 +Character +&ntriangleleft +2987 +Character +⋪ +2988 +Character +&ntrianglelefteq +2989 +Character +⋬ +2990 +Character +&ntriangleright +2991 +Character +â‹« +2992 +Character +&ntrianglerighteq +2993 +Character +â‹­ +2994 +Character +&nu +2995 +Character +ν +2996 +Character +&num +2997 +Character +# +2998 +Character +&numero +2999 +Character +â„– +3000 +Character +&numsp +3001 +Character +  +3002 +Character +&nvDash +3003 +Character +⊭ +3004 +Character +&nvHarr +3005 +Character +⤄ +3006 +Character +&nvap +3007 +Character +â‰âƒ’ +3008 +Character +&nvdash +3009 +Character +⊬ +3010 +Character +&nvge +3011 +Character +≥⃒ +3012 +Character +&nvgt +3013 +Character +>⃒ +3014 +Character +&nvinfin +3015 +Character +â§ž +3016 +Character +&nvlArr +3017 +Character +⤂ +3018 +Character +&nvle +3019 +Character +≤⃒ +3020 +Character +&nvlt +3021 +Character +<⃒ +3022 +Character +&nvltrie +3023 +Character +⊴⃒ +3024 +Character +&nvrArr +3025 +Character +⤃ +3026 +Character +&nvrtrie +3027 +Character +⊵⃒ +3028 +Character +&nvsim +3029 +Character +∼⃒ +3030 +Character +&nwArr +3031 +Character +⇖ +3032 +Character +&nwarhk +3033 +Character +⤣ +3034 +Character +&nwarr +3035 +Character +↖ +3036 +Character +&nwarrow +3037 +Character +↖ +3038 +Character +&nwnear +3039 +Character +⤧ +3040 +Character +&oS +3041 +Character +Ⓢ +3042 +Character +ó +3043 +Character +ó +3044 +Character +&oast +3045 +Character +⊛ +3046 +Character +&ocir +3047 +Character +⊚ +3048 +Character +ô +3049 +Character +ô +3050 +Character +&ocy +3051 +Character +о +3052 +Character +&odash +3053 +Character +⊠+3054 +Character +&odblac +3055 +Character +Å‘ +3056 +Character +&odiv +3057 +Character +⨸ +3058 +Character +&odot +3059 +Character +⊙ +3060 +Character +&odsold +3061 +Character +⦼ +3062 +Character +&oelig +3063 +Character +Å“ +3064 +Character +&ofcir +3065 +Character +⦿ +3066 +Character +&ofr +3067 +Character +𔬠+3068 +Character +&ogon +3069 +Character +Ë› +3070 +Character +ò +3071 +Character +ò +3072 +Character +&ogt +3073 +Character +â§ +3074 +Character +&ohbar +3075 +Character +⦵ +3076 +Character +&ohm +3077 +Character +Ω +3078 +Character +&oint +3079 +Character +∮ +3080 +Character +&olarr +3081 +Character +↺ +3082 +Character +&olcir +3083 +Character +⦾ +3084 +Character +&olcross +3085 +Character +⦻ +3086 +Character +&oline +3087 +Character +‾ +3088 +Character +&olt +3089 +Character +â§€ +3090 +Character +&omacr +3091 +Character +Å +3092 +Character +&omega +3093 +Character +ω +3094 +Character +&omicron +3095 +Character +ο +3096 +Character +&omid +3097 +Character +⦶ +3098 +Character +&ominus +3099 +Character +⊖ +3100 +Character +&oopf +3101 +Character +ð•  +3102 +Character +&opar +3103 +Character +⦷ +3104 +Character +&operp +3105 +Character +⦹ +3106 +Character +&oplus +3107 +Character +⊕ +3108 +Character +&or +3109 +Character +∨ +3110 +Character +&orarr +3111 +Character +↻ +3112 +Character +&ord +3113 +Character +â© +3114 +Character +&order +3115 +Character +â„´ +3116 +Character +&orderof +3117 +Character +â„´ +3118 +Character +ª +3119 +Character +ª +3120 +Character +º +3121 +Character +º +3122 +Character +&origof +3123 +Character +⊶ +3124 +Character +&oror +3125 +Character +â©– +3126 +Character +&orslope +3127 +Character +â©— +3128 +Character +&orv +3129 +Character +â©› +3130 +Character +&oscr +3131 +Character +â„´ +3132 +Character +ø +3133 +Character +ø +3134 +Character +&osol +3135 +Character +⊘ +3136 +Character +õ +3137 +Character +õ +3138 +Character +&otimes +3139 +Character +⊗ +3140 +Character +&otimesas +3141 +Character +⨶ +3142 +Character +ö +3143 +Character +ö +3144 +Character +&ovbar +3145 +Character +⌽ +3146 +Character +&par +3147 +Character +∥ +3148 +Character +¶ +3149 +Character +¶ +3150 +Character +∥ +3151 +Character +&parsim +3152 +Character +⫳ +3153 +Character +&parsl +3154 +Character +⫽ +3155 +Character +&part +3156 +Character +∂ +3157 +Character +&pcy +3158 +Character +п +3159 +Character +&percnt +3160 +Character +% +3161 +Character +&period +3162 +Character +. +3163 +Character +&permil +3164 +Character +‰ +3165 +Character +&perp +3166 +Character +⊥ +3167 +Character +&pertenk +3168 +Character +‱ +3169 +Character +&pfr +3170 +Character +ð”­ +3171 +Character +&phi +3172 +Character +φ +3173 +Character +&phiv +3174 +Character +Ï• +3175 +Character +&phmmat +3176 +Character +ℳ +3177 +Character +&phone +3178 +Character +☎ +3179 +Character +&pi +3180 +Character +Ï€ +3181 +Character +&pitchfork +3182 +Character +â‹” +3183 +Character +&piv +3184 +Character +Ï– +3185 +Character +&planck +3186 +Character +â„ +3187 +Character +&planckh +3188 +Character +ℎ +3189 +Character +&plankv +3190 +Character +â„ +3191 +Character +&plus +3192 +Character ++ +3193 +Character +&plusacir +3194 +Character +⨣ +3195 +Character +&plusb +3196 +Character +⊞ +3197 +Character +&pluscir +3198 +Character +⨢ +3199 +Character +&plusdo +3200 +Character +∔ +3201 +Character +&plusdu +3202 +Character +⨥ +3203 +Character +&pluse +3204 +Character +⩲ +3205 +Character +± +3206 +Character +± +3207 +Character +&plussim +3208 +Character +⨦ +3209 +Character +&plustwo +3210 +Character +⨧ +3211 +Character +&pm +3212 +Character +± +3213 +Character +&pointint +3214 +Character +⨕ +3215 +Character +&popf +3216 +Character +ð•¡ +3217 +Character +£ +3218 +Character +£ +3219 +Character +&pr +3220 +Character +≺ +3221 +Character +&prE +3222 +Character +⪳ +3223 +Character +&prap +3224 +Character +⪷ +3225 +Character +&prcue +3226 +Character +≼ +3227 +Character +&pre +3228 +Character +⪯ +3229 +Character +&prec +3230 +Character +≺ +3231 +Character +&precapprox +3232 +Character +⪷ +3233 +Character +&preccurlyeq +3234 +Character +≼ +3235 +Character +&preceq +3236 +Character +⪯ +3237 +Character +&precnapprox +3238 +Character +⪹ +3239 +Character +&precneqq +3240 +Character +⪵ +3241 +Character +&precnsim +3242 +Character +⋨ +3243 +Character +&precsim +3244 +Character +≾ +3245 +Character +&prime +3246 +Character +′ +3247 +Character +&primes +3248 +Character +â„™ +3249 +Character +&prnE +3250 +Character +⪵ +3251 +Character +&prnap +3252 +Character +⪹ +3253 +Character +&prnsim +3254 +Character +⋨ +3255 +Character +&prod +3256 +Character +∠+3257 +Character +&profalar +3258 +Character +⌮ +3259 +Character +&profline +3260 +Character +⌒ +3261 +Character +&profsurf +3262 +Character +⌓ +3263 +Character +&prop +3264 +Character +∠+3265 +Character +&propto +3266 +Character +∠+3267 +Character +&prsim +3268 +Character +≾ +3269 +Character +&prurel +3270 +Character +⊰ +3271 +Character +&pscr +3272 +Character +ð“… +3273 +Character +&psi +3274 +Character +ψ +3275 +Character +&puncsp +3276 +Character +  +3277 +Character +&qfr +3278 +Character +ð”® +3279 +Character +&qint +3280 +Character +⨌ +3281 +Character +&qopf +3282 +Character +ð•¢ +3283 +Character +&qprime +3284 +Character +â— +3285 +Character +&qscr +3286 +Character +𓆠+3287 +Character +&quaternions +3288 +Character +â„ +3289 +Character +&quatint +3290 +Character +⨖ +3291 +Character +&quest +3292 +Character +? +3293 +Character +&questeq +3294 +Character +≟ +3295 +Character +" +3296 +Character +" +3297 +Character +&rAarr +3298 +Character +⇛ +3299 +Character +&rArr +3300 +Character +⇒ +3301 +Character +&rAtail +3302 +Character +⤜ +3303 +Character +&rBarr +3304 +Character +⤠+3305 +Character +&rHar +3306 +Character +⥤ +3307 +Character +&race +3308 +Character +∽̱ +3309 +Character +&racute +3310 +Character +Å• +3311 +Character +&radic +3312 +Character +√ +3313 +Character +&raemptyv +3314 +Character +⦳ +3315 +Character +&rang +3316 +Character +⟩ +3317 +Character +&rangd +3318 +Character +⦒ +3319 +Character +&range +3320 +Character +⦥ +3321 +Character +&rangle +3322 +Character +⟩ +3323 +Character +» +3324 +Character +» +3325 +Character +&rarr +3326 +Character +→ +3327 +Character +&rarrap +3328 +Character +⥵ +3329 +Character +&rarrb +3330 +Character +⇥ +3331 +Character +&rarrbfs +3332 +Character +⤠ +3333 +Character +&rarrc +3334 +Character +⤳ +3335 +Character +&rarrfs +3336 +Character +⤞ +3337 +Character +&rarrhk +3338 +Character +↪ +3339 +Character +&rarrlp +3340 +Character +↬ +3341 +Character +&rarrpl +3342 +Character +⥅ +3343 +Character +&rarrsim +3344 +Character +⥴ +3345 +Character +&rarrtl +3346 +Character +↣ +3347 +Character +&rarrw +3348 +Character +↠+3349 +Character +&ratail +3350 +Character +⤚ +3351 +Character +&ratio +3352 +Character +∶ +3353 +Character +&rationals +3354 +Character +ℚ +3355 +Character +&rbarr +3356 +Character +⤠+3357 +Character +&rbbrk +3358 +Character +â³ +3359 +Character +&rbrace +3360 +Character +} +3361 +Character +&rbrack +3362 +Character +] +3363 +Character +&rbrke +3364 +Character +⦌ +3365 +Character +&rbrksld +3366 +Character +⦎ +3367 +Character +&rbrkslu +3368 +Character +⦠+3369 +Character +&rcaron +3370 +Character +Å™ +3371 +Character +&rcedil +3372 +Character +Å— +3373 +Character +&rceil +3374 +Character +⌉ +3375 +Character +&rcub +3376 +Character +} +3377 +Character +&rcy +3378 +Character +Ñ€ +3379 +Character +&rdca +3380 +Character +⤷ +3381 +Character +&rdldhar +3382 +Character +⥩ +3383 +Character +&rdquo +3384 +Character +†+3385 +Character +&rdquor +3386 +Character +†+3387 +Character +&rdsh +3388 +Character +↳ +3389 +Character +&real +3390 +Character +ℜ +3391 +Character +&realine +3392 +Character +â„› +3393 +Character +&realpart +3394 +Character +ℜ +3395 +Character +&reals +3396 +Character +â„ +3397 +Character +&rect +3398 +Character +â–­ +3399 +Character +® +3400 +Character +® +3401 +Character +&rfisht +3402 +Character +⥽ +3403 +Character +&rfloor +3404 +Character +⌋ +3405 +Character +&rfr +3406 +Character +𔯠+3407 +Character +&rhard +3408 +Character +⇠+3409 +Character +&rharu +3410 +Character +⇀ +3411 +Character +&rharul +3412 +Character +⥬ +3413 +Character +&rho +3414 +Character +Ï +3415 +Character +&rhov +3416 +Character +ϱ +3417 +Character +&rightarrow +3418 +Character +→ +3419 +Character +&rightarrowtail +3420 +Character +↣ +3421 +Character +&rightharpoondown +3422 +Character +⇠+3423 +Character +&rightharpoonup +3424 +Character +⇀ +3425 +Character +&rightleftarrows +3426 +Character +⇄ +3427 +Character +&rightleftharpoons +3428 +Character +⇌ +3429 +Character +&rightrightarrows +3430 +Character +⇉ +3431 +Character +&rightsquigarrow +3432 +Character +↠+3433 +Character +&rightthreetimes +3434 +Character +⋌ +3435 +Character +&ring +3436 +Character +Ëš +3437 +Character +&risingdotseq +3438 +Character +≓ +3439 +Character +&rlarr +3440 +Character +⇄ +3441 +Character +&rlhar +3442 +Character +⇌ +3443 +Character +&rlm +3444 +Character +†+3445 +Character +&rmoust +3446 +Character +⎱ +3447 +Character +&rmoustache +3448 +Character +⎱ +3449 +Character +&rnmid +3450 +Character +â«® +3451 +Character +&roang +3452 +Character +⟭ +3453 +Character +&roarr +3454 +Character +⇾ +3455 +Character +&robrk +3456 +Character +⟧ +3457 +Character +&ropar +3458 +Character +⦆ +3459 +Character +&ropf +3460 +Character +ð•£ +3461 +Character +&roplus +3462 +Character +⨮ +3463 +Character +&rotimes +3464 +Character +⨵ +3465 +Character +&rpar +3466 +Character +) +3467 +Character +&rpargt +3468 +Character +⦔ +3469 +Character +&rppolint +3470 +Character +⨒ +3471 +Character +&rrarr +3472 +Character +⇉ +3473 +Character +&rsaquo +3474 +Character +› +3475 +Character +&rscr +3476 +Character +𓇠+3477 +Character +&rsh +3478 +Character +↱ +3479 +Character +&rsqb +3480 +Character +] +3481 +Character +&rsquo +3482 +Character +’ +3483 +Character +&rsquor +3484 +Character +’ +3485 +Character +&rthree +3486 +Character +⋌ +3487 +Character +&rtimes +3488 +Character +⋊ +3489 +Character +&rtri +3490 +Character +â–¹ +3491 +Character +&rtrie +3492 +Character +⊵ +3493 +Character +&rtrif +3494 +Character +â–¸ +3495 +Character +&rtriltri +3496 +Character +â§Ž +3497 +Character +&ruluhar +3498 +Character +⥨ +3499 +Character +&rx +3500 +Character +℞ +3501 +Character +&sacute +3502 +Character +Å› +3503 +Character +&sbquo +3504 +Character +‚ +3505 +Character +&sc +3506 +Character +≻ +3507 +Character +&scE +3508 +Character +⪴ +3509 +Character +&scap +3510 +Character +⪸ +3511 +Character +&scaron +3512 +Character +Å¡ +3513 +Character +&sccue +3514 +Character +≽ +3515 +Character +&sce +3516 +Character +⪰ +3517 +Character +&scedil +3518 +Character +ÅŸ +3519 +Character +&scirc +3520 +Character +Å +3521 +Character +&scnE +3522 +Character +⪶ +3523 +Character +&scnap +3524 +Character +⪺ +3525 +Character +&scnsim +3526 +Character +â‹© +3527 +Character +&scpolint +3528 +Character +⨓ +3529 +Character +&scsim +3530 +Character +≿ +3531 +Character +&scy +3532 +Character +Ñ +3533 +Character +&sdot +3534 +Character +â‹… +3535 +Character +&sdotb +3536 +Character +⊡ +3537 +Character +&sdote +3538 +Character +⩦ +3539 +Character +&seArr +3540 +Character +⇘ +3541 +Character +&searhk +3542 +Character +⤥ +3543 +Character +&searr +3544 +Character +↘ +3545 +Character +&searrow +3546 +Character +↘ +3547 +Character +§ +3548 +Character +§ +3549 +Character +&semi +3550 +Character +; +3551 +Character +&seswar +3552 +Character +⤩ +3553 +Character +&setminus +3554 +Character +∖ +3555 +Character +&setmn +3556 +Character +∖ +3557 +Character +&sext +3558 +Character +✶ +3559 +Character +&sfr +3560 +Character +ð”° +3561 +Character +&sfrown +3562 +Character +⌢ +3563 +Character +&sharp +3564 +Character +♯ +3565 +Character +&shchcy +3566 +Character +щ +3567 +Character +&shcy +3568 +Character +ш +3569 +Character +&shortmid +3570 +Character +∣ +3571 +Character +&shortparallel +3572 +Character +∥ +3573 +Character +­ +3574 +Character +­ +3575 +Character +&sigma +3576 +Character +σ +3577 +Character +&sigmaf +3578 +Character +Ï‚ +3579 +Character +&sigmav +3580 +Character +Ï‚ +3581 +Character +&sim +3582 +Character +∼ +3583 +Character +&simdot +3584 +Character +⩪ +3585 +Character +&sime +3586 +Character +≃ +3587 +Character +&simeq +3588 +Character +≃ +3589 +Character +&simg +3590 +Character +⪞ +3591 +Character +&simgE +3592 +Character +⪠ +3593 +Character +&siml +3594 +Character +⪠+3595 +Character +&simlE +3596 +Character +⪟ +3597 +Character +&simne +3598 +Character +≆ +3599 +Character +&simplus +3600 +Character +⨤ +3601 +Character +&simrarr +3602 +Character +⥲ +3603 +Character +&slarr +3604 +Character +↠+3605 +Character +&smallsetminus +3606 +Character +∖ +3607 +Character +&smashp +3608 +Character +⨳ +3609 +Character +&smeparsl +3610 +Character +⧤ +3611 +Character +&smid +3612 +Character +∣ +3613 +Character +&smile +3614 +Character +⌣ +3615 +Character +&smt +3616 +Character +⪪ +3617 +Character +&smte +3618 +Character +⪬ +3619 +Character +&smtes +3620 +Character +⪬︀ +3621 +Character +&softcy +3622 +Character +ÑŒ +3623 +Character +&sol +3624 +Character +/ +3625 +Character +&solb +3626 +Character +â§„ +3627 +Character +&solbar +3628 +Character +⌿ +3629 +Character +&sopf +3630 +Character +𕤠+3631 +Character +&spades +3632 +Character +â™  +3633 +Character +&spadesuit +3634 +Character +â™  +3635 +Character +&spar +3636 +Character +∥ +3637 +Character +&sqcap +3638 +Character +⊓ +3639 +Character +&sqcaps +3640 +Character +⊓︀ +3641 +Character +&sqcup +3642 +Character +⊔ +3643 +Character +&sqcups +3644 +Character +⊔︀ +3645 +Character +&sqsub +3646 +Character +⊠+3647 +Character +&sqsube +3648 +Character +⊑ +3649 +Character +&sqsubset +3650 +Character +⊠+3651 +Character +&sqsubseteq +3652 +Character +⊑ +3653 +Character +&sqsup +3654 +Character +⊠+3655 +Character +&sqsupe +3656 +Character +⊒ +3657 +Character +&sqsupset +3658 +Character +⊠+3659 +Character +&sqsupseteq +3660 +Character +⊒ +3661 +Character +&squ +3662 +Character +â–¡ +3663 +Character +&square +3664 +Character +â–¡ +3665 +Character +&squarf +3666 +Character +â–ª +3667 +Character +&squf +3668 +Character +â–ª +3669 +Character +&srarr +3670 +Character +→ +3671 +Character +&sscr +3672 +Character +𓈠+3673 +Character +&ssetmn +3674 +Character +∖ +3675 +Character +&ssmile +3676 +Character +⌣ +3677 +Character +&sstarf +3678 +Character +⋆ +3679 +Character +&star +3680 +Character +☆ +3681 +Character +&starf +3682 +Character +★ +3683 +Character +&straightepsilon +3684 +Character +ϵ +3685 +Character +&straightphi +3686 +Character +Ï• +3687 +Character +&strns +3688 +Character +¯ +3689 +Character +&sub +3690 +Character +⊂ +3691 +Character +&subE +3692 +Character +â«… +3693 +Character +&subdot +3694 +Character +⪽ +3695 +Character +&sube +3696 +Character +⊆ +3697 +Character +&subedot +3698 +Character +⫃ +3699 +Character +&submult +3700 +Character +â« +3701 +Character +&subnE +3702 +Character +â«‹ +3703 +Character +&subne +3704 +Character +⊊ +3705 +Character +&subplus +3706 +Character +⪿ +3707 +Character +&subrarr +3708 +Character +⥹ +3709 +Character +&subset +3710 +Character +⊂ +3711 +Character +&subseteq +3712 +Character +⊆ +3713 +Character +&subseteqq +3714 +Character +â«… +3715 +Character +&subsetneq +3716 +Character +⊊ +3717 +Character +&subsetneqq +3718 +Character +â«‹ +3719 +Character +&subsim +3720 +Character +⫇ +3721 +Character +&subsub +3722 +Character +â«• +3723 +Character +&subsup +3724 +Character +â«“ +3725 +Character +&succ +3726 +Character +≻ +3727 +Character +&succapprox +3728 +Character +⪸ +3729 +Character +&succcurlyeq +3730 +Character +≽ +3731 +Character +&succeq +3732 +Character +⪰ +3733 +Character +&succnapprox +3734 +Character +⪺ +3735 +Character +&succneqq +3736 +Character +⪶ +3737 +Character +&succnsim +3738 +Character +â‹© +3739 +Character +&succsim +3740 +Character +≿ +3741 +Character +&sum +3742 +Character +∑ +3743 +Character +&sung +3744 +Character +♪ +3745 +Character +&sup +3746 +Character +¹ +3747 +Character +¹ +3748 +Character +² +3749 +Character +² +3750 +Character +³ +3751 +Character +³ +3752 +Character +⊃ +3753 +Character +&supE +3754 +Character +⫆ +3755 +Character +&supdot +3756 +Character +⪾ +3757 +Character +&supdsub +3758 +Character +⫘ +3759 +Character +&supe +3760 +Character +⊇ +3761 +Character +&supedot +3762 +Character +â«„ +3763 +Character +&suphsol +3764 +Character +⟉ +3765 +Character +&suphsub +3766 +Character +â«— +3767 +Character +&suplarr +3768 +Character +⥻ +3769 +Character +&supmult +3770 +Character +â«‚ +3771 +Character +&supnE +3772 +Character +⫌ +3773 +Character +&supne +3774 +Character +⊋ +3775 +Character +&supplus +3776 +Character +â«€ +3777 +Character +&supset +3778 +Character +⊃ +3779 +Character +&supseteq +3780 +Character +⊇ +3781 +Character +&supseteqq +3782 +Character +⫆ +3783 +Character +&supsetneq +3784 +Character +⊋ +3785 +Character +&supsetneqq +3786 +Character +⫌ +3787 +Character +&supsim +3788 +Character +⫈ +3789 +Character +&supsub +3790 +Character +â«” +3791 +Character +&supsup +3792 +Character +â«– +3793 +Character +&swArr +3794 +Character +⇙ +3795 +Character +&swarhk +3796 +Character +⤦ +3797 +Character +&swarr +3798 +Character +↙ +3799 +Character +&swarrow +3800 +Character +↙ +3801 +Character +&swnwar +3802 +Character +⤪ +3803 +Character +ß +3804 +Character +ß +3805 +Character +&target +3806 +Character +⌖ +3807 +Character +&tau +3808 +Character +Ï„ +3809 +Character +&tbrk +3810 +Character +⎴ +3811 +Character +&tcaron +3812 +Character +Å¥ +3813 +Character +&tcedil +3814 +Character +Å£ +3815 +Character +&tcy +3816 +Character +Ñ‚ +3817 +Character +&tdot +3818 +Character +⃛ +3819 +Character +&telrec +3820 +Character +⌕ +3821 +Character +&tfr +3822 +Character +ð”± +3823 +Character +&there4 +3824 +Character +∴ +3825 +Character +&therefore +3826 +Character +∴ +3827 +Character +&theta +3828 +Character +θ +3829 +Character +&thetasym +3830 +Character +Ï‘ +3831 +Character +&thetav +3832 +Character +Ï‘ +3833 +Character +&thickapprox +3834 +Character +≈ +3835 +Character +&thicksim +3836 +Character +∼ +3837 +Character +&thinsp +3838 +Character +  +3839 +Character +&thkap +3840 +Character +≈ +3841 +Character +&thksim +3842 +Character +∼ +3843 +Character +þ +3844 +Character +þ +3845 +Character +&tilde +3846 +Character +Ëœ +3847 +Character +× +3848 +Character +× +3849 +Character +⊠ +3850 +Character +⨱ +3851 +Character +⨰ +3852 +Character +&tint +3853 +Character +∭ +3854 +Character +&toea +3855 +Character +⤨ +3856 +Character +&top +3857 +Character +⊤ +3858 +Character +&topbot +3859 +Character +⌶ +3860 +Character +&topcir +3861 +Character +⫱ +3862 +Character +&topf +3863 +Character +ð•¥ +3864 +Character +&topfork +3865 +Character +⫚ +3866 +Character +&tosa +3867 +Character +⤩ +3868 +Character +&tprime +3869 +Character +‴ +3870 +Character +&trade +3871 +Character +â„¢ +3872 +Character +&triangle +3873 +Character +â–µ +3874 +Character +&triangledown +3875 +Character +â–¿ +3876 +Character +&triangleleft +3877 +Character +â—ƒ +3878 +Character +&trianglelefteq +3879 +Character +⊴ +3880 +Character +&triangleq +3881 +Character +≜ +3882 +Character +&triangleright +3883 +Character +â–¹ +3884 +Character +&trianglerighteq +3885 +Character +⊵ +3886 +Character +&tridot +3887 +Character +â—¬ +3888 +Character +&trie +3889 +Character +≜ +3890 +Character +&triminus +3891 +Character +⨺ +3892 +Character +&triplus +3893 +Character +⨹ +3894 +Character +&trisb +3895 +Character +â§ +3896 +Character +&tritime +3897 +Character +⨻ +3898 +Character +&trpezium +3899 +Character +⢠+3900 +Character +&tscr +3901 +Character +𓉠+3902 +Character +&tscy +3903 +Character +ц +3904 +Character +&tshcy +3905 +Character +Ñ› +3906 +Character +&tstrok +3907 +Character +ŧ +3908 +Character +&twixt +3909 +Character +≬ +3910 +Character +&twoheadleftarrow +3911 +Character +↞ +3912 +Character +&twoheadrightarrow +3913 +Character +↠ +3914 +Character +&uArr +3915 +Character +⇑ +3916 +Character +&uHar +3917 +Character +⥣ +3918 +Character +ú +3919 +Character +ú +3920 +Character +&uarr +3921 +Character +↑ +3922 +Character +&ubrcy +3923 +Character +Ñž +3924 +Character +&ubreve +3925 +Character +Å­ +3926 +Character +û +3927 +Character +û +3928 +Character +&ucy +3929 +Character +у +3930 +Character +&udarr +3931 +Character +⇅ +3932 +Character +&udblac +3933 +Character +ű +3934 +Character +&udhar +3935 +Character +⥮ +3936 +Character +&ufisht +3937 +Character +⥾ +3938 +Character +&ufr +3939 +Character +𔲠+3940 +Character +ù +3941 +Character +ù +3942 +Character +&uharl +3943 +Character +↿ +3944 +Character +&uharr +3945 +Character +↾ +3946 +Character +&uhblk +3947 +Character +â–€ +3948 +Character +&ulcorn +3949 +Character +⌜ +3950 +Character +&ulcorner +3951 +Character +⌜ +3952 +Character +&ulcrop +3953 +Character +⌠+3954 +Character +&ultri +3955 +Character +â—¸ +3956 +Character +&umacr +3957 +Character +Å« +3958 +Character +¨ +3959 +Character +¨ +3960 +Character +&uogon +3961 +Character +ų +3962 +Character +&uopf +3963 +Character +𕦠+3964 +Character +&uparrow +3965 +Character +↑ +3966 +Character +&updownarrow +3967 +Character +↕ +3968 +Character +&upharpoonleft +3969 +Character +↿ +3970 +Character +&upharpoonright +3971 +Character +↾ +3972 +Character +&uplus +3973 +Character +⊎ +3974 +Character +&upsi +3975 +Character +Ï… +3976 +Character +&upsih +3977 +Character +Ï’ +3978 +Character +&upsilon +3979 +Character +Ï… +3980 +Character +&upuparrows +3981 +Character +⇈ +3982 +Character +&urcorn +3983 +Character +⌠+3984 +Character +&urcorner +3985 +Character +⌠+3986 +Character +&urcrop +3987 +Character +⌎ +3988 +Character +&uring +3989 +Character +ů +3990 +Character +&urtri +3991 +Character +â—¹ +3992 +Character +&uscr +3993 +Character +𓊠+3994 +Character +&utdot +3995 +Character +â‹° +3996 +Character +&utilde +3997 +Character +Å© +3998 +Character +&utri +3999 +Character +â–µ +4000 +Character +&utrif +4001 +Character +â–´ +4002 +Character +&uuarr +4003 +Character +⇈ +4004 +Character +ü +4005 +Character +ü +4006 +Character +&uwangle +4007 +Character +⦧ +4008 +Character +&vArr +4009 +Character +⇕ +4010 +Character +&vBar +4011 +Character +⫨ +4012 +Character +&vBarv +4013 +Character +â«© +4014 +Character +&vDash +4015 +Character +⊨ +4016 +Character +&vangrt +4017 +Character +⦜ +4018 +Character +&varepsilon +4019 +Character +ϵ +4020 +Character +&varkappa +4021 +Character +ϰ +4022 +Character +&varnothing +4023 +Character +∅ +4024 +Character +&varphi +4025 +Character +Ï• +4026 +Character +&varpi +4027 +Character +Ï– +4028 +Character +&varpropto +4029 +Character +∠+4030 +Character +&varr +4031 +Character +↕ +4032 +Character +&varrho +4033 +Character +ϱ +4034 +Character +&varsigma +4035 +Character +Ï‚ +4036 +Character +&varsubsetneq +4037 +Character +⊊︀ +4038 +Character +&varsubsetneqq +4039 +Character +⫋︀ +4040 +Character +&varsupsetneq +4041 +Character +⊋︀ +4042 +Character +&varsupsetneqq +4043 +Character +⫌︀ +4044 +Character +&vartheta +4045 +Character +Ï‘ +4046 +Character +&vartriangleleft +4047 +Character +⊲ +4048 +Character +&vartriangleright +4049 +Character +⊳ +4050 +Character +&vcy +4051 +Character +в +4052 +Character +&vdash +4053 +Character +⊢ +4054 +Character +&vee +4055 +Character +∨ +4056 +Character +&veebar +4057 +Character +⊻ +4058 +Character +&veeeq +4059 +Character +≚ +4060 +Character +&vellip +4061 +Character +â‹® +4062 +Character +&verbar +4063 +Character +| +4064 +Character +&vert +4065 +Character +| +4066 +Character +&vfr +4067 +Character +𔳠+4068 +Character +&vltri +4069 +Character +⊲ +4070 +Character +&vnsub +4071 +Character +⊂⃒ +4072 +Character +&vnsup +4073 +Character +⊃⃒ +4074 +Character +&vopf +4075 +Character +ð•§ +4076 +Character +&vprop +4077 +Character +∠+4078 +Character +&vrtri +4079 +Character +⊳ +4080 +Character +&vscr +4081 +Character +ð“‹ +4082 +Character +&vsubnE +4083 +Character +⫋︀ +4084 +Character +&vsubne +4085 +Character +⊊︀ +4086 +Character +&vsupnE +4087 +Character +⫌︀ +4088 +Character +&vsupne +4089 +Character +⊋︀ +4090 +Character +&vzigzag +4091 +Character +⦚ +4092 +Character +&wcirc +4093 +Character +ŵ +4094 +Character +&wedbar +4095 +Character +⩟ +4096 +Character +&wedge +4097 +Character +∧ +4098 +Character +&wedgeq +4099 +Character +≙ +4100 +Character +&weierp +4101 +Character +℘ +4102 +Character +&wfr +4103 +Character +ð”´ +4104 +Character +&wopf +4105 +Character +𕨠+4106 +Character +&wp +4107 +Character +℘ +4108 +Character +&wr +4109 +Character +≀ +4110 +Character +&wreath +4111 +Character +≀ +4112 +Character +&wscr +4113 +Character +𓌠+4114 +Character +&xcap +4115 +Character +â‹‚ +4116 +Character +&xcirc +4117 +Character +â—¯ +4118 +Character +&xcup +4119 +Character +⋃ +4120 +Character +&xdtri +4121 +Character +â–½ +4122 +Character +&xfr +4123 +Character +𔵠+4124 +Character +&xhArr +4125 +Character +⟺ +4126 +Character +&xharr +4127 +Character +⟷ +4128 +Character +&xi +4129 +Character +ξ +4130 +Character +&xlArr +4131 +Character +⟸ +4132 +Character +&xlarr +4133 +Character +⟵ +4134 +Character +&xmap +4135 +Character +⟼ +4136 +Character +&xnis +4137 +Character +â‹» +4138 +Character +&xodot +4139 +Character +⨀ +4140 +Character +&xopf +4141 +Character +ð•© +4142 +Character +&xoplus +4143 +Character +⨠+4144 +Character +&xotime +4145 +Character +⨂ +4146 +Character +&xrArr +4147 +Character +⟹ +4148 +Character +&xrarr +4149 +Character +⟶ +4150 +Character +&xscr +4151 +Character +ð“ +4152 +Character +&xsqcup +4153 +Character +⨆ +4154 +Character +&xuplus +4155 +Character +⨄ +4156 +Character +&xutri +4157 +Character +â–³ +4158 +Character +&xvee +4159 +Character +â‹ +4160 +Character +&xwedge +4161 +Character +â‹€ +4162 +Character +ý +4163 +Character +ý +4164 +Character +&yacy +4165 +Character +Ñ +4166 +Character +&ycirc +4167 +Character +Å· +4168 +Character +&ycy +4169 +Character +Ñ‹ +4170 +Character +Â¥ +4171 +Character +Â¥ +4172 +Character +&yfr +4173 +Character +ð”¶ +4174 +Character +&yicy +4175 +Character +Ñ— +4176 +Character +&yopf +4177 +Character +𕪠+4178 +Character +&yscr +4179 +Character +𓎠+4180 +Character +&yucy +4181 +Character +ÑŽ +4182 +Character +ÿ +4183 +Character +ÿ +4184 +Character +&zacute +4185 +Character +ź +4186 +Character +&zcaron +4187 +Character +ž +4188 +Character +&zcy +4189 +Character +з +4190 +Character +&zdot +4191 +Character +ż +4192 +Character +&zeetrf +4193 +Character +ℨ +4194 +Character +&zeta +4195 +Character +ζ +4196 +Character +&zfr +4197 +Character +ð”· +4198 +Character +&zhcy +4199 +Character +ж +4200 +Character +&zigrarr +4201 +Character +⇠+4202 +Character +&zopf +4203 +Character +ð•« +4204 +Character +&zscr +4205 +Character +ð“ +4206 +Character +&zwj +4207 +Character +†+4208 +Character +&zwnj +4209 +Character +‌ diff --git a/libxml2/result/html-tokenizer/numericEntities.test b/libxml2/result/html-tokenizer/numericEntities.test new file mode 100644 index 0000000..079bcb7 --- /dev/null +++ b/libxml2/result/html-tokenizer/numericEntities.test @@ -0,0 +1,1009 @@ +0 +Character +� +1 +Character +� +2 +Character +� +3 +Character +�x +4 +Character +�x +5 +Character +�x +6 +Character +� +7 +Character +� +8 +Character +� +9 +Character +� +10 +Character + +11 +Character + +12 +Character + +13 +Character + +14 +Character + +15 +Character + +16 +Character + +17 +Character + +18 +Character + +19 +Character + +20 +Character + +21 +Character + +22 +Character + +23 +Character + +24 +Character + +25 +Character + +26 +Character + +27 +Character + +28 +Character + +29 +Character + +30 +Character + +31 +Character + +32 +Character + +33 +Character + +34 +Character + +35 +Character + +36 +Character + +37 +Character + +38 +Character +� +39 +Character +� +40 +Character +ï· +41 +Character +ï·‘ +42 +Character +ï·’ +43 +Character +ï·“ +44 +Character +ï·” +45 +Character +ï·• +46 +Character +ï·– +47 +Character +ï·— +48 +Character +ï·˜ +49 +Character +ï·™ +50 +Character +ï·š +51 +Character +ï·› +52 +Character +ï·œ +53 +Character +ï· +54 +Character +ï·ž +55 +Character +ï·Ÿ +56 +Character +ï·  +57 +Character +ï·¡ +58 +Character +ï·¢ +59 +Character +ï·£ +60 +Character +ï·¤ +61 +Character +ï·¥ +62 +Character +ï·¦ +63 +Character +ï·§ +64 +Character +ï·¨ +65 +Character +ï·© +66 +Character +ï·ª +67 +Character +ï·« +68 +Character +ï·¬ +69 +Character +ï·­ +70 +Character +ï·® +71 +Character +ï·¯ +72 +Character +￾ +73 +Character +ï¿¿ +74 +Character +🿾 +75 +Character +🿿 +76 +Character +𯿾 +77 +Character +𯿿 +78 +Character +ð¿¿¾ +79 +Character +ð¿¿¿ +80 +Character +ñ¿¾ +81 +Character +ñ¿¿ +82 +Character +ñŸ¿¾ +83 +Character +ñŸ¿¿ +84 +Character +ñ¯¿¾ +85 +Character +ñ¯¿¿ +86 +Character +ñ¿¿¾ +87 +Character +ñ¿¿¿ +88 +Character +ò¿¾ +89 +Character +ò¿¿ +90 +Character +òŸ¿¾ +91 +Character +òŸ¿¿ +92 +Character +ò¯¿¾ +93 +Character +ò¯¿¿ +94 +Character +ò¿¿¾ +95 +Character +ò¿¿¿ +96 +Character +ó¿¾ +97 +Character +ó¿¿ +98 +Character +󟿾 +99 +Character +óŸ¿¿ +100 +Character +󯿾 +101 +Character +󯿿 +102 +Character +ó¿¿¾ +103 +Character +ó¿¿¿ +104 +Character +ô¿¾ +105 +Character +ô¿¿ +106 +Character + +107 +Character + + +108 +Character + +109 +Character +! +110 +Character +" +111 +Character +# +112 +Character +$ +113 +Character +% +114 +Character +& +115 +Character +' +116 +Character +( +117 +Character +) +118 +Character +* +119 +Character ++ +120 +Character +, +121 +Character +- +122 +Character +. +123 +Character +/ +124 +Character +0 +125 +Character +1 +126 +Character +2 +127 +Character +3 +128 +Character +4 +129 +Character +5 +130 +Character +6 +131 +Character +7 +132 +Character +8 +133 +Character +9 +134 +Character +: +135 +Character +; +136 +Character +< +137 +Character += +138 +Character +> +139 +Character +? +140 +Character +@ +141 +Character +A +142 +Character +B +143 +Character +C +144 +Character +D +145 +Character +E +146 +Character +F +147 +Character +G +148 +Character +H +149 +Character +I +150 +Character +J +151 +Character +K +152 +Character +L +153 +Character +M +154 +Character +N +155 +Character +O +156 +Character +P +157 +Character +Q +158 +Character +R +159 +Character +S +160 +Character +T +161 +Character +U +162 +Character +V +163 +Character +W +164 +Character +X +165 +Character +Y +166 +Character +Z +167 +Character +[ +168 +Character +\ +169 +Character +] +170 +Character +^ +171 +Character +_ +172 +Character +` +173 +Character +a +174 +Character +b +175 +Character +c +176 +Character +d +177 +Character +e +178 +Character +f +179 +Character +g +180 +Character +h +181 +Character +i +182 +Character +j +183 +Character +k +184 +Character +l +185 +Character +m +186 +Character +n +187 +Character +o +188 +Character +p +189 +Character +q +190 +Character +r +191 +Character +s +192 +Character +t +193 +Character +u +194 +Character +v +195 +Character +w +196 +Character +x +197 +Character +y +198 +Character +z +199 +Character +{ +200 +Character +| +201 +Character +} +202 +Character +~ +203 +Character +  +204 +Character +¡ +205 +Character +¢ +206 +Character +£ +207 +Character +¤ +208 +Character +Â¥ +209 +Character +¦ +210 +Character +§ +211 +Character +¨ +212 +Character +© +213 +Character +ª +214 +Character +« +215 +Character +¬ +216 +Character +­ +217 +Character +® +218 +Character +¯ +219 +Character +° +220 +Character +± +221 +Character +² +222 +Character +³ +223 +Character +´ +224 +Character +µ +225 +Character +¶ +226 +Character +· +227 +Character +¸ +228 +Character +¹ +229 +Character +º +230 +Character +» +231 +Character +¼ +232 +Character +½ +233 +Character +¾ +234 +Character +¿ +235 +Character +À +236 +Character +à +237 +Character + +238 +Character +à +239 +Character +Ä +240 +Character +Ã… +241 +Character +Æ +242 +Character +Ç +243 +Character +È +244 +Character +É +245 +Character +Ê +246 +Character +Ë +247 +Character +ÃŒ +248 +Character +à +249 +Character +ÃŽ +250 +Character +à +251 +Character +à +252 +Character +Ñ +253 +Character +Ã’ +254 +Character +Ó +255 +Character +Ô +256 +Character +Õ +257 +Character +Ö +258 +Character +× +259 +Character +Ø +260 +Character +Ù +261 +Character +Ú +262 +Character +Û +263 +Character +Ü +264 +Character +à +265 +Character +Þ +266 +Character +ß +267 +Character +à +268 +Character +á +269 +Character +â +270 +Character +ã +271 +Character +ä +272 +Character +Ã¥ +273 +Character +æ +274 +Character +ç +275 +Character +è +276 +Character +é +277 +Character +ê +278 +Character +ë +279 +Character +ì +280 +Character +í +281 +Character +î +282 +Character +ï +283 +Character +ð +284 +Character +ñ +285 +Character +ò +286 +Character +ó +287 +Character +ô +288 +Character +õ +289 +Character +ö +290 +Character +÷ +291 +Character +ø +292 +Character +ù +293 +Character +ú +294 +Character +û +295 +Character +ü +296 +Character +ý +297 +Character +þ +298 +Character +ÿ +299 +Character +퟿ +300 +Character + +301 +Character +ï· +302 +Character +ï·° +303 +Character +� +304 +Character +ð€€ +305 +Character +🿽 +306 +Character +ð €€ +307 +Character +𯿽 +308 +Character +ð°€€ +309 +Character +ð¿¿½ +310 +Character +ñ€€€ +311 +Character +ñ¿½ +312 +Character +ñ€€ +313 +Character +ñŸ¿½ +314 +Character +ñ €€ +315 +Character +ñ¯¿½ +316 +Character +ñ°€€ +317 +Character +ñ¿¿½ +318 +Character +ò€€€ +319 +Character +ò¿½ +320 +Character +ò€€ +321 +Character +òŸ¿½ +322 +Character +ò €€ +323 +Character +ò¯¿½ +324 +Character +ò°€€ +325 +Character +ò¿¿½ +326 +Character +ó€€€ +327 +Character +ó¿½ +328 +Character +ó€€ +329 +Character +󟿽 +330 +Character +ó €€ +331 +Character +󯿽 +332 +Character +ó°€€ +333 +Character +ó¿¿½ +334 +Character +ô€€€ +335 +Character +ô¿½ diff --git a/libxml2/result/html-tokenizer/pendingSpecChanges.test b/libxml2/result/html-tokenizer/pendingSpecChanges.test new file mode 100644 index 0000000..79c0117 --- /dev/null +++ b/libxml2/result/html-tokenizer/pendingSpecChanges.test @@ -0,0 +1,3 @@ +0 +Comment +-- > diff --git a/libxml2/result/html-tokenizer/test1.test b/libxml2/result/html-tokenizer/test1.test new file mode 100644 index 0000000..cd04b37 --- /dev/null +++ b/libxml2/result/html-tokenizer/test1.test @@ -0,0 +1,231 @@ +0 +DOCTYPE +html + + +1 +DOCTYPE +html + + +2 +DOCTYPE +html + + +3 +DOCTYPE +html + + +4 +Comment +DOC +5 +DOCTYPE +foo + + +6 +StartTag +h +7 +8 +Character +<> +9 +StartTag +h a=b +10 +StartTag +h a=b +11 +StartTag +h +EndTag +h +12 +StartTag +p +Character +One +StartTag +p +Character +Two +13 +StartTag +h +EndTag +h +14 +StartTag +h a=b c=d +15 +StartTag +h a=b c=d +16 +StartTag +h a=b +17 +Comment +comment +18 +Comment +- +19 +Comment + --comment +20 +Comment + +34 +Character + +35 +Character + +36 +Character + +37 +Character + +38 +Character + +39 +Character + +40 +Character + +41 +Character + +42 +Character + +43 +Character + +44 +Character + +45 +Character + +46 +Character +& +47 +Character +&& +48 +Character +& +49 +Character +&f +50 +Character +&# +51 +Character +&#x +52 +Character +I'm ¬it +53 +Character +I'm ∉ +54 +Character +I'm ¬it +55 +Character +I'm ¬in +56 +Character +I'm &no +57 +Character +&¬; +58 +Character +$ +59 +Character +? +60 +StartTag +h a=? +EndTag +h +61 +StartTag +h a=¬x +62 +StartTag +h a=¬1 +63 +StartTag +h a=¬i +64 +StartTag +h a=© +65 +StartTag +s o=& t= +66 +StartTag +a a=a& +Character +foo +67 +StartTag +plaintext +Character +foobar +68 +StartTag +a a=f< diff --git a/libxml2/result/html-tokenizer/test2.test b/libxml2/result/html-tokenizer/test2.test new file mode 100644 index 0000000..bfd3c87 --- /dev/null +++ b/libxml2/result/html-tokenizer/test2.test @@ -0,0 +1,186 @@ +0 +DOCTYPE + + + +1 +DOCTYPE +html + + +2 +DOCTYPE +foo + + +3 +DOCTYPE +html +-//W3C//DTD HTML Transitional 4.01//EN + +4 +DOCTYPE +html + + +5 +DOCTYPE +html + + +6 +DOCTYPE +html +x + +7 +DOCTYPE +html + +-//W3C//DTD HTML Transitional 4.01//EN +8 +DOCTYPE +html + +-//W3C//DTD HTML Transitional 4.01//EN +9 +DOCTYPE +html +-//W3C//DTD HTML Transitional 4.01//EN +-//W3C//DTD HTML Transitional 4.01//EN +10 +DOCTYPE +html + + +Character +x +11 +DOCTYPE +html + + +Character +x +12 +DOCTYPE +html +foo + +Character +x +13 +DOCTYPE +html +foo + +Character +x +14 +DOCTYPE +html + + +15 +Character +� +16 +Character +� +17 +Character +� +18 +Character +� +19 +Character +�� +20 +Character +ê¯ +21 +Character +&; +22 +StartTag +h a=& +23 +StartTag +a + +37 +StartTag +h +38 +StartTag +h a= b= +39 +StartTag +h a= "= +40 +StartTag +h a= '= +41 +Character +abc +42 +Character +a +StartTag +b +Character +c +43 +Character +a +Comment +b +Character +c +44 +Character +a +EndTag +b +Character +c diff --git a/libxml2/result/html-tokenizer/test3.test b/libxml2/result/html-tokenizer/test3.test new file mode 100644 index 0000000..53e9bc4 --- /dev/null +++ b/libxml2/result/html-tokenizer/test3.test @@ -0,0 +1,6874 @@ +0 +1 +2 +3 +4 +5 +Character + +6 +Character + +7 +Character + +8 +Character + +9 +Character + +10 +Character + + +11 +Character + + +12 +Character + + +13 +Character + + +14 +Character + + +15 +Character + +16 +Character + +17 +Character + +18 +Character + +19 +Character + +20 +Character + +21 +Character + +22 +Character + +23 +Character + +24 +Character + +25 +Character + +26 +Character + +27 +Character + +28 +Character + +29 +Character + +30 +Character +! +31 +Character +! +32 +Character +! +33 +Character +! +34 +Character +! +35 +Character +" +36 +Character +" +37 +Character +" +38 +Character +" +39 +Character +" +40 +Character +% +41 +Character +% +42 +Character +% +43 +Character +% +44 +Character +% +45 +Character +& +46 +Character +& +47 +Character +& +48 +Character +& +49 +Character +& +50 +Character +' +51 +Character +' +52 +Character +' +53 +Character +' +54 +Character +' +55 +Character +, +56 +Character +, +57 +Character +, +58 +Character +, +59 +Character +, +60 +Character +- +61 +Character +- +62 +Character +- +63 +Character +- +64 +Character +- +65 +Character +. +66 +Character +. +67 +Character +. +68 +Character +. +69 +Character +. +70 +Character +/ +71 +Character +/ +72 +Character +/ +73 +Character +/ +74 +Character +/ +75 +Character +0 +76 +Character +0 +77 +Character +0 +78 +Character +0 +79 +Character +0 +80 +Character +1 +81 +Character +1 +82 +Character +1 +83 +Character +1 +84 +Character +1 +85 +Character +9 +86 +Character +9 +87 +Character +9 +88 +Character +9 +89 +Character +9 +90 +Character +; +91 +Character +; +92 +Character +; +93 +Character +; +94 +Character +; +95 +Character +;= +96 +Character +;= +97 +Character +;= +98 +Character +;= +99 +Character +;= +100 +Character +;> +101 +Character +;> +102 +Character +;> +103 +Character +;> +104 +Character +;> +105 +Character +;? +106 +Character +;? +107 +Character +;? +108 +Character +;? +109 +Character +;? +110 +Character +;@ +111 +Character +;@ +112 +Character +;@ +113 +Character +;@ +114 +Character +;@ +115 +Character +;A +116 +Character +;A +117 +Character +;A +118 +Character +;A +119 +Character +;A +120 +Character +;B +121 +Character +;B +122 +Character +;B +123 +Character +;B +124 +Character +;B +125 +Character +;Y +126 +Character +;Y +127 +Character +;Y +128 +Character +;Y +129 +Character +;Y +130 +Character +;Z +131 +Character +;Z +132 +Character +;Z +133 +Character +;Z +134 +Character +;Z +135 +Character +;` +136 +Character +;` +137 +Character +;` +138 +Character +;` +139 +Character +;` +140 +Character +;a +141 +Character +;a +142 +Character +;a +143 +Character +;a +144 +Character +;a +145 +Character +;b +146 +Character +;b +147 +Character +;b +148 +Character +;b +149 +Character +;b +150 +Character +;y +151 +Character +;y +152 +Character +;y +153 +Character +;y +154 +Character +;y +155 +Character +;z +156 +Character +;z +157 +Character +;z +158 +Character +;z +159 +Character +;z +160 +Character +;{ +161 +Character +;{ +162 +Character +;{ +163 +Character +;{ +164 +Character +;{ +165 +Character +;ô€€€ +166 +Character +;ô€€€ +167 +Character +;ô€€€ +168 +Character +;ô€€€ +169 +Character +;ô€€€ +170 +Character +< +171 +Character +< +172 +Character +< +173 +Character +< + +174 +Character +< +175 +Character +< +176 +Character +< +177 +Comment + +178 +Comment +� +179 +Comment + +180 +Comment + + +181 +Comment + +182 +Comment + +183 +Comment + +184 +Comment + � +185 +Comment +! +186 +Comment +" +187 +Comment +& +188 +Comment +' +189 +Comment +- +190 +Comment + +191 +Comment +� +192 +Comment + +193 +Comment + + +194 +Comment + +195 +Comment + +196 +Comment + +197 +Comment + � +198 +Comment + +199 +Comment + + +200 +Comment + +201 +Comment + +202 +Comment + +203 +Comment + ! +204 +Comment + " +205 +Comment + & +206 +Comment + ' +207 +Comment + , +208 +Comment + +209 +Comment + -� +210 +Comment + - +211 +Comment + - + +212 +Comment + - +213 +Comment + - +214 +Comment + - +215 +Comment + -! +216 +Comment + -" +217 +Comment + -& +218 +Comment + -' +219 +Comment + -, +220 +Comment + +221 +Comment + -. +222 +Comment + -/ +223 +Comment + -0 +224 +Comment + -1 +225 +Comment + -9 +226 +Comment + -< +227 +Comment + -= +228 +Comment + -> +229 +Comment + -? +230 +Comment + -@ +231 +Comment + -A +232 +Comment + -B +233 +Comment + -Y +234 +Comment + -Z +235 +Comment + -` +236 +Comment + -a +237 +Comment + -b +238 +Comment + -y +239 +Comment + -z +240 +Comment + -{ +241 +Comment + -ô€€€ +242 +Comment + . +243 +Comment + / +244 +Comment + 0 +245 +Comment + 1 +246 +Comment + 9 +247 +Comment + < +248 +Comment + = +249 +Comment + > +250 +Comment + ? +251 +Comment + @ +252 +Comment + A +253 +Comment + B +254 +Comment + Y +255 +Comment + Z +256 +Comment + ` +257 +Comment + a +258 +Comment + b +259 +Comment + y +260 +Comment + z +261 +Comment + { +262 +Comment + ô€€€ +263 +Comment +! +264 +Comment +" +265 +Comment +& +266 +Comment +' +267 +Comment +, +268 +Comment + +269 +Comment +-� +270 +Comment +- +271 +Comment +- + +272 +Comment +- +273 +Comment +- +274 +Comment +- +275 +Comment +-! +276 +Comment +-" +277 +Comment +-& +278 +Comment +-' +279 +Comment +-, +280 +Comment + +281 +Comment +--� +282 +Comment +-- +283 +Comment +-- + +284 +Comment +-- +285 +Comment +-- +286 +Comment +-- +287 +Comment +-- +288 +Comment +-- +289 +Comment +-- +290 +Comment +-- +291 +Comment +-- a +292 +Comment + +293 +Comment + +294 +Comment +--! > +295 +Comment +--! +> +296 +Comment +--! +> +297 +Comment +--! +> +298 +Comment +--!a +299 +Comment +--!a +300 +Comment +--!a +301 +Comment +--!a +302 +Comment +--! +303 +Comment +--! +304 +Comment +--! +305 +Comment +--" +306 +Comment +--& +307 +Comment +--' +308 +Comment +--, +309 +Comment +- +310 +Comment +--. +311 +Comment +--/ +312 +Comment +--0 +313 +Comment +--1 +314 +Comment +--9 +315 +Comment +--< +316 +Comment +--= +317 +Comment + +318 +Comment +--? +319 +Comment +--@ +320 +Comment +--A +321 +Comment +--B +322 +Comment +--Y +323 +Comment +--Z +324 +Comment +--` +325 +Comment +--a +326 +Comment +--b +327 +Comment +--y +328 +Comment +--z +329 +Comment +--{ +330 +Comment +--ô€€€ +331 +Comment +-. +332 +Comment +-/ +333 +Comment +-0 +334 +Comment +-1 +335 +Comment +-9 +336 +Comment +-< +337 +Comment +-= +338 +Comment +-? +339 +Comment +-@ +340 +Comment +-A +341 +Comment +-B +342 +Comment +-Y +343 +Comment +-Z +344 +Comment +-` +345 +Comment +-a +346 +Comment +-b +347 +Comment +-y +348 +Comment +-z +349 +Comment +-{ +350 +Comment +-ô€€€ +351 +Comment +. +352 +Comment +/ +353 +Comment +0 +354 +Comment +1 +355 +Comment +9 +356 +Comment +< +357 +Comment += +358 +Comment +? +359 +Comment +@ +360 +Comment +A +361 +Comment +B +362 +Comment +Y +363 +Comment +Z +364 +Comment +` +365 +Comment +a +366 +Comment +b +367 +Comment +y +368 +Comment +z +369 +Comment +{ +370 +Comment +ô€€€ +371 +Comment +/ +372 +Comment +0 +373 +Comment +1 +374 +Comment +9 +375 +Comment +< +376 +Comment += +377 +Comment + +378 +Comment +? +379 +Comment +@ +380 +Comment +A +381 +Comment +B +382 +DOCTYPE + + + +383 +DOCTYPE +� + + +384 +DOCTYPE + + + +385 +DOCTYPE + + + +386 +DOCTYPE + + + +387 +DOCTYPE + + + +388 +DOCTYPE + + + +389 +DOCTYPE + + + +390 +DOCTYPE + + + +391 +DOCTYPE + + + +392 +DOCTYPE +� + + +393 +DOCTYPE + + + +394 +DOCTYPE + + + +395 +DOCTYPE + + + +396 +DOCTYPE + + + +397 +DOCTYPE + + + +398 +DOCTYPE + + + +399 +DOCTYPE + + + +400 +DOCTYPE + + + +401 +DOCTYPE +! + + +402 +DOCTYPE +" + + +403 +DOCTYPE +& + + +404 +DOCTYPE +' + + +405 +DOCTYPE +- + + +406 +DOCTYPE +/ + + +407 +DOCTYPE +0 + + +408 +DOCTYPE +1 + + +409 +DOCTYPE +9 + + +410 +DOCTYPE +< + + +411 +DOCTYPE += + + +412 +DOCTYPE + + + +413 +DOCTYPE +? + + +414 +DOCTYPE +@ + + +415 +DOCTYPE +a + + +416 +DOCTYPE +b + + +417 +DOCTYPE +y + + +418 +DOCTYPE +z + + +419 +DOCTYPE +[ + + +420 +DOCTYPE +` + + +421 +DOCTYPE +a + + +422 +DOCTYPE +a� + + +423 +DOCTYPE +a + + +424 +DOCTYPE +a + + +425 +DOCTYPE +a + + +426 +DOCTYPE +a + + +427 +DOCTYPE +a + + +428 +DOCTYPE +a + + +429 +DOCTYPE +a + + +430 +DOCTYPE +a + + +431 +DOCTYPE +a + + +432 +DOCTYPE +a + + +433 +DOCTYPE +a + + +434 +DOCTYPE +a + + +435 +DOCTYPE +a + + +436 +DOCTYPE +a + + +437 +DOCTYPE +a + + +438 +DOCTYPE +a + + +439 +DOCTYPE +a + + +440 +DOCTYPE +a + + +441 +DOCTYPE +a + + +442 +DOCTYPE +a + + +443 +DOCTYPE +a + + +444 +DOCTYPE +a + + +445 +DOCTYPE +a + + +446 +DOCTYPE +a + + +447 +DOCTYPE +a + + +448 +DOCTYPE +a + + +449 +DOCTYPE +a + + +450 +DOCTYPE +a + + +451 +DOCTYPE +a + + +452 +DOCTYPE +a + + +453 +DOCTYPE +a + + +454 +DOCTYPE +a + + +455 +DOCTYPE +a + + +456 +DOCTYPE +a + + +457 +DOCTYPE +a + + +458 +DOCTYPE +a + + +459 +DOCTYPE +a + + +460 +DOCTYPE +a + + +461 +DOCTYPE +a + + +462 +DOCTYPE +a + + +463 +DOCTYPE +a + + +464 +DOCTYPE +a + + +465 +DOCTYPE +a + + +466 +DOCTYPE +a + + +467 +DOCTYPE +a + + +468 +DOCTYPE +a +� + +469 +DOCTYPE +a + + +470 +DOCTYPE +a + + + +471 +DOCTYPE +a + + +472 +DOCTYPE +a + + +473 +DOCTYPE +a + + +474 +DOCTYPE +a +! + +475 +DOCTYPE +a + + +476 +DOCTYPE +a + + +477 +DOCTYPE +a + + +478 +DOCTYPE +a +# + +479 +DOCTYPE +a +& + +480 +DOCTYPE +a +' + +481 +DOCTYPE +a +- + +482 +DOCTYPE +a +/ + +483 +DOCTYPE +a +0 + +484 +DOCTYPE +a +1 + +485 +DOCTYPE +a +9 + +486 +DOCTYPE +a +< + +487 +DOCTYPE +a += + +488 +DOCTYPE +a + + +489 +DOCTYPE +a +? + +490 +DOCTYPE +a +@ + +491 +DOCTYPE +a +A + +492 +DOCTYPE +a +B + +493 +DOCTYPE +a +Y + +494 +DOCTYPE +a +Z + +495 +DOCTYPE +a +` + +496 +DOCTYPE +a +a + +497 +DOCTYPE +a +b + +498 +DOCTYPE +a +y + +499 +DOCTYPE +a +z + +500 +DOCTYPE +a +{ + +501 +DOCTYPE +a +ô€€€ + +502 +DOCTYPE +a + + +503 +DOCTYPE +a + + +504 +DOCTYPE +a + + +505 +DOCTYPE +a +� + +506 +DOCTYPE +a + + +507 +DOCTYPE +a + + + +508 +DOCTYPE +a + + +509 +DOCTYPE +a + + +510 +DOCTYPE +a + + +511 +DOCTYPE +a +! + +512 +DOCTYPE +a +" + +513 +DOCTYPE +a +& + +514 +DOCTYPE +a + + +515 +DOCTYPE +a + + +516 +DOCTYPE +a + + +517 +DOCTYPE +a + + +518 +DOCTYPE +a + + +519 +DOCTYPE +a + + +520 +DOCTYPE +a + + +521 +DOCTYPE +a + + +522 +DOCTYPE +a + + +523 +DOCTYPE +a + + +524 +DOCTYPE +a + + +525 +DOCTYPE +a + + +526 +DOCTYPE +a + + +527 +DOCTYPE +a + + +528 +DOCTYPE +a + + +529 +DOCTYPE +a + + +530 +DOCTYPE +a + + +531 +DOCTYPE +a + + +532 +DOCTYPE +a + + +533 +DOCTYPE +a + + +534 +DOCTYPE +a + + +535 +DOCTYPE +a + + +536 +DOCTYPE +a + + +537 +DOCTYPE +a + + +538 +DOCTYPE +a + + +539 +DOCTYPE +a + + +540 +DOCTYPE +a + + +541 +DOCTYPE +a + + +542 +DOCTYPE +a + + +543 +DOCTYPE +a + + +544 +DOCTYPE +a + + +545 +DOCTYPE +a + + +546 +DOCTYPE +a + + +547 +DOCTYPE +a + + +548 +DOCTYPE +a + + +549 +DOCTYPE +a + + +550 +DOCTYPE +a + + +551 +DOCTYPE +a + + +552 +DOCTYPE +a + + +553 +DOCTYPE +a + + +554 +DOCTYPE +a + + +555 +DOCTYPE +a +( + +556 +DOCTYPE +a +- + +557 +DOCTYPE +a +/ + +558 +DOCTYPE +a +0 + +559 +DOCTYPE +a +1 + +560 +DOCTYPE +a +9 + +561 +DOCTYPE +a +< + +562 +DOCTYPE +a += + +563 +DOCTYPE +a + + +564 +DOCTYPE +a +? + +565 +DOCTYPE +a +@ + +566 +DOCTYPE +a +A + +567 +DOCTYPE +a +B + +568 +DOCTYPE +a +Y + +569 +DOCTYPE +a +Z + +570 +DOCTYPE +a +` + +571 +DOCTYPE +a +a + +572 +DOCTYPE +a +b + +573 +DOCTYPE +a +y + +574 +DOCTYPE +a +z + +575 +DOCTYPE +a +{ + +576 +DOCTYPE +a +ô€€€ + +577 +DOCTYPE +a + + +578 +DOCTYPE +a + + +579 +DOCTYPE +a + + +580 +DOCTYPE +a + + +581 +DOCTYPE +a + + +582 +DOCTYPE +a + + +583 +DOCTYPE +a + + +584 +DOCTYPE +a + + +585 +DOCTYPE +a + + +586 +DOCTYPE +a + + +587 +DOCTYPE +a + + +588 +DOCTYPE +a + + +589 +DOCTYPE +a + + +590 +DOCTYPE +a + + +591 +DOCTYPE +a + + +592 +DOCTYPE +a + + +593 +DOCTYPE +a + + +594 +DOCTYPE +a + + +595 +DOCTYPE +a + + +596 +DOCTYPE +a + + +597 +DOCTYPE +a + + +598 +DOCTYPE +a + + +599 +DOCTYPE +a + + +600 +DOCTYPE +a + + +601 +DOCTYPE +a + + +602 +DOCTYPE +a + + +603 +DOCTYPE +a + + +604 +DOCTYPE +a + + +605 +DOCTYPE +a + + +606 +DOCTYPE +a + + +607 +DOCTYPE +a + + +608 +DOCTYPE +a + + +609 +DOCTYPE +a + + +610 +DOCTYPE +a + + +611 +DOCTYPE +a + + +612 +DOCTYPE +a + + +613 +DOCTYPE +a + +� +614 +DOCTYPE +a + + +615 +DOCTYPE +a + + + +616 +DOCTYPE +a + + +617 +DOCTYPE +a + + +618 +DOCTYPE +a + + +619 +DOCTYPE +a + +! +620 +DOCTYPE +a + + +621 +DOCTYPE +a + +# +622 +DOCTYPE +a + +& +623 +DOCTYPE +a + +' +624 +DOCTYPE +a + +- +625 +DOCTYPE +a + +/ +626 +DOCTYPE +a + +0 +627 +DOCTYPE +a + +1 +628 +DOCTYPE +a + +9 +629 +DOCTYPE +a + +< +630 +DOCTYPE +a + += +631 +DOCTYPE +a + + +632 +DOCTYPE +a + +? +633 +DOCTYPE +a + +@ +634 +DOCTYPE +a + +A +635 +DOCTYPE +a + +B +636 +DOCTYPE +a + +Y +637 +DOCTYPE +a + +Z +638 +DOCTYPE +a + +` +639 +DOCTYPE +a + +a +640 +DOCTYPE +a + +b +641 +DOCTYPE +a + +y +642 +DOCTYPE +a + +z +643 +DOCTYPE +a + +{ +644 +DOCTYPE +a + +ô€€€ +645 +DOCTYPE +a + + +646 +DOCTYPE +a + + +647 +DOCTYPE +a + + +648 +DOCTYPE +a + +� +649 +DOCTYPE +a + + +650 +DOCTYPE +a + + + +651 +DOCTYPE +a + + +652 +DOCTYPE +a + + +653 +DOCTYPE +a + + +654 +DOCTYPE +a + +! +655 +DOCTYPE +a + +" +656 +DOCTYPE +a + +& +657 +DOCTYPE +a + + +658 +DOCTYPE +a + + +659 +DOCTYPE +a + + +660 +DOCTYPE +a + + +661 +DOCTYPE +a + + +662 +DOCTYPE +a + + +663 +DOCTYPE +a + + +664 +DOCTYPE +a + + +665 +DOCTYPE +a + + +666 +DOCTYPE +a + + +667 +DOCTYPE +a + + +668 +DOCTYPE +a + + +669 +DOCTYPE +a + + +670 +DOCTYPE +a + + +671 +DOCTYPE +a + + +672 +DOCTYPE +a + + +673 +DOCTYPE +a + + +674 +DOCTYPE +a + + +675 +DOCTYPE +a + + +676 +DOCTYPE +a + + +677 +DOCTYPE +a + + +678 +DOCTYPE +a + + +679 +DOCTYPE +a + + +680 +DOCTYPE +a + + +681 +DOCTYPE +a + + +682 +DOCTYPE +a + + +683 +DOCTYPE +a + + +684 +DOCTYPE +a + + +685 +DOCTYPE +a + + +686 +DOCTYPE +a + + +687 +DOCTYPE +a + + +688 +DOCTYPE +a + + +689 +DOCTYPE +a + + +690 +DOCTYPE +a + + +691 +DOCTYPE +a + + +692 +DOCTYPE +a + + +693 +DOCTYPE +a + + +694 +DOCTYPE +a + +( +695 +DOCTYPE +a + +- +696 +DOCTYPE +a + +/ +697 +DOCTYPE +a + +0 +698 +DOCTYPE +a + +1 +699 +DOCTYPE +a + +9 +700 +DOCTYPE +a + +< +701 +DOCTYPE +a + += +702 +DOCTYPE +a + + +703 +DOCTYPE +a + +? +704 +DOCTYPE +a + +@ +705 +DOCTYPE +a + +A +706 +DOCTYPE +a + +B +707 +DOCTYPE +a + +Y +708 +DOCTYPE +a + +Z +709 +DOCTYPE +a + +` +710 +DOCTYPE +a + +a +711 +DOCTYPE +a + +b +712 +DOCTYPE +a + +y +713 +DOCTYPE +a + +z +714 +DOCTYPE +a + +{ +715 +DOCTYPE +a + +ô€€€ +716 +DOCTYPE +a + + +717 +DOCTYPE +a + + +718 +DOCTYPE +a + + +719 +DOCTYPE +a + + +720 +DOCTYPE +a + + +721 +DOCTYPE +a + + +722 +DOCTYPE +a + + +723 +DOCTYPE +a + + +724 +DOCTYPE +a + + +725 +DOCTYPE +a + + +726 +DOCTYPE +a + + +727 +DOCTYPE +a + + +728 +DOCTYPE +a + + +729 +DOCTYPE +a + + +730 +DOCTYPE +a + + +731 +DOCTYPE +a + + +732 +DOCTYPE +a + + +733 +DOCTYPE +a + + +734 +DOCTYPE +a + + +735 +DOCTYPE +a + + +736 +DOCTYPE +a + + +737 +DOCTYPE +a + + +738 +DOCTYPE +a + + +739 +DOCTYPE +a + + +740 +DOCTYPE +a + + +741 +DOCTYPE +a + + +742 +DOCTYPE +a + + +743 +DOCTYPE +a + + +744 +DOCTYPE +a + + +745 +DOCTYPE +a + + +746 +DOCTYPE +a + + +747 +DOCTYPE +a + + +748 +DOCTYPE +a + + +749 +DOCTYPE +a + + +750 +DOCTYPE +a + + +751 +DOCTYPE +a + + +752 +DOCTYPE +a + + +753 +DOCTYPE +a + + +754 +DOCTYPE +a + + +755 +DOCTYPE +a + + +756 +DOCTYPE +a + + +757 +DOCTYPE +a + + +758 +DOCTYPE +a + + +759 +DOCTYPE +a + + +760 +DOCTYPE +a + + +761 +DOCTYPE +a + + +762 +DOCTYPE +a + + +763 +DOCTYPE +a + + +764 +DOCTYPE +a + + +765 +DOCTYPE +a + + +766 +DOCTYPE +a + + +767 +DOCTYPE +a + + +768 +DOCTYPE +a + + +769 +DOCTYPE +a + + +770 +DOCTYPE +a + + +771 +DOCTYPE +a + + +772 +DOCTYPE +a + + +773 +DOCTYPE +a + + +774 +DOCTYPE +a + + +775 +DOCTYPE +a + + +776 +DOCTYPE +a + + +777 +DOCTYPE +a + + +778 +DOCTYPE +a! + + +779 +DOCTYPE +a" + + +780 +DOCTYPE +a& + + +781 +DOCTYPE +a' + + +782 +DOCTYPE +a- + + +783 +DOCTYPE +a/ + + +784 +DOCTYPE +a0 + + +785 +DOCTYPE +a1 + + +786 +DOCTYPE +a9 + + +787 +DOCTYPE +a< + + +788 +DOCTYPE +a= + + +789 +DOCTYPE +a + + +790 +DOCTYPE +a? + + +791 +DOCTYPE +a@ + + +792 +DOCTYPE +aa + + +793 +DOCTYPE +ab + + +794 +DOCTYPE +ay + + +795 +DOCTYPE +az + + +796 +DOCTYPE +a[ + + +797 +DOCTYPE +a` + + +798 +DOCTYPE +aa + + +799 +DOCTYPE +ab + + +800 +DOCTYPE +ay + + +801 +DOCTYPE +az + + +802 +DOCTYPE +a{ + + +803 +DOCTYPE +aô€€€ + + +804 +DOCTYPE +b + + +805 +DOCTYPE +y + + +806 +DOCTYPE +z + + +807 +DOCTYPE +{ + + +808 +DOCTYPE +ô€€€ + + +809 +DOCTYPE +! + + +810 +DOCTYPE +" + + +811 +DOCTYPE +& + + +812 +DOCTYPE +' + + +813 +DOCTYPE +- + + +814 +DOCTYPE +/ + + +815 +DOCTYPE +0 + + +816 +DOCTYPE +1 + + +817 +DOCTYPE +9 + + +818 +DOCTYPE +< + + +819 +DOCTYPE += + + +820 +DOCTYPE + + + +821 +DOCTYPE +? + + +822 +DOCTYPE +@ + + +823 +DOCTYPE +a + + +824 +DOCTYPE +b + + +825 +DOCTYPE +y + + +826 +DOCTYPE +z + + +827 +DOCTYPE +` + + +828 +DOCTYPE +a + + +829 +DOCTYPE +a� + + +830 +DOCTYPE +a + + +831 +DOCTYPE +a + + +832 +DOCTYPE +a + + +833 +DOCTYPE +a + + +834 +DOCTYPE +a + + +835 +DOCTYPE +a + + +836 +DOCTYPE +a + + +837 +DOCTYPE +a + + +838 +DOCTYPE +a + + +839 +DOCTYPE +a + + +840 +DOCTYPE +a + + +841 +DOCTYPE +a + + +842 +DOCTYPE +a + + +843 +DOCTYPE +a + + +844 +DOCTYPE +a + + +845 +DOCTYPE +a + + +846 +DOCTYPE +a + + +847 +DOCTYPE +a + + +848 +DOCTYPE +a + + +849 +DOCTYPE +a + + +850 +DOCTYPE +a + + +851 +DOCTYPE +a + + +852 +DOCTYPE +a + + +853 +DOCTYPE +a + + +854 +DOCTYPE +a + + +855 +DOCTYPE +a + + +856 +DOCTYPE +a + + +857 +DOCTYPE +a + + +858 +DOCTYPE +a + + +859 +DOCTYPE +a + + +860 +DOCTYPE +a + + +861 +DOCTYPE +a + + +862 +DOCTYPE +a + + +863 +DOCTYPE +a + + +864 +DOCTYPE +a + + +865 +DOCTYPE +a + + +866 +DOCTYPE +a + + +867 +DOCTYPE +a + + +868 +DOCTYPE +a + + +869 +DOCTYPE +a + + +870 +DOCTYPE +a + + +871 +DOCTYPE +a + + +872 +DOCTYPE +a + + +873 +DOCTYPE +a + + +874 +DOCTYPE +a + + +875 +DOCTYPE +a +� + +876 +DOCTYPE +a + + +877 +DOCTYPE +a + + + +878 +DOCTYPE +a + + +879 +DOCTYPE +a + + +880 +DOCTYPE +a + + +881 +DOCTYPE +a +! + +882 +DOCTYPE +a + + +883 +DOCTYPE +a +# + +884 +DOCTYPE +a +& + +885 +DOCTYPE +a +' + +886 +DOCTYPE +a +- + +887 +DOCTYPE +a +/ + +888 +DOCTYPE +a +0 + +889 +DOCTYPE +a +1 + +890 +DOCTYPE +a +9 + +891 +DOCTYPE +a +< + +892 +DOCTYPE +a += + +893 +DOCTYPE +a + + +894 +DOCTYPE +a +? + +895 +DOCTYPE +a +@ + +896 +DOCTYPE +a +A + +897 +DOCTYPE +a +B + +898 +DOCTYPE +a +Y + +899 +DOCTYPE +a +Z + +900 +DOCTYPE +a +` + +901 +DOCTYPE +a +a + +902 +DOCTYPE +a +b + +903 +DOCTYPE +a +y + +904 +DOCTYPE +a +z + +905 +DOCTYPE +a +{ + +906 +DOCTYPE +a +ô€€€ + +907 +DOCTYPE +a + + +908 +DOCTYPE +a + + +909 +DOCTYPE +a + + +910 +DOCTYPE +a +� + +911 +DOCTYPE +a + + +912 +DOCTYPE +a + + + +913 +DOCTYPE +a + + +914 +DOCTYPE +a + + +915 +DOCTYPE +a + + +916 +DOCTYPE +a +! + +917 +DOCTYPE +a +" + +918 +DOCTYPE +a +& + +919 +DOCTYPE +a + + +920 +DOCTYPE +a + + +921 +DOCTYPE +a + + +922 +DOCTYPE +a + + +923 +DOCTYPE +a + + +924 +DOCTYPE +a + + +925 +DOCTYPE +a + + +926 +DOCTYPE +a + + +927 +DOCTYPE +a + + +928 +DOCTYPE +a + + +929 +DOCTYPE +a + + +930 +DOCTYPE +a + + +931 +DOCTYPE +a + + +932 +DOCTYPE +a + + +933 +DOCTYPE +a + + +934 +DOCTYPE +a + + +935 +DOCTYPE +a + + +936 +DOCTYPE +a + + +937 +DOCTYPE +a + + +938 +DOCTYPE +a + + +939 +DOCTYPE +a + + +940 +DOCTYPE +a + + +941 +DOCTYPE +a + + +942 +DOCTYPE +a + + +943 +DOCTYPE +a + + +944 +DOCTYPE +a + + +945 +DOCTYPE +a + + +946 +DOCTYPE +a + + +947 +DOCTYPE +a + + +948 +DOCTYPE +a + + +949 +DOCTYPE +a + + +950 +DOCTYPE +a + + +951 +DOCTYPE +a + + +952 +DOCTYPE +a + + +953 +DOCTYPE +a + + +954 +DOCTYPE +a + + +955 +DOCTYPE +a + + +956 +DOCTYPE +a +( + +957 +DOCTYPE +a +- + +958 +DOCTYPE +a +/ + +959 +DOCTYPE +a +0 + +960 +DOCTYPE +a +1 + +961 +DOCTYPE +a +9 + +962 +DOCTYPE +a +< + +963 +DOCTYPE +a += + +964 +DOCTYPE +a + + +965 +DOCTYPE +a +? + +966 +DOCTYPE +a +@ + +967 +DOCTYPE +a +A + +968 +DOCTYPE +a +B + +969 +DOCTYPE +a +Y + +970 +DOCTYPE +a +Z + +971 +DOCTYPE +a +` + +972 +DOCTYPE +a +a + +973 +DOCTYPE +a +b + +974 +DOCTYPE +a +y + +975 +DOCTYPE +a +z + +976 +DOCTYPE +a +{ + +977 +DOCTYPE +a +ô€€€ + +978 +DOCTYPE +a + + +979 +DOCTYPE +a + + +980 +DOCTYPE +a + + +981 +DOCTYPE +a + + +982 +DOCTYPE +a + + +983 +DOCTYPE +a + + +984 +DOCTYPE +a + + +985 +DOCTYPE +a + + +986 +DOCTYPE +a + + +987 +DOCTYPE +a + + +988 +DOCTYPE +a + + +989 +DOCTYPE +a + + +990 +DOCTYPE +a + + +991 +DOCTYPE +a + + +992 +DOCTYPE +a + + +993 +DOCTYPE +a + + +994 +DOCTYPE +a + + +995 +DOCTYPE +a + + +996 +DOCTYPE +a + + +997 +DOCTYPE +a + + +998 +DOCTYPE +a + + +999 +DOCTYPE +a + + +1000 +DOCTYPE +a + + +1001 +DOCTYPE +a + + +1002 +DOCTYPE +a + + +1003 +DOCTYPE +a + + +1004 +DOCTYPE +a + + +1005 +DOCTYPE +a + + +1006 +DOCTYPE +a + + +1007 +DOCTYPE +a + + +1008 +DOCTYPE +a + + +1009 +DOCTYPE +a + + +1010 +DOCTYPE +a + + +1011 +DOCTYPE +a + + +1012 +DOCTYPE +a + +� +1013 +DOCTYPE +a + + +1014 +DOCTYPE +a + + + +1015 +DOCTYPE +a + + +1016 +DOCTYPE +a + + +1017 +DOCTYPE +a + + +1018 +DOCTYPE +a + +! +1019 +DOCTYPE +a + + +1020 +DOCTYPE +a + +# +1021 +DOCTYPE +a + +& +1022 +DOCTYPE +a + +' +1023 +DOCTYPE +a + +- +1024 +DOCTYPE +a + +/ +1025 +DOCTYPE +a + +0 +1026 +DOCTYPE +a + +1 +1027 +DOCTYPE +a + +9 +1028 +DOCTYPE +a + +< +1029 +DOCTYPE +a + += +1030 +DOCTYPE +a + + +1031 +DOCTYPE +a + +? +1032 +DOCTYPE +a + +@ +1033 +DOCTYPE +a + +A +1034 +DOCTYPE +a + +B +1035 +DOCTYPE +a + +Y +1036 +DOCTYPE +a + +Z +1037 +DOCTYPE +a + +` +1038 +DOCTYPE +a + +a +1039 +DOCTYPE +a + +b +1040 +DOCTYPE +a + +y +1041 +DOCTYPE +a + +z +1042 +DOCTYPE +a + +{ +1043 +DOCTYPE +a + +ô€€€ +1044 +DOCTYPE +a + + +1045 +DOCTYPE +a + + +1046 +DOCTYPE +a + + +1047 +DOCTYPE +a + +� +1048 +DOCTYPE +a + + +1049 +DOCTYPE +a + + + +1050 +DOCTYPE +a + + +1051 +DOCTYPE +a + + +1052 +DOCTYPE +a + + +1053 +DOCTYPE +a + +! +1054 +DOCTYPE +a + +" +1055 +DOCTYPE +a + +& +1056 +DOCTYPE +a + + +1057 +DOCTYPE +a + + +1058 +DOCTYPE +a + + +1059 +DOCTYPE +a + + +1060 +DOCTYPE +a + + +1061 +DOCTYPE +a + + +1062 +DOCTYPE +a + + +1063 +DOCTYPE +a + + +1064 +DOCTYPE +a + + +1065 +DOCTYPE +a + + +1066 +DOCTYPE +a + + +1067 +DOCTYPE +a + + +1068 +DOCTYPE +a + + +1069 +DOCTYPE +a + + +1070 +DOCTYPE +a + + +1071 +DOCTYPE +a + + +1072 +DOCTYPE +a + + +1073 +DOCTYPE +a + + +1074 +DOCTYPE +a + + +1075 +DOCTYPE +a + + +1076 +DOCTYPE +a + + +1077 +DOCTYPE +a + + +1078 +DOCTYPE +a + + +1079 +DOCTYPE +a + + +1080 +DOCTYPE +a + + +1081 +DOCTYPE +a + + +1082 +DOCTYPE +a + + +1083 +DOCTYPE +a + + +1084 +DOCTYPE +a + + +1085 +DOCTYPE +a + + +1086 +DOCTYPE +a + + +1087 +DOCTYPE +a + + +1088 +DOCTYPE +a + + +1089 +DOCTYPE +a + + +1090 +DOCTYPE +a + + +1091 +DOCTYPE +a + +( +1092 +DOCTYPE +a + +- +1093 +DOCTYPE +a + +/ +1094 +DOCTYPE +a + +0 +1095 +DOCTYPE +a + +1 +1096 +DOCTYPE +a + +9 +1097 +DOCTYPE +a + +< +1098 +DOCTYPE +a + += +1099 +DOCTYPE +a + + +1100 +DOCTYPE +a + +? +1101 +DOCTYPE +a + +@ +1102 +DOCTYPE +a + +A +1103 +DOCTYPE +a + +B +1104 +DOCTYPE +a + +Y +1105 +DOCTYPE +a + +Z +1106 +DOCTYPE +a + +` +1107 +DOCTYPE +a + +a +1108 +DOCTYPE +a + +b +1109 +DOCTYPE +a + +y +1110 +DOCTYPE +a + +z +1111 +DOCTYPE +a + +{ +1112 +DOCTYPE +a + +ô€€€ +1113 +DOCTYPE +a + + +1114 +DOCTYPE +a + + +1115 +DOCTYPE +a + + +1116 +DOCTYPE +a + + +1117 +DOCTYPE +a + + +1118 +DOCTYPE +a + + +1119 +DOCTYPE +a + + +1120 +DOCTYPE +a + + +1121 +DOCTYPE +a + + +1122 +DOCTYPE +a + + +1123 +DOCTYPE +a + + +1124 +DOCTYPE +a + + +1125 +DOCTYPE +a + + +1126 +DOCTYPE +a + + +1127 +DOCTYPE +a + + +1128 +DOCTYPE +a + + +1129 +DOCTYPE +a + + +1130 +DOCTYPE +a + + +1131 +DOCTYPE +a + + +1132 +DOCTYPE +a + + +1133 +DOCTYPE +a + + +1134 +DOCTYPE +a + + +1135 +DOCTYPE +a + + +1136 +DOCTYPE +a + + +1137 +DOCTYPE +a + + +1138 +DOCTYPE +a + + +1139 +DOCTYPE +a + + +1140 +DOCTYPE +a + + +1141 +DOCTYPE +a + + +1142 +DOCTYPE +a + + +1143 +DOCTYPE +a + + +1144 +DOCTYPE +a + + +1145 +DOCTYPE +a + + +1146 +DOCTYPE +a + + +1147 +DOCTYPE +a + + +1148 +DOCTYPE +a + + +1149 +DOCTYPE +a + + +1150 +DOCTYPE +a + + +1151 +DOCTYPE +a + + +1152 +DOCTYPE +a + + +1153 +DOCTYPE +a + + +1154 +DOCTYPE +a + + +1155 +DOCTYPE +a + + +1156 +DOCTYPE +a + + +1157 +DOCTYPE +a + + +1158 +DOCTYPE +a + + +1159 +DOCTYPE +a + + +1160 +DOCTYPE +a + + +1161 +DOCTYPE +a + + +1162 +DOCTYPE +a + + +1163 +DOCTYPE +a + + +1164 +DOCTYPE +a + + +1165 +DOCTYPE +a + + +1166 +DOCTYPE +a + + +1167 +DOCTYPE +a + + +1168 +DOCTYPE +a + + +1169 +DOCTYPE +a + + +1170 +DOCTYPE +a + + +1171 +DOCTYPE +a + + +1172 +DOCTYPE +a + + +1173 +DOCTYPE +a + + +1174 +DOCTYPE +a + + +1175 +DOCTYPE +a! + + +1176 +DOCTYPE +a" + + +1177 +DOCTYPE +a& + + +1178 +DOCTYPE +a' + + +1179 +DOCTYPE +a- + + +1180 +DOCTYPE +a/ + + +1181 +DOCTYPE +a0 + + +1182 +DOCTYPE +a1 + + +1183 +DOCTYPE +a9 + + +1184 +DOCTYPE +a< + + +1185 +DOCTYPE +a= + + +1186 +DOCTYPE +a + + +1187 +DOCTYPE +a? + + +1188 +DOCTYPE +a@ + + +1189 +DOCTYPE +aa + + +1190 +DOCTYPE +ab + + +1191 +DOCTYPE +ay + + +1192 +DOCTYPE +az + + +1193 +DOCTYPE +a[ + + +1194 +DOCTYPE +a` + + +1195 +DOCTYPE +aa + + +1196 +DOCTYPE +ab + + +1197 +DOCTYPE +ay + + +1198 +DOCTYPE +az + + +1199 +DOCTYPE +a{ + + +1200 +DOCTYPE +aô€€€ + + +1201 +DOCTYPE +b + + +1202 +DOCTYPE +y + + +1203 +DOCTYPE +z + + +1204 +DOCTYPE +{ + + +1205 +DOCTYPE +ô€€€ + + +1206 +Comment +Y +1207 +Comment +Z +1208 +Comment +` +1209 +Comment +a +1210 +Comment +b +1211 +Comment +y +1212 +Comment +z +1213 +Comment +{ +1214 +Comment +ô€€€ +1215 +Character +<" +1216 +Character +<& +1217 +Character +<' +1218 +Character +<- +1219 +Character +<. +1220 +Character + +1260 +Comment +? +1261 +Comment +?� +1262 +Comment +? +1263 +Comment +? + +1264 +Comment +? +1265 +Comment +? +1266 +Comment +? +1267 +Comment +? � +1268 +Comment +?! +1269 +Comment +?" +1270 +Comment +?& +1271 +Comment +?' +1272 +Comment +?- +1273 +Comment +?/ +1274 +Comment +?0 +1275 +Comment +?1 +1276 +Comment +?9 +1277 +Comment +?< +1278 +Comment +?= +1279 +Comment +? +1280 +Comment +?? +1281 +Comment +?@ +1282 +Comment +?A +1283 +Comment +?B +1284 +Comment +?Y +1285 +Comment +?Z +1286 +Comment +?` +1287 +Comment +?a +1288 +Comment +?b +1289 +Comment +?y +1290 +Comment +?z +1291 +Comment +?{ +1292 +Comment +?ô€€€ +1293 +Character +<@ +1294 +StartTag +a +1295 +StartTag +b +1296 +StartTag +y +1297 +StartTag +z +1298 +Character +<[ +1299 +Character +<` +1300 +StartTag +a +1301 +StartTag +a� +1302 +StartTag +a +1303 +StartTag +a +1304 +StartTag +a +1305 +StartTag +a +1306 +StartTag +a +1307 +StartTag +a +1308 +StartTag +a +1309 +StartTag +a +1310 +StartTag +a �= +1311 +StartTag +a = +1312 +StartTag +a +1313 +StartTag +a +1314 +StartTag +a = +1315 +StartTag +a +1316 +StartTag +a +1317 +StartTag +a = +1318 +StartTag +a +1319 +StartTag +a != +1320 +StartTag +a "= +1321 +StartTag +a #= +1322 +StartTag +a &= +1323 +StartTag +a '= +1324 +StartTag +a (= +1325 +StartTag +a -= +1326 +StartTag +a .= +1327 +StartTag +a +1328 +StartTag +a 0= +1329 +StartTag +a 1= +1330 +StartTag +a 9= +1331 +StartTag +a <= +1332 +StartTag +a == +1333 +StartTag +a +1334 +StartTag +a ?= +1335 +StartTag +a @= +1336 +StartTag +a a= +1337 +StartTag +a b= +1338 +StartTag +a y= +1339 +StartTag +a z= +1340 +StartTag +a [= +1341 +StartTag +a `= +1342 +StartTag +a a= +1343 +StartTag +a a�= +1344 +StartTag +a a= +1345 +StartTag +a a= +1346 +StartTag +a a= +1347 +StartTag +a a = +1348 +StartTag +a a= +1349 +StartTag +a a= +1350 +StartTag +a a= +1351 +StartTag +a a= +1352 +StartTag +a a= �= +1353 +StartTag +a a= = +1354 +StartTag +a a= +1355 +StartTag +a a= +1356 +StartTag +a a= = +1357 +StartTag +a a= +1358 +StartTag +a a= +1359 +StartTag +a a= = +1360 +StartTag +a a= +1361 +StartTag +a a= != +1362 +StartTag +a a= "= +1363 +StartTag +a a= #= +1364 +StartTag +a a= &= +1365 +StartTag +a a= '= +1366 +StartTag +a a= (= +1367 +StartTag +a a= -= +1368 +StartTag +a a= .= +1369 +StartTag +a a= +1370 +StartTag +a a= 0= +1371 +StartTag +a a= 1= +1372 +StartTag +a a= 9= +1373 +StartTag +a a= <= +1374 +StartTag +a a= +1375 +StartTag +a a= +1376 +StartTag +a a= ?= +1377 +StartTag +a a= @= +1378 +StartTag +a a= +1379 +StartTag +a a= b= +1380 +StartTag +a a= y= +1381 +StartTag +a a= z= +1382 +StartTag +a a= [= +1383 +StartTag +a a= `= +1384 +StartTag +a a= +1385 +StartTag +a a= b= +1386 +StartTag +a a= y= +1387 +StartTag +a a= z= +1388 +StartTag +a a= {= +1389 +StartTag +a a= ô€€€= +1390 +StartTag +a a!= +1391 +StartTag +a a"= +1392 +StartTag +a a#= +1393 +StartTag +a a&= +1394 +StartTag +a a'= +1395 +StartTag +a a(= +1396 +StartTag +a a-= +1397 +StartTag +a a.= +1398 +StartTag +a a= +1399 +StartTag +a a0= +1400 +StartTag +a a1= +1401 +StartTag +a a9= +1402 +StartTag +a a<= +1403 +StartTag +a a= +1404 +StartTag +a a=� +1405 +StartTag +a a= +1406 +StartTag +a a= +1407 +StartTag +a a= +1408 +StartTag +a a= +1409 +StartTag +a a= +1410 +StartTag +a a= +1411 +StartTag +a a= +1412 +StartTag +a a= +1413 +StartTag +a a=! +1414 +StartTag +a a= +1415 +StartTag +a a=� +1416 +StartTag +a a= +1417 +StartTag +a a= + +1418 +StartTag +a a= +1419 +StartTag +a a= +1420 +StartTag +a a= +1421 +StartTag +a a=! +1422 +StartTag +a a= +1423 +StartTag +a a=# +1424 +StartTag +a a=% +1425 +StartTag +a a=& +1426 +StartTag +a a=' +1427 +StartTag +a a=- +1428 +StartTag +a a=/ +1429 +StartTag +a a=0 +1430 +StartTag +a a=1 +1431 +StartTag +a a=9 +1432 +StartTag +a a=< +1433 +StartTag +a a== +1434 +StartTag +a a=> +1435 +StartTag +a a=? +1436 +StartTag +a a=@ +1437 +StartTag +a a=A +1438 +StartTag +a a=B +1439 +StartTag +a a=Y +1440 +StartTag +a a=Z +1441 +StartTag +a a=` +1442 +StartTag +a a=a +1443 +StartTag +a a=b +1444 +StartTag +a a=y +1445 +StartTag +a a=z +1446 +StartTag +a a={ +1447 +StartTag +a a=ô€€€ +1448 +StartTag +a a=# +1449 +StartTag +a a=% +1450 +StartTag +a a=& +1451 +StartTag +a a= +1452 +StartTag +a a=� +1453 +StartTag +a a= +1454 +StartTag +a a= + +1455 +StartTag +a a= +1456 +StartTag +a a= +1457 +StartTag +a a= +1458 +StartTag +a a=! +1459 +StartTag +a a=" +1460 +StartTag +a a=% +1461 +StartTag +a a=& +1462 +StartTag +a a= +1463 +StartTag +a a= �= +1464 +StartTag +a a= = +1465 +StartTag +a a= +1466 +StartTag +a a= +1467 +StartTag +a a= = +1468 +StartTag +a a= +1469 +StartTag +a a= +1470 +StartTag +a a= = +1471 +StartTag +a a= +1472 +StartTag +a a= != +1473 +StartTag +a a= "= +1474 +StartTag +a a= &= +1475 +StartTag +a a= '= +1476 +StartTag +a a= -= +1477 +StartTag +a a= .= +1478 +StartTag +a a= +1479 +StartTag +a a= 0= +1480 +StartTag +a a= 1= +1481 +StartTag +a a= 9= +1482 +StartTag +a a= <= +1483 +StartTag +a a= == +1484 +StartTag +a a= +1485 +StartTag +a a= ?= +1486 +StartTag +a a= @= +1487 +StartTag +a a= +1488 +StartTag +a a= b= +1489 +StartTag +a a= y= +1490 +StartTag +a a= z= +1491 +StartTag +a a= `= +1492 +StartTag +a a= +1493 +StartTag +a a= b= +1494 +StartTag +a a= y= +1495 +StartTag +a a= z= +1496 +StartTag +a a= {= +1497 +StartTag +a a= ô€€€= +1498 +StartTag +a a=( +1499 +StartTag +a a=- +1500 +StartTag +a a=/ +1501 +StartTag +a a=0 +1502 +StartTag +a a=1 +1503 +StartTag +a a=9 +1504 +StartTag +a a=< +1505 +StartTag +a a== +1506 +StartTag +a a=> +1507 +StartTag +a a=? +1508 +StartTag +a a=@ +1509 +StartTag +a a=A +1510 +StartTag +a a=B +1511 +StartTag +a a=Y +1512 +StartTag +a a=Z +1513 +StartTag +a a=` +1514 +StartTag +a a=a +1515 +StartTag +a a=b +1516 +StartTag +a a=y +1517 +StartTag +a a=z +1518 +StartTag +a a={ +1519 +StartTag +a a=ô€€€ +1520 +StartTag +a a=( +1521 +StartTag +a a=- +1522 +StartTag +a a=/ +1523 +StartTag +a a=0 +1524 +StartTag +a a=1 +1525 +StartTag +a a=9 +1526 +StartTag +a a=< +1527 +StartTag +a a== +1528 +StartTag +a a= +1529 +StartTag +a a=? +1530 +StartTag +a a=@ +1531 +StartTag +a a=A +1532 +StartTag +a a=B +1533 +StartTag +a a=Y +1534 +StartTag +a a=Z +1535 +StartTag +a a=` +1536 +StartTag +a a=a +1537 +StartTag +a a=a� +1538 +StartTag +a a=a +1539 +StartTag +a a=a +1540 +StartTag +a a=a +1541 +StartTag +a a=a +1542 +StartTag +a a=a +1543 +StartTag +a a=a +1544 +StartTag +a a=a +1545 +StartTag +a a=a +1546 +StartTag +a a=a! +1547 +StartTag +a a=a" +1548 +StartTag +a a=a# +1549 +StartTag +a a=a% +1550 +StartTag +a a=a& +1551 +StartTag +a a=a' +1552 +StartTag +a a=a( +1553 +StartTag +a a=a- +1554 +StartTag +a a=a/ +1555 +StartTag +a a=a0 +1556 +StartTag +a a=a1 +1557 +StartTag +a a=a9 +1558 +StartTag +a a=a< +1559 +StartTag +a a=a= +1560 +StartTag +a a=a +1561 +StartTag +a a=a? +1562 +StartTag +a a=a@ +1563 +StartTag +a a=aA +1564 +StartTag +a a=aB +1565 +StartTag +a a=aY +1566 +StartTag +a a=aZ +1567 +StartTag +a a=a` +1568 +StartTag +a a=aa +1569 +StartTag +a a=ab +1570 +StartTag +a a=ay +1571 +StartTag +a a=az +1572 +StartTag +a a=a{ +1573 +StartTag +a a=aô€€€ +1574 +StartTag +a a=b +1575 +StartTag +a a=y +1576 +StartTag +a a=z +1577 +StartTag +a a={ +1578 +StartTag +a a=ô€€€ +1579 +StartTag +a a= +1580 +StartTag +a a?= +1581 +StartTag +a a@= +1582 +StartTag +a aa= +1583 +StartTag +a ab= +1584 +StartTag +a ay= +1585 +StartTag +a az= +1586 +StartTag +a a[= +1587 +StartTag +a a`= +1588 +StartTag +a aa= +1589 +StartTag +a ab= +1590 +StartTag +a ay= +1591 +StartTag +a az= +1592 +StartTag +a a{= +1593 +StartTag +a aô€€€= +1594 +StartTag +a b= +1595 +StartTag +a y= +1596 +StartTag +a z= +1597 +StartTag +a {= +1598 +StartTag +a ô€€€= +1599 +StartTag +a! +1600 +StartTag +a" +1601 +StartTag +a& +1602 +StartTag +a' +1603 +StartTag +a- +1604 +StartTag +a. +1605 +StartTag +a +1606 +StartTag +a �= +1607 +StartTag +a +1608 +StartTag +a +1609 +StartTag +a = +1610 +StartTag +a +1611 +StartTag +a +1612 +StartTag +a != +1613 +StartTag +a "= +1614 +StartTag +a &= +1615 +StartTag +a '= +1616 +StartTag +a -= +1617 +StartTag +a +1618 +StartTag +a 0= +1619 +StartTag +a 1= +1620 +StartTag +a 9= +1621 +StartTag +a <= +1622 +StartTag +a == +1623 +StartTag +a +1624 +StartTag +a ?= +1625 +StartTag +a @= +1626 +StartTag +a a= +1627 +StartTag +a b= +1628 +StartTag +a y= +1629 +StartTag +a z= +1630 +StartTag +a `= +1631 +StartTag +a a= +1632 +StartTag +a b= +1633 +StartTag +a y= +1634 +StartTag +a z= +1635 +StartTag +a {= +1636 +StartTag +a ô€€€= +1637 +StartTag +a0 +1638 +StartTag +a1 +1639 +StartTag +a9 +1640 +StartTag +a< +1641 +StartTag +a= +1642 +StartTag +a +1643 +StartTag +a? +1644 +StartTag +a@ +1645 +StartTag +aa +1646 +StartTag +ab +1647 +StartTag +ay +1648 +StartTag +az +1649 +StartTag +a[ +1650 +StartTag +a` +1651 +StartTag +aa +1652 +StartTag +ab +1653 +StartTag +ay +1654 +StartTag +az +1655 +StartTag +a{ +1656 +StartTag +aô€€€ +1657 +StartTag +b +1658 +StartTag +y +1659 +StartTag +z +1660 +Character +<{ +1661 +Character +<ô€€€ +1662 +Character += +1663 +Character += +1664 +Character += +1665 +Character += +1666 +Character += +1667 +Character +> +1668 +Character +> +1669 +Character +> +1670 +Character +> +1671 +Character +> +1672 +Character +? +1673 +Character +? +1674 +Character +? +1675 +Character +? +1676 +Character +? +1677 +Character +@ +1678 +Character +@ +1679 +Character +@ +1680 +Character +@ +1681 +Character +@ +1682 +Character +A +1683 +Character +A +1684 +Character +A +1685 +Character +A +1686 +Character +A +1687 +Character +B +1688 +Character +B +1689 +Character +B +1690 +Character +B +1691 +Character +B +1692 +Character +Y +1693 +Character +Y +1694 +Character +Y +1695 +Character +Y +1696 +Character +Y +1697 +Character +Z +1698 +Character +Z +1699 +Character +Z +1700 +Character +Z +1701 +Character +Z +1702 +Character +` +1703 +Character +` +1704 +Character +` +1705 +Character +` +1706 +Character +` +1707 +Character +a +1708 +Character +a +1709 +Character +a +1710 +Character +a +1711 +Character +a +1712 +Character +b +1713 +Character +b +1714 +Character +b +1715 +Character +b +1716 +Character +b +1717 +Character +y +1718 +Character +y +1719 +Character +y +1720 +Character +y +1721 +Character +y +1722 +Character +z +1723 +Character +z +1724 +Character +z +1725 +Character +z +1726 +Character +z +1727 +Character +{ +1728 +Character +{ +1729 +Character +{ +1730 +Character +{ +1731 +Character +{ +1732 +Character +ô€€€ +1733 +Character +ô€€€ +1734 +Character +ô€€€ +1735 +Character +ô€€€ +1736 +Character +ô€€€ diff --git a/libxml2/result/html-tokenizer/test4.test b/libxml2/result/html-tokenizer/test4.test new file mode 100644 index 0000000..ab72549 --- /dev/null +++ b/libxml2/result/html-tokenizer/test4.test @@ -0,0 +1,276 @@ +0 +StartTag +z 0= <= +1 +StartTag +z x=< +2 +StartTag +z z=z=z +3 +StartTag +z == +4 +StartTag +z == +5 +StartTag +z === +6 +StartTag +z ==== +7 +StartTag +z z=& +8 +StartTag +z z=&' +9 +StartTag +z z=& +10 +StartTag +z z=&" +11 +StartTag +z z=&xlink_xmlns; +Character +bar +StartTag +z +12 +StartTag +z z= foo +Character +bar +StartTag +z +13 +StartTag +foo "=bar +14 +StartTag +foo '=bar +15 +StartTag +foo a"b=bar +16 +StartTag +foo a'b=bar +17 +StartTag +foo a=b'c +18 +StartTag +foo a=b"c +19 +StartTag +foo a=b c= +20 +StartTag +foo a=b c= +21 +StartTag +br a=b +22 +StartTag +bar a=b +23 +DOCTYPE +html + + +24 +25 +26 +Character +� +27 +Character +� +28 +Character +A +29 +Character +A +30 +Character +&#x &#X +31 +Character +&#xZ +32 +Character +&# &#; +33 +Character +&#A +34 +Character +ð€€ +35 +Character +ô¿¿ +36 +Character +� +37 +Character +� +38 +Character +� +39 +Character +� +40 +Character +� +41 +Character +� +42 +Character +퟿���� +43 +StartTag +x +44 +EndTag +x +45 +StartTag +x x= +46 +StartTag +x@az[`az{ @az[`az{= +47 +StartTag +x x=1 +48 +EndTag +x +49 +EndTag +x +50 +StartTag +br +51 +StartTag +xr +52 +EndTag +br +53 +DOCTYPE +html +AbC +XyZ +54 +DOCTYPE +html +aBc +xYz +55 +DOCTYPE +html + +XyZ +56 +DOCTYPE +html + +xYz +57 +Comment +doc +58 +Comment +doc� +59 +Comment +doc€ +60 +Comment +docï·‘ +61 +Comment +doc🿿 +62 +Character + +? +63 +Character + + +64 +Character + + +65 +Character + + +66 +Character + + + +67 +Character + + + +68 +Character + + + +69 +Character +text + + +text +70 +DOCTYPE +html + + +71 +DOCTYPE +html + + +72 +DOCTYPE +html + + +73 +DOCTYPE +html + + +74 +DOCTYPE +html + + +Character +text +75 +StartTag +a a=aa` +76 +77 +78 +79 +80 +81 +82 +83 +84 diff --git a/libxml2/result/html-tokenizer/unicodeChars.test b/libxml2/result/html-tokenizer/unicodeChars.test new file mode 100644 index 0000000..9fe622d --- /dev/null +++ b/libxml2/result/html-tokenizer/unicodeChars.test @@ -0,0 +1,970 @@ +0 +Character + +1 +Character + +2 +Character + +3 +Character + +4 +Character + +5 +Character + +6 +Character + +7 +Character + +8 +Character + +9 +Character + +10 +Character + +11 +Character + +12 +Character + +13 +Character + +14 +Character + +15 +Character + +16 +Character + +17 +Character + +18 +Character + +19 +Character + +20 +Character + +21 +Character + +22 +Character + +23 +Character + +24 +Character + +25 +Character + +26 +Character + +27 +Character + +28 +Character +ï· +29 +Character +ï·‘ +30 +Character +ï·’ +31 +Character +ï·“ +32 +Character +ï·” +33 +Character +ï·• +34 +Character +ï·– +35 +Character +ï·— +36 +Character +ï·˜ +37 +Character +ï·™ +38 +Character +ï·š +39 +Character +ï·› +40 +Character +ï·œ +41 +Character +ï· +42 +Character +ï·ž +43 +Character +ï·Ÿ +44 +Character +ï·  +45 +Character +ï·¡ +46 +Character +ï·¢ +47 +Character +ï·£ +48 +Character +ï·¤ +49 +Character +ï·¥ +50 +Character +ï·¦ +51 +Character +ï·§ +52 +Character +ï·¨ +53 +Character +ï·© +54 +Character +ï·ª +55 +Character +ï·« +56 +Character +ï·¬ +57 +Character +ï·­ +58 +Character +ï·® +59 +Character +ï·¯ +60 +Character +￾ +61 +Character +ï¿¿ +62 +Character +🿾 +63 +Character +🿿 +64 +Character +𯿾 +65 +Character +𯿿 +66 +Character +ð¿¿¾ +67 +Character +ð¿¿¿ +68 +Character +ñ¿¾ +69 +Character +ñ¿¿ +70 +Character +ñŸ¿¾ +71 +Character +ñŸ¿¿ +72 +Character +ñ¯¿¾ +73 +Character +ñ¯¿¿ +74 +Character +ñ¿¿¾ +75 +Character +ñ¿¿¿ +76 +Character +ò¿¾ +77 +Character +ò¿¿ +78 +Character +òŸ¿¾ +79 +Character +òŸ¿¿ +80 +Character +ò¯¿¾ +81 +Character +ò¯¿¿ +82 +Character +ò¿¿¾ +83 +Character +ò¿¿¿ +84 +Character +ó¿¾ +85 +Character +ó¿¿ +86 +Character +󟿾 +87 +Character +óŸ¿¿ +88 +Character +󯿾 +89 +Character +󯿿 +90 +Character +ó¿¿¾ +91 +Character +ó¿¿¿ +92 +Character +ô¿¾ +93 +Character +ô¿¿ +94 +Character + +95 +Character + + +96 +Character + +97 +Character +! +98 +Character +" +99 +Character +# +100 +Character +$ +101 +Character +% +102 +Character +& +103 +Character +' +104 +Character +( +105 +Character +) +106 +Character +* +107 +Character ++ +108 +Character +, +109 +Character +- +110 +Character +. +111 +Character +/ +112 +Character +0 +113 +Character +1 +114 +Character +2 +115 +Character +3 +116 +Character +4 +117 +Character +5 +118 +Character +6 +119 +Character +7 +120 +Character +8 +121 +Character +9 +122 +Character +: +123 +Character +; +124 +Character += +125 +Character +> +126 +Character +? +127 +Character +@ +128 +Character +A +129 +Character +B +130 +Character +C +131 +Character +D +132 +Character +E +133 +Character +F +134 +Character +G +135 +Character +H +136 +Character +I +137 +Character +J +138 +Character +K +139 +Character +L +140 +Character +M +141 +Character +N +142 +Character +O +143 +Character +P +144 +Character +Q +145 +Character +R +146 +Character +S +147 +Character +T +148 +Character +U +149 +Character +V +150 +Character +W +151 +Character +X +152 +Character +Y +153 +Character +Z +154 +Character +[ +155 +Character +\ +156 +Character +] +157 +Character +^ +158 +Character +_ +159 +Character +` +160 +Character +a +161 +Character +b +162 +Character +c +163 +Character +d +164 +Character +e +165 +Character +f +166 +Character +g +167 +Character +h +168 +Character +i +169 +Character +j +170 +Character +k +171 +Character +l +172 +Character +m +173 +Character +n +174 +Character +o +175 +Character +p +176 +Character +q +177 +Character +r +178 +Character +s +179 +Character +t +180 +Character +u +181 +Character +v +182 +Character +w +183 +Character +x +184 +Character +y +185 +Character +z +186 +Character +{ +187 +Character +| +188 +Character +} +189 +Character +~ +190 +Character +  +191 +Character +¡ +192 +Character +¢ +193 +Character +£ +194 +Character +¤ +195 +Character +Â¥ +196 +Character +¦ +197 +Character +§ +198 +Character +¨ +199 +Character +© +200 +Character +ª +201 +Character +« +202 +Character +¬ +203 +Character +­ +204 +Character +® +205 +Character +¯ +206 +Character +° +207 +Character +± +208 +Character +² +209 +Character +³ +210 +Character +´ +211 +Character +µ +212 +Character +¶ +213 +Character +· +214 +Character +¸ +215 +Character +¹ +216 +Character +º +217 +Character +» +218 +Character +¼ +219 +Character +½ +220 +Character +¾ +221 +Character +¿ +222 +Character +À +223 +Character +à +224 +Character + +225 +Character +à +226 +Character +Ä +227 +Character +Ã… +228 +Character +Æ +229 +Character +Ç +230 +Character +È +231 +Character +É +232 +Character +Ê +233 +Character +Ë +234 +Character +ÃŒ +235 +Character +à +236 +Character +ÃŽ +237 +Character +à +238 +Character +à +239 +Character +Ñ +240 +Character +Ã’ +241 +Character +Ó +242 +Character +Ô +243 +Character +Õ +244 +Character +Ö +245 +Character +× +246 +Character +Ø +247 +Character +Ù +248 +Character +Ú +249 +Character +Û +250 +Character +Ü +251 +Character +à +252 +Character +Þ +253 +Character +ß +254 +Character +à +255 +Character +á +256 +Character +â +257 +Character +ã +258 +Character +ä +259 +Character +Ã¥ +260 +Character +æ +261 +Character +ç +262 +Character +è +263 +Character +é +264 +Character +ê +265 +Character +ë +266 +Character +ì +267 +Character +í +268 +Character +î +269 +Character +ï +270 +Character +ð +271 +Character +ñ +272 +Character +ò +273 +Character +ó +274 +Character +ô +275 +Character +õ +276 +Character +ö +277 +Character +÷ +278 +Character +ø +279 +Character +ù +280 +Character +ú +281 +Character +û +282 +Character +ü +283 +Character +ý +284 +Character +þ +285 +Character +ÿ +286 +Character +퟿ +287 +Character + +288 +Character +ï· +289 +Character +ï·° +290 +Character +� +291 +Character +ð€€ +292 +Character +🿽 +293 +Character +ð €€ +294 +Character +𯿽 +295 +Character +ð°€€ +296 +Character +ð¿¿½ +297 +Character +ñ€€€ +298 +Character +ñ¿½ +299 +Character +ñ€€ +300 +Character +ñŸ¿½ +301 +Character +ñ €€ +302 +Character +ñ¯¿½ +303 +Character +ñ°€€ +304 +Character +ñ¿¿½ +305 +Character +ò€€€ +306 +Character +ò¿½ +307 +Character +ò€€ +308 +Character +òŸ¿½ +309 +Character +ò €€ +310 +Character +ò¯¿½ +311 +Character +ò°€€ +312 +Character +ò¿¿½ +313 +Character +ó€€€ +314 +Character +ó¿½ +315 +Character +ó€€ +316 +Character +󟿽 +317 +Character +ó €€ +318 +Character +󯿽 +319 +Character +ó°€€ +320 +Character +ó¿¿½ +321 +Character +ô€€€ +322 +Character +ô¿½ diff --git a/libxml2/result/html-tokenizer/unicodeCharsProblematic.test b/libxml2/result/html-tokenizer/unicodeCharsProblematic.test new file mode 100644 index 0000000..d6799c6 --- /dev/null +++ b/libxml2/result/html-tokenizer/unicodeCharsProblematic.test @@ -0,0 +1,4 @@ +0 +Character + + diff --git a/libxml2/result/icu_parse_test.xml b/libxml2/result/icu_parse_test.xml new file mode 100644 index 0000000..031a967 --- /dev/null +++ b/libxml2/result/icu_parse_test.xml @@ -0,0 +1,13 @@ + + +Text with EUC-JP chars at position 214 (0xd6) +___ +_______________ +_______________ +_______________ +_______________ +_______________ +_______________ +_______________ +_______é®Äé___ +_ diff --git a/libxml2/result/icu_parse_test.xml.rde b/libxml2/result/icu_parse_test.xml.rde new file mode 100644 index 0000000..54cd5f0 --- /dev/null +++ b/libxml2/result/icu_parse_test.xml.rde @@ -0,0 +1,14 @@ +0 1 foo 0 0 +1 3 #text 0 1 +Text with EUC-JP chars at position 214 (0xd6) +___ +_______________ +_______________ +_______________ +_______________ +_______________ +_______________ +_______________ +_______駪槗___ +_ +0 15 foo 0 0 diff --git a/libxml2/result/icu_parse_test.xml.rdr b/libxml2/result/icu_parse_test.xml.rdr new file mode 100644 index 0000000..54cd5f0 --- /dev/null +++ b/libxml2/result/icu_parse_test.xml.rdr @@ -0,0 +1,14 @@ +0 1 foo 0 0 +1 3 #text 0 1 +Text with EUC-JP chars at position 214 (0xd6) +___ +_______________ +_______________ +_______________ +_______________ +_______________ +_______________ +_______________ +_______駪槗___ +_ +0 15 foo 0 0 diff --git a/libxml2/result/icu_parse_test.xml.sax b/libxml2/result/icu_parse_test.xml.sax new file mode 100644 index 0000000..91e11d5 --- /dev/null +++ b/libxml2/result/icu_parse_test.xml.sax @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(foo) +SAX.characters( +Text with EUC-JP chars at pos, 170) +SAX.characters(駪槗___ +_, 11) +SAX.endElement(foo) +SAX.endDocument() diff --git a/libxml2/result/icu_parse_test.xml.sax2 b/libxml2/result/icu_parse_test.xml.sax2 new file mode 100644 index 0000000..eb0d6c6 --- /dev/null +++ b/libxml2/result/icu_parse_test.xml.sax2 @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(foo, NULL, NULL, 0, 0, 0) +SAX.characters( +Text with EUC-JP chars at pos, 170) +SAX.characters(駪槗___ +_, 11) +SAX.endElementNs(foo, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/intsubset.xml b/libxml2/result/intsubset.xml new file mode 100644 index 0000000..bd85795 --- /dev/null +++ b/libxml2/result/intsubset.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/libxml2/result/intsubset.xml.rde b/libxml2/result/intsubset.xml.rde new file mode 100644 index 0000000..7503422 --- /dev/null +++ b/libxml2/result/intsubset.xml.rde @@ -0,0 +1,2 @@ +0 10 root 0 0 +0 1 root 1 0 diff --git a/libxml2/result/intsubset.xml.rdr b/libxml2/result/intsubset.xml.rdr new file mode 100644 index 0000000..7503422 --- /dev/null +++ b/libxml2/result/intsubset.xml.rdr @@ -0,0 +1,2 @@ +0 10 root 0 0 +0 1 root 1 0 diff --git a/libxml2/result/intsubset.xml.sax b/libxml2/result/intsubset.xml.sax new file mode 100644 index 0000000..a92e2b7 --- /dev/null +++ b/libxml2/result/intsubset.xml.sax @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(root, , ) +SAX.elementDecl(root, 1, ...) +SAX.comment( " ) +SAX.externalSubset(root, , ) +SAX.startElement(root) +SAX.endElement(root) +SAX.endDocument() diff --git a/libxml2/result/intsubset.xml.sax2 b/libxml2/result/intsubset.xml.sax2 new file mode 100644 index 0000000..f4db2a8 --- /dev/null +++ b/libxml2/result/intsubset.xml.sax2 @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(root, , ) +SAX.elementDecl(root, 1, ...) +SAX.comment( " ) +SAX.externalSubset(root, , ) +SAX.startElementNs(root, NULL, NULL, 0, 0, 0) +SAX.endElementNs(root, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/intsubset2.xml b/libxml2/result/intsubset2.xml new file mode 100644 index 0000000..af5ddef --- /dev/null +++ b/libxml2/result/intsubset2.xml @@ -0,0 +1,259 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + diff --git a/libxml2/result/intsubset2.xml.rde b/libxml2/result/intsubset2.xml.rde new file mode 100644 index 0000000..d32947c --- /dev/null +++ b/libxml2/result/intsubset2.xml.rde @@ -0,0 +1,14 @@ +0 8 #comment 0 1 +Copyright (C) Electronic Dictionary Research and Development Group +Released under Creative Commons Attribution-ShareAlike Licence (V4.0) + +This file only contains the kanjidic2 DTD without the actual database. + +http://nihongo.monash.edu/kanjidic2/index.html +http://www.edrdg.org/edrdg/licence.html + +0 10 kanjidic2 0 0 +0 1 kanjidic2 0 0 +1 14 #text 0 1 + +0 15 kanjidic2 0 0 diff --git a/libxml2/result/intsubset2.xml.rdr b/libxml2/result/intsubset2.xml.rdr new file mode 100644 index 0000000..d32947c --- /dev/null +++ b/libxml2/result/intsubset2.xml.rdr @@ -0,0 +1,14 @@ +0 8 #comment 0 1 +Copyright (C) Electronic Dictionary Research and Development Group +Released under Creative Commons Attribution-ShareAlike Licence (V4.0) + +This file only contains the kanjidic2 DTD without the actual database. + +http://nihongo.monash.edu/kanjidic2/index.html +http://www.edrdg.org/edrdg/licence.html + +0 10 kanjidic2 0 0 +0 1 kanjidic2 0 0 +1 14 #text 0 1 + +0 15 kanjidic2 0 0 diff --git a/libxml2/result/intsubset2.xml.sax b/libxml2/result/intsubset2.xml.sax new file mode 100644 index 0000000..5911268 --- /dev/null +++ b/libxml2/result/intsubset2.xml.sax @@ -0,0 +1,295 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( +Copyright (C) Electronic Dictionary Research and Development Group +Released under Creative Commons Attribution-ShareAlike Licence (V4.0) + +This file only contains the kanjidic2 DTD without the actual database. + +http://nihongo.monash.edu/kanjidic2/index.html +http://www.edrdg.org/edrdg/licence.html +) +SAX.internalSubset(kanjidic2, , ) +SAX.comment( Version 1.3 + This is the DTD of the XML-format kanji file combining information from + the KANJIDIC and KANJD212 files. It is intended to be largely self- + documenting, with each field being accompanied by an explanatory + comment. + + The file covers the following kanji: + (a) the 6,355 kanji from JIS X 0208; + (b) the 5,801 kanji from JIS X 0212; + (c) the 3,625 kanji from JIS X 0213 as follows: + (i) the 2,741 kanji which are also in JIS X 0212 have + JIS X 0213 code-points (kuten) added to the existing entry; + (ii) the 884 "new" kanji have new entries. + + At the end of the explanation for a number of fields there is a tag + with the format [N]. This indicates the leading letter(s) of the + equivalent field in the KANJIDIC and KANJD212 files. + + The KANJIDIC documentation should also be read for additional + information about the information in the file. + ) +SAX.elementDecl(kanjidic2, 4, ...) +SAX.elementDecl(header, 4, ...) +SAX.comment( + The single header element will contain identification information + about the version of the file + ) +SAX.elementDecl(file_version, 3, ...) +SAX.comment( + This field denotes the version of kanjidic2 structure, as more + than one version may exist. + ) +SAX.elementDecl(database_version, 3, ...) +SAX.comment( + The version of the file, in the format YYYY-NN, where NN will be + a number starting with 01 for the first version released in a + calendar year, then increasing for each version in that year. + ) +SAX.elementDecl(date_of_creation, 3, ...) +SAX.comment( + The date the file was created in international format (YYYY-MM-DD). + ) +SAX.elementDecl(character, 4, ...) +SAX.elementDecl(literal, 3, ...) +SAX.comment( + The character itself in UTF8 coding. + ) +SAX.elementDecl(codepoint, 4, ...) +SAX.comment( + The codepoint element states the code of the character in the various + character set standards. + ) +SAX.elementDecl(cp_value, 3, ...) +SAX.comment( + The cp_value contains the codepoint of the character in a particular + standard. The standard will be identified in the cp_type attribute. + ) +SAX.attributeDecl(cp_value, cp_type, 1, 2, NULL, ...) +SAX.comment( + The cp_type attribute states the coding standard applying to the + element. The values assigned so far are: + jis208 - JIS X 0208-1997 - kuten coding (nn-nn) + jis212 - JIS X 0212-1990 - kuten coding (nn-nn) + jis213 - JIS X 0213-2000 - kuten coding (p-nn-nn) + ucs - Unicode 4.0 - hex coding (4 or 5 hexadecimal digits) + ) +SAX.elementDecl(radical, 4, ...) +SAX.elementDecl(rad_value, 3, ...) +SAX.comment( + The radical number, in the range 1 to 214. The particular + classification type is stated in the rad_type attribute. + ) +SAX.attributeDecl(rad_value, rad_type, 1, 2, NULL, ...) +SAX.comment( + The rad_type attribute states the type of radical classification. + classical - as recorded in the KangXi Zidian. + nelson - as used in the Nelson "Modern Japanese-English + Character Dictionary" (i.e. the Classic, not the New Nelson). + This will only be used where Nelson reclassified the kanji. + ) +SAX.elementDecl(misc, 4, ...) +SAX.elementDecl(grade, 3, ...) +SAX.comment( + The Jouyou Kanji grade level. 1 through 6 indicate the grade in which + the kanji is taught in Japanese schools. 8 indicates it is one of the + remaining Jouyou Kanji to be learned in junior high school, and 9 + indicates it is a Jinmeiyou (for use in names) kanji. [G] + ) +SAX.elementDecl(stroke_count, 3, ...) +SAX.comment( + The stroke count of the kanji, including the radical. If more than + one, the first is considered the accepted count, while subsequent ones + are common miscounts. (See Appendix E. of the KANJIDIC documentation + for some of the rules applied when counting strokes in some of the + radicals.) [S] + ) +SAX.elementDecl(variant, 3, ...) +SAX.comment( + A cross-reference code to another kanji, usually regarded as a variant. + The type of cross-reference is given in the var_type attribute. + ) +SAX.attributeDecl(variant, var_type, 1, 2, NULL, ...) +SAX.comment( + The var_type attribute indicates the type of variant code. The current + values are: + jis208 - in JIS X 0208 - kuten coding + jis212 - in JIS X 0212 - kuten coding + jis213 - in JIS X 0213 - kuten coding + deroo - De Roo number - numeric + njecd - Halpern NJECD index number - numeric + s_h - The Kanji Dictionary (Spahn & Hadamitzky) - descriptor + nelson - "Classic" Nelson - numeric + oneill - Japanese Names (O'Neill) - numeric + ) +SAX.elementDecl(freq, 3, ...) +SAX.comment( + A frequency-of-use ranking. The 2,500 most-used characters have a + ranking; those characters that lack this field are not ranked. The + frequency is a number from 1 to 2,500 that expresses the relative + frequency of occurrence of a character in modern Japanese. This is + based on a survey in newspapers, so it is biassed towards kanji + used in newspaper articles. The discrimination between the less + frequently used kanji is not strong. + ) +SAX.elementDecl(rad_name, 3, ...) +SAX.comment( + When the kanji is itself a radical and has a name, this element + contains the name (in hiragana.) [T2] + ) +SAX.elementDecl(dic_number, 4, ...) +SAX.comment( + This element contains the index numbers and similar unstructured + information such as page numbers in a number of published dictionaries, + and instructional books on kanji. + ) +SAX.elementDecl(dic_ref, 3, ...) +SAX.comment( + Each dic_ref contains an index number. The particular dictionary, + etc. is defined by the dr_type attribute. + ) +SAX.attributeDecl(dic_ref, dr_type, 1, 2, NULL, ...) +SAX.comment( + The dr_type defines the dictionary or reference book, etc. to which + dic_ref element applies. The initial allocation is: + nelson_c - "Modern Reader's Japanese-English Character Dictionary", + edited by Andrew Nelson (now published as the "Classic" + Nelson). + nelson_n - "The New Nelson Japanese-English Character Dictionary", + edited by John Haig. + halpern_njecd - "New Japanese-English Character Dictionary", + edited by Jack Halpern. + halpern_kkld - "Kanji Learners Dictionary" (Kodansha) edited by + Jack Halpern. + heisig - "Remembering The Kanji" by James Heisig. + gakken - "A New Dictionary of Kanji Usage" (Gakken) + oneill_names - "Japanese Names", by P.G. O'Neill. + oneill_kk - "Essential Kanji" by P.G. O'Neill. + moro - "Daikanwajiten" compiled by Morohashi. For some kanji two + additional attributes are used: m_vol: the volume of the + dictionary in which the kanji is found, and m_page: the page + number in the volume. + henshall - "A Guide To Remembering Japanese Characters" by + Kenneth G. Henshall. + sh_kk - "Kanji and Kana" by Spahn and Hadamitzky. + sakade - "A Guide To Reading and Writing Japanese" edited by + Florence Sakade. + henshall3 - "A Guide To Reading and Writing Japanese" 3rd + edition, edited by Henshall, Seeley and De Groot. + tutt_cards - Tuttle Kanji Cards, compiled by Alexander Kask. + crowley - "The Kanji Way to Japanese Language Power" by + Dale Crowley. + kanji_in_context - "Kanji in Context" by Nishiguchi and Kono. + busy_people - "Japanese For Busy People" vols I-III, published + by the AJLT. The codes are the volume.chapter. + kodansha_compact - the "Kodansha Compact Kanji Guide". + ) +SAX.attributeDecl(dic_ref, m_vol, 1, 3, NULL, ...) +SAX.comment( + See above under "moro". + ) +SAX.attributeDecl(dic_ref, m_page, 1, 3, NULL, ...) +SAX.comment( + See above under "moro". + ) +SAX.elementDecl(query_code, 4, ...) +SAX.comment( + These codes contain information relating to the glyph, and can be used + for finding a required kanji. The type of code is defined by the + qc_type attribute. + ) +SAX.elementDecl(q_code, 3, ...) +SAX.comment( + The q_code contains the actual query-code value, according to the + qc_type attribute. + ) +SAX.attributeDecl(q_code, qc_type, 1, 2, NULL, ...) +SAX.comment( + The q_code attribute defines the type of query code. The current values + are: + skip - Halpern's SKIP (System of Kanji Indexing by Patterns) + code. The format is n-nn-nn. See the KANJIDIC documentation + for a description of the code and restrictions on the + commercial use of this data. [P] + + sh_desc - the descriptor codes for The Kanji Dictionary (Tuttle + 1996) by Spahn and Hadamitzky. They are in the form nxnn.n, + e.g. 3k11.2, where the kanji has 3 strokes in the + identifying radical, it is radical "k" in the SH + classification system, there are 11 other strokes, and it is + the 2nd kanji in the 3k11 sequence. (I am very grateful to + Mark Spahn for providing the list of these descriptor codes + for the kanji in this file.) [I] + four_corner - the "Four Corner" code for the kanji. This is a code + invented by Wang Chen in 1928. See the KANJIDIC documentation + for an overview of the Four Corner System. [Q] + + deroo - the codes developed by the late Father Joseph De Roo, and + published in his book "2001 Kanji" (Bojinsha). Fr De Roo + gave his permission for these codes to be included. [DR] + misclass - a possible misclassification of the kanji according + to one of the code types. (See the "Z" codes in the KANJIDIC + documentation for more details.) + + ) +SAX.elementDecl(reading_meaning, 4, ...) +SAX.comment( + The readings for the kanji in several languages, and the meanings, also + in several languages. The readings and meanings are grouped to enable + the handling of the situation where the meaning is differentiated by + reading. [T1] + ) +SAX.elementDecl(nanori, 3, ...) +SAX.comment( + Japanese readings that are now only associated with names. + ) +SAX.elementDecl(rmgroup, 4, ...) +SAX.elementDecl(reading, 3, ...) +SAX.comment( + The reading element contains the reading or pronunciation + of the kanji. + ) +SAX.attributeDecl(reading, r_type, 1, 2, NULL, ...) +SAX.comment( + The r_type attribute defines the type of reading in the reading + element. The current values are: + pinyin - the modern PinYin romanization of the Chinese reading + of the kanji. The tones are represented by a concluding + digit. [Y] + korean_r - the romanized form of the Korean reading(s) of the + kanji. The readings are in the (Republic of Korea) Ministry + of Education style of romanization. [W] + korean_h - the Korean reading(s) of the kanji in hangul. + ja_on - the "on" Japanese reading of the kanji, in katakana. A + second attribute r_status, if present, will indicate with + a value of "jy" whether the reading is approved for a + "Jouyou kanji". + ja_kun - the "kun" Japanese reading of the kanji, in hiragana. + Where relevant the okurigana is also included separated by a + ".". Readings associated with prefixes and suffixes are + marked with a "-". A second attribute r_status, if present, + will indicate with a value of "jy" whether the reading is + approved for a "Jouyou kanji". + ) +SAX.attributeDecl(reading, r_status, 1, 3, NULL, ...) +SAX.comment( + See under ja_on and ja_kun above. + ) +SAX.elementDecl(meaning, 3, ...) +SAX.comment( + The meaning associated with the kanji. + ) +SAX.attributeDecl(meaning, m_lang, 1, 3, NULL, ...) +SAX.comment( + The m_lang attribute defines the target language of the meaning. It + will be coded using the two-letter language code from the ISO 639 + standard. When absent, the value "en" (i.e. English) is implied. [{}] + ) +SAX.externalSubset(kanjidic2, , ) +SAX.startElement(kanjidic2) +SAX.characters( +, 1) +SAX.endElement(kanjidic2) +SAX.endDocument() diff --git a/libxml2/result/intsubset2.xml.sax2 b/libxml2/result/intsubset2.xml.sax2 new file mode 100644 index 0000000..2184e56 --- /dev/null +++ b/libxml2/result/intsubset2.xml.sax2 @@ -0,0 +1,295 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( +Copyright (C) Electronic Dictionary Research and Development Group +Released under Creative Commons Attribution-ShareAlike Licence (V4.0) + +This file only contains the kanjidic2 DTD without the actual database. + +http://nihongo.monash.edu/kanjidic2/index.html +http://www.edrdg.org/edrdg/licence.html +) +SAX.internalSubset(kanjidic2, , ) +SAX.comment( Version 1.3 + This is the DTD of the XML-format kanji file combining information from + the KANJIDIC and KANJD212 files. It is intended to be largely self- + documenting, with each field being accompanied by an explanatory + comment. + + The file covers the following kanji: + (a) the 6,355 kanji from JIS X 0208; + (b) the 5,801 kanji from JIS X 0212; + (c) the 3,625 kanji from JIS X 0213 as follows: + (i) the 2,741 kanji which are also in JIS X 0212 have + JIS X 0213 code-points (kuten) added to the existing entry; + (ii) the 884 "new" kanji have new entries. + + At the end of the explanation for a number of fields there is a tag + with the format [N]. This indicates the leading letter(s) of the + equivalent field in the KANJIDIC and KANJD212 files. + + The KANJIDIC documentation should also be read for additional + information about the information in the file. + ) +SAX.elementDecl(kanjidic2, 4, ...) +SAX.elementDecl(header, 4, ...) +SAX.comment( + The single header element will contain identification information + about the version of the file + ) +SAX.elementDecl(file_version, 3, ...) +SAX.comment( + This field denotes the version of kanjidic2 structure, as more + than one version may exist. + ) +SAX.elementDecl(database_version, 3, ...) +SAX.comment( + The version of the file, in the format YYYY-NN, where NN will be + a number starting with 01 for the first version released in a + calendar year, then increasing for each version in that year. + ) +SAX.elementDecl(date_of_creation, 3, ...) +SAX.comment( + The date the file was created in international format (YYYY-MM-DD). + ) +SAX.elementDecl(character, 4, ...) +SAX.elementDecl(literal, 3, ...) +SAX.comment( + The character itself in UTF8 coding. + ) +SAX.elementDecl(codepoint, 4, ...) +SAX.comment( + The codepoint element states the code of the character in the various + character set standards. + ) +SAX.elementDecl(cp_value, 3, ...) +SAX.comment( + The cp_value contains the codepoint of the character in a particular + standard. The standard will be identified in the cp_type attribute. + ) +SAX.attributeDecl(cp_value, cp_type, 1, 2, NULL, ...) +SAX.comment( + The cp_type attribute states the coding standard applying to the + element. The values assigned so far are: + jis208 - JIS X 0208-1997 - kuten coding (nn-nn) + jis212 - JIS X 0212-1990 - kuten coding (nn-nn) + jis213 - JIS X 0213-2000 - kuten coding (p-nn-nn) + ucs - Unicode 4.0 - hex coding (4 or 5 hexadecimal digits) + ) +SAX.elementDecl(radical, 4, ...) +SAX.elementDecl(rad_value, 3, ...) +SAX.comment( + The radical number, in the range 1 to 214. The particular + classification type is stated in the rad_type attribute. + ) +SAX.attributeDecl(rad_value, rad_type, 1, 2, NULL, ...) +SAX.comment( + The rad_type attribute states the type of radical classification. + classical - as recorded in the KangXi Zidian. + nelson - as used in the Nelson "Modern Japanese-English + Character Dictionary" (i.e. the Classic, not the New Nelson). + This will only be used where Nelson reclassified the kanji. + ) +SAX.elementDecl(misc, 4, ...) +SAX.elementDecl(grade, 3, ...) +SAX.comment( + The Jouyou Kanji grade level. 1 through 6 indicate the grade in which + the kanji is taught in Japanese schools. 8 indicates it is one of the + remaining Jouyou Kanji to be learned in junior high school, and 9 + indicates it is a Jinmeiyou (for use in names) kanji. [G] + ) +SAX.elementDecl(stroke_count, 3, ...) +SAX.comment( + The stroke count of the kanji, including the radical. If more than + one, the first is considered the accepted count, while subsequent ones + are common miscounts. (See Appendix E. of the KANJIDIC documentation + for some of the rules applied when counting strokes in some of the + radicals.) [S] + ) +SAX.elementDecl(variant, 3, ...) +SAX.comment( + A cross-reference code to another kanji, usually regarded as a variant. + The type of cross-reference is given in the var_type attribute. + ) +SAX.attributeDecl(variant, var_type, 1, 2, NULL, ...) +SAX.comment( + The var_type attribute indicates the type of variant code. The current + values are: + jis208 - in JIS X 0208 - kuten coding + jis212 - in JIS X 0212 - kuten coding + jis213 - in JIS X 0213 - kuten coding + deroo - De Roo number - numeric + njecd - Halpern NJECD index number - numeric + s_h - The Kanji Dictionary (Spahn & Hadamitzky) - descriptor + nelson - "Classic" Nelson - numeric + oneill - Japanese Names (O'Neill) - numeric + ) +SAX.elementDecl(freq, 3, ...) +SAX.comment( + A frequency-of-use ranking. The 2,500 most-used characters have a + ranking; those characters that lack this field are not ranked. The + frequency is a number from 1 to 2,500 that expresses the relative + frequency of occurrence of a character in modern Japanese. This is + based on a survey in newspapers, so it is biassed towards kanji + used in newspaper articles. The discrimination between the less + frequently used kanji is not strong. + ) +SAX.elementDecl(rad_name, 3, ...) +SAX.comment( + When the kanji is itself a radical and has a name, this element + contains the name (in hiragana.) [T2] + ) +SAX.elementDecl(dic_number, 4, ...) +SAX.comment( + This element contains the index numbers and similar unstructured + information such as page numbers in a number of published dictionaries, + and instructional books on kanji. + ) +SAX.elementDecl(dic_ref, 3, ...) +SAX.comment( + Each dic_ref contains an index number. The particular dictionary, + etc. is defined by the dr_type attribute. + ) +SAX.attributeDecl(dic_ref, dr_type, 1, 2, NULL, ...) +SAX.comment( + The dr_type defines the dictionary or reference book, etc. to which + dic_ref element applies. The initial allocation is: + nelson_c - "Modern Reader's Japanese-English Character Dictionary", + edited by Andrew Nelson (now published as the "Classic" + Nelson). + nelson_n - "The New Nelson Japanese-English Character Dictionary", + edited by John Haig. + halpern_njecd - "New Japanese-English Character Dictionary", + edited by Jack Halpern. + halpern_kkld - "Kanji Learners Dictionary" (Kodansha) edited by + Jack Halpern. + heisig - "Remembering The Kanji" by James Heisig. + gakken - "A New Dictionary of Kanji Usage" (Gakken) + oneill_names - "Japanese Names", by P.G. O'Neill. + oneill_kk - "Essential Kanji" by P.G. O'Neill. + moro - "Daikanwajiten" compiled by Morohashi. For some kanji two + additional attributes are used: m_vol: the volume of the + dictionary in which the kanji is found, and m_page: the page + number in the volume. + henshall - "A Guide To Remembering Japanese Characters" by + Kenneth G. Henshall. + sh_kk - "Kanji and Kana" by Spahn and Hadamitzky. + sakade - "A Guide To Reading and Writing Japanese" edited by + Florence Sakade. + henshall3 - "A Guide To Reading and Writing Japanese" 3rd + edition, edited by Henshall, Seeley and De Groot. + tutt_cards - Tuttle Kanji Cards, compiled by Alexander Kask. + crowley - "The Kanji Way to Japanese Language Power" by + Dale Crowley. + kanji_in_context - "Kanji in Context" by Nishiguchi and Kono. + busy_people - "Japanese For Busy People" vols I-III, published + by the AJLT. The codes are the volume.chapter. + kodansha_compact - the "Kodansha Compact Kanji Guide". + ) +SAX.attributeDecl(dic_ref, m_vol, 1, 3, NULL, ...) +SAX.comment( + See above under "moro". + ) +SAX.attributeDecl(dic_ref, m_page, 1, 3, NULL, ...) +SAX.comment( + See above under "moro". + ) +SAX.elementDecl(query_code, 4, ...) +SAX.comment( + These codes contain information relating to the glyph, and can be used + for finding a required kanji. The type of code is defined by the + qc_type attribute. + ) +SAX.elementDecl(q_code, 3, ...) +SAX.comment( + The q_code contains the actual query-code value, according to the + qc_type attribute. + ) +SAX.attributeDecl(q_code, qc_type, 1, 2, NULL, ...) +SAX.comment( + The q_code attribute defines the type of query code. The current values + are: + skip - Halpern's SKIP (System of Kanji Indexing by Patterns) + code. The format is n-nn-nn. See the KANJIDIC documentation + for a description of the code and restrictions on the + commercial use of this data. [P] + + sh_desc - the descriptor codes for The Kanji Dictionary (Tuttle + 1996) by Spahn and Hadamitzky. They are in the form nxnn.n, + e.g. 3k11.2, where the kanji has 3 strokes in the + identifying radical, it is radical "k" in the SH + classification system, there are 11 other strokes, and it is + the 2nd kanji in the 3k11 sequence. (I am very grateful to + Mark Spahn for providing the list of these descriptor codes + for the kanji in this file.) [I] + four_corner - the "Four Corner" code for the kanji. This is a code + invented by Wang Chen in 1928. See the KANJIDIC documentation + for an overview of the Four Corner System. [Q] + + deroo - the codes developed by the late Father Joseph De Roo, and + published in his book "2001 Kanji" (Bojinsha). Fr De Roo + gave his permission for these codes to be included. [DR] + misclass - a possible misclassification of the kanji according + to one of the code types. (See the "Z" codes in the KANJIDIC + documentation for more details.) + + ) +SAX.elementDecl(reading_meaning, 4, ...) +SAX.comment( + The readings for the kanji in several languages, and the meanings, also + in several languages. The readings and meanings are grouped to enable + the handling of the situation where the meaning is differentiated by + reading. [T1] + ) +SAX.elementDecl(nanori, 3, ...) +SAX.comment( + Japanese readings that are now only associated with names. + ) +SAX.elementDecl(rmgroup, 4, ...) +SAX.elementDecl(reading, 3, ...) +SAX.comment( + The reading element contains the reading or pronunciation + of the kanji. + ) +SAX.attributeDecl(reading, r_type, 1, 2, NULL, ...) +SAX.comment( + The r_type attribute defines the type of reading in the reading + element. The current values are: + pinyin - the modern PinYin romanization of the Chinese reading + of the kanji. The tones are represented by a concluding + digit. [Y] + korean_r - the romanized form of the Korean reading(s) of the + kanji. The readings are in the (Republic of Korea) Ministry + of Education style of romanization. [W] + korean_h - the Korean reading(s) of the kanji in hangul. + ja_on - the "on" Japanese reading of the kanji, in katakana. A + second attribute r_status, if present, will indicate with + a value of "jy" whether the reading is approved for a + "Jouyou kanji". + ja_kun - the "kun" Japanese reading of the kanji, in hiragana. + Where relevant the okurigana is also included separated by a + ".". Readings associated with prefixes and suffixes are + marked with a "-". A second attribute r_status, if present, + will indicate with a value of "jy" whether the reading is + approved for a "Jouyou kanji". + ) +SAX.attributeDecl(reading, r_status, 1, 3, NULL, ...) +SAX.comment( + See under ja_on and ja_kun above. + ) +SAX.elementDecl(meaning, 3, ...) +SAX.comment( + The meaning associated with the kanji. + ) +SAX.attributeDecl(meaning, m_lang, 1, 3, NULL, ...) +SAX.comment( + The m_lang attribute defines the target language of the meaning. It + will be coded using the two-letter language code from the ISO 639 + standard. When absent, the value "en" (i.e. English) is implied. [{}] + ) +SAX.externalSubset(kanjidic2, , ) +SAX.startElementNs(kanjidic2, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.endElementNs(kanjidic2, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/iso-8859-5.xml b/libxml2/result/iso-8859-5.xml new file mode 100644 index 0000000..e6e8b7a --- /dev/null +++ b/libxml2/result/iso-8859-5.xml @@ -0,0 +1,2 @@ + +€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ diff --git a/libxml2/result/iso-8859-5.xml.rde b/libxml2/result/iso-8859-5.xml.rde new file mode 100644 index 0000000..d235adb --- /dev/null +++ b/libxml2/result/iso-8859-5.xml.rde @@ -0,0 +1,3 @@ +0 1 doc 0 0 +1 3 #text 0 1 €Â‚ƒ„…†‡ˆ‰Š‹ŒÂŽ‘’“”•–—˜™š›œÂžŸ ÐЂЃЄЅІЇЈЉЊЋЌ­ЎÐÐБВГДЕЖЗИЙКЛМÐОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрÑтуфхцчшщъыьÑÑŽÑ№ёђѓєѕіїјљњћќ§ўџ +0 15 doc 0 0 diff --git a/libxml2/result/iso-8859-5.xml.rdr b/libxml2/result/iso-8859-5.xml.rdr new file mode 100644 index 0000000..d235adb --- /dev/null +++ b/libxml2/result/iso-8859-5.xml.rdr @@ -0,0 +1,3 @@ +0 1 doc 0 0 +1 3 #text 0 1 €Â‚ƒ„…†‡ˆ‰Š‹ŒÂŽ‘’“”•–—˜™š›œÂžŸ ÐЂЃЄЅІЇЈЉЊЋЌ­ЎÐÐБВГДЕЖЗИЙКЛМÐОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрÑтуфхцчшщъыьÑÑŽÑ№ёђѓєѕіїјљњћќ§ўџ +0 15 doc 0 0 diff --git a/libxml2/result/iso-8859-5.xml.sax b/libxml2/result/iso-8859-5.xml.sax new file mode 100644 index 0000000..f91b682 --- /dev/null +++ b/libxml2/result/iso-8859-5.xml.sax @@ -0,0 +1,6 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(doc) +SAX.characters(€Â‚ƒ„…†‡ˆ‰Š‹ŒÂÂŽ, 257) +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/iso-8859-5.xml.sax2 b/libxml2/result/iso-8859-5.xml.sax2 new file mode 100644 index 0000000..e95bf5a --- /dev/null +++ b/libxml2/result/iso-8859-5.xml.sax2 @@ -0,0 +1,6 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters(€Â‚ƒ„…†‡ˆ‰Š‹ŒÂÂŽ, 257) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/isolat1 b/libxml2/result/isolat1 new file mode 100644 index 0000000..1e5a059 --- /dev/null +++ b/libxml2/result/isolat1 @@ -0,0 +1,2 @@ + + diff --git a/libxml2/result/isolat1.rde b/libxml2/result/isolat1.rde new file mode 100644 index 0000000..e289b2f --- /dev/null +++ b/libxml2/result/isolat1.rde @@ -0,0 +1,3 @@ +0 1 très 0 0 +1 3 #text 0 1 là +0 15 très 0 0 diff --git a/libxml2/result/isolat1.rdr b/libxml2/result/isolat1.rdr new file mode 100644 index 0000000..e289b2f --- /dev/null +++ b/libxml2/result/isolat1.rdr @@ -0,0 +1,3 @@ +0 1 très 0 0 +1 3 #text 0 1 là +0 15 très 0 0 diff --git a/libxml2/result/isolat1.sax b/libxml2/result/isolat1.sax new file mode 100644 index 0000000..bf2a6ee --- /dev/null +++ b/libxml2/result/isolat1.sax @@ -0,0 +1,7 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(très) +SAX.characters(l, 1) +SAX.characters(à, 2) +SAX.endElement(très) +SAX.endDocument() diff --git a/libxml2/result/isolat1.sax2 b/libxml2/result/isolat1.sax2 new file mode 100644 index 0000000..b97920a --- /dev/null +++ b/libxml2/result/isolat1.sax2 @@ -0,0 +1,7 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(très, NULL, NULL, 0, 0, 0) +SAX.characters(l, 1) +SAX.characters(à, 2) +SAX.endElementNs(très, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/isolat2 b/libxml2/result/isolat2 new file mode 100644 index 0000000..8c290b9 --- /dev/null +++ b/libxml2/result/isolat2 @@ -0,0 +1,107 @@ + + + + The following table displays the characters in ISO 8859 + Latin-1, which are printable and unlisted in the ascii + manual page. + + Oct Dec Hex Char Description + -------------------------------------------------------------------- + 240 160 A0 NO-BREAK SPACE + 241 161 A1 ¡ INVERTED EXCLAMATION MARK + 242 162 A2 ¢ CENT SIGN + 243 163 A3 £ POUND SIGN + 244 164 A4 ¤ CURRENCY SIGN + 245 165 A5 ¥ YEN SIGN + 246 166 A6 ¦ BROKEN BAR + 247 167 A7 § SECTION SIGN + 250 168 A8 ¨ DIAERESIS + 251 169 A9 © COPYRIGHT SIGN + 252 170 AA ª FEMININE ORDINAL INDICATOR + 253 171 AB « LEFT-POINTING DOUBLE ANGLE QUOTATION MARK + 254 172 AC ¬ NOT SIGN + 255 173 AD ­ SOFT HYPHEN + 256 174 AE ® REGISTERED SIGN + 257 175 AF ¯ MACRON + 260 176 B0 ° DEGREE SIGN + 261 177 B1 ± PLUS-MINUS SIGN + 262 178 B2 ² SUPERSCRIPT TWO + 263 179 B3 ³ SUPERSCRIPT THREE + 264 180 B4 ´ ACUTE ACCENT + 265 181 B5 µ MICRO SIGN + 266 182 B6 ¶ PILCROW SIGN + 267 183 B7 · MIDDLE DOT + 270 184 B8 ¸ CEDILLA + 271 185 B9 ¹ SUPERSCRIPT ONE + 272 186 BA º MASCULINE ORDINAL INDICATOR + 273 187 BB » RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK + 274 188 BC ¼ VULGAR FRACTION ONE QUARTER + 275 189 BD ½ VULGAR FRACTION ONE HALF + 276 190 BE ¾ VULGAR FRACTION THREE QUARTERS + 277 191 BF ¿ INVERTED QUESTION MARK + 300 192 C0 À LATIN CAPITAL LETTER A WITH GRAVE + 301 193 C1 Á LATIN CAPITAL LETTER A WITH ACUTE + 302 194 C2  LATIN CAPITAL LETTER A WITH CIRCUMFLEX + 303 195 C3 à LATIN CAPITAL LETTER A WITH TILDE + 304 196 C4 Ä LATIN CAPITAL LETTER A WITH DIAERESIS + 305 197 C5 Å LATIN CAPITAL LETTER A WITH RING ABOVE + 306 198 C6 Æ LATIN CAPITAL LETTER AE + 307 199 C7 Ç LATIN CAPITAL LETTER C WITH CEDILLA + 310 200 C8 È LATIN CAPITAL LETTER E WITH GRAVE + 311 201 C9 É LATIN CAPITAL LETTER E WITH ACUTE + 312 202 CA Ê LATIN CAPITAL LETTER E WITH CIRCUMFLEX + 313 203 CB Ë LATIN CAPITAL LETTER E WITH DIAERESIS + 314 204 CC Ì LATIN CAPITAL LETTER I WITH GRAVE + 315 205 CD Í LATIN CAPITAL LETTER I WITH ACUTE + 316 206 CE Î LATIN CAPITAL LETTER I WITH CIRCUMFLEX + 317 207 CF Ï LATIN CAPITAL LETTER I WITH DIAERESIS + 320 208 D0 Ð LATIN CAPITAL LETTER ETH + 321 209 D1 Ñ LATIN CAPITAL LETTER N WITH TILDE + 322 210 D2 Ò LATIN CAPITAL LETTER O WITH GRAVE + 323 211 D3 Ó LATIN CAPITAL LETTER O WITH ACUTE + 324 212 D4 Ô LATIN CAPITAL LETTER O WITH CIRCUMFLEX + 325 213 D5 Õ LATIN CAPITAL LETTER O WITH TILDE + 326 214 D6 Ö LATIN CAPITAL LETTER O WITH DIAERESIS + 327 215 D7 × MULTIPLICATION SIGN + 330 216 D8 Ø LATIN CAPITAL LETTER O WITH STROKE + 331 217 D9 Ù LATIN CAPITAL LETTER U WITH GRAVE + 332 218 DA Ú LATIN CAPITAL LETTER U WITH ACUTE + 333 219 DB Û LATIN CAPITAL LETTER U WITH CIRCUMFLEX + 334 220 DC Ü LATIN CAPITAL LETTER U WITH DIAERESIS + 335 221 DD Ý LATIN CAPITAL LETTER Y WITH ACUTE + 336 222 DE Þ LATIN CAPITAL LETTER THORN + 337 223 DF ß LATIN SMALL LETTER SHARP S + 340 224 E0 à LATIN SMALL LETTER A WITH GRAVE + 341 225 E1 á LATIN SMALL LETTER A WITH ACUTE + 342 226 E2 â LATIN SMALL LETTER A WITH CIRCUMFLEX + 343 227 E3 ã LATIN SMALL LETTER A WITH TILDE + 344 228 E4 ä LATIN SMALL LETTER A WITH DIAERESIS + 345 229 E5 å LATIN SMALL LETTER A WITH RING ABOVE + 346 230 E6 æ LATIN SMALL LETTER AE + 347 231 E7 ç LATIN SMALL LETTER C WITH CEDILLA + 350 232 E8 è LATIN SMALL LETTER E WITH GRAVE + 351 233 E9 é LATIN SMALL LETTER E WITH ACUTE + 352 234 EA ê LATIN SMALL LETTER E WITH CIRCUMFLEX + 353 235 EB ë LATIN SMALL LETTER E WITH DIAERESIS + 354 236 EC ì LATIN SMALL LETTER I WITH GRAVE + 355 237 ED í LATIN SMALL LETTER I WITH ACUTE + 356 238 EE î LATIN SMALL LETTER I WITH CIRCUMFLEX + 357 239 EF ï LATIN SMALL LETTER I WITH DIAERESIS + 360 240 F0 ð LATIN SMALL LETTER ETH + 361 241 F1 ñ LATIN SMALL LETTER N WITH TILDE + 362 242 F2 ò LATIN SMALL LETTER O WITH GRAVE + 363 243 F3 ó LATIN SMALL LETTER O WITH ACUTE + 364 244 F4 ô LATIN SMALL LETTER O WITH CIRCUMFLEX + 365 245 F5 õ LATIN SMALL LETTER O WITH TILDE + 366 246 F6 ö LATIN SMALL LETTER O WITH DIAERESIS + 367 247 F7 ÷ DIVISION SIGN + 370 248 F8 ø LATIN SMALL LETTER O WITH STROKE + 371 249 F9 ù LATIN SMALL LETTER U WITH GRAVE + 372 250 FA ú LATIN SMALL LETTER U WITH ACUTE + 373 251 FB û LATIN SMALL LETTER U WITH CIRCUMFLEX + 374 252 FC ü LATIN SMALL LETTER U WITH DIAERESIS + 375 253 FD ý LATIN SMALL LETTER Y WITH ACUTE + 376 254 FE þ LATIN SMALL LETTER THORN + 377 255 FF ÿ LATIN SMALL LETTER Y WITH DIAERESIS + + diff --git a/libxml2/result/isolat2.rde b/libxml2/result/isolat2.rde new file mode 100644 index 0000000..524cb3e --- /dev/null +++ b/libxml2/result/isolat2.rde @@ -0,0 +1,108 @@ +0 1 tst 0 0 +1 3 #text 0 1 + + The following table displays the characters in ISO 8859 + Latin-1, which are printable and unlisted in the ascii + manual page. + + Oct Dec Hex Char Description + -------------------------------------------------------------------- + 240 160 A0 NO-BREAK SPACE + 241 161 A1 ¡ INVERTED EXCLAMATION MARK + 242 162 A2 ¢ CENT SIGN + 243 163 A3 £ POUND SIGN + 244 164 A4 ¤ CURRENCY SIGN + 245 165 A5 Â¥ YEN SIGN + 246 166 A6 ¦ BROKEN BAR + 247 167 A7 § SECTION SIGN + 250 168 A8 ¨ DIAERESIS + 251 169 A9 © COPYRIGHT SIGN + 252 170 AA ª FEMININE ORDINAL INDICATOR + 253 171 AB « LEFT-POINTING DOUBLE ANGLE QUOTATION MARK + 254 172 AC ¬ NOT SIGN + 255 173 AD ­ SOFT HYPHEN + 256 174 AE ® REGISTERED SIGN + 257 175 AF ¯ MACRON + 260 176 B0 ° DEGREE SIGN + 261 177 B1 ± PLUS-MINUS SIGN + 262 178 B2 ² SUPERSCRIPT TWO + 263 179 B3 ³ SUPERSCRIPT THREE + 264 180 B4 ´ ACUTE ACCENT + 265 181 B5 µ MICRO SIGN + 266 182 B6 ¶ PILCROW SIGN + 267 183 B7 · MIDDLE DOT + 270 184 B8 ¸ CEDILLA + 271 185 B9 ¹ SUPERSCRIPT ONE + 272 186 BA º MASCULINE ORDINAL INDICATOR + 273 187 BB » RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK + 274 188 BC ¼ VULGAR FRACTION ONE QUARTER + 275 189 BD ½ VULGAR FRACTION ONE HALF + 276 190 BE ¾ VULGAR FRACTION THREE QUARTERS + 277 191 BF ¿ INVERTED QUESTION MARK + 300 192 C0 À LATIN CAPITAL LETTER A WITH GRAVE + 301 193 C1 à LATIN CAPITAL LETTER A WITH ACUTE + 302 194 C2  LATIN CAPITAL LETTER A WITH CIRCUMFLEX + 303 195 C3 à LATIN CAPITAL LETTER A WITH TILDE + 304 196 C4 Ä LATIN CAPITAL LETTER A WITH DIAERESIS + 305 197 C5 Ã… LATIN CAPITAL LETTER A WITH RING ABOVE + 306 198 C6 Æ LATIN CAPITAL LETTER AE + 307 199 C7 Ç LATIN CAPITAL LETTER C WITH CEDILLA + 310 200 C8 È LATIN CAPITAL LETTER E WITH GRAVE + 311 201 C9 É LATIN CAPITAL LETTER E WITH ACUTE + 312 202 CA Ê LATIN CAPITAL LETTER E WITH CIRCUMFLEX + 313 203 CB Ë LATIN CAPITAL LETTER E WITH DIAERESIS + 314 204 CC ÃŒ LATIN CAPITAL LETTER I WITH GRAVE + 315 205 CD à LATIN CAPITAL LETTER I WITH ACUTE + 316 206 CE ÃŽ LATIN CAPITAL LETTER I WITH CIRCUMFLEX + 317 207 CF à LATIN CAPITAL LETTER I WITH DIAERESIS + 320 208 D0 à LATIN CAPITAL LETTER ETH + 321 209 D1 Ñ LATIN CAPITAL LETTER N WITH TILDE + 322 210 D2 Ã’ LATIN CAPITAL LETTER O WITH GRAVE + 323 211 D3 Ó LATIN CAPITAL LETTER O WITH ACUTE + 324 212 D4 Ô LATIN CAPITAL LETTER O WITH CIRCUMFLEX + 325 213 D5 Õ LATIN CAPITAL LETTER O WITH TILDE + 326 214 D6 Ö LATIN CAPITAL LETTER O WITH DIAERESIS + 327 215 D7 × MULTIPLICATION SIGN + 330 216 D8 Ø LATIN CAPITAL LETTER O WITH STROKE + 331 217 D9 Ù LATIN CAPITAL LETTER U WITH GRAVE + 332 218 DA Ú LATIN CAPITAL LETTER U WITH ACUTE + 333 219 DB Û LATIN CAPITAL LETTER U WITH CIRCUMFLEX + 334 220 DC Ü LATIN CAPITAL LETTER U WITH DIAERESIS + 335 221 DD à LATIN CAPITAL LETTER Y WITH ACUTE + 336 222 DE Þ LATIN CAPITAL LETTER THORN + 337 223 DF ß LATIN SMALL LETTER SHARP S + 340 224 E0 à LATIN SMALL LETTER A WITH GRAVE + 341 225 E1 á LATIN SMALL LETTER A WITH ACUTE + 342 226 E2 â LATIN SMALL LETTER A WITH CIRCUMFLEX + 343 227 E3 ã LATIN SMALL LETTER A WITH TILDE + 344 228 E4 ä LATIN SMALL LETTER A WITH DIAERESIS + 345 229 E5 Ã¥ LATIN SMALL LETTER A WITH RING ABOVE + 346 230 E6 æ LATIN SMALL LETTER AE + 347 231 E7 ç LATIN SMALL LETTER C WITH CEDILLA + 350 232 E8 è LATIN SMALL LETTER E WITH GRAVE + 351 233 E9 é LATIN SMALL LETTER E WITH ACUTE + 352 234 EA ê LATIN SMALL LETTER E WITH CIRCUMFLEX + 353 235 EB ë LATIN SMALL LETTER E WITH DIAERESIS + 354 236 EC ì LATIN SMALL LETTER I WITH GRAVE + 355 237 ED í LATIN SMALL LETTER I WITH ACUTE + 356 238 EE î LATIN SMALL LETTER I WITH CIRCUMFLEX + 357 239 EF ï LATIN SMALL LETTER I WITH DIAERESIS + 360 240 F0 ð LATIN SMALL LETTER ETH + 361 241 F1 ñ LATIN SMALL LETTER N WITH TILDE + 362 242 F2 ò LATIN SMALL LETTER O WITH GRAVE + 363 243 F3 ó LATIN SMALL LETTER O WITH ACUTE + 364 244 F4 ô LATIN SMALL LETTER O WITH CIRCUMFLEX + 365 245 F5 õ LATIN SMALL LETTER O WITH TILDE + 366 246 F6 ö LATIN SMALL LETTER O WITH DIAERESIS + 367 247 F7 ÷ DIVISION SIGN + 370 248 F8 ø LATIN SMALL LETTER O WITH STROKE + 371 249 F9 ù LATIN SMALL LETTER U WITH GRAVE + 372 250 FA ú LATIN SMALL LETTER U WITH ACUTE + 373 251 FB û LATIN SMALL LETTER U WITH CIRCUMFLEX + 374 252 FC ü LATIN SMALL LETTER U WITH DIAERESIS + 375 253 FD ý LATIN SMALL LETTER Y WITH ACUTE + 376 254 FE þ LATIN SMALL LETTER THORN + 377 255 FF ÿ LATIN SMALL LETTER Y WITH DIAERESIS + + +0 15 tst 0 0 diff --git a/libxml2/result/isolat2.rdr b/libxml2/result/isolat2.rdr new file mode 100644 index 0000000..524cb3e --- /dev/null +++ b/libxml2/result/isolat2.rdr @@ -0,0 +1,108 @@ +0 1 tst 0 0 +1 3 #text 0 1 + + The following table displays the characters in ISO 8859 + Latin-1, which are printable and unlisted in the ascii + manual page. + + Oct Dec Hex Char Description + -------------------------------------------------------------------- + 240 160 A0 NO-BREAK SPACE + 241 161 A1 ¡ INVERTED EXCLAMATION MARK + 242 162 A2 ¢ CENT SIGN + 243 163 A3 £ POUND SIGN + 244 164 A4 ¤ CURRENCY SIGN + 245 165 A5 Â¥ YEN SIGN + 246 166 A6 ¦ BROKEN BAR + 247 167 A7 § SECTION SIGN + 250 168 A8 ¨ DIAERESIS + 251 169 A9 © COPYRIGHT SIGN + 252 170 AA ª FEMININE ORDINAL INDICATOR + 253 171 AB « LEFT-POINTING DOUBLE ANGLE QUOTATION MARK + 254 172 AC ¬ NOT SIGN + 255 173 AD ­ SOFT HYPHEN + 256 174 AE ® REGISTERED SIGN + 257 175 AF ¯ MACRON + 260 176 B0 ° DEGREE SIGN + 261 177 B1 ± PLUS-MINUS SIGN + 262 178 B2 ² SUPERSCRIPT TWO + 263 179 B3 ³ SUPERSCRIPT THREE + 264 180 B4 ´ ACUTE ACCENT + 265 181 B5 µ MICRO SIGN + 266 182 B6 ¶ PILCROW SIGN + 267 183 B7 · MIDDLE DOT + 270 184 B8 ¸ CEDILLA + 271 185 B9 ¹ SUPERSCRIPT ONE + 272 186 BA º MASCULINE ORDINAL INDICATOR + 273 187 BB » RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK + 274 188 BC ¼ VULGAR FRACTION ONE QUARTER + 275 189 BD ½ VULGAR FRACTION ONE HALF + 276 190 BE ¾ VULGAR FRACTION THREE QUARTERS + 277 191 BF ¿ INVERTED QUESTION MARK + 300 192 C0 À LATIN CAPITAL LETTER A WITH GRAVE + 301 193 C1 à LATIN CAPITAL LETTER A WITH ACUTE + 302 194 C2  LATIN CAPITAL LETTER A WITH CIRCUMFLEX + 303 195 C3 à LATIN CAPITAL LETTER A WITH TILDE + 304 196 C4 Ä LATIN CAPITAL LETTER A WITH DIAERESIS + 305 197 C5 Ã… LATIN CAPITAL LETTER A WITH RING ABOVE + 306 198 C6 Æ LATIN CAPITAL LETTER AE + 307 199 C7 Ç LATIN CAPITAL LETTER C WITH CEDILLA + 310 200 C8 È LATIN CAPITAL LETTER E WITH GRAVE + 311 201 C9 É LATIN CAPITAL LETTER E WITH ACUTE + 312 202 CA Ê LATIN CAPITAL LETTER E WITH CIRCUMFLEX + 313 203 CB Ë LATIN CAPITAL LETTER E WITH DIAERESIS + 314 204 CC ÃŒ LATIN CAPITAL LETTER I WITH GRAVE + 315 205 CD à LATIN CAPITAL LETTER I WITH ACUTE + 316 206 CE ÃŽ LATIN CAPITAL LETTER I WITH CIRCUMFLEX + 317 207 CF à LATIN CAPITAL LETTER I WITH DIAERESIS + 320 208 D0 à LATIN CAPITAL LETTER ETH + 321 209 D1 Ñ LATIN CAPITAL LETTER N WITH TILDE + 322 210 D2 Ã’ LATIN CAPITAL LETTER O WITH GRAVE + 323 211 D3 Ó LATIN CAPITAL LETTER O WITH ACUTE + 324 212 D4 Ô LATIN CAPITAL LETTER O WITH CIRCUMFLEX + 325 213 D5 Õ LATIN CAPITAL LETTER O WITH TILDE + 326 214 D6 Ö LATIN CAPITAL LETTER O WITH DIAERESIS + 327 215 D7 × MULTIPLICATION SIGN + 330 216 D8 Ø LATIN CAPITAL LETTER O WITH STROKE + 331 217 D9 Ù LATIN CAPITAL LETTER U WITH GRAVE + 332 218 DA Ú LATIN CAPITAL LETTER U WITH ACUTE + 333 219 DB Û LATIN CAPITAL LETTER U WITH CIRCUMFLEX + 334 220 DC Ü LATIN CAPITAL LETTER U WITH DIAERESIS + 335 221 DD à LATIN CAPITAL LETTER Y WITH ACUTE + 336 222 DE Þ LATIN CAPITAL LETTER THORN + 337 223 DF ß LATIN SMALL LETTER SHARP S + 340 224 E0 à LATIN SMALL LETTER A WITH GRAVE + 341 225 E1 á LATIN SMALL LETTER A WITH ACUTE + 342 226 E2 â LATIN SMALL LETTER A WITH CIRCUMFLEX + 343 227 E3 ã LATIN SMALL LETTER A WITH TILDE + 344 228 E4 ä LATIN SMALL LETTER A WITH DIAERESIS + 345 229 E5 Ã¥ LATIN SMALL LETTER A WITH RING ABOVE + 346 230 E6 æ LATIN SMALL LETTER AE + 347 231 E7 ç LATIN SMALL LETTER C WITH CEDILLA + 350 232 E8 è LATIN SMALL LETTER E WITH GRAVE + 351 233 E9 é LATIN SMALL LETTER E WITH ACUTE + 352 234 EA ê LATIN SMALL LETTER E WITH CIRCUMFLEX + 353 235 EB ë LATIN SMALL LETTER E WITH DIAERESIS + 354 236 EC ì LATIN SMALL LETTER I WITH GRAVE + 355 237 ED í LATIN SMALL LETTER I WITH ACUTE + 356 238 EE î LATIN SMALL LETTER I WITH CIRCUMFLEX + 357 239 EF ï LATIN SMALL LETTER I WITH DIAERESIS + 360 240 F0 ð LATIN SMALL LETTER ETH + 361 241 F1 ñ LATIN SMALL LETTER N WITH TILDE + 362 242 F2 ò LATIN SMALL LETTER O WITH GRAVE + 363 243 F3 ó LATIN SMALL LETTER O WITH ACUTE + 364 244 F4 ô LATIN SMALL LETTER O WITH CIRCUMFLEX + 365 245 F5 õ LATIN SMALL LETTER O WITH TILDE + 366 246 F6 ö LATIN SMALL LETTER O WITH DIAERESIS + 367 247 F7 ÷ DIVISION SIGN + 370 248 F8 ø LATIN SMALL LETTER O WITH STROKE + 371 249 F9 ù LATIN SMALL LETTER U WITH GRAVE + 372 250 FA ú LATIN SMALL LETTER U WITH ACUTE + 373 251 FB û LATIN SMALL LETTER U WITH CIRCUMFLEX + 374 252 FC ü LATIN SMALL LETTER U WITH DIAERESIS + 375 253 FD ý LATIN SMALL LETTER Y WITH ACUTE + 376 254 FE þ LATIN SMALL LETTER THORN + 377 255 FF ÿ LATIN SMALL LETTER Y WITH DIAERESIS + + +0 15 tst 0 0 diff --git a/libxml2/result/isolat2.sax b/libxml2/result/isolat2.sax new file mode 100644 index 0000000..737c948 --- /dev/null +++ b/libxml2/result/isolat2.sax @@ -0,0 +1,35 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(tst) +SAX.characters( + + The following table d, 345) +SAX.characters(¡ INVERTED EXCLAMATION MA, 300) +SAX.characters( 250 168 A8 ¨ , 300) +SAX.characters(SOFT HYPHEN + 256 174 , 300) +SAX.characters( 264 180 B4 ´ AC, 300) +SAX.characters(SCULINE ORDINAL INDICATOR + , 300) +SAX.characters(1 BF ¿ INVERTED QUE, 300) +SAX.characters( A WITH TILDE + 304 196, 300) +SAX.characters( C8 È LATIN CAPITAL , 300) +SAX.characters(APITAL LETTER I WITH GRAVE + , 300) +SAX.characters( 321 209 D1 Ñ LA, 300) +SAX.characters( LATIN CAPITAL LETTER O WITH T, 300) +SAX.characters( 332 218 DA Ú LAT, 300) +SAX.characters( LATIN CAPITAL LETTER THORN, 300) +SAX.characters(3 227 E3 ã LATIN , 300) +SAX.characters(R C WITH CEDILLA + 350 , 300) +SAX.characters(36 EC ì LATIN SMALL, 300) +SAX.characters(LETTER ETH + 361 241 , 300) +SAX.characters( õ LATIN SMALL LETTER O , 300) +SAX.characters( 250 FA ú LATIN SMA, 300) +SAX.characters(L LETTER THORN + 377 25, 85) +SAX.endElement(tst) +SAX.endDocument() diff --git a/libxml2/result/isolat2.sax2 b/libxml2/result/isolat2.sax2 new file mode 100644 index 0000000..0ac3f56 --- /dev/null +++ b/libxml2/result/isolat2.sax2 @@ -0,0 +1,35 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(tst, NULL, NULL, 0, 0, 0) +SAX.characters( + + The following table d, 345) +SAX.characters(¡ INVERTED EXCLAMATION MA, 300) +SAX.characters( 250 168 A8 ¨ , 300) +SAX.characters(SOFT HYPHEN + 256 174 , 300) +SAX.characters( 264 180 B4 ´ AC, 300) +SAX.characters(SCULINE ORDINAL INDICATOR + , 300) +SAX.characters(1 BF ¿ INVERTED QUE, 300) +SAX.characters( A WITH TILDE + 304 196, 300) +SAX.characters( C8 È LATIN CAPITAL , 300) +SAX.characters(APITAL LETTER I WITH GRAVE + , 300) +SAX.characters( 321 209 D1 Ñ LA, 300) +SAX.characters( LATIN CAPITAL LETTER O WITH T, 300) +SAX.characters( 332 218 DA Ú LAT, 300) +SAX.characters( LATIN CAPITAL LETTER THORN, 300) +SAX.characters(3 227 E3 ã LATIN , 300) +SAX.characters(R C WITH CEDILLA + 350 , 300) +SAX.characters(36 EC ì LATIN SMALL, 300) +SAX.characters(LETTER ETH + 361 241 , 300) +SAX.characters( õ LATIN SMALL LETTER O , 300) +SAX.characters( 250 FA ú LATIN SMA, 300) +SAX.characters(L LETTER THORN + 377 25, 85) +SAX.endElementNs(tst, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/isolat3 b/libxml2/result/isolat3 new file mode 100644 index 0000000..1abf7b4 --- /dev/null +++ b/libxml2/result/isolat3 @@ -0,0 +1,10 @@ + + + + +]]> +then the replacement text for the entity "book" is: +La Peste: Albert Camus, +© 1947 Éditions Gallimard. &rights; + diff --git a/libxml2/result/isolat3.rde b/libxml2/result/isolat3.rde new file mode 100644 index 0000000..1067c0f --- /dev/null +++ b/libxml2/result/isolat3.rde @@ -0,0 +1,23 @@ +0 1 rec 0 0 +1 14 #text 0 1 + +1 1 eg 0 0 +2 4 #cdata-section 0 1 + + +1 15 eg 0 0 +1 3 #text 0 1 +then the replacement text for the entity " +1 1 code 0 0 +2 3 #text 0 1 book +1 15 code 0 0 +1 3 #text 0 1 " is: + +1 1 eg 0 0 +2 3 #text 0 1 La Peste: Albert Camus, +© 1947 Éditions Gallimard. &rights; +1 15 eg 0 0 +1 14 #text 0 1 + +0 15 rec 0 0 diff --git a/libxml2/result/isolat3.rdr b/libxml2/result/isolat3.rdr new file mode 100644 index 0000000..1067c0f --- /dev/null +++ b/libxml2/result/isolat3.rdr @@ -0,0 +1,23 @@ +0 1 rec 0 0 +1 14 #text 0 1 + +1 1 eg 0 0 +2 4 #cdata-section 0 1 + + +1 15 eg 0 0 +1 3 #text 0 1 +then the replacement text for the entity " +1 1 code 0 0 +2 3 #text 0 1 book +1 15 code 0 0 +1 3 #text 0 1 " is: + +1 1 eg 0 0 +2 3 #text 0 1 La Peste: Albert Camus, +© 1947 Éditions Gallimard. &rights; +1 15 eg 0 0 +1 14 #text 0 1 + +0 15 rec 0 0 diff --git a/libxml2/result/isolat3.sax b/libxml2/result/isolat3.sax new file mode 100644 index 0000000..7c40e6e --- /dev/null +++ b/libxml2/result/isolat3.sax @@ -0,0 +1,29 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(rec) +SAX.characters( +, 1) +SAX.startElement(eg) +SAX.pcdata( + + + + + + +]> + + + + diff --git a/libxml2/result/issue626.xml.rde b/libxml2/result/issue626.xml.rde new file mode 100644 index 0000000..a488238 --- /dev/null +++ b/libxml2/result/issue626.xml.rde @@ -0,0 +1,12 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 This tests whether xmlCleanSpecialAttr works. The attribute values + must not be normalized. +1 14 #text 0 1 + +1 1 e 1 0 +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/libxml2/result/issue626.xml.rdr b/libxml2/result/issue626.xml.rdr new file mode 100644 index 0000000..a488238 --- /dev/null +++ b/libxml2/result/issue626.xml.rdr @@ -0,0 +1,12 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 This tests whether xmlCleanSpecialAttr works. The attribute values + must not be normalized. +1 14 #text 0 1 + +1 1 e 1 0 +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/libxml2/result/issue626.xml.sax b/libxml2/result/issue626.xml.sax new file mode 100644 index 0000000..8e6b59b --- /dev/null +++ b/libxml2/result/issue626.xml.sax @@ -0,0 +1,23 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.attributeDecl(e, a1, 1, 3, NULL, ...) +SAX.attributeDecl(e, a2, 1, 3, NULL, ...) +SAX.attributeDecl(e, a3, 1, 3, NULL, ...) +SAX.attributeDecl(e, a4, 1, 3, NULL, ...) +SAX.attributeDecl(e, a5, 1, 3, NULL, ...) +SAX.attributeDecl(e, a6, 1, 3, NULL, ...) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.characters( + , 5) +SAX.comment( This tests whether xmlCleanSpecialAttr works. The attribute values + must not be normalized. ) +SAX.characters( + , 5) +SAX.startElement(e, a1=' x x ', a2=' x x ', a3=' x x ', a4=' x x ', a5=' x x ', a6=' x x ') +SAX.endElement(e) +SAX.characters( +, 1) +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/issue626.xml.sax2 b/libxml2/result/issue626.xml.sax2 new file mode 100644 index 0000000..edc2c1f --- /dev/null +++ b/libxml2/result/issue626.xml.sax2 @@ -0,0 +1,23 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.attributeDecl(e, a1, 1, 3, NULL, ...) +SAX.attributeDecl(e, a2, 1, 3, NULL, ...) +SAX.attributeDecl(e, a3, 1, 3, NULL, ...) +SAX.attributeDecl(e, a4, 1, 3, NULL, ...) +SAX.attributeDecl(e, a5, 1, 3, NULL, ...) +SAX.attributeDecl(e, a6, 1, 3, NULL, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.comment( This tests whether xmlCleanSpecialAttr works. The attribute values + must not be normalized. ) +SAX.characters( + , 5) +SAX.startElementNs(e, NULL, NULL, 0, 6, 0, a1=' x ...', 6, a2=' x ...', 6, a3=' x ...', 6, a4=' x ...', 6, a5=' x ...', 6, a6=' x ...', 6) +SAX.endElementNs(e, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/issue643.xml b/libxml2/result/issue643.xml new file mode 100644 index 0000000..3a5a92c --- /dev/null +++ b/libxml2/result/issue643.xml @@ -0,0 +1,8 @@ + + + +]> + + + diff --git a/libxml2/result/issue643.xml.rde b/libxml2/result/issue643.xml.rde new file mode 100644 index 0000000..b8ca139 --- /dev/null +++ b/libxml2/result/issue643.xml.rde @@ -0,0 +1,8 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 elem 1 0 +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/libxml2/result/issue643.xml.rdr b/libxml2/result/issue643.xml.rdr new file mode 100644 index 0000000..b8ca139 --- /dev/null +++ b/libxml2/result/issue643.xml.rdr @@ -0,0 +1,8 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 elem 1 0 +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/libxml2/result/issue643.xml.sax b/libxml2/result/issue643.xml.sax new file mode 100644 index 0000000..85563b9 --- /dev/null +++ b/libxml2/result/issue643.xml.sax @@ -0,0 +1,15 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.attributeDecl(elem, xmlns, 1, 4, urn:def2, ...) +SAX.attributeDecl(elem, xmlns:a, 1, 4, urn:a2, ...) +SAX.externalSubset(doc, , ) +SAX.startElement(doc, xmlns='urn:def', xmlns:a='urn:a') +SAX.characters( + , 5) +SAX.startElement(elem) +SAX.endElement(elem) +SAX.characters( +, 1) +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/issue643.xml.sax2 b/libxml2/result/issue643.xml.sax2 new file mode 100644 index 0000000..cd7e5f1 --- /dev/null +++ b/libxml2/result/issue643.xml.sax2 @@ -0,0 +1,15 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.attributeDecl(elem, xmlns, 1, 4, urn:def2, ...) +SAX.attributeDecl(elem, xmlns:a, 1, 4, urn:a2, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, 'urn:def', 2, xmlns='urn:def', xmlns:a='urn:a', 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(elem, NULL, 'urn:def2', 2, xmlns='urn:def2', xmlns:a='urn:a2', 0, 0) +SAX.endElementNs(elem, NULL, 'urn:def2') +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, 'urn:def') +SAX.endDocument() diff --git a/libxml2/result/issue655.xml b/libxml2/result/issue655.xml new file mode 100644 index 0000000..4b4a1e1 --- /dev/null +++ b/libxml2/result/issue655.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/libxml2/result/issue655.xml.rde b/libxml2/result/issue655.xml.rde new file mode 100644 index 0000000..a309384 --- /dev/null +++ b/libxml2/result/issue655.xml.rde @@ -0,0 +1,2 @@ +0 10 test 0 0 +0 1 test 1 0 diff --git a/libxml2/result/issue655.xml.rdr b/libxml2/result/issue655.xml.rdr new file mode 100644 index 0000000..a309384 --- /dev/null +++ b/libxml2/result/issue655.xml.rdr @@ -0,0 +1,2 @@ +0 10 test 0 0 +0 1 test 1 0 diff --git a/libxml2/result/issue655.xml.sax b/libxml2/result/issue655.xml.sax new file mode 100644 index 0000000..e359836 --- /dev/null +++ b/libxml2/result/issue655.xml.sax @@ -0,0 +1,10 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(test, , ) +SAX.entityDecl(newline, 1, (null), (null), ) +SAX.getEntity(newline) +SAX.externalSubset(test, , ) +SAX.getEntity(newline) +SAX.startElement(test, newline='&newline;') +SAX.endElement(test) +SAX.endDocument() diff --git a/libxml2/result/issue655.xml.sax2 b/libxml2/result/issue655.xml.sax2 new file mode 100644 index 0000000..c9594a8 --- /dev/null +++ b/libxml2/result/issue655.xml.sax2 @@ -0,0 +1,10 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(test, , ) +SAX.entityDecl(newline, 1, (null), (null), ) +SAX.getEntity(newline) +SAX.externalSubset(test, , ) +SAX.getEntity(newline) +SAX.startElementNs(test, NULL, NULL, 0, 1, 0, newline='&new...', 9) +SAX.endElementNs(test, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/japancrlf.xml b/libxml2/result/japancrlf.xml new file mode 100644 index 0000000..60b307c --- /dev/null +++ b/libxml2/result/japancrlf.xml @@ -0,0 +1,4 @@ + +<入力メッセージ xmlns="http://schemas.cordys.com/webapps/1.0/bpm/c8c8b82a-0ac0-3d19-01e2-bda74af9b826"> + + diff --git a/libxml2/result/japancrlf.xml.rde b/libxml2/result/japancrlf.xml.rde new file mode 100644 index 0000000..0bc5af7 --- /dev/null +++ b/libxml2/result/japancrlf.xml.rde @@ -0,0 +1,7 @@ +0 1 入力メッセージ 0 0 +1 14 #text 0 1 + +1 1 c8c:Ele 1 0 +1 14 #text 0 1 + +0 15 入力メッセージ 0 0 diff --git a/libxml2/result/japancrlf.xml.rdr b/libxml2/result/japancrlf.xml.rdr new file mode 100644 index 0000000..0bc5af7 --- /dev/null +++ b/libxml2/result/japancrlf.xml.rdr @@ -0,0 +1,7 @@ +0 1 入力メッセージ 0 0 +1 14 #text 0 1 + +1 1 c8c:Ele 1 0 +1 14 #text 0 1 + +0 15 入力メッセージ 0 0 diff --git a/libxml2/result/japancrlf.xml.sax b/libxml2/result/japancrlf.xml.sax new file mode 100644 index 0000000..c3bbdc6 --- /dev/null +++ b/libxml2/result/japancrlf.xml.sax @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(入力メッセージ, xmlns='http://schemas.cordys.com/webapps/1.0/bpm/c8c8b82a-0ac0-3d19-01e2-bda74af9b826') +SAX.characters( + , 2) +SAX.startElement(c8c:Ele, xmlns:c8c='http://schemas.cordys.com/webapps/1.0/bpm/c8c8b82a-0ac0-3d19-01e2-bda74af9b826') +SAX.endElement(c8c:Ele) +SAX.characters( +, 1) +SAX.endElement(入力メッセージ) +SAX.endDocument() diff --git a/libxml2/result/japancrlf.xml.sax2 b/libxml2/result/japancrlf.xml.sax2 new file mode 100644 index 0000000..878eae4 --- /dev/null +++ b/libxml2/result/japancrlf.xml.sax2 @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(入力メッセージ, NULL, 'http://schemas.cordys.com/webapps/1.0/bpm/c8c8b82a-0ac0-3d19-01e2-bda74af9b826', 1, xmlns='http://schemas.cordys.com/webapps/1.0/bpm/c8c8b82a-0ac0-3d19-01e2-bda74af9b826', 0, 0) +SAX.characters( + , 2) +SAX.startElementNs(Ele, c8c, 'http://schemas.cordys.com/webapps/1.0/bpm/c8c8b82a-0ac0-3d19-01e2-bda74af9b826', 1, xmlns:c8c='http://schemas.cordys.com/webapps/1.0/bpm/c8c8b82a-0ac0-3d19-01e2-bda74af9b826', 0, 0) +SAX.endElementNs(Ele, c8c, 'http://schemas.cordys.com/webapps/1.0/bpm/c8c8b82a-0ac0-3d19-01e2-bda74af9b826') +SAX.characters( +, 1) +SAX.endElementNs(入力メッセージ, NULL, 'http://schemas.cordys.com/webapps/1.0/bpm/c8c8b82a-0ac0-3d19-01e2-bda74af9b826') +SAX.endDocument() diff --git a/libxml2/result/namespaces/err_0.xml b/libxml2/result/namespaces/err_0.xml new file mode 100644 index 0000000..968d954 --- /dev/null +++ b/libxml2/result/namespaces/err_0.xml @@ -0,0 +1,2 @@ + + diff --git a/libxml2/result/namespaces/err_1.xml b/libxml2/result/namespaces/err_1.xml new file mode 100644 index 0000000..a4aa8ff --- /dev/null +++ b/libxml2/result/namespaces/err_1.xml @@ -0,0 +1,2 @@ + + diff --git a/libxml2/result/namespaces/err_1.xml.err b/libxml2/result/namespaces/err_1.xml.err new file mode 100644 index 0000000..77466cf --- /dev/null +++ b/libxml2/result/namespaces/err_1.xml.err @@ -0,0 +1,3 @@ +./test/namespaces/err_1.xml:1: namespace error : Failed to parse QName 'xmlns:' + + ^ diff --git a/libxml2/result/namespaces/err_10.xml.err b/libxml2/result/namespaces/err_10.xml.err new file mode 100644 index 0000000..a4a4b55 --- /dev/null +++ b/libxml2/result/namespaces/err_10.xml.err @@ -0,0 +1,3 @@ +./test/namespaces/err_10.xml:1: parser error : Attribute xmlns redefined + + ^ diff --git a/libxml2/result/namespaces/err_11.xml.err b/libxml2/result/namespaces/err_11.xml.err new file mode 100644 index 0000000..619bc00 --- /dev/null +++ b/libxml2/result/namespaces/err_11.xml.err @@ -0,0 +1,3 @@ +./test/namespaces/err_11.xml:1: parser error : Attribute xmlns:a redefined + + ^ diff --git a/libxml2/result/namespaces/err_2.xml b/libxml2/result/namespaces/err_2.xml new file mode 100644 index 0000000..73e727b --- /dev/null +++ b/libxml2/result/namespaces/err_2.xml @@ -0,0 +1,2 @@ + +<:/> diff --git a/libxml2/result/namespaces/err_2.xml.err b/libxml2/result/namespaces/err_2.xml.err new file mode 100644 index 0000000..031bcff --- /dev/null +++ b/libxml2/result/namespaces/err_2.xml.err @@ -0,0 +1,3 @@ +./test/namespaces/err_2.xml:1: namespace error : Failed to parse QName ':' +<:/> + ^ diff --git a/libxml2/result/namespaces/err_3.xml b/libxml2/result/namespaces/err_3.xml new file mode 100644 index 0000000..ee51834 --- /dev/null +++ b/libxml2/result/namespaces/err_3.xml @@ -0,0 +1,2 @@ + +<:foo/> diff --git a/libxml2/result/namespaces/err_3.xml.err b/libxml2/result/namespaces/err_3.xml.err new file mode 100644 index 0000000..a18fe9f --- /dev/null +++ b/libxml2/result/namespaces/err_3.xml.err @@ -0,0 +1,3 @@ +./test/namespaces/err_3.xml:1: namespace error : Failed to parse QName ':foo' +<:foo/> + ^ diff --git a/libxml2/result/namespaces/err_4.xml b/libxml2/result/namespaces/err_4.xml new file mode 100644 index 0000000..d0d664e --- /dev/null +++ b/libxml2/result/namespaces/err_4.xml @@ -0,0 +1,2 @@ + + diff --git a/libxml2/result/namespaces/err_4.xml.err b/libxml2/result/namespaces/err_4.xml.err new file mode 100644 index 0000000..c9b0c02 --- /dev/null +++ b/libxml2/result/namespaces/err_4.xml.err @@ -0,0 +1,3 @@ +./test/namespaces/err_4.xml:1: namespace error : Failed to parse QName 'f:' + + ^ diff --git a/libxml2/result/namespaces/err_5.xml b/libxml2/result/namespaces/err_5.xml new file mode 100644 index 0000000..7d8d0b2 --- /dev/null +++ b/libxml2/result/namespaces/err_5.xml @@ -0,0 +1,2 @@ + + diff --git a/libxml2/result/namespaces/err_5.xml.err b/libxml2/result/namespaces/err_5.xml.err new file mode 100644 index 0000000..3801f61 --- /dev/null +++ b/libxml2/result/namespaces/err_5.xml.err @@ -0,0 +1,3 @@ +./test/namespaces/err_5.xml:1: namespace error : Failed to parse QName 'f:a:' + + ^ diff --git a/libxml2/result/namespaces/err_6.xml b/libxml2/result/namespaces/err_6.xml new file mode 100644 index 0000000..daa2a58 --- /dev/null +++ b/libxml2/result/namespaces/err_6.xml @@ -0,0 +1,2 @@ + + diff --git a/libxml2/result/namespaces/err_6.xml.err b/libxml2/result/namespaces/err_6.xml.err new file mode 100644 index 0000000..8e90fcb --- /dev/null +++ b/libxml2/result/namespaces/err_6.xml.err @@ -0,0 +1,3 @@ +./test/namespaces/err_6.xml:1: namespace error : Failed to parse QName 'f:a:b' + + ^ diff --git a/libxml2/result/namespaces/err_7.xml b/libxml2/result/namespaces/err_7.xml new file mode 100644 index 0000000..4b4c662 --- /dev/null +++ b/libxml2/result/namespaces/err_7.xml @@ -0,0 +1,2 @@ + + diff --git a/libxml2/result/namespaces/err_7.xml.err b/libxml2/result/namespaces/err_7.xml.err new file mode 100644 index 0000000..e7ff95b --- /dev/null +++ b/libxml2/result/namespaces/err_7.xml.err @@ -0,0 +1,3 @@ +./test/namespaces/err_7.xml:1: namespace error : Namespace prefix f on foo is not defined + + ^ diff --git a/libxml2/result/namespaces/err_8.xml b/libxml2/result/namespaces/err_8.xml new file mode 100644 index 0000000..5608312 --- /dev/null +++ b/libxml2/result/namespaces/err_8.xml @@ -0,0 +1,2 @@ + + diff --git a/libxml2/result/namespaces/err_8.xml.err b/libxml2/result/namespaces/err_8.xml.err new file mode 100644 index 0000000..e6735d7 --- /dev/null +++ b/libxml2/result/namespaces/err_8.xml.err @@ -0,0 +1,3 @@ +./test/namespaces/err_8.xml:1: namespace error : xml namespace prefix mapped to wrong URI + + ^ diff --git a/libxml2/result/namespaces/err_9.xml b/libxml2/result/namespaces/err_9.xml new file mode 100644 index 0000000..0407dff --- /dev/null +++ b/libxml2/result/namespaces/err_9.xml @@ -0,0 +1,2 @@ + + diff --git a/libxml2/result/namespaces/err_9.xml.err b/libxml2/result/namespaces/err_9.xml.err new file mode 100644 index 0000000..d1837a1 --- /dev/null +++ b/libxml2/result/namespaces/err_9.xml.err @@ -0,0 +1,3 @@ +./test/namespaces/err_9.xml:2: namespace error : Namespaced Attribute err in 'http://example.com/' redefined + a:err="1" b:err="2"/> + ^ diff --git a/libxml2/result/noent/adjacent-cdata.xml b/libxml2/result/noent/adjacent-cdata.xml new file mode 100644 index 0000000..fada9ee --- /dev/null +++ b/libxml2/result/noent/adjacent-cdata.xml @@ -0,0 +1,2 @@ + + diff --git a/libxml2/result/noent/adjacent-cdata.xml.sax2 b/libxml2/result/noent/adjacent-cdata.xml.sax2 new file mode 100644 index 0000000..56b4b3b --- /dev/null +++ b/libxml2/result/noent/adjacent-cdata.xml.sax2 @@ -0,0 +1,8 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.pcdata(abc, 3) +SAX.pcdata(def, 3) +SAX.pcdata(ghi, 3) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/att1 b/libxml2/result/noent/att1 new file mode 100644 index 0000000..00aa6be --- /dev/null +++ b/libxml2/result/noent/att1 @@ -0,0 +1,2 @@ + + diff --git a/libxml2/result/noent/att1.sax2 b/libxml2/result/noent/att1.sax2 new file mode 100644 index 0000000..76ba131 --- /dev/null +++ b/libxml2/result/noent/att1.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(doc, NULL, NULL, 0, 1, 0, attr='to n...', 28) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/att10 b/libxml2/result/noent/att10 new file mode 100644 index 0000000..07f0096 --- /dev/null +++ b/libxml2/result/noent/att10 @@ -0,0 +1,18 @@ + + + + + + + + +]> + + + + + + + + diff --git a/libxml2/result/noent/att10.sax2 b/libxml2/result/noent/att10.sax2 new file mode 100644 index 0000000..cc8b58e --- /dev/null +++ b/libxml2/result/noent/att10.sax2 @@ -0,0 +1,57 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 4, ...) +SAX.elementDecl(tst, 3, ...) +SAX.attributeDecl(tst, a, 8, 3, NULL, ...) +SAX.attributeDecl(tst, b, 1, 3, NULL, ...) +SAX.entityDecl(d, 1, (null), (null), ) +SAX.getEntity(d) +SAX.entityDecl(a, 1, (null), (null), +) +SAX.getEntity(a) +SAX.entityDecl(da, 1, (null), (null), +) +SAX.getEntity(da) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.startElementNs(tst, NULL, NULL, 0, 2, 0, a='xyz"...', 3, b=' xy...', 5) +SAX.endElementNs(tst, NULL, NULL) +SAX.characters( +, 1) +SAX.getEntity(d) +SAX.getEntity(d) +SAX.getEntity(a) +SAX.getEntity(a) +SAX.getEntity(da) +SAX.getEntity(d) +SAX.getEntity(d) +SAX.getEntity(a) +SAX.getEntity(a) +SAX.getEntity(da) +SAX.startElementNs(tst, NULL, NULL, 0, 2, 0, a='A B...', 3, b=' A ...', 9) +SAX.endElementNs(tst, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(tst, NULL, NULL, 0, 2, 0, a=' A +...', 8, b=' A +...', 8) +SAX.endElementNs(tst, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(tst, NULL, NULL, 0, 2, 0, a='x y...', 3, b=' x ...', 6) +SAX.endElementNs(tst, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(tst, NULL, NULL, 0, 2, 0, a='a b ...', 3, b=' a b...', 5) +SAX.endElementNs(tst, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(tst, NULL, NULL, 0, 2, 0, a='a b...', 3, b=' a ...', 8) +SAX.endElementNs(tst, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/att11 b/libxml2/result/noent/att11 new file mode 100644 index 0000000..3646e62 --- /dev/null +++ b/libxml2/result/noent/att11 @@ -0,0 +1,9 @@ + + + + + + +]> + diff --git a/libxml2/result/noent/att11.sax2 b/libxml2/result/noent/att11.sax2 new file mode 100644 index 0000000..518e231 --- /dev/null +++ b/libxml2/result/noent/att11.sax2 @@ -0,0 +1,20 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(attributes, , ) +SAX.elementDecl(attributes, 1, ...) +SAX.attributeDecl(attributes, nmtoken, 7, 3, NULL, ...) +SAX.attributeDecl(attributes, nmtokens, 8, 3, NULL, ...) +SAX.entityDecl(ent, 1, (null), (null), entity&recursive; ) +SAX.getEntity(ent) +SAX.entityDecl(recursive, 1, (null), (null), reference) +SAX.getEntity(recursive) +SAX.externalSubset(attributes, , ) +SAX.getEntity(ent) +SAX.getEntity(recursive) +SAX.getEntity(ent) +SAX.getEntity(recursive) +SAX.getEntity(ent) +SAX.getEntity(recursive) +SAX.startElementNs(attributes, NULL, NULL, 0, 2, 0, nmtoken='enti...', 47, nmtokens='Test...', 25) +SAX.endElementNs(attributes, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/att2 b/libxml2/result/noent/att2 new file mode 100644 index 0000000..28989a2 --- /dev/null +++ b/libxml2/result/noent/att2 @@ -0,0 +1,2 @@ + + diff --git a/libxml2/result/noent/att2.sax2 b/libxml2/result/noent/att2.sax2 new file mode 100644 index 0000000..84aebcb --- /dev/null +++ b/libxml2/result/noent/att2.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(doc, NULL, NULL, 0, 1, 0, attr='to n...', 27) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/att3 b/libxml2/result/noent/att3 new file mode 100644 index 0000000..3f3ac5c --- /dev/null +++ b/libxml2/result/noent/att3 @@ -0,0 +1,2 @@ + + diff --git a/libxml2/result/noent/att3.sax2 b/libxml2/result/noent/att3.sax2 new file mode 100644 index 0000000..8e7ca86 --- /dev/null +++ b/libxml2/result/noent/att3.sax2 @@ -0,0 +1,8 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(select, NULL, NULL, 0, 1, 0, onclick='aaaa...', 17) +SAX.characters(f, 1) +SAX.characters( , 2) +SAX.characters(oo, 2) +SAX.endElementNs(select, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/att4 b/libxml2/result/noent/att4 new file mode 100644 index 0000000..882cea7 --- /dev/null +++ b/libxml2/result/noent/att4 @@ -0,0 +1,9264 @@ + + + + + + + diff --git a/libxml2/result/noent/att4.sax2 b/libxml2/result/noent/att4.sax2 new file mode 100644 index 0000000..553148c --- /dev/null +++ b/libxml2/result/noent/att4.sax2 @@ -0,0 +1,36976 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( edited with XML Spy v4.4 U (http://www.xmlspy.com) by Slava (GIVC) ) +SAX.startElementNs(electroxml, NULL, NULL, 0, 1, 0, modified='2002...', 15) +SAX.characters( + , 2) +SAX.startElementNs(data, NULL, NULL, 0, 2, 0, from='2002...', 11, to='2002...', 11) +SAX.characters( + , 3) +SAX.startElementNs(select, NULL, NULL, 0, 0, 0) +SAX.characters( + , 4) +SAX.startElementNs(device, NULL, NULL, 0, 1, 0, serialnumb='E000...', 9) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='1134...', 6, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='1693...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='196....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='199....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='200....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='201....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='199....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='197....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='193....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='197....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='192....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='197....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='221....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='220"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='221....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='221....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='222"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='221....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='220"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='219"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='221....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='217....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='221....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='224....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='223....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='219"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='221....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='223....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='223....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='221"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='217....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='219"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='223....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='222"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='224....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='219"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='221"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='225....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='225"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='223....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='224....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='223....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='190"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='122....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='354....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='333....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='323....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='278....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='286....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='292....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='21.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='273....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='272....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='285....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='28.5...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='68.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='147....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='95.7...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='89.6...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='88.3...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='92.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='149....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='148....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='127....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='198....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='182....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='203....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='124....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='159....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='230....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='79.8...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='51.3...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='22.5...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='323....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='341....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='46.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='71.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='71.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='63.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='76.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='58.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='92"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='79.6...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='63.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='51.3...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='81.7...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='205....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='96.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='95.7...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='96.7...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='92.8...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='91.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='86.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='270"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='270....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='296....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='306....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='331....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='13.7...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='46.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='262....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='166....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='143....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='127....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='132....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='128....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='155....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='176....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='176....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='168....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='172....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='196....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='178....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='193....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='176....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='196....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='202....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='99.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='130....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='132....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='121....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='100....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='192....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='153....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='155....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='167....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='165....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='184....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='159....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='163....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='163....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='160....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='165"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='156....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='163....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='162....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='154....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='157....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='197....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='203....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='212....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='162"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='149....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='136....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='145....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='164....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='158....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='163"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='161....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='168....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='168....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='165....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='168....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='163....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='147....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='163"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='166....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='177....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='179....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='161"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='174....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='203....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='158....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='172....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='172....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='168....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='138"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='135....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='157....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='160....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='175....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='184....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='170"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='173....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='167"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='172....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='164....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='166....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='151....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='158....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='160....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='207....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='214....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='213....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='210....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='178....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='162....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='156....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='153....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='143....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='160....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='153....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='163....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='168....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='169....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='139....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='142....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='122....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='125....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='110....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='110....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='190....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='99.6...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='209....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='76.2...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='61.5...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='44.5...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='44.2...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='60.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='64.6...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='67.3...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='341....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='115....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='117....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='252....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='261....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='313....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='311....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='292"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='57.6...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='151....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='92.7...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='93.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='100....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='97.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='184"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='289....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='274....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='39.8...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='6.5"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='355....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='19.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='44.2...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='61.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='55.5...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='60.2...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='71.7...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='66.3...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='61.5...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='38.5...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='17.3...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='35.6...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='44.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='71.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='166....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='125"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='176"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='99.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='90"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='273....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='344....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='307....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='271....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='278....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='291....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='52.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='76.6...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='87.6...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='174....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='175....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='183....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='181....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='173....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='165....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='163....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='161....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='165....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='173....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='201....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='205....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='204....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='204....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='208....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='204....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='193....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='192....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='194....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='184....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='184....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='194....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='192....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='192....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='190....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='191....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='191....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='197....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='189....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='201....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='202....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='204....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='196....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='182....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='162....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='179....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='181....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='183....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='182....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='176....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='175....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='178....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='223....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='228....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='229....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='216....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='226....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='249....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='245....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='250....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='251....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='252....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='259....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='254....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='228....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='227....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='214....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='217"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='231....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='230....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='52"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='340....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='18.5...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='357....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='344....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='338....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='28.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='21.8...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='10.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='343....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='342....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='358....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='353....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='353....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='1.4"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='6.4"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='10.5...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='350....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='350....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='357....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='181....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='184....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='192....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='193....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='194....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='190....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='195"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='198....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='198....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='199....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='200....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='202....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='200....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='203....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='204....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='193....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='184....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='190....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='192....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='182....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='168....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='164....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='154....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='134....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='154....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='182....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='176"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='206....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='216....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='211....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='210....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='211....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='192....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='176....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='171....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='129....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='173....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='157....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='161....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='163....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='176....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='166....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='161....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='159....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='177....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='183....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='182....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='189....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='173....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='179....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='193....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='202....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='197....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='178....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='160....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='168....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='184"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='191....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='177....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='182....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='176....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='169....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='159....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='190....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='173....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='175....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='160"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='175....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='192....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='200....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='116....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='166....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='162....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='130....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='122"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='193....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='183....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='157....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='142....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='145....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='182....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='182....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='173....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='179....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='169....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='164....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='178....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='158"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='161....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='175....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='169....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='191....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='176....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='167....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='154....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='167"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='166....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='146....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='155....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='157....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='189....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='179....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='139....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='161....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='172"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='189....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='198....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='193....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='198....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='180....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='161....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='165....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='165....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='160....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='147....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='196....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='178....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='177....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='172"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='156....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='154....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='157"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='179....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='166"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='172....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='196....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='179....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='202....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='209....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='204....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='199....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='175....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='159....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='156....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='137....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='146"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='139....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='143....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='137....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='177....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='184....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='191....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='146....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='161....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='1069...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='8612...', 4, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='25.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='24.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='23.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='23.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='22.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='22.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='26.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='28.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='34.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='40.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='40.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='38.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='35.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='34.1...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='0.04...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='0.04...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='36.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='17.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='8.35...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='5.95...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='7.13...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='8.64...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='6.42...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='10.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='14.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='3.54...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='3.8"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='6.09...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='5.20...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='7.52...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='11.3...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='0.95...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='5.77...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='21.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='22.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='19.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='1.26...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='3.13...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='6.09...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='7.27...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='9.37...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='7.71...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='8.18...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='9.84...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='5.25...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='2.64...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='7.17...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='19.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='4.70...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='5.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='5.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='4.40...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='5.16...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='10.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='5.09...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='10.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='4.08...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='5.22...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='6.62...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='2.57...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='3.76...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='2.92...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='4.23...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='2.44...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='10.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='15.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='10.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='14.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='11.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='7.26...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='3.27...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='12.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='8.86...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='8.42...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='7.50...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='7.80...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='10.9...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='5.74...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='2.08...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='7.75...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='16.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='18.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='18.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='16.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='13.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='14.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='14.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='14.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='15.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='20.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='20.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='16.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='17.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='11.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='10.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='8.73...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='14.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='4.86...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='4.14...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='6.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='14.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='9.98...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='11.9...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='15.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='22.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='22.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='24.1...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='23.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='23.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='24.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='25.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='24.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='25.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='23.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='19.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='19.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='16.1...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='16.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='16.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='14.2...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='14.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='9.55...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='9.07...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='8.33...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='9.77...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='14.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='16.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='19.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='23.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='23.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='25.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='21.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='19.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='21.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='21.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='22.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='25.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='23.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='20.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='22.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='18.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='16.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='13.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='13.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='8.71...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='8.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='8.19...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='8.30...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='10.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='14.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='15.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='19.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='23.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='20.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='26.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='21.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='21.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='22.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='19.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='0.01...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='0.01...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='0.01...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='0.01...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='0.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='0.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='0.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0.27...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0.09...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0.14...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0.20...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0.07...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0.05...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0.44...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0.16...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0.15...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0.23...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0.33...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0.04...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0.14...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0.08...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0.05...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0.23...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0.20...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0.16...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0.07...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0.15...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0.18...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0.14...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0.15...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0.16...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0.30...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0.16...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0.14...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0.25...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0.19...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0.30...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0.03...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0.04...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0.09...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0.14...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0.09...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0.07...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0.17...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0.08...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0.60...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0.67...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0.72...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0.47...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0.47...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0.49...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0.49...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0.57...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0.62...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='35.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='33.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='35.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='32.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='28.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='29.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='30.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='28.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='27.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='28.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='25.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='25.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='30.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='32.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='38.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='64.3...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='63.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='60.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='57.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='59.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='56.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='60.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='56.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='37.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='40.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='38.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='32.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='30.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='26.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='21.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='21.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='21.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='20.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='19.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='20.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='25.6...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='29.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='31.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='28.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='32.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='32.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='29.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='29.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='29.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='29.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='29.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='10.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='18.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='23.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='25.8...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='13.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='15.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='22.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='20.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='14.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='17.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='18.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='14.8...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='11.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='6.40...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='13.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='18.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='16.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='16.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='17.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='16.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='16.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='4.33...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='4.33...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='21.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='20.8...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='22.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='22.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='34.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='33.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='32.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='33.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='34.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='36.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='36.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='36.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='37.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='37.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='37.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='32.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='31.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='31.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='15.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='17.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='17.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='16.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='17.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='18.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='32.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='37.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='36.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='37.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='37.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='35.9...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='34.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='31.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='27.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='27.7...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='27.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='9.65...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='8.98...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='8.87...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='11.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='11.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='13.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='12.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='13.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='12.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='12.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='12.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='11.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='11.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='13.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='20.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='17.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='17.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='17.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='15.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='18.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='19.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='15.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='14.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='14.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='10.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='10.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='10.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='12.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='18.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='17.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='24.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='27.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='31.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='28.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='26.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='27.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='31.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='30.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='33.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='31.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='27.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='26.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='22.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='21.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='20.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='20.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='17.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='14.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='14.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='13.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='14.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='18.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='22.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='29.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='30.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='31.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='30.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='30.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='29.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='29.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='30.4...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='31.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='28.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='28.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='27.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='26.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='24.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='18.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='17.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='16.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='18.4...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='9.83...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='9.73...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='12.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='17.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='17.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='19.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='22.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='25.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='28.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='28.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='23.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='22.6...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='22.1...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='27.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='27.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='29.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='27.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='25.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='25.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='23.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='21.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='19.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='15.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='16.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='15.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='13.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='14.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='15.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='18.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='22.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='26.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='34.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='35.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='36.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='34.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='32.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='33.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='31.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='36.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='30.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='28.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='28.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='27.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='26.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='21.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='20.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='17.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='17.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='17.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='16.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='17.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='20.9...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='21.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='25.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='31.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='33.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='82.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='46.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='22.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='31.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='30.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='28.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='30.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='31.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='28.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='27.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='24.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='22.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='23.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='17.5...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='17.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='18.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='20.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='19.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='18.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='18.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='18.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='18.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='23.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='23.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='26.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='24.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='23.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='23.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='24"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='22.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='26.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='25.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='25.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='24.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='23.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='18.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='15.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='8608...', 4, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='8604...', 4, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='21.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='20.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='19.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='19.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='18.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='18.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='22.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='24.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='29.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='35.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='35.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='33.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='30.7...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='29.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='0.07...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='30.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='16.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='10.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='3.83...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='3.30...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='4.19...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='2.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='4.91...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='7.89...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='2.93...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='1.48...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='2.19...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='1.67...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='5.98...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='10.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='3.65...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='7.25...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='19.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='21.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='18.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='3.45...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='4.91...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='7.33...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='7.20...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='9.19...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='8.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='7.68...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='8.66...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='7.73...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='5.14...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='5.08...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='18.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='4.67...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='3.97...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='2.24...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='2.51...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='4.78...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='10.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='5.86...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='9.66...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='5.19...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='5.35...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='7.74...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='3.65...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='4.23...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='3.28...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='5.65...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='2.24...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='12.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='15.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='11.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='15.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='12.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='8.53...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='1.47...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='7.44...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='4.26...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='3.80...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='3.75...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='5.53...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='9.52...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='1.98...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='4.15...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='9.62...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='17.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='19.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='19.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='14.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='12.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='13.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='13.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='13.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='13.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='18.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='17.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='15.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='15.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='11.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='9.89...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='7.99...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='13.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='6.33...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='5.63...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='7.36...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='14.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='9.67...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='12.8...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='14.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='21.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='21.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='22.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='20.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='22.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='22.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='24.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='23.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='23.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='22.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='18.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='18.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='15.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='16.3...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='15.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='12.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='12.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='8.94...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='8.83...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='8.79...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='10.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='13.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='15.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='19.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='22.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='21.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='23.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='20.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='18.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='20.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='19.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='21.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='23.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='21.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='19.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='20.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='17.3...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='16.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='13.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='12.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='8.96...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='8.31...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='8.35...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='8.49...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='10.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='13.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='15.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='18.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='22.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='19.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='23.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='20.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='19.8...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='20.8...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='18.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='0.02...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='0.02...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='0.01...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='0.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='0.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='0.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='0.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='0.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='0.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='0.01...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0.26...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0.12...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0.16...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0.22...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0.24...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0.23...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0.23...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0.07...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0.08...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0.41...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0.19...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0.15...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0.14...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0.30...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0.20...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0.09...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0.03...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0.08...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0.25...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0.22...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0.19...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0.04...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0.15...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0.09...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0.12...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0.18...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0.28...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0.16...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0.15...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0.24...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0.18...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0.09...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0.09...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0.29...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0.07...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0.04...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0.07...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0.07...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0.17...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0.22...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0.57...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0.63...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0.67...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0.45...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0.46...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0.47...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0.48...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0.56...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0.59...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='34.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='33.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='34.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='31.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='26.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='26.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='28.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='25.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='24.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='25.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='22.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='22.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='28.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='30.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='35.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='61.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='61.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='58.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='54.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='56.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='53.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='57.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='53.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='36.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='36.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='35.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='29.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='28.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='25.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='19.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='19.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='19.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='18.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='18.1...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='20.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='25.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='27.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='29.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='27.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='30.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='29.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='28.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='28.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='28.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='28.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='28.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='11.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='14.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='19.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='20.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='11.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='12.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='16.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='15.1...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='9.95...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='12.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='12.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='9.68...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='6.80...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='4.55...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='10.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='14.6...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='14.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='13.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='15.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='13.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='12.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='3.99...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='2.18...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='16.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='14.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='16.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='15.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='29.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='27.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='25.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='24.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='25.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='28.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='28.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='28.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='30.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='30.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='30.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='24.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='23.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='23.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='15.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='16.6...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='16.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='15.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='16.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='16.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='27.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='31.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='31.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='32.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='31.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='30.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='29.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='27.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='23.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='23.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='23.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='8.57...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='7.91...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='7.85...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='9.84...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='10.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='11.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='11.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='12.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='11.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='11.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='10.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='10.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='10.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='13.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='19.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='16.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='15.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='15.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='14.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='15.7...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='16.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='13.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='11.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='11.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='9.24...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='8.96...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='9.42...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='11.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='18.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='15.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='23.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='26.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='29.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='25.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='25.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='26.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='30.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='28.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='30.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='28.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='24.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='23.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='21.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='19.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='18.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='17.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='15.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='13.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='13.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='12.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='13.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='17.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='21.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='25.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='27.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='28.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='27.6...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='28.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='27.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='27.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='28.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='27.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='26.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='25.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='24.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='24.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='22.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='17.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='16.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='14.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='18.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='10.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='10.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='13.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='17.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='15.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='17.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='21.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='24.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='26.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='27.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='22.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='21.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='20.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='25.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='25.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='27.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='25.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='24.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='23.8...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='22.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='20.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='18.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='14.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='14.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='14.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='13.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='13.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='15.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='17.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='20.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='24.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='32.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='34.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='34.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='31.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='29.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='30.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='29.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='34.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='28.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='25.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='26.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='24.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='24.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='20.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='18.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='15.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='15.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='15.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='15.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='16.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='19.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='20.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='23.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='29.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='31.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='75.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='41.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='21.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='29.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='28.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='27.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='28.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='29.3...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='26.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='25.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='23.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='21.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='20.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='16.3...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='15.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='16.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='17.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='16.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='16.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='17.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='18.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='18.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='22.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='22.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='25.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='22.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='22.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='22.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='23.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='21.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='23.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='23.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='22.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='22.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='23.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='18.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='14.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='9812...', 4, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='114....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='109....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='124....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='127....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='121....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='113....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='113....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='118....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='116....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='114....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='114....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='122....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='121....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='122....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='113....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='121....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='125....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='127....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='128....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='127....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='127....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='127....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='124....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='124....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='121....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='122....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='122....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='121....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='115....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='124....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='125....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='119....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='121....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='9808...', 4, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='9804...', 4, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='113....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='109....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='125....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='127....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='112....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='122....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='122....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='113....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='122....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='114....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='114....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='121....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='113....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='121....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='122....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='124....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='128....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='126....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='125....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='116....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='125....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='121....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='123....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='122....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='121....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='118....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='114....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='124....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='4406...', 6, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='-127...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='-148...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='-156...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='-164...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='-144...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='-127...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='-104...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='-169...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='-176...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='-166...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='-206...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='-199...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='-192...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='-201...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='-184...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='-631...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='1564...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='-66"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='-393...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='-691...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='-883...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='-157...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='-220...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='109"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='-420...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='-859...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='-628...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='516"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='1839...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='293"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='1185...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='3946...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='4230...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='3689...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='248"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='430"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='1026...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='-526...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='-258...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='-65"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='-489...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='-842...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='1082...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='310"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='-111...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='3632...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='513"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='214"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='-292...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='-127...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='495"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='1815...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='818"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='1539...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='680"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='712"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='1280...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='397"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='493"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='250"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='785"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='-201...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='2156...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='2937...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='2107...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='2824...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='2269...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='1441...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='-297...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='-228...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='-118...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='-964...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='-442...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='261"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='1309...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='-849...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='178"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='1111...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='2750...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='2769...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='2973...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='1327...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='454"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='199"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='167"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='556"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='416"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='-370...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='-115...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='93"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='-843...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='171"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='-646...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='-723...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='2665...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='837"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='698"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='1097...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='2649...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='-495...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='1165...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='542"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='1871...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='979"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='1210...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='-356...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='1654...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='1368...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='1462...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='1612...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='1309...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='1886...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='1136...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='1169...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='1403...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='1316...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='-104...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='-119...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='-160...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='-199...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='-252...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='585"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='1069...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='1973...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='1831...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='1127...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='1767...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='1343...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='1564...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='849"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='805"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='1093...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='880"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='1254...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='2664...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='1368...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='1009...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='208"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='22"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='1142...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='286"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='-116...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='712"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='227"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='236"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='372"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='1441...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='2015...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='1211...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='1284...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='369"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='-310...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='-802...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='781"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='491"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='1023...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='516"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='2"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='2"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='2274...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='1775...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='1153...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='769"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='-846...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='-236...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='-296...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='-251...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='-244...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='-286...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='-227...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='-125...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='-716...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='-148...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='-200...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='-105...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='-978...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='-126...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='-317...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='-266...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='-254...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='-237...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='-112...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='1219...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='-106...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='-151...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='-128...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='-190...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='-162...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='-778...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='-173...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='-174...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='-187...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='-120...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='-211...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='1619...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='-764...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='-827...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='40"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='-199...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='-967...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='-680...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='-385...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='-241...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='371"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='471"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='61"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='-244...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='-344...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='-386...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='-165...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='-227...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='-413...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='-373...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='-265...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='-328...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='-337...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='-270...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='-198...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='-797...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='-204...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='-279...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='-193...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='-209...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='-221...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='-267...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='-253...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='453"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='-157...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='1143...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='-146...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='-100...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='-140...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='2949...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='2229...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='1022...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='-162...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='-183...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='-211...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='-767...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='-792...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='173"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='776"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='1249...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='-957...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='-911...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='-243...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='-65"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='-308...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='-811...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='-806...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='-952...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='-716...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='-161...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='-191...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='-180...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='-222...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='-227...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='-231...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='-228...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='-233...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='-186...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='-213...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='-220...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='-296...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='-449...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='-142...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='-422...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='-365...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='-581...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='-263...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='-325...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='-142...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='-355...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='-310...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='496"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='660"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='1246...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='2889...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='1532...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='-143...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='-518...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='225"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='-166...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='-233...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='-172...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='-148...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='-151...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='-476...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='-193...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='128"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='376"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='2872...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='408"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='1923...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='1830...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='1798...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='334"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='1260...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='1815...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='2272...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='262"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='-387...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='-613...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='-251...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='-885...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='551"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='48"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='-982...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='-161...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='-112...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='-381...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='-441...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='71"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='1020...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='760"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='-319...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='-114...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='302"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='-319...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='-582...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='408"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='1031...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='1139...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='2082...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='-120...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='622"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='456"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='-736...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='-818...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='1684...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='307"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='-801...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='-125...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='3308...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='506"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='639"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='1963...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='2867...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='-831...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='-270...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='2010...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='3408...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='3190...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='-187...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='-225...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='531"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='-823...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='62"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='1079...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='1547...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='900"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='112"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='1780...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='1407...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='298"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='565"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='-311...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='-657...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='168"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='647"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='1427...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='829"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='-5"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='1197...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='3751...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='2991...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='2801...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='-118...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='-828...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='-799...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='57"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='4601...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='1911...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='799"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='-972...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='-708...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='-790...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='-490...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='-131...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='-825...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='-101...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='-117...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='-35"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='1352...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='1059...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='1290...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='2079...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='3618...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='-468...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='-247...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='-556...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='189"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='260"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='816"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='2489...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='2732...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='2234...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='57"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='1219...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='632"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='-136...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='38"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='-980...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='-150...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='-211...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='-161...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='-131...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='-432...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='309"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='685"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='1692...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='1899...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='3622...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='2709...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='3037...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='2898...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='3251...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='186"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='-636...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='-421...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='-729...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='-978...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='2670...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='1255...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='-496...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='4246...', 6, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='-431...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='-416...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='-410...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='-409...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='-398...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='-393...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='-443...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='-532...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='-629...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='-733...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='-754...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='-724...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='-686...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='-645...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='-646...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='-354...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='-986...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='697"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='776"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='925"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='125"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='456"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='903"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='278"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='27"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='43"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='173"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='947"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='728"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='-452...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='-117...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='23"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='182"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='-152...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='-423...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='-705...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='-790...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='-157...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='-202...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='-175...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='-172...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='-190...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='-741...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='-812...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='-891...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='652"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='411"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='516"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='398"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='382"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='470"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='591"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='267"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='770"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='164"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='438"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='-43"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='72"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='249"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='201"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='115"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='-425...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='-229...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='-284...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='-247...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='-135...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='-54"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='96"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='16"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='598"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='721"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='818"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='1067...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='1245...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='-117...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='-721...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='-150...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='-208...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='-255...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='-234...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='-292...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='-271...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='-285...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='-292...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='-280...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='-303...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='-401...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='-391...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='-341...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='-344...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='-256...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='-213...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='-176...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='-465...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='-702...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='-647...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='-676...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='-509...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='-215...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='-235...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='-317...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='-403...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='-433...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='-465...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='-466...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='-434...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='-457...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='-492...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='-460...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='-486...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='-430...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='-389...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='-378...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='-298...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='-309...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='-333...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='-268...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='-252...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='-207...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='-198...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='-178...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='-179...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='-207...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='-269...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='-393...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='-440...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='-436...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='-469...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='-430...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='-392...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='-410...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='-418...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='-434...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='-416...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='-445...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='-413...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='-449...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='-388...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='-329...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='-286...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='-266...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='-177...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='-181...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='-182...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='-180...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='-159...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='-205...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='-296...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='-362...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='-483...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='-429...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='-525...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='-440...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='-432...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='-442...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='-395...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='-4"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='-4"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='-4"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='-4"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='-686...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='-679...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='-725...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='-673...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='-603...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='-589...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='-606...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='-548...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='-544...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='-533...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='-498...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='-519...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='-631...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='-683...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='-785...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='-135...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='-133...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='-127...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='-118...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='-123...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='-117...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='-126...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='-118...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='-747...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='-812...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='-769...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='-653...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='-617...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='-566...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='-448...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='-430...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='-426...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='-411...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='-410...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='-451...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='-513...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='-603...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='-639...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='-589...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='-669...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='-660...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='-615...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='-612...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='-622...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='-604...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='-600...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='-229...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='-254...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='-308...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='-326...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='-226...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='-215...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='-153...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='-167...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='-960...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='-112...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='-106...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='-505...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='-536...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='-991...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='-181...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='-257...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='-284...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='-260...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='-292...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='-211...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='-207...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='354"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='438"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='3408...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='3269...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='3655...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='3521...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='5431...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='5560...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='5660...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='5623...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='5896...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='6656...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='6647...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='6733...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='6914...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='6873...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='6691...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='5814...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='5617...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='5608...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='-323...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='-365...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='-362...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='-344...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='-360...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='-373...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='-599...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='-671...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='-658...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='-676...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='-680...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='-652...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='-617...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='-567...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='-491...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='-491...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='-480...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='-198...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='-181...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='-183...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='-225...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='-232...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='-268...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='-267...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='-277...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='-268...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='-265...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='-255...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='-235...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='-231...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='-258...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='-281...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='-318...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='-357...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='-354...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='-314...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='-334...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='-313...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='-280...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='-250...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='-249...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='-215...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='-213...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='-215...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='-249...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='-236...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='-351...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='-456...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='-534...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='-605...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='-579...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='-534...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='-539...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='-597...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='-609...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='-677...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='-637...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='-547...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='-538...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='-460...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='-431...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='-405...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='-386...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='-348...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='-311...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='-301...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='-294...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='-281...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='-364...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='-449...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='-579...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='-619...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='-617...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='-610...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='-621...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='-589...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='-598...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='-563...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='-621...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='-578...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='-572...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='-553...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='-540...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='-460...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='-387...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='-361...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='-329...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='-168...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='-207...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='-205...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='-167...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='-179...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='-348...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='-391...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='-457...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='-478...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='-445...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='-469...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='-483...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='-465...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='-445...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='-539...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='-553...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='-586...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='-522...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='-516...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='-525...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='-438...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='-421...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='-401...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='-322...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='-331...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='-318...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='-297...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='-294...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='-293...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='-357...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='-454...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='-511...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='-573...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='-651...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='-677...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='-675...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='-636...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='-654...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='-627...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='-540...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='-579...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='-564...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='-574...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='-544...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='-544...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='-455...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='-401...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='-348...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='-361...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='-355...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='-340...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='-360...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='-402...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='-418...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='-499...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='-581...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='-559...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='-152...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='-869...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='-457...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='-631...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='-610...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='-575...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='-576...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='-564...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='-524...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='-556...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='-487...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='-461...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='-461...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='-361...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='-346...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='-356...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='-367...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='-361...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='-362...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='-386...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='-396...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='-388...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='-438...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='-427...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='-396...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='-400...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='-356...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='-387...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='-356...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='-469...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='-519...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='-521...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='-503...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='-496...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='-404...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='-370...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='-321...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='4382...', 6, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='-110...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='-128...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='-135...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='-142...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='-124...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='-110...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='-909...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='-147...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='-152...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='-143...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='-178...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='-175...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='-168...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='-174...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='-159...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='-500...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='1379...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='-45"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='-346...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='-580...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='-752...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='-136...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='-190...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='101"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='-366...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='-740...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='-550...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='432"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='1595...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='275"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='1019...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='3444...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='3629...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='3203...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='215"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='380"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='890"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='-446...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='-200...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='-44"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='-424...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='-718...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='946"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='276"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='-944...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='3129...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='453"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='194"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='-246...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='-122...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='430"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='1582...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='720"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='1333...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='588"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='642"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='1096...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='313"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='374"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='204"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='692"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='-196...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='1888...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='2502...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='1840...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='2437...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='1930...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='1219...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='-250...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='-197...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='-102...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='-107...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='-388...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='229"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='1131...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='-726...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='166"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='965"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='2341...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='2354...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='2565...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='1136...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='367"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='173"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='156"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='460"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='358"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='-308...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='-100...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='93"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='-723...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='147"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='-551...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='-626...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='2316...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='714"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='600"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='953"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='2267...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='-403...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='999"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='475"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='1663...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='829"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='1055...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='-314...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='1431...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='1201...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='1280...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='1431...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='1145...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='1635...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='957"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='1019...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='1219...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='1143...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='-893...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='-101...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='-138...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='-182...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='-220...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='502"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='940"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='1719...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='1592...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='960"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='1537...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='1177...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='1337...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='737"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='723"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='917"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='794"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='1075...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='2328...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='1192...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='867"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='184"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='12"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='978"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='256"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='-100...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='614"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='205"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='195"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='316"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='1241...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='1748...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='1046...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='1099...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='309"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='-202...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='-722...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='680"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='440"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='870"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='475"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='2"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='1959...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='1506...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='1027...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='677"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='-759...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='-204...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='-255...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='-217...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='-212...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='-248...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='-198...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='-107...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='-524...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='-136...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='-175...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='-893...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='-845...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='-114...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='-271...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='-229...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='-220...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='-203...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='-997...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='1048...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='-955...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='-133...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='-112...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='-162...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='-141...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='-671...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='-150...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='-151...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='-161...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='-103...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='-192...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='1397...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='-627...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='-711...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='20"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='-130...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='-843...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='-642...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='-320...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='-210...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='295"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='417"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='37"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='-210...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='-298...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='-332...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='-143...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='-198...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='-357...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='-323...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='-228...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='-284...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='-294...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='-234...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='-171...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='-668...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='-176...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='-241...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='-172...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='-183...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='-188...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='-234...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='-217...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='374"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='-132...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='993"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='-150...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='-843...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='-119...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='2577...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='1582...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='909"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='-140...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='-159...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='-186...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='-658...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='-679...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='89"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='680"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='1095...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='-832...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='-785...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='-228...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='-40"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='-280...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='-697...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='-697...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='-811...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='-629...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='-140...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='-166...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='-157...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='-192...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='-197...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='-201...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='-198...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='-200...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='-161...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='-185...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='-190...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='-251...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='-386...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='-121...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='-365...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='-313...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='-506...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='-232...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='-288...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='-121...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='-310...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='-245...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='439"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='609"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='1078...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='2491...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='1327...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='-115...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='-442...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='203"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='-143...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='-201...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='-149...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='-128...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='-130...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='-409...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='-162...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='90"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='319"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='2483...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='357"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='1681...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='1572...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='1575...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='302"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='1076...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='1555...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='1971...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='239"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='-351...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='-527...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='-215...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='-782...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='452"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='60"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='-848...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='-138...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='-989...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='-325...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='-382...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='60"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='884"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='659"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='-264...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='-990...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='289"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='-292...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='-542...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='366"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='909"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='992"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='1808...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='-104...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='543"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='377"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='-619...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='-712...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='1459...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='257"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='-696...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='-108...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='2873...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='421"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='557"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='1696...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='2480...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='-707...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='-237...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='1730...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='2990...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='2746...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='-174...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='-194...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='485"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='-729...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='70"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='907"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='1297...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='776"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='123"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='1557...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='1208...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='253"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='508"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='-274...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='-571...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='146"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='567"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='1222...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='733"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='8"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='1041...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='3222...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='2576...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='2422...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='-103...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='-746...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='-661...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='45"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='3983...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='1694...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='709"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='-844...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='-605...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='-661...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='-436...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='-115...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='-716...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='-877...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='-102...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='1185...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='884"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='1103...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='1789...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='3132...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='-403...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='-211...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='-498...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='174"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='210"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='710"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='2127...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='2386...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='1916...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='1070...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='564"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='-118...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='34"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='-847...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='-131...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='-184...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='-140...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='-112...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='-372...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='269"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='572"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='1413...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='1586...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='3161...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='2347...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='2627...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='2502...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='2818...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='158"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='-545...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='-370...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='-624...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='-847...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='2315...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='1099...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='-417...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='4222...', 6, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='-430...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='-416...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='-409...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='-408...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='-396...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='-396...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='-441...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='-535...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='-631...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='-729...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='-751...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='-735...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='-689...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='-646...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='-632...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='-351...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='-963...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='644"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='700"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='942"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='99"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='464"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='912"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='289"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='32"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='46"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='200"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='921"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='744"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='-561...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='-68"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='31"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='142"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='-123...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='-451...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='-729...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='-712...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='-158...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='-198...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='-175...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='-175...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='-189...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='-827...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='-882...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='-899...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='644"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='417"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='524"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='400"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='372"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='484"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='591"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='336"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='741"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='114"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='507"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='-51"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='136"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='334"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='235"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='116"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='-417...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='-232...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='-184...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='-219...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='-134...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='-51"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='143"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='11"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='600"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='644"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='836"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='1068...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='1213...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='-135...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='-755...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='-149...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='-201...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='-256...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='-233...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='-289...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='-278...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='-291...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='-291...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='-283...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='-301...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='-409...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='-397...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='-337...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='-342...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='-255...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='-218...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='-175...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='-477...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='-709...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='-653...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='-653...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='-468...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='-211...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='-223...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='-319...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='-408...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='-430...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='-455...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='-462...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='-430...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='-460...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='-485...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='-461...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='-481...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='-424...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='-391...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='-380...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='-302...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='-303...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='-329...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='-268...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='-253...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='-208...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='-198...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='-179...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='-179...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='-207...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='-272...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='-401...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='-432...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='-433...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='-472...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='-433...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='-390...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='-411...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='-432...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='-434...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='-416...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='-435...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='-416...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='-445...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='-389...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='-328...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='-286...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='-266...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='-179...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='-179...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='-182...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='-178...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='-158...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='-208...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='-288...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='-355...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='-483...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='-432...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='-539...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='-445...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='-427...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='-435...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='-390...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='-4"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='-4"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='-4"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='-4"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='-684...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='-684...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='-727...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='-671...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='-604...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='-587...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='-606...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='-548...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='-543...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='-534...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='-498...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='-519...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='-632...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='-692...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='-788...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='-134...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='-133...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='-128...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='-119...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='-124...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='-116...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='-125...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='-119...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='-756...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='-810...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='-767...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='-656...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='-616...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='-566...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='-447...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='-430...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='-425...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='-412...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='-412...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='-449...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='-513...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='-596...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='-635...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='-596...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='-661...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='-661...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='-619...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='-623...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='-631...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='-607...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='-607...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='-239...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='-260...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='-305...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='-333...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='-223...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='-213...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='-154...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='-167...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='-969...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='-112...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='-107...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='-481...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='-537...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='-995...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='-181...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='-263...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='-292...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='-259...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='-289...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='-217...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='-209...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='311"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='399"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='3486...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='3357...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='3670...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='3580...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='5398...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='5478...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='5618...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='5659...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='5923...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='6651...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='6654...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='6713...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='6885...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='6893...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='6705...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='5853...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='5545...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='5589...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='-321...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='-362...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='-362...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='-347...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='-363...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='-372...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='-603...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='-675...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='-664...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='-677...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='-679...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='-659...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='-613...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='-565...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='-491...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='-490...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='-480...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='-197...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='-182...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='-182...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='-227...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='-233...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='-264...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='-264...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='-274...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='-272...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='-258...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='-254...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='-237...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='-233...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='-256...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='-278...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='-319...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='-358...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='-359...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='-312...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='-333...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='-314...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='-280...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='-248...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='-249...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='-217...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='-213...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='-215...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='-250...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='-239...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='-346...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='-451...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='-535...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='-591...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='-577...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='-528...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='-538...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='-597...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='-610...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='-674...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='-631...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='-553...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='-545...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='-463...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='-434...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='-404...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='-385...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='-351...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='-313...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='-301...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='-290...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='-282...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='-368...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='-450...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='-584...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='-619...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='-616...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='-614...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='-622...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='-593...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='-592...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='-555...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='-624...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='-575...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='-577...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='-546...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='-539...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='-454...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='-387...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='-362...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='-329...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='-168...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='-208...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='-204...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='-167...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='-178...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='-349...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='-408...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='-445...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='-481...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='-440...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='-462...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='-482...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='-464...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='-443...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='-539...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='-555...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='-588...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='-520...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='-520...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='-525...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='-434...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='-419...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='-399...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='-319...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='-332...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='-319...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='-296...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='-295...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='-291...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='-362...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='-456...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='-501...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='-579...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='-660...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='-678...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='-673...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='-643...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='-641...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='-626...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='-537...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='-570...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='-566...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='-581...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='-549...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='-536...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='-453...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='-400...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='-348...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='-359...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='-357...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='-342...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='-361...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='-406...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='-420...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='-497...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='-584...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='-566...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='-151...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='-862...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='-460...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='-632...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='-612...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='-581...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='-580...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='-562...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='-531...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='-554...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='-491...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='-458...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='-467...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='-369...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='-349...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='-358...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='-368...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='-360...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='-368...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='-385...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='-392...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='-395...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='-446...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='-425...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='-391...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='-389...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='-353...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='-379...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='-362...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='-454...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='-517...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='-503...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='-502...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='-502...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='-399...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='-355...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='-320...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='6746...', 6, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='2212...', 155) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='6738...', 6, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0:0:...', 147) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='6734...', 6, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='7289...', 176) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='6730...', 6, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0:0:...', 87) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='2627...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::1...', 258) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0::5...', 185) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='6::1...', 186) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='6::1...', 201) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='629:...', 257) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='2289...', 258) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='1954...', 292) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='2.48...', 279) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0.00...', 304) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='5016...', 313) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='1243...', 68) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='8197...', 288) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='8270...', 280) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='6511...', 268) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='3280...', 278) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='8226...', 56) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='2627...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0::0...', 144) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='0::0...', 162) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='273:...', 298) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='16::...', 298) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='14::...', 323) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='0::0...', 306) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0.03...', 294) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='0::0...', 223) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='0::0...', 28) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='1413...', 268) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='303:...', 270) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='5304...', 297) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='1514...', 280) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='1776...', 61) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='2627...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::4...', 265) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0::8...', 208) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='8::1...', 206) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='8::1...', 222) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='2::4...', 228) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='0::0...', 292) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='4757...', 350) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='3.74...', 307) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0::0...', 234) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='1113...', 339) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='3972...', 63) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='1295...', 285) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='3876...', 321) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='6481...', 322) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='7162...', 331) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='5709...', 61) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='2627...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0::0...', 144) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='0::0...', 157) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='1070...', 279) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='1231...', 208) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='0::0...', 237) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0.03...', 296) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='0::0...', 146) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='0::0...', 28) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='9208...', 271) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='0::0...', 25) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='1314...', 7, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='2703...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='1313...', 7, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='3066...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='1313...', 7, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='1576...', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='1313...', 7, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='1270...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='5251...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::1...', 324) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='2226...', 336) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='2243...', 334) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='2261...', 334) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='2937...', 336) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='3974...', 334) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='4804...', 369) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='5025...', 523) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='5025...', 490) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='5944...', 361) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='1369...', 78) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='1748...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='2118...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='2325...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='2434...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='2668...', 70) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='5251...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0::0...', 144) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='0::0...', 165) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='2745...', 327) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='5015...', 334) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='9659...', 415) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='1317...', 573) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='1317...', 539) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='1382...', 386) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='1443...', 78) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='1627...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='1747...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='2013...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='2534...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='3009...', 70) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='5251...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::4...', 328) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='7309...', 336) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='7346...', 334) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='7382...', 334) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='8444...', 336) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='9988...', 377) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='2254...', 421) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='1520...', 573) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='1520...', 540) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='4071...', 386) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='7095...', 78) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='7709...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='8856...', 400) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='1085...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='1306...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='1537...', 79) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='5251...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0::0...', 144) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='0::0...', 160) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='4546...', 306) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='1353...', 334) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='1715...', 374) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='1715...', 526) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='1715...', 486) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='1715...', 338) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='1715...', 68) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='2636...', 367) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='1270...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='1270...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='1270...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='1270...', 70) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='3460...', 5, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='6094...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='6116...', 432) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='6117...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='6117...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='6123...', 432) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='6134...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='6142...', 449) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='1448...', 572) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='1448...', 543) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='6154...', 434) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='6231...', 88) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='6269...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='6306...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='6327...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='6338...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='6361...', 79) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='3380...', 5, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='8817...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='8817...', 480) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='8817...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='8817...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='8818...', 480) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='8822...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='8827...', 495) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='1111...', 570) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='1112...', 552) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='8831...', 482) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='8832...', 98) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='8834...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='8835...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='8838...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='8843...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='8848...', 88) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='3340...', 5, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='9437...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='9510...', 432) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='9511...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='9511...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='9522...', 432) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='9537...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='9663...', 449) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='8980...', 518) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='8983...', 507) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='9844...', 466) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='1014...', 98) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='1020...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='1032...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='1052...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='1074...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='1097...', 88) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='3300...', 5, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='3861...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='3861...', 480) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='3861...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='3861...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='3861...', 480) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='3862...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='3862...', 498) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='2297...', 574) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 4) +SAX.endElementNs(device, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(select, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(data, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(electroxml, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/att5 b/libxml2/result/noent/att5 new file mode 100644 index 0000000..8768e36 --- /dev/null +++ b/libxml2/result/noent/att5 @@ -0,0 +1,40 @@ + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libxml2/result/noent/att5.sax2 b/libxml2/result/noent/att5.sax2 new file mode 100644 index 0000000..22da39d --- /dev/null +++ b/libxml2/result/noent/att5.sax2 @@ -0,0 +1,149 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.attributeDecl(normId, attr, 8, 3, NULL, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( + , 3) +SAX.comment( no normalization ) +SAX.characters( + , 3) +SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr=' '...', 3) +SAX.endElementNs(norm, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr=' f...', 13) +SAX.endElementNs(norm, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr=' fo...', 8) +SAX.endElementNs(norm, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr=' foo...', 9) +SAX.endElementNs(norm, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr='foob...', 8) +SAX.endElementNs(norm, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr=' & ...', 3) +SAX.endElementNs(norm, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr=' f...', 13) +SAX.endElementNs(norm, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr=' fo...', 9) +SAX.endElementNs(norm, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr='&foo...', 9) +SAX.endElementNs(norm, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr='foob...', 9) +SAX.endElementNs(norm, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr=' < ...', 3) +SAX.endElementNs(norm, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr=' f...', 13) +SAX.endElementNs(norm, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr=' fo...', 9) +SAX.endElementNs(norm, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr=' +...', 0) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foo ...', 7) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foob...', 6) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foo ...', 7) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foob...', 6) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='&...', 1) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foo&...', 7) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foob...', 7) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='&foo...', 8) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foob...', 8) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='<...', 1) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foo<...', 7) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foob...', 7) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr=' + + + pvalue->ReferencedOrder.SellersOrderID + + diff --git a/libxml2/result/noent/att6.sax2 b/libxml2/result/noent/att6.sax2 new file mode 100644 index 0000000..54dd6d3 --- /dev/null +++ b/libxml2/result/noent/att6.sax2 @@ -0,0 +1,20 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(Invoice, NULL, 'urn:oasis:names:tc:ubl:Invoice:1.0:0.70', 4, xmlns:ccts='urn:oasis:names:tc:ubl:CoreComponentParameters:1.0:0.70', xmlns:cct='urn:oasis:names:tc:ubl:CoreComponentTypes:1.0:0.70', xmlns:cat='urn:oasis:names:tc:ubl:CommonAggregateTypes:1.0:0.70', xmlns='urn:oasis:names:tc:ubl:Invoice:1.0:0.70', 0, 0) +SAX.characters( + , 4) +SAX.startElementNs(ReferencedOrder, cat, 'urn:oasis:names:tc:ubl:CommonAggregateTypes:1.0:0.70', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(SellersOrderID, cat, 'urn:oasis:names:tc:ubl:CommonAggregateTypes:1.0:0.70', 0, 11, 0, schemeID='pval...', 47, schemeAgencyID='pval...', 53, schemeVersionID='pval...', 54, schemeAgencySchemeID='pval...', 59, schemeAgencySchemeAgencyID='pval...', 65, schemeDataURI='pval...', 52, schemeURI='pval...', 48, UID='pval...', 42, UIDRef='pval...', 45, UIDRefs='pval...', 47, language='pval...', 47) +SAX.characters(pvalue-, 7) +SAX.characters(>, 1) +SAX.characters(ReferencedOrder.SellersOrderID, 30) +SAX.endElementNs(SellersOrderID, cat, 'urn:oasis:names:tc:ubl:CommonAggregateTypes:1.0:0.70') +SAX.characters( + , 4) +SAX.endElementNs(ReferencedOrder, cat, 'urn:oasis:names:tc:ubl:CommonAggregateTypes:1.0:0.70') +SAX.characters( +, 1) +SAX.endElementNs(Invoice, NULL, 'urn:oasis:names:tc:ubl:Invoice:1.0:0.70') +SAX.endDocument() diff --git a/libxml2/result/noent/att7 b/libxml2/result/noent/att7 new file mode 100644 index 0000000..a58a04d --- /dev/null +++ b/libxml2/result/noent/att7 @@ -0,0 +1,11 @@ + + + + +"> +]> + + + + diff --git a/libxml2/result/noent/att7.sax2 b/libxml2/result/noent/att7.sax2 new file mode 100644 index 0000000..4a5f318 --- /dev/null +++ b/libxml2/result/noent/att7.sax2 @@ -0,0 +1,23 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(x, , ) +SAX.elementDecl(x, 4, ...) +SAX.elementDecl(test, 1, ...) +SAX.attributeDecl(test, att, 1, 1, attvalue, ...) +SAX.entityDecl(test.ent, 1, (null), (null), ) +SAX.getEntity(test.ent) +SAX.externalSubset(x, , ) +SAX.startElementNs(x, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(test, NULL, NULL, 0, 1, 1, att='attv...', 8) +SAX.endElementNs(test, NULL, NULL) +SAX.characters( + , 5) +SAX.getEntity(test.ent) +SAX.startElementNs(test, NULL, NULL, 0, 1, 1, att='attv...', 8) +SAX.endElementNs(test, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(x, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/att8 b/libxml2/result/noent/att8 new file mode 100644 index 0000000..1d807a2 --- /dev/null +++ b/libxml2/result/noent/att8 @@ -0,0 +1,2 @@ + +/bsk:DocPart[@docId='20040308152601345236' and @docPartNo=1]XQL Request processing XQL Request processed diff --git a/libxml2/result/noent/att8.sax2 b/libxml2/result/noent/att8.sax2 new file mode 100644 index 0000000..1f2344a --- /dev/null +++ b/libxml2/result/noent/att8.sax2 @@ -0,0 +1,29 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(response, ino, 'http://namespaces.softwareag.com/tamino/response2', 2, xmlns:ino='http://namespaces.softwareag.com/tamino/response2', xmlns:xql='http://metalab.unc.edu/xql/', 2, 0, ino:sessionid='556"...', 3, ino:sessionkey='1590...', 10) +SAX.startElementNs(query, xql, 'http://metalab.unc.edu/xql/', 0, 0, 0) +SAX.characters(/bsk:DocPart[@docId=, 20) +SAX.characters(', 1) +SAX.characters(20040308152601345236, 20) +SAX.characters(', 1) +SAX.characters( and @docPartNo=1], 18) +SAX.endElementNs(query, xql, 'http://metalab.unc.edu/xql/') +SAX.startElementNs(message, ino, 'http://namespaces.softwareag.com/tamino/response2', 0, 1, 0, ino:returnvalue='0"><...', 1) +SAX.startElementNs(messageline, ino, 'http://namespaces.softwareag.com/tamino/response2', 0, 0, 0) +SAX.characters(XQL Request processing, 22) +SAX.endElementNs(messageline, ino, 'http://namespaces.softwareag.com/tamino/response2') +SAX.endElementNs(message, ino, 'http://namespaces.softwareag.com/tamino/response2') +SAX.startElementNs(result, xql, 'http://metalab.unc.edu/xql/', 0, 0, 0) +SAX.startElementNs(DocPart, bsk, 'http://www.heitec.net/sara4/tamino/basket', 1, xmlns:bsk='http://www.heitec.net/sara4/tamino/basket', 3, 0, docId='2004...', 20, docPartNo='1" i...', 1, ino:id='1529...', 5) +SAX.startElementNs(File, bsk, 'http://www.heitec.net/sara4/tamino/basket', 0, 2, 0, name='4898...', 13, size='7519...', 5) +SAX.characters( , 1) +SAX.endElementNs(File, bsk, 'http://www.heitec.net/sara4/tamino/basket') +SAX.endElementNs(DocPart, bsk, 'http://www.heitec.net/sara4/tamino/basket') +SAX.endElementNs(result, xql, 'http://metalab.unc.edu/xql/') +SAX.startElementNs(message, ino, 'http://namespaces.softwareag.com/tamino/response2', 0, 1, 0, ino:returnvalue='0"><...', 1) +SAX.startElementNs(messageline, ino, 'http://namespaces.softwareag.com/tamino/response2', 0, 0, 0) +SAX.characters(XQL Request processed, 21) +SAX.endElementNs(messageline, ino, 'http://namespaces.softwareag.com/tamino/response2') +SAX.endElementNs(message, ino, 'http://namespaces.softwareag.com/tamino/response2') +SAX.endElementNs(response, ino, 'http://namespaces.softwareag.com/tamino/response2') +SAX.endDocument() diff --git a/libxml2/result/noent/att9 b/libxml2/result/noent/att9 new file mode 100644 index 0000000..e4982a2 --- /dev/null +++ b/libxml2/result/noent/att9 @@ -0,0 +1,6 @@ + + + +]> + diff --git a/libxml2/result/noent/att9.sax2 b/libxml2/result/noent/att9.sax2 new file mode 100644 index 0000000..09b3a04 --- /dev/null +++ b/libxml2/result/noent/att9.sax2 @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.attributeDecl(doc, a1, 8, 1, 1 2, ...) +SAX.elementDecl(doc, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 1, 1, a1='1 2...', 3) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/attrib.xml b/libxml2/result/noent/attrib.xml new file mode 100644 index 0000000..89a1e57 --- /dev/null +++ b/libxml2/result/noent/attrib.xml @@ -0,0 +1,2 @@ + + diff --git a/libxml2/result/noent/attrib.xml.sax2 b/libxml2/result/noent/attrib.xml.sax2 new file mode 100644 index 0000000..c7d2c87 --- /dev/null +++ b/libxml2/result/noent/attrib.xml.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(item, NULL, NULL, 0, 5, 0, title='Icro...', 173, url='http...', 24, first_time='9850...', 9, last_time='9850...', 9, visits='1"/>...', 1) +SAX.endElementNs(item, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/badcomment.xml b/libxml2/result/noent/badcomment.xml new file mode 100644 index 0000000..6b13c11 --- /dev/null +++ b/libxml2/result/noent/badcomment.xml @@ -0,0 +1,17 @@ + + +Char* ']]>' Char*)) +']]>' +CDATA sections +| '<!DOCTYPE' +(Char - ('[' | ']'))+ +('[' +simpleDTD* +']')? '>' +doc type declaration +simpleDTD +'<!&como;' +(Char* - +(Char* '&comc;' Char*)) +'&comc;>'--> + diff --git a/libxml2/result/noent/badcomment.xml.sax2 b/libxml2/result/noent/badcomment.xml.sax2 new file mode 100644 index 0000000..08e5622 --- /dev/null +++ b/libxml2/result/noent/badcomment.xml.sax2 @@ -0,0 +1,24 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(foo, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.comment( def='NT-Char') +SAX.comment(>Char* ']]>' Char*)) +']]>' +CDATA sections +| '<!DOCTYPE' +(Char - ('[' | ']'))+ +('[' +simpleDTD* +']')? '>' +doc type declaration +simpleDTD +'<!&como;' +(Char* - +(Char* '&comc;' Char*)) +'&comc;>') +SAX.characters( +, 1) +SAX.endElementNs(foo, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/bigentname.xml b/libxml2/result/noent/bigentname.xml new file mode 100644 index 0000000..7e7d9d0 --- /dev/null +++ b/libxml2/result/noent/bigentname.xml @@ -0,0 +1,6 @@ + + + +]> +He said "Yes" diff --git a/libxml2/result/noent/bigentname.xml.sax2 b/libxml2/result/noent/bigentname.xml.sax2 new file mode 100644 index 0000000..1067843 --- /dev/null +++ b/libxml2/result/noent/bigentname.xml.sax2 @@ -0,0 +1,15 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(very_big_entity_name01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_very_big_ent_name, 1, (null), (null), "Yes") +SAX.getEntity(very_big_entity_name01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_very_big_ent_name) +SAX.entityDecl(WhatHeSaid, 1, (null), (null), He said &very_big_entity_name01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_very_big_ent_name;) +SAX.getEntity(WhatHeSaid) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.getEntity(WhatHeSaid) +SAX.characters(He said , 8) +SAX.getEntity(very_big_entity_name01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_very_big_ent_name) +SAX.characters("Yes", 5) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/bigname.xml b/libxml2/result/noent/bigname.xml new file mode 100644 index 0000000..885fd7c --- /dev/null +++ b/libxml2/result/noent/bigname.xml @@ -0,0 +1,2 @@ + + diff --git a/libxml2/result/noent/bigname.xml.sax2 b/libxml2/result/noent/bigname.xml.sax2 new file mode 100644 index 0000000..ef939f9 --- /dev/null +++ b/libxml2/result/noent/bigname.xml.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(this_is_a_very_large_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_the_very_large_name, NULL, NULL, 0, 0, 0) +SAX.endElementNs(this_is_a_very_large_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_the_very_large_name, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/bigname2.xml b/libxml2/result/noent/bigname2.xml new file mode 100644 index 0000000..a48c359 --- /dev/null +++ b/libxml2/result/noent/bigname2.xml @@ -0,0 +1,2 @@ + + diff --git a/libxml2/result/noent/bigname2.xml.sax2 b/libxml2/result/noent/bigname2.xml.sax2 new file mode 100644 index 0000000..6b406f4 --- /dev/null +++ b/libxml2/result/noent/bigname2.xml.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(start_nc_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_the_very_large_name, this_is_a_very_large_qualified_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_prefix, 'http://www.example.com/testns/', 1, xmlns:this_is_a_very_large_qualified_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_prefix='http://www.example.com/testns/', 0, 0) +SAX.endElementNs(start_nc_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_the_very_large_name, this_is_a_very_large_qualified_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_prefix, 'http://www.example.com/testns/') +SAX.endDocument() diff --git a/libxml2/result/noent/boundaries1.xml b/libxml2/result/noent/boundaries1.xml new file mode 100644 index 0000000..da20872 --- /dev/null +++ b/libxml2/result/noent/boundaries1.xml @@ -0,0 +1,15 @@ + +"> +"> + ]> -->]> + + c1 --> + +text]>text + + + c2 --> + + + c3 --> diff --git a/libxml2/result/noent/boundaries1.xml.sax2 b/libxml2/result/noent/boundaries1.xml.sax2 new file mode 100644 index 0000000..093ac3b --- /dev/null +++ b/libxml2/result/noent/boundaries1.xml.sax2 @@ -0,0 +1,32 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(d, , ) +SAX.entityDecl(a, 1, (null), (null), ]>) +SAX.getEntity(a) +SAX.entityDecl(b, 1, (null), (null), ]>) +SAX.getEntity(b) +SAX.comment(> ]> ) +SAX.externalSubset(d, , ) +SAX.processingInstruction(pi, p1) +SAX.comment(> c1 ) +SAX.startElementNs(d, NULL, NULL, 0, 2, 0, a='>" b...', 1, b='>'> +...', 1) +SAX.characters( +text, 5) +SAX.getEntity(a) +SAX.characters(]>, 2) +SAX.characters(text +, 5) +SAX.pcdata(cdata, 5) +SAX.characters( +, 1) +SAX.processingInstruction(pi, p2) +SAX.characters( +, 1) +SAX.comment(> c2 ) +SAX.characters( +, 1) +SAX.endElementNs(d, NULL, NULL) +SAX.processingInstruction(pi, p3) +SAX.comment(> c3 ) +SAX.endDocument() diff --git a/libxml2/result/noent/cdata b/libxml2/result/noent/cdata new file mode 100644 index 0000000..180ea46 --- /dev/null +++ b/libxml2/result/noent/cdata @@ -0,0 +1,4 @@ + + +Hello, world!
    ]]> +
    diff --git a/libxml2/result/noent/cdata-2-byte-UTF-8.xml b/libxml2/result/noent/cdata-2-byte-UTF-8.xml new file mode 100644 index 0000000..8552efc --- /dev/null +++ b/libxml2/result/noent/cdata-2-byte-UTF-8.xml @@ -0,0 +1,6 @@ + + + +

    +

    +
    diff --git a/libxml2/result/noent/cdata-2-byte-UTF-8.xml.sax2 b/libxml2/result/noent/cdata-2-byte-UTF-8.xml.sax2 new file mode 100644 index 0000000..2da2d50 --- /dev/null +++ b/libxml2/result/noent/cdata-2-byte-UTF-8.xml.sax2 @@ -0,0 +1,18 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( This tests that two-byte UTF-8 characters are parsed properly when split across a buffer boundary of length XML_PARSER_BIG_BUFFER_SIZE (300 bytes). ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.pcdata(ČČČČČČČČČČ, 1200) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.pcdata( ČČČČČČČČČÄ, 1201) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/cdata-3-byte-UTF-8.xml b/libxml2/result/noent/cdata-3-byte-UTF-8.xml new file mode 100644 index 0000000..b959a12 --- /dev/null +++ b/libxml2/result/noent/cdata-3-byte-UTF-8.xml @@ -0,0 +1,7 @@ + + + +

    +

    +

    +
    diff --git a/libxml2/result/noent/cdata-3-byte-UTF-8.xml.sax2 b/libxml2/result/noent/cdata-3-byte-UTF-8.xml.sax2 new file mode 100644 index 0000000..3969579 --- /dev/null +++ b/libxml2/result/noent/cdata-3-byte-UTF-8.xml.sax2 @@ -0,0 +1,23 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( This tests that three-byte UTF-8 characters are parsed properly when split across a buffer boundary of length XML_PARSER_BIG_BUFFER_SIZE (300 bytes). ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.pcdata(牛牛牛牛牛牛ç‰, 1200) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.pcdata( 牛牛牛牛牛牛ç, 1201) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.pcdata( 牛牛牛牛牛牛, 1202) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/cdata-4-byte-UTF-8.xml b/libxml2/result/noent/cdata-4-byte-UTF-8.xml new file mode 100644 index 0000000..4d1d9a8 --- /dev/null +++ b/libxml2/result/noent/cdata-4-byte-UTF-8.xml @@ -0,0 +1,8 @@ + + + +

    +

    +

    +

    +
    diff --git a/libxml2/result/noent/cdata-4-byte-UTF-8.xml.sax2 b/libxml2/result/noent/cdata-4-byte-UTF-8.xml.sax2 new file mode 100644 index 0000000..5e07d83 --- /dev/null +++ b/libxml2/result/noent/cdata-4-byte-UTF-8.xml.sax2 @@ -0,0 +1,28 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( This tests that four-byte UTF-8 characters are parsed properly when split across a buffer boundary of length XML_PARSER_BIG_BUFFER_SIZE (300 bytes). ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.pcdata(ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ¦, 1200) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.pcdata( ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ, 1201) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.pcdata( ðŸ¦ðŸ¦ðŸ¦ðŸ¦ðŸ, 1202) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.pcdata( ðŸ¦ðŸ¦ðŸ¦ðŸ¦ð, 1203) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/cdata.sax2 b/libxml2/result/noent/cdata.sax2 new file mode 100644 index 0000000..117b2b0 --- /dev/null +++ b/libxml2/result/noent/cdata.sax2 @@ -0,0 +1,10 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.pcdata(Hello, wor, 34) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/cdata2 b/libxml2/result/noent/cdata2 new file mode 100644 index 0000000..b4db791 --- /dev/null +++ b/libxml2/result/noent/cdata2 @@ -0,0 +1,6 @@ + + + ]> + diff --git a/libxml2/result/noent/cdata2.sax2 b/libxml2/result/noent/cdata2.sax2 new file mode 100644 index 0000000..d1420e9 --- /dev/null +++ b/libxml2/result/noent/cdata2.sax2 @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(collection, NULL, NULL, 0, 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(test, NULL, NULL, 0, 0, 0) +SAX.pcdata( + , 1) +SAX.pcdata( + , 3) +SAX.endElementNs(test, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(collection, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/comment.xml b/libxml2/result/noent/comment.xml new file mode 100644 index 0000000..98c5eff --- /dev/null +++ b/libxml2/result/noent/comment.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/libxml2/result/noent/comment.xml.sax2 b/libxml2/result/noent/comment.xml.sax2 new file mode 100644 index 0000000..da57f50 --- /dev/null +++ b/libxml2/result/noent/comment.xml.sax2 @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.comment( document start ) +SAX.characters( +, 1) +SAX.startElementNs(empty, NULL, NULL, 0, 0, 0) +SAX.endElementNs(empty, NULL, NULL) +SAX.characters( +, 1) +SAX.comment( document end ) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/comment2.xml b/libxml2/result/noent/comment2.xml new file mode 100644 index 0000000..9e122ec --- /dev/null +++ b/libxml2/result/noent/comment2.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/libxml2/result/noent/comment2.xml.sax2 b/libxml2/result/noent/comment2.xml.sax2 new file mode 100644 index 0000000..a286744 --- /dev/null +++ b/libxml2/result/noent/comment2.xml.sax2 @@ -0,0 +1,13 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( document start ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.startElementNs(empty, NULL, NULL, 0, 0, 0) +SAX.endElementNs(empty, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.comment( document end ) +SAX.endDocument() diff --git a/libxml2/result/noent/comment3.xml b/libxml2/result/noent/comment3.xml new file mode 100644 index 0000000..395f67c --- /dev/null +++ b/libxml2/result/noent/comment3.xml @@ -0,0 +1,164 @@ + + + diff --git a/libxml2/result/noent/comment3.xml.sax2 b/libxml2/result/noent/comment3.xml.sax2 new file mode 100644 index 0000000..a5f1fd6 --- /dev/null +++ b/libxml2/result/noent/comment3.xml.sax2 @@ -0,0 +1,167 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( test of very very long comments and buffer limits +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/comment4.xml b/libxml2/result/noent/comment4.xml new file mode 100644 index 0000000..93282d8 --- /dev/null +++ b/libxml2/result/noent/comment4.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/libxml2/result/noent/comment4.xml.sax2 b/libxml2/result/noent/comment4.xml.sax2 new file mode 100644 index 0000000..0e2611f --- /dev/null +++ b/libxml2/result/noent/comment4.xml.sax2 @@ -0,0 +1,8 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( test of non ascii comments like là et très ) +SAX.comment(à another one ) +SAX.comment( another one à) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/comment5.xml b/libxml2/result/noent/comment5.xml new file mode 100644 index 0000000..398f974 --- /dev/null +++ b/libxml2/result/noent/comment5.xml @@ -0,0 +1,9 @@ + + + diff --git a/libxml2/result/noent/comment5.xml.sax2 b/libxml2/result/noent/comment5.xml.sax2 new file mode 100644 index 0000000..f0940b2 --- /dev/null +++ b/libxml2/result/noent/comment5.xml.sax2 @@ -0,0 +1,12 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( test of hyphen and line break handling + some text - interrupted - +- - - - - - - - - - - - - - - - - - - - - - + this should stop here^ + + +) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/comment6.xml b/libxml2/result/noent/comment6.xml new file mode 100644 index 0000000..3e6074e --- /dev/null +++ b/libxml2/result/noent/comment6.xml @@ -0,0 +1,14 @@ + + + +]> + diff --git a/libxml2/result/noent/comment6.xml.sax2 b/libxml2/result/noent/comment6.xml.sax2 new file mode 100644 index 0000000..7dd7dc0 --- /dev/null +++ b/libxml2/result/noent/comment6.xml.sax2 @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +) +SAX.internalSubset(a, , ) +SAX.elementDecl(a, 1, ...) +SAX.externalSubset(a, , ) +SAX.startElementNs(a, NULL, NULL, 0, 0, 0) +SAX.endElementNs(a, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/dav1 b/libxml2/result/noent/dav1 new file mode 100644 index 0000000..cbfd4c4 --- /dev/null +++ b/libxml2/result/noent/dav1 @@ -0,0 +1,25 @@ + + + + + + Box type A + + + J.J. Dingleheimerschmidt + + + HTTP/1.1 200 OK + + + + + + + HTTP/1.1 403 Forbidden + The user does not have access to the DingALing property. + + + There has been an access violation error. + + diff --git a/libxml2/result/noent/dav1.sax2 b/libxml2/result/noent/dav1.sax2 new file mode 100644 index 0000000..44ad11c --- /dev/null +++ b/libxml2/result/noent/dav1.sax2 @@ -0,0 +1,81 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/', 2, xmlns:D='http://www.ietf.org/standards/dav/', xmlns:R='http://www.foo.bar/boxschema', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(bigbox, R, 'http://www.foo.bar/boxschema', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(BoxType, R, 'http://www.foo.bar/boxschema', 0, 0, 0) +SAX.characters(Box type A, 10) +SAX.endElementNs(BoxType, R, 'http://www.foo.bar/boxschema') +SAX.characters( + , 7) +SAX.endElementNs(bigbox, R, 'http://www.foo.bar/boxschema') +SAX.characters( + , 7) +SAX.startElementNs(author, R, 'http://www.foo.bar/boxschema', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(Name, R, 'http://www.foo.bar/boxschema', 0, 0, 0) +SAX.characters(J.J. Dingleheimerschmidt, 24) +SAX.endElementNs(Name, R, 'http://www.foo.bar/boxschema') +SAX.characters( + , 7) +SAX.endElementNs(author, R, 'http://www.foo.bar/boxschema') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 200 OK, 15) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(DingALing, R, 'http://www.foo.bar/boxschema', 0, 0, 0) +SAX.endElementNs(DingALing, R, 'http://www.foo.bar/boxschema') +SAX.characters( + , 7) +SAX.startElementNs(Random, R, 'http://www.foo.bar/boxschema', 0, 0, 0) +SAX.endElementNs(Random, R, 'http://www.foo.bar/boxschema') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 403 Forbidden, 22) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(responsedescription, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( The user does not have access, 64) +SAX.endElementNs(responsedescription, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(responsedescription, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( There has been an access viol, 44) +SAX.endElementNs(responsedescription, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/libxml2/result/noent/dav10 b/libxml2/result/noent/dav10 new file mode 100644 index 0000000..4b00da4 --- /dev/null +++ b/libxml2/result/noent/dav10 @@ -0,0 +1,4 @@ + + + http://www.ics.uci.edu/~ejw/contact.html + diff --git a/libxml2/result/noent/dav10.sax2 b/libxml2/result/noent/dav10.sax2 new file mode 100644 index 0000000..e93e22c --- /dev/null +++ b/libxml2/result/noent/dav10.sax2 @@ -0,0 +1,12 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(owner, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.ics.uci.edu/~ejw/co, 40) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(owner, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/libxml2/result/noent/dav11 b/libxml2/result/noent/dav11 new file mode 100644 index 0000000..8ac23d6 --- /dev/null +++ b/libxml2/result/noent/dav11 @@ -0,0 +1,21 @@ + + + + + write + exclusive + + + + http://www.ics.uci.edu/~ejw/contact.html + + + Second-604800 + + + opaquelocktoken:xyz122393481230912asdfa09s8df09s7df + + + + + diff --git a/libxml2/result/noent/dav11.sax2 b/libxml2/result/noent/dav11.sax2 new file mode 100644 index 0000000..d0f2329 --- /dev/null +++ b/libxml2/result/noent/dav11.sax2 @@ -0,0 +1,62 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(lockdiscovery, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(activelock, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(locktype, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(write, 5) +SAX.endElementNs(locktype, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.startElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(exclusive, 9) +SAX.endElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.startElementNs(addlocks, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.endElementNs(addlocks, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.startElementNs(owner, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + http://www.ics.uci.edu/~ejw, 46) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.endElementNs(owner, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.startElementNs(timeout, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(Second-604800, 13) +SAX.endElementNs(timeout, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.startElementNs(locktoken, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + opaquelocktoken:xyz122393, 59) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.endElementNs(locktoken, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.endElementNs(activelock, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(lockdiscovery, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/libxml2/result/noent/dav12 b/libxml2/result/noent/dav12 new file mode 100644 index 0000000..d8d03fe --- /dev/null +++ b/libxml2/result/noent/dav12 @@ -0,0 +1,2 @@ + +http://www.ics.uci.edu/~ejw/contact.html diff --git a/libxml2/result/noent/dav12.sax2 b/libxml2/result/noent/dav12.sax2 new file mode 100644 index 0000000..61715b6 --- /dev/null +++ b/libxml2/result/noent/dav12.sax2 @@ -0,0 +1,6 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters(http://www.ics.uci.edu/~ejw/co, 40) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/libxml2/result/noent/dav13 b/libxml2/result/noent/dav13 new file mode 100644 index 0000000..f44ae38 --- /dev/null +++ b/libxml2/result/noent/dav13 @@ -0,0 +1,16 @@ + + + + + http://webdav.sb.aol.com/workspace/webdav/proposal.doc + + + http://webdav.sb.aol.com/workspace/webdav/ + + HTTP/1.1 202 Accepted + + + http://foo.bar/blah + HTTP/1.1 403 Forbidden + + diff --git a/libxml2/result/noent/dav13.sax2 b/libxml2/result/noent/dav13.sax2 new file mode 100644 index 0000000..f6c5381 --- /dev/null +++ b/libxml2/result/noent/dav13.sax2 @@ -0,0 +1,46 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + http://webdav.sb.aol.com/, 66) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + http://webdav.sb.aol.com/, 54) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 202 Accepted, 21) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://foo.bar/blah, 19) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 403 Forbidden, 22) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/libxml2/result/noent/dav15 b/libxml2/result/noent/dav15 new file mode 100644 index 0000000..b80802e --- /dev/null +++ b/libxml2/result/noent/dav15 @@ -0,0 +1,20 @@ + + + + + Source + http://foo.bar/program + http://foo.bar/src/main.c + + + Library + http://foo.bar/program + http://foo.bar/src/main.lib + + + Makefile + http://foo.bar/program + http://foo.bar/src/makefile + + + diff --git a/libxml2/result/noent/dav15.sax2 b/libxml2/result/noent/dav15.sax2 new file mode 100644 index 0000000..6040cd1 --- /dev/null +++ b/libxml2/result/noent/dav15.sax2 @@ -0,0 +1,76 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 2, xmlns:D='http://www.ietf.org/standards/dav/', xmlns:F='http://www.foocorp.com/Project/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(Source, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(link, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(projfiles, F, 'http://www.foocorp.com/Project/', 0, 0, 0) +SAX.characters(Source, 6) +SAX.endElementNs(projfiles, F, 'http://www.foocorp.com/Project/') +SAX.characters( + , 7) +SAX.startElementNs(src, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://foo.bar/program, 22) +SAX.endElementNs(src, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.startElementNs(dst, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://foo.bar/src/main.c, 25) +SAX.endElementNs(dst, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.endElementNs(link, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(link, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(projfiles, F, 'http://www.foocorp.com/Project/', 0, 0, 0) +SAX.characters(Library, 7) +SAX.endElementNs(projfiles, F, 'http://www.foocorp.com/Project/') +SAX.characters( + , 7) +SAX.startElementNs(src, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://foo.bar/program, 22) +SAX.endElementNs(src, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.startElementNs(dst, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://foo.bar/src/main.lib, 27) +SAX.endElementNs(dst, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.endElementNs(link, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(link, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(projfiles, F, 'http://www.foocorp.com/Project/', 0, 0, 0) +SAX.characters(Makefile, 8) +SAX.endElementNs(projfiles, F, 'http://www.foocorp.com/Project/') +SAX.characters( + , 7) +SAX.startElementNs(src, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://foo.bar/program, 22) +SAX.endElementNs(src, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.startElementNs(dst, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://foo.bar/src/makefile, 27) +SAX.endElementNs(dst, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.endElementNs(link, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(Source, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/libxml2/result/noent/dav16 b/libxml2/result/noent/dav16 new file mode 100644 index 0000000..9a7dc36 --- /dev/null +++ b/libxml2/result/noent/dav16 @@ -0,0 +1,6 @@ + + + + + + diff --git a/libxml2/result/noent/dav16.sax2 b/libxml2/result/noent/dav16.sax2 new file mode 100644 index 0000000..1ede22e --- /dev/null +++ b/libxml2/result/noent/dav16.sax2 @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(propfind, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(lockdiscovery, NULL, NULL, 0, 0, 0) +SAX.endElementNs(lockdiscovery, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(propfind, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/libxml2/result/noent/dav17 b/libxml2/result/noent/dav17 new file mode 100644 index 0000000..1137662 --- /dev/null +++ b/libxml2/result/noent/dav17 @@ -0,0 +1,22 @@ + + + + + + + write + exclusive + + http://foo.com/doc/ + + Jane Smith + Infinite + + iamuri:unique!!!!! + + + + + HTTP/1.1 200 OK + + diff --git a/libxml2/result/noent/dav17.sax2 b/libxml2/result/noent/dav17.sax2 new file mode 100644 index 0000000..48185a2 --- /dev/null +++ b/libxml2/result/noent/dav17.sax2 @@ -0,0 +1,78 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(lockdiscovery, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(activelock, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 11) +SAX.startElementNs(locktype, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(write, 5) +SAX.endElementNs(locktype, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 11) +SAX.startElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(exclusive, 9) +SAX.endElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 11) +SAX.startElementNs(addlocks, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 13) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://foo.com/doc/, 19) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 11) +SAX.endElementNs(addlocks, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 11) +SAX.startElementNs(owner, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(Jane Smith, 10) +SAX.endElementNs(owner, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 11) +SAX.startElementNs(timeout, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(Infinite, 8) +SAX.endElementNs(timeout, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 11) +SAX.startElementNs(locktoken, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 13) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(iamuri:unique!!!!!, 18) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 11) +SAX.endElementNs(locktoken, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 9) +SAX.endElementNs(activelock, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.endElementNs(lockdiscovery, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 200 OK, 15) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/libxml2/result/noent/dav18 b/libxml2/result/noent/dav18 new file mode 100644 index 0000000..3de1c19 --- /dev/null +++ b/libxml2/result/noent/dav18 @@ -0,0 +1,6 @@ + + + + + + diff --git a/libxml2/result/noent/dav18.sax2 b/libxml2/result/noent/dav18.sax2 new file mode 100644 index 0000000..cddc100 --- /dev/null +++ b/libxml2/result/noent/dav18.sax2 @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(propfind, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(supportedlock, NULL, NULL, 0, 0, 0) +SAX.endElementNs(supportedlock, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(propfind, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/libxml2/result/noent/dav19 b/libxml2/result/noent/dav19 new file mode 100644 index 0000000..9535ffc --- /dev/null +++ b/libxml2/result/noent/dav19 @@ -0,0 +1,18 @@ + + + + + + + Write + Exclusive + + + Write + Shared + + + + HTTP/1.1 200 OK + + diff --git a/libxml2/result/noent/dav19.sax2 b/libxml2/result/noent/dav19.sax2 new file mode 100644 index 0000000..f0dd402 --- /dev/null +++ b/libxml2/result/noent/dav19.sax2 @@ -0,0 +1,62 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(supportedlock, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(LockEntry, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 11) +SAX.startElementNs(locktype, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(Write, 5) +SAX.endElementNs(locktype, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 11) +SAX.startElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(Exclusive, 9) +SAX.endElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 9) +SAX.endElementNs(LockEntry, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 9) +SAX.startElementNs(LockEntry, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 11) +SAX.startElementNs(locktype, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(Write, 5) +SAX.endElementNs(locktype, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 11) +SAX.startElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(Shared, 6) +SAX.endElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 9) +SAX.endElementNs(LockEntry, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.endElementNs(supportedlock, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 200 OK, 15) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/libxml2/result/noent/dav2 b/libxml2/result/noent/dav2 new file mode 100644 index 0000000..f831b4b --- /dev/null +++ b/libxml2/result/noent/dav2 @@ -0,0 +1,24 @@ + + + + http://www.foo.bar/container/ + + + Box type A + + + Hadrian + + + HTTP 1.1 200 OK + + + http://www.foo.bar/container/index.html + + + Box type B + + + HTTP 1.1 200 OK + + diff --git a/libxml2/result/noent/dav2.sax2 b/libxml2/result/noent/dav2.sax2 new file mode 100644 index 0000000..22c7bb0 --- /dev/null +++ b/libxml2/result/noent/dav2.sax2 @@ -0,0 +1,84 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, S, 'http://www.ietf.org/standards/dav/', 2, xmlns:S='http://www.ietf.org/standards/dav/', xmlns:R='http://www.foo.bar/boxschema/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/, 29) +SAX.endElementNs(href, S, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(prop, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(bigbox, R, 'http://www.foo.bar/boxschema/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(BoxType, R, 'http://www.foo.bar/boxschema/', 0, 0, 0) +SAX.characters(Box type A, 10) +SAX.endElementNs(BoxType, R, 'http://www.foo.bar/boxschema/') +SAX.characters( + , 7) +SAX.endElementNs(bigbox, R, 'http://www.foo.bar/boxschema/') +SAX.characters( + , 7) +SAX.startElementNs(author, R, 'http://www.foo.bar/boxschema/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(Name, R, 'http://www.foo.bar/boxschema/', 0, 0, 0) +SAX.characters(Hadrian, 7) +SAX.endElementNs(Name, R, 'http://www.foo.bar/boxschema/') +SAX.characters( + , 7) +SAX.endElementNs(author, R, 'http://www.foo.bar/boxschema/') +SAX.characters( + , 5) +SAX.endElementNs(prop, S, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP 1.1 200 OK, 15) +SAX.endElementNs(status, S, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, S, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/i, 39) +SAX.endElementNs(href, S, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(prop, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(bigbox, R, 'http://www.foo.bar/boxschema/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(BoxType, R, 'http://www.foo.bar/boxschema/', 0, 0, 0) +SAX.characters(Box type B, 10) +SAX.endElementNs(BoxType, R, 'http://www.foo.bar/boxschema/') +SAX.characters( + , 7) +SAX.endElementNs(bigbox, R, 'http://www.foo.bar/boxschema/') +SAX.characters( + , 5) +SAX.endElementNs(prop, S, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP 1.1 200 OK, 15) +SAX.endElementNs(status, S, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, S, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, S, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/libxml2/result/noent/dav3 b/libxml2/result/noent/dav3 new file mode 100644 index 0000000..986b3fe --- /dev/null +++ b/libxml2/result/noent/dav3 @@ -0,0 +1,18 @@ + + + + http://www.foo.bar/container/ + + + + + HTTP 1.1 200 OK + + + http://www.foo.bar/container/index.html + + + + HTTP 1.1 200 OK + + diff --git a/libxml2/result/noent/dav3.sax2 b/libxml2/result/noent/dav3.sax2 new file mode 100644 index 0000000..0088f29 --- /dev/null +++ b/libxml2/result/noent/dav3.sax2 @@ -0,0 +1,63 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/', 2, xmlns:D='http://www.ietf.org/standards/dav/', xmlns:R='http://www.foo.bar/boxschema/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/, 29) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(bigbox, R, 'http://www.foo.bar/boxschema/', 0, 0, 0) +SAX.endElementNs(bigbox, R, 'http://www.foo.bar/boxschema/') +SAX.characters( + , 7) +SAX.startElementNs(author, R, 'http://www.foo.bar/boxschema/', 0, 0, 0) +SAX.endElementNs(author, R, 'http://www.foo.bar/boxschema/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP 1.1 200 OK, 15) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/i, 39) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(bigbox, R, 'http://www.foo.bar/boxschema/', 0, 0, 0) +SAX.endElementNs(bigbox, R, 'http://www.foo.bar/boxschema/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP 1.1 200 OK, 15) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/libxml2/result/noent/dav4 b/libxml2/result/noent/dav4 new file mode 100644 index 0000000..9ab7ceb --- /dev/null +++ b/libxml2/result/noent/dav4 @@ -0,0 +1,16 @@ + + + + + + Jim Whitehead + Roy Fielding + + + + + + + + + diff --git a/libxml2/result/noent/dav4.sax2 b/libxml2/result/noent/dav4.sax2 new file mode 100644 index 0000000..58fb8ac --- /dev/null +++ b/libxml2/result/noent/dav4.sax2 @@ -0,0 +1,51 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(propertyupdate, D, 'http://www.ietf.org/standards/dav/', 2, xmlns:D='http://www.ietf.org/standards/dav/', xmlns:Z='http://www.w3.com/standards/z39.50/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(set, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(authors, Z, 'http://www.w3.com/standards/z39.50/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(Author, Z, 'http://www.w3.com/standards/z39.50/', 0, 0, 0) +SAX.characters(Jim Whitehead, 13) +SAX.endElementNs(Author, Z, 'http://www.w3.com/standards/z39.50/') +SAX.characters( + , 9) +SAX.startElementNs(Author, Z, 'http://www.w3.com/standards/z39.50/', 0, 0, 0) +SAX.characters(Roy Fielding, 12) +SAX.endElementNs(Author, Z, 'http://www.w3.com/standards/z39.50/') +SAX.characters( + , 7) +SAX.endElementNs(authors, Z, 'http://www.w3.com/standards/z39.50/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(set, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(remove, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(Copyright-Owner, Z, 'http://www.w3.com/standards/z39.50/', 0, 0, 0) +SAX.endElementNs(Copyright-Owner, Z, 'http://www.w3.com/standards/z39.50/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(remove, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(propertyupdate, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/libxml2/result/noent/dav5 b/libxml2/result/noent/dav5 new file mode 100644 index 0000000..68ebab9 --- /dev/null +++ b/libxml2/result/noent/dav5 @@ -0,0 +1,17 @@ + + + + + + + HTTP/1.1 420 Method Failure + + + + + + HTTP/1.1 409 Conflict + + Copyright Owner can not be deleted or +altered. + diff --git a/libxml2/result/noent/dav5.sax2 b/libxml2/result/noent/dav5.sax2 new file mode 100644 index 0000000..6062cca --- /dev/null +++ b/libxml2/result/noent/dav5.sax2 @@ -0,0 +1,54 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/', 2, xmlns:D='http://www.ietf.org/standards/dav/', xmlns:Z='http://www.w3.com/standards/z39.50/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(Authors, Z, 'http://www.w3.com/standards/z39.50/', 0, 0, 0) +SAX.endElementNs(Authors, Z, 'http://www.w3.com/standards/z39.50/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 420 Method Failure, 27) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(Copyright-Owner, Z, 'http://www.w3.com/standards/z39.50/', 0, 0, 0) +SAX.endElementNs(Copyright-Owner, Z, 'http://www.w3.com/standards/z39.50/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 409 Conflict, 21) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(responsedescription, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( Copyright Owner can not be de, 47) +SAX.endElementNs(responsedescription, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/libxml2/result/noent/dav6 b/libxml2/result/noent/dav6 new file mode 100644 index 0000000..3d0de24 --- /dev/null +++ b/libxml2/result/noent/dav6 @@ -0,0 +1,22 @@ + + + + http://www.microsoft.com/user/yarong/dav_drafts/ + + + + + + + HTTP 1.1 200 OK + + + + http://www.microsoft.com/user/yarong/dav_drafts/base + + + + + HTTP 1.1 200 OK + + diff --git a/libxml2/result/noent/dav6.sax2 b/libxml2/result/noent/dav6.sax2 new file mode 100644 index 0000000..31952c5 --- /dev/null +++ b/libxml2/result/noent/dav6.sax2 @@ -0,0 +1,66 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.microsoft.com/user/, 55) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(resourcetype, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(collection, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.endElementNs(collection, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.endElementNs(resourcetype, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP 1.1 200 OK, 15) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + http://www.microsoft.co, 66) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(resourcetype, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.endElementNs(resourcetype, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP 1.1 200 OK, 15) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/libxml2/result/noent/dav7 b/libxml2/result/noent/dav7 new file mode 100644 index 0000000..ec4a952 --- /dev/null +++ b/libxml2/result/noent/dav7 @@ -0,0 +1,16 @@ + + + + http://www.foo.bar/container/resource1 + http://www.foo.bar/container/resource2 + HTTP/1.1 200 OK + + + http://www.foo.bar/container/ + HTTP/1.1 420 Method Failure + + + http://www.foo.bar/container/resource3 + HTTP/1.1 412 Precondition Failed + + diff --git a/libxml2/result/noent/dav7.sax2 b/libxml2/result/noent/dav7.sax2 new file mode 100644 index 0000000..1d51e74 --- /dev/null +++ b/libxml2/result/noent/dav7.sax2 @@ -0,0 +1,60 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, d, 'http://www.ietf.org/standards/dav/', 1, xmlns:d='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/r, 38) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/r, 38) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 200 OK, 15) +SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/, 29) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 420 Method Failure, 27) +SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/r, 38) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 412 Precondition Fail, 32) +SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, d, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/libxml2/result/noent/dav8 b/libxml2/result/noent/dav8 new file mode 100644 index 0000000..7f99baf --- /dev/null +++ b/libxml2/result/noent/dav8 @@ -0,0 +1,14 @@ + + + + http://www.foo.bar/othercontainer/resource1 + http://www.foo.bar/othercontainer/resource2 + http://www.foo.bar/othercontainer/ + http://www.foo.bar/othercontainer/R2/D2 + HTTP/1.1 201 Created + + + http://www.foo.bar/othercontainer/R2/ + HTTP/1.1 412 Precondition Failed + + diff --git a/libxml2/result/noent/dav8.sax2 b/libxml2/result/noent/dav8.sax2 new file mode 100644 index 0000000..7de547e --- /dev/null +++ b/libxml2/result/noent/dav8.sax2 @@ -0,0 +1,54 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, d, 'http://www.ietf.org/standards/dav/', 1, xmlns:d='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/othercontai, 43) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/othercontai, 43) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/othercontai, 34) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/othercontai, 39) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 201 Created, 20) +SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/othercontai, 37) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 412 Precondition Fail, 32) +SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, d, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/libxml2/result/noent/dav9 b/libxml2/result/noent/dav9 new file mode 100644 index 0000000..8ed63b8 --- /dev/null +++ b/libxml2/result/noent/dav9 @@ -0,0 +1,18 @@ + + + + http://www.foo.bar/container/resource1 + http://www.foo.bar/container/resource2 + http://www.foo.bar/container/ + http://www.foo.bar/container/C2/R2 + HTTP/1.1 201 Created + + + http://www.foo.bar/container/C2 + HTTP/1.1 420 Method Failure + + + http://www.foo.bar/othercontainer/C2 + HTTP/1.1 409 Conflict + + diff --git a/libxml2/result/noent/dav9.sax2 b/libxml2/result/noent/dav9.sax2 new file mode 100644 index 0000000..26e4942 --- /dev/null +++ b/libxml2/result/noent/dav9.sax2 @@ -0,0 +1,70 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, d, 'http://www.ietf.org/standards/dav/', 1, xmlns:d='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/r, 38) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/r, 38) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/, 29) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/C, 34) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 201 Created, 20) +SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/C, 31) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 420 Method Failure, 27) +SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/othercontai, 36) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 409 Conflict, 21) +SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, d, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/libxml2/result/noent/def-xml-attr.xml b/libxml2/result/noent/def-xml-attr.xml new file mode 100644 index 0000000..3bcfddd --- /dev/null +++ b/libxml2/result/noent/def-xml-attr.xml @@ -0,0 +1,8 @@ + + + +]> + + Ja + diff --git a/libxml2/result/noent/def-xml-attr.xml.sax2 b/libxml2/result/noent/def-xml-attr.xml.sax2 new file mode 100644 index 0000000..845db84 --- /dev/null +++ b/libxml2/result/noent/def-xml-attr.xml.sax2 @@ -0,0 +1,16 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(root, , ) +SAX.attributeDecl(foo, xml:lang, 1, 1, eng, ...) +SAX.attributeDecl(foo, bar, 1, 1, <>", ...) +SAX.externalSubset(root, , ) +SAX.startElementNs(root, NULL, NULL, 0, 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(foo, NULL, NULL, 0, 2, 1, xml:lang='ger"...', 3, bar='<>"...', 3) +SAX.characters(Ja, 2) +SAX.endElementNs(foo, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(root, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/defattr.xml b/libxml2/result/noent/defattr.xml new file mode 100644 index 0000000..0a4ac15 --- /dev/null +++ b/libxml2/result/noent/defattr.xml @@ -0,0 +1,6 @@ + + + +]> + diff --git a/libxml2/result/noent/defattr.xml.sax2 b/libxml2/result/noent/defattr.xml.sax2 new file mode 100644 index 0000000..dfeba49 --- /dev/null +++ b/libxml2/result/noent/defattr.xml.sax2 @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 1, ...) +SAX.attributeDecl(doc, xmlns, 1, 4, http://www.example.com/, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, 'http://www.example.com/', 1, xmlns='http://www.example.com/', 0, 0) +SAX.endElementNs(doc, NULL, 'http://www.example.com/') +SAX.endDocument() diff --git a/libxml2/result/noent/defattr2.xml b/libxml2/result/noent/defattr2.xml new file mode 100644 index 0000000..8d1fc3b --- /dev/null +++ b/libxml2/result/noent/defattr2.xml @@ -0,0 +1,8 @@ + + + + + +]> + diff --git a/libxml2/result/noent/defattr2.xml.sax2 b/libxml2/result/noent/defattr2.xml.sax2 new file mode 100644 index 0000000..0f77271 --- /dev/null +++ b/libxml2/result/noent/defattr2.xml.sax2 @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 1, ...) +SAX.attributeDecl(doc, defatt, 9, 1, 0, ...) +SAX.attributeDecl(doc, xmlns:tst, 1, 4, http://example.org, ...) +SAX.attributeDecl(doc, tst:att, 9, 1, 1, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 1, xmlns:tst='http://example.org', 3, 2, att='1"/>...', 1, defatt='0...', 1, tst:att='1...', 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/dia1 b/libxml2/result/noent/dia1 new file mode 100644 index 0000000..207bd73 --- /dev/null +++ b/libxml2/result/noent/dia1 @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libxml2/result/noent/dia1.sax2 b/libxml2/result/noent/dia1.sax2 new file mode 100644 index 0000000..4821c9b --- /dev/null +++ b/libxml2/result/noent/dia1.sax2 @@ -0,0 +1,323 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/', 1, xmlns:dia='http://www.lysator.liu.se/~alla/dia/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(diagramdata, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='back...', 10) +SAX.characters( + , 7) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#fff...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 3) +SAX.endElementNs(diagramdata, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 3) +SAX.startElementNs(layer, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 2, 0, name='Back...', 10, visible='true...', 4) +SAX.characters( + , 5) +SAX.startElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, type='Stan...', 15, version='0" i...', 1, id='O0">...', 2) +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 7) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1.95...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 6) +SAX.characters( + , 9) +SAX.startElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1.9,...', 15) +SAX.endElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='conn...', 14) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1.95...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10) +SAX.characters( + , 9) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#000...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10) +SAX.characters( + , 9) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0.1"...', 3) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10) +SAX.characters( + , 9) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='star...', 11) +SAX.characters( + , 9) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='end_...', 9) +SAX.characters( + , 9) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(connections, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(connection, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, handle='1" t...', 1, to='O2" ...', 2, connection='3"/>...', 1) +SAX.endElementNs(connection, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(connections, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.endElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.startElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, type='Stan...', 15, version='0" i...', 1, id='O1">...', 2) +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 7) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='4.8,...', 8) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 6) +SAX.characters( + , 9) +SAX.startElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='2.57...', 27) +SAX.endElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='text...', 4) +SAX.characters( + , 9) +SAX.startElementNs(composite, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, type='text...', 4) +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='stri...', 6) +SAX.characters( + , 13) +SAX.startElementNs(string, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='sdfs...', 7) +SAX.endElementNs(string, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='font...', 4) +SAX.characters( + , 13) +SAX.startElementNs(font, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='Cour...', 7) +SAX.endElementNs(font, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='heig...', 6) +SAX.characters( + , 13) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1"/>...', 1) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='pos"...', 3) +SAX.characters( + , 13) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='4.8,...', 8) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='colo...', 5) +SAX.characters( + , 13) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#000...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='alig...', 9) +SAX.characters( + , 13) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 9) +SAX.endElementNs(composite, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.endElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.startElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, type='Stan...', 14, version='0" i...', 1, id='O2">...', 2) +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 7) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 6) +SAX.characters( + , 9) +SAX.startElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 20) +SAX.endElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='elem...', 11) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='elem...', 10) +SAX.characters( + , 9) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='2.05...', 4) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='elem...', 11) +SAX.characters( + , 9) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='2"/>...', 1) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='bord...', 12) +SAX.characters( + , 9) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0.1"...', 3) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='bord...', 12) +SAX.characters( + , 9) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#000...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='inne...', 11) +SAX.characters( + , 9) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#fff...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10) +SAX.characters( + , 9) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.endElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 3) +SAX.endElementNs(layer, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( +, 1) +SAX.endElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.endDocument() diff --git a/libxml2/result/noent/dia2 b/libxml2/result/noent/dia2 new file mode 100644 index 0000000..207bd73 --- /dev/null +++ b/libxml2/result/noent/dia2 @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libxml2/result/noent/dia2.sax2 b/libxml2/result/noent/dia2.sax2 new file mode 100644 index 0000000..4821c9b --- /dev/null +++ b/libxml2/result/noent/dia2.sax2 @@ -0,0 +1,323 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/', 1, xmlns:dia='http://www.lysator.liu.se/~alla/dia/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(diagramdata, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='back...', 10) +SAX.characters( + , 7) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#fff...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 3) +SAX.endElementNs(diagramdata, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 3) +SAX.startElementNs(layer, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 2, 0, name='Back...', 10, visible='true...', 4) +SAX.characters( + , 5) +SAX.startElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, type='Stan...', 15, version='0" i...', 1, id='O0">...', 2) +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 7) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1.95...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 6) +SAX.characters( + , 9) +SAX.startElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1.9,...', 15) +SAX.endElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='conn...', 14) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1.95...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10) +SAX.characters( + , 9) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#000...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10) +SAX.characters( + , 9) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0.1"...', 3) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10) +SAX.characters( + , 9) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='star...', 11) +SAX.characters( + , 9) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='end_...', 9) +SAX.characters( + , 9) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(connections, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(connection, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, handle='1" t...', 1, to='O2" ...', 2, connection='3"/>...', 1) +SAX.endElementNs(connection, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(connections, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.endElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.startElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, type='Stan...', 15, version='0" i...', 1, id='O1">...', 2) +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 7) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='4.8,...', 8) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 6) +SAX.characters( + , 9) +SAX.startElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='2.57...', 27) +SAX.endElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='text...', 4) +SAX.characters( + , 9) +SAX.startElementNs(composite, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, type='text...', 4) +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='stri...', 6) +SAX.characters( + , 13) +SAX.startElementNs(string, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='sdfs...', 7) +SAX.endElementNs(string, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='font...', 4) +SAX.characters( + , 13) +SAX.startElementNs(font, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='Cour...', 7) +SAX.endElementNs(font, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='heig...', 6) +SAX.characters( + , 13) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1"/>...', 1) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='pos"...', 3) +SAX.characters( + , 13) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='4.8,...', 8) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='colo...', 5) +SAX.characters( + , 13) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#000...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='alig...', 9) +SAX.characters( + , 13) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 9) +SAX.endElementNs(composite, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.endElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.startElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, type='Stan...', 14, version='0" i...', 1, id='O2">...', 2) +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 7) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 6) +SAX.characters( + , 9) +SAX.startElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 20) +SAX.endElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='elem...', 11) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='elem...', 10) +SAX.characters( + , 9) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='2.05...', 4) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='elem...', 11) +SAX.characters( + , 9) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='2"/>...', 1) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='bord...', 12) +SAX.characters( + , 9) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0.1"...', 3) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='bord...', 12) +SAX.characters( + , 9) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#000...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='inne...', 11) +SAX.characters( + , 9) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#fff...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10) +SAX.characters( + , 9) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.endElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 3) +SAX.endElementNs(layer, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( +, 1) +SAX.endElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.endDocument() diff --git a/libxml2/result/noent/dtd1 b/libxml2/result/noent/dtd1 new file mode 100644 index 0000000..fb11ffa --- /dev/null +++ b/libxml2/result/noent/dtd1 @@ -0,0 +1,4 @@ + + + + diff --git a/libxml2/result/noent/dtd1.sax2 b/libxml2/result/noent/dtd1.sax2 new file mode 100644 index 0000000..47be5e0 --- /dev/null +++ b/libxml2/result/noent/dtd1.sax2 @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(MEMO, -//SGMLSOURCE//DTD MEMO//EN, http://www.sgmlsource.com/dtds/memo.dtd) +SAX.externalSubset(MEMO, -//SGMLSOURCE//DTD MEMO//EN, http://www.sgmlsource.com/dtds/memo.dtd) +SAX.startElementNs(MEMO, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.endElementNs(MEMO, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/dtd10 b/libxml2/result/noent/dtd10 new file mode 100644 index 0000000..8c7d5e7 --- /dev/null +++ b/libxml2/result/noent/dtd10 @@ -0,0 +1,9 @@ + + + + + + +]> +This is a valid document diff --git a/libxml2/result/noent/dtd10.sax2 b/libxml2/result/noent/dtd10.sax2 new file mode 100644 index 0000000..7f15a09 --- /dev/null +++ b/libxml2/result/noent/dtd10.sax2 @@ -0,0 +1,21 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 4, ...) +SAX.elementDecl(a, 3, ...) +SAX.elementDecl(b, 3, ...) +SAX.elementDecl(c, 3, ...) +SAX.elementDecl(d, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.startElementNs(b, NULL, NULL, 0, 0, 0) +SAX.characters(This, 4) +SAX.endElementNs(b, NULL, NULL) +SAX.startElementNs(c, NULL, NULL, 0, 0, 0) +SAX.characters( is a, 5) +SAX.endElementNs(c, NULL, NULL) +SAX.startElementNs(d, NULL, NULL, 0, 0, 0) +SAX.characters( valid document, 15) +SAX.endElementNs(d, NULL, NULL) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/dtd11 b/libxml2/result/noent/dtd11 new file mode 100644 index 0000000..e0df8af --- /dev/null +++ b/libxml2/result/noent/dtd11 @@ -0,0 +1,6 @@ + + + +]> + diff --git a/libxml2/result/noent/dtd11.sax2 b/libxml2/result/noent/dtd11.sax2 new file mode 100644 index 0000000..a9cae5d --- /dev/null +++ b/libxml2/result/noent/dtd11.sax2 @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 3, ...) +SAX.attributeDecl(doc, val, 1, 3, NULL, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 1, 0, val='v1"/...', 2) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/dtd12 b/libxml2/result/noent/dtd12 new file mode 100644 index 0000000..b0aff81 --- /dev/null +++ b/libxml2/result/noent/dtd12 @@ -0,0 +1,6 @@ + + + +]> +He said "Yes" diff --git a/libxml2/result/noent/dtd12.sax2 b/libxml2/result/noent/dtd12.sax2 new file mode 100644 index 0000000..53206d4 --- /dev/null +++ b/libxml2/result/noent/dtd12.sax2 @@ -0,0 +1,15 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(YN, 1, (null), (null), "Yes") +SAX.getEntity(YN) +SAX.entityDecl(WhatHeSaid, 1, (null), (null), He said &YN;) +SAX.getEntity(WhatHeSaid) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.getEntity(WhatHeSaid) +SAX.characters(He said , 8) +SAX.getEntity(YN) +SAX.characters("Yes", 5) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/dtd13 b/libxml2/result/noent/dtd13 new file mode 100644 index 0000000..2814146 --- /dev/null +++ b/libxml2/result/noent/dtd13 @@ -0,0 +1,7 @@ + + + +]> + + diff --git a/libxml2/result/noent/dtd13.sax2 b/libxml2/result/noent/dtd13.sax2 new file mode 100644 index 0000000..b631501 --- /dev/null +++ b/libxml2/result/noent/dtd13.sax2 @@ -0,0 +1,10 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( comment before the DTD ) +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 2, ...) +SAX.externalSubset(doc, , ) +SAX.comment( comment after the DTD ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/dtd2 b/libxml2/result/noent/dtd2 new file mode 100644 index 0000000..921fd94 --- /dev/null +++ b/libxml2/result/noent/dtd2 @@ -0,0 +1,5 @@ + + +]> +This is a valid document ! diff --git a/libxml2/result/noent/dtd2.sax2 b/libxml2/result/noent/dtd2.sax2 new file mode 100644 index 0000000..ff6b568 --- /dev/null +++ b/libxml2/result/noent/dtd2.sax2 @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters(This is a valid document !, 26) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/dtd3 b/libxml2/result/noent/dtd3 new file mode 100644 index 0000000..6681ef7 --- /dev/null +++ b/libxml2/result/noent/dtd3 @@ -0,0 +1,5 @@ + + +]> +This is a valid document ! diff --git a/libxml2/result/noent/dtd3.sax2 b/libxml2/result/noent/dtd3.sax2 new file mode 100644 index 0000000..9625ad5 --- /dev/null +++ b/libxml2/result/noent/dtd3.sax2 @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 2, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters(This is a valid document !, 26) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/dtd4 b/libxml2/result/noent/dtd4 new file mode 100644 index 0000000..6cf2444 --- /dev/null +++ b/libxml2/result/noent/dtd4 @@ -0,0 +1,5 @@ + + +]> + diff --git a/libxml2/result/noent/dtd4.sax2 b/libxml2/result/noent/dtd4.sax2 new file mode 100644 index 0000000..8366d48 --- /dev/null +++ b/libxml2/result/noent/dtd4.sax2 @@ -0,0 +1,8 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 1, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/dtd5 b/libxml2/result/noent/dtd5 new file mode 100644 index 0000000..5409d51 --- /dev/null +++ b/libxml2/result/noent/dtd5 @@ -0,0 +1,7 @@ + + + + +]> +This is a valid document diff --git a/libxml2/result/noent/dtd5.sax2 b/libxml2/result/noent/dtd5.sax2 new file mode 100644 index 0000000..f48c01c --- /dev/null +++ b/libxml2/result/noent/dtd5.sax2 @@ -0,0 +1,18 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 3, ...) +SAX.elementDecl(a, 3, ...) +SAX.elementDecl(b, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.startElementNs(a, NULL, NULL, 0, 0, 0) +SAX.characters(This, 4) +SAX.endElementNs(a, NULL, NULL) +SAX.characters( is a , 6) +SAX.startElementNs(b, NULL, NULL, 0, 0, 0) +SAX.characters(valid, 5) +SAX.endElementNs(b, NULL, NULL) +SAX.characters( document, 9) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/dtd6 b/libxml2/result/noent/dtd6 new file mode 100644 index 0000000..ed2d993 --- /dev/null +++ b/libxml2/result/noent/dtd6 @@ -0,0 +1,7 @@ + + + + +]> +This is a valid document diff --git a/libxml2/result/noent/dtd6.sax2 b/libxml2/result/noent/dtd6.sax2 new file mode 100644 index 0000000..6e78924 --- /dev/null +++ b/libxml2/result/noent/dtd6.sax2 @@ -0,0 +1,19 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 4, ...) +SAX.elementDecl(a, 3, ...) +SAX.elementDecl(b, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.startElementNs(a, NULL, NULL, 0, 0, 0) +SAX.characters(This, 4) +SAX.endElementNs(a, NULL, NULL) +SAX.startElementNs(b, NULL, NULL, 0, 0, 0) +SAX.characters( is a valid, 11) +SAX.endElementNs(b, NULL, NULL) +SAX.startElementNs(a, NULL, NULL, 0, 0, 0) +SAX.characters( document, 9) +SAX.endElementNs(a, NULL, NULL) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/dtd7 b/libxml2/result/noent/dtd7 new file mode 100644 index 0000000..0a4075f --- /dev/null +++ b/libxml2/result/noent/dtd7 @@ -0,0 +1,7 @@ + + + + +]> +This is a valid document diff --git a/libxml2/result/noent/dtd7.sax2 b/libxml2/result/noent/dtd7.sax2 new file mode 100644 index 0000000..4a47191 --- /dev/null +++ b/libxml2/result/noent/dtd7.sax2 @@ -0,0 +1,16 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 4, ...) +SAX.elementDecl(a, 3, ...) +SAX.elementDecl(b, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.startElementNs(a, NULL, NULL, 0, 0, 0) +SAX.characters(This, 4) +SAX.endElementNs(a, NULL, NULL) +SAX.startElementNs(b, NULL, NULL, 0, 0, 0) +SAX.characters( is a valid document, 20) +SAX.endElementNs(b, NULL, NULL) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/dtd8 b/libxml2/result/noent/dtd8 new file mode 100644 index 0000000..7a655f9 --- /dev/null +++ b/libxml2/result/noent/dtd8 @@ -0,0 +1,9 @@ + + + + + + +]> +This is a valid document diff --git a/libxml2/result/noent/dtd8.sax2 b/libxml2/result/noent/dtd8.sax2 new file mode 100644 index 0000000..d38b60d --- /dev/null +++ b/libxml2/result/noent/dtd8.sax2 @@ -0,0 +1,18 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 4, ...) +SAX.elementDecl(a, 3, ...) +SAX.elementDecl(b, 3, ...) +SAX.elementDecl(c, 3, ...) +SAX.elementDecl(d, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.startElementNs(b, NULL, NULL, 0, 0, 0) +SAX.characters(This, 4) +SAX.endElementNs(b, NULL, NULL) +SAX.startElementNs(c, NULL, NULL, 0, 0, 0) +SAX.characters( is a valid document, 20) +SAX.endElementNs(c, NULL, NULL) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/dtd9 b/libxml2/result/noent/dtd9 new file mode 100644 index 0000000..89cc1d4 --- /dev/null +++ b/libxml2/result/noent/dtd9 @@ -0,0 +1,9 @@ + + + + + + +]> +This is a valid document diff --git a/libxml2/result/noent/dtd9.sax2 b/libxml2/result/noent/dtd9.sax2 new file mode 100644 index 0000000..a5b537f --- /dev/null +++ b/libxml2/result/noent/dtd9.sax2 @@ -0,0 +1,18 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 4, ...) +SAX.elementDecl(a, 3, ...) +SAX.elementDecl(b, 3, ...) +SAX.elementDecl(c, 3, ...) +SAX.elementDecl(d, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.startElementNs(b, NULL, NULL, 0, 0, 0) +SAX.characters(This, 4) +SAX.endElementNs(b, NULL, NULL) +SAX.startElementNs(d, NULL, NULL, 0, 0, 0) +SAX.characters( is a valid document, 20) +SAX.endElementNs(d, NULL, NULL) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/ebcdic_566012.xml b/libxml2/result/noent/ebcdic_566012.xml new file mode 100644 index 0000000..153add5 --- /dev/null +++ b/libxml2/result/noent/ebcdic_566012.xml @@ -0,0 +1 @@ +Lo§”“@¥…™¢‰–•~ñKð@…•ƒ–„‰•‡~ÉÂÔ`ññôñon%L£…¢£@££™~JàZan% \ No newline at end of file diff --git a/libxml2/result/noent/ebcdic_566012.xml.sax2 b/libxml2/result/noent/ebcdic_566012.xml.sax2 new file mode 100644 index 0000000..b8a4ce0 --- /dev/null +++ b/libxml2/result/noent/ebcdic_566012.xml.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(test, NULL, NULL, 0, 1, 0, attr='ÄÖ...', 6) +SAX.endElementNs(test, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/emptycdata.xml b/libxml2/result/noent/emptycdata.xml new file mode 100644 index 0000000..bc98388 --- /dev/null +++ b/libxml2/result/noent/emptycdata.xml @@ -0,0 +1,4 @@ + + + + diff --git a/libxml2/result/noent/emptycdata.xml.sax2 b/libxml2/result/noent/emptycdata.xml.sax2 new file mode 100644 index 0000000..7f80296 --- /dev/null +++ b/libxml2/result/noent/emptycdata.xml.sax2 @@ -0,0 +1,10 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(html, NULL, 'http://www.w3.org/1999/xhtml', 1, xmlns='http://www.w3.org/1999/xhtml', 0, 0) +SAX.characters( +, 1) +SAX.pcdata(, 0) +SAX.characters( +, 1) +SAX.endElementNs(html, NULL, 'http://www.w3.org/1999/xhtml') +SAX.endDocument() diff --git a/libxml2/result/noent/ent1 b/libxml2/result/noent/ent1 new file mode 100644 index 0000000..14bf428 --- /dev/null +++ b/libxml2/result/noent/ent1 @@ -0,0 +1,7 @@ + + +]> + + Extensible Markup Language + diff --git a/libxml2/result/noent/ent1.sax2 b/libxml2/result/noent/ent1.sax2 new file mode 100644 index 0000000..9f270ef --- /dev/null +++ b/libxml2/result/noent/ent1.sax2 @@ -0,0 +1,15 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(EXAMPLE, , example.dtd) +SAX.entityDecl(xml, 1, (null), (null), Extensible Markup Language) +SAX.getEntity(xml) +SAX.externalSubset(EXAMPLE, , example.dtd) +SAX.startElementNs(EXAMPLE, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.getEntity(xml) +SAX.characters(Extensible Markup Language, 26) +SAX.characters( +, 1) +SAX.endElementNs(EXAMPLE, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/ent10 b/libxml2/result/noent/ent10 new file mode 100644 index 0000000..946aff8 --- /dev/null +++ b/libxml2/result/noent/ent10 @@ -0,0 +1,18 @@ + + + + + + hello world + + "> +]> + + + + hello world + + + diff --git a/libxml2/result/noent/ent10.sax2 b/libxml2/result/noent/ent10.sax2 new file mode 100644 index 0000000..e88e375 --- /dev/null +++ b/libxml2/result/noent/ent10.sax2 @@ -0,0 +1,30 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(rnode, , ) +SAX.elementDecl(rnode, 4, ...) +SAX.elementDecl(f, 3, ...) +SAX.attributeDecl(f, att1, 1, 4, J, ...) +SAX.entityDecl(f, 1, (null), (null), + + hello world + + ) +SAX.getEntity(f) +SAX.externalSubset(rnode, , ) +SAX.startElementNs(rnode, NULL, NULL, 0, 0, 0) +SAX.characters( + , 4) +SAX.getEntity(f) +SAX.characters( + , 4) +SAX.startElementNs(f, NULL, NULL, 0, 1, 1, att1='J...', 1) +SAX.characters( + hello world + , 19) +SAX.endElementNs(f, NULL, NULL) +SAX.characters( + , 4) +SAX.characters( +, 1) +SAX.endElementNs(rnode, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/ent11 b/libxml2/result/noent/ent11 new file mode 100644 index 0000000..e1e1e0f --- /dev/null +++ b/libxml2/result/noent/ent11 @@ -0,0 +1,6 @@ + + +]> + + diff --git a/libxml2/result/noent/ent11.sax2 b/libxml2/result/noent/ent11.sax2 new file mode 100644 index 0000000..5c2c916 --- /dev/null +++ b/libxml2/result/noent/ent11.sax2 @@ -0,0 +1,12 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(newl, 1, (null), (null), ) +SAX.getEntity(newl) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.getEntity(newl) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/ent12 b/libxml2/result/noent/ent12 new file mode 100644 index 0000000..e398313 --- /dev/null +++ b/libxml2/result/noent/ent12 @@ -0,0 +1,8 @@ + + + +]> + + def + diff --git a/libxml2/result/noent/ent12.sax2 b/libxml2/result/noent/ent12.sax2 new file mode 100644 index 0000000..fd5c71e --- /dev/null +++ b/libxml2/result/noent/ent12.sax2 @@ -0,0 +1,20 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(root, , ) +SAX.entityDecl(foo, 1, (null), (null), abc) +SAX.getEntity(foo) +SAX.entityDecl(bar, 1, (null), (null), def) +SAX.getEntity(bar) +SAX.externalSubset(root, , ) +SAX.getEntity(foo) +SAX.startElementNs(root, NULL, NULL, 0, 1, 0, attribute='abc...', 3) +SAX.characters( + , 4) +SAX.startElementNs(element, NULL, NULL, 0, 0, 0) +SAX.getEntity(bar) +SAX.characters(def, 3) +SAX.endElementNs(element, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(root, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/ent13 b/libxml2/result/noent/ent13 new file mode 100644 index 0000000..02bc069 --- /dev/null +++ b/libxml2/result/noent/ent13 @@ -0,0 +1,5 @@ + + +]> +a diff --git a/libxml2/result/noent/ent13.sax2 b/libxml2/result/noent/ent13.sax2 new file mode 100644 index 0000000..9add146 --- /dev/null +++ b/libxml2/result/noent/ent13.sax2 @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(test, , ) +SAX.entityDecl(ampproblem, 1, (null), (null), &) +SAX.getEntity(ampproblem) +SAX.externalSubset(test, , ) +SAX.getEntity(ampproblem) +SAX.startElementNs(t, NULL, NULL, 0, 1, 0, a='&...', 1) +SAX.characters(a, 1) +SAX.endElementNs(t, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/ent2 b/libxml2/result/noent/ent2 new file mode 100644 index 0000000..b643ac3 --- /dev/null +++ b/libxml2/result/noent/ent2 @@ -0,0 +1,12 @@ + + + + +]> + + +my title + + This text is about XML, the Extensible Markup Language and this is an embedded + diff --git a/libxml2/result/noent/ent2.sax2 b/libxml2/result/noent/ent2.sax2 new file mode 100644 index 0000000..9869a77 --- /dev/null +++ b/libxml2/result/noent/ent2.sax2 @@ -0,0 +1,30 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(EXAMPLE, , example.dtd) +SAX.entityDecl(xml, 1, (null), (null), Extensible Markup Language) +SAX.getEntity(xml) +SAX.entityDecl(title, 2, -//MY-TITLE//FR, title.xml, (null)) +SAX.unparsedEntityDecl(image, (null), img.gif, GIF) +SAX.externalSubset(EXAMPLE, , example.dtd) +SAX.startElementNs(EXAMPLE, NULL, NULL, 0, 0, 0) +SAX.characters( + , 3) +SAX.getEntity(title) +SAX.characters( +, 1) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(my title, 8) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( +, 1) +SAX.characters( + This text is about XML, the, 31) +SAX.getEntity(xml) +SAX.characters(Extensible Markup Language, 26) +SAX.characters( and this is an embedded , 25) +SAX.startElementNs(IMG, NULL, NULL, 0, 1, 0, src='imag...', 5) +SAX.endElementNs(IMG, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(EXAMPLE, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/ent3 b/libxml2/result/noent/ent3 new file mode 100644 index 0000000..b1c0b14 --- /dev/null +++ b/libxml2/result/noent/ent3 @@ -0,0 +1,7 @@ + + +]> + + Test of entities in attributes. + diff --git a/libxml2/result/noent/ent3.sax2 b/libxml2/result/noent/ent3.sax2 new file mode 100644 index 0000000..96f605f --- /dev/null +++ b/libxml2/result/noent/ent3.sax2 @@ -0,0 +1,12 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(EXAMPLE, , example.dtd) +SAX.entityDecl(xml, 1, (null), (null), Extensible Markup Language) +SAX.getEntity(xml) +SAX.externalSubset(EXAMPLE, , example.dtd) +SAX.getEntity(xml) +SAX.startElementNs(EXAMPLE, NULL, NULL, 0, 2, 0, prop1='a&b...', 3, prop2='Exte...', 26) +SAX.characters( + Test of entities in attribu, 35) +SAX.endElementNs(EXAMPLE, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/ent4 b/libxml2/result/noent/ent4 new file mode 100644 index 0000000..a92194c --- /dev/null +++ b/libxml2/result/noent/ent4 @@ -0,0 +1,7 @@ + + +]> + + Test of &amp; behaviour a&b . + diff --git a/libxml2/result/noent/ent4.sax2 b/libxml2/result/noent/ent4.sax2 new file mode 100644 index 0000000..b0a6b08 --- /dev/null +++ b/libxml2/result/noent/ent4.sax2 @@ -0,0 +1,16 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(EXAMPLE, , example.dtd) +SAX.entityDecl(xml, 1, (null), (null), Extensible Markup Language) +SAX.getEntity(xml) +SAX.externalSubset(EXAMPLE, , example.dtd) +SAX.startElementNs(EXAMPLE, NULL, NULL, 0, 0, 0) +SAX.characters( + Test of , 11) +SAX.characters(&, 1) +SAX.characters(amp; behaviour a, 16) +SAX.characters(&, 1) +SAX.characters(b . +, 4) +SAX.endElementNs(EXAMPLE, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/ent5 b/libxml2/result/noent/ent5 new file mode 100644 index 0000000..16e7e10 --- /dev/null +++ b/libxml2/result/noent/ent5 @@ -0,0 +1,5 @@ + + + This is an inverted exclamation sign ¡ + This is a space + diff --git a/libxml2/result/noent/ent5.sax2 b/libxml2/result/noent/ent5.sax2 new file mode 100644 index 0000000..f7251e4 --- /dev/null +++ b/libxml2/result/noent/ent5.sax2 @@ -0,0 +1,13 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(EXAMPLE, NULL, NULL, 0, 0, 0) +SAX.characters( + This is an inverted excla, 42) +SAX.characters(¡, 2) +SAX.characters( + This is a space , 21) +SAX.characters( , 1) +SAX.characters( +, 2) +SAX.endElementNs(EXAMPLE, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/ent6 b/libxml2/result/noent/ent6 new file mode 100644 index 0000000..047f9bb --- /dev/null +++ b/libxml2/result/noent/ent6 @@ -0,0 +1,9 @@ + + + + + + +]> + diff --git a/libxml2/result/noent/ent6.sax2 b/libxml2/result/noent/ent6.sax2 new file mode 100644 index 0000000..a70d0bb --- /dev/null +++ b/libxml2/result/noent/ent6.sax2 @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(lt, 1, (null), (null), <) +SAX.getEntity(lt) +SAX.entityDecl(gt, 1, (null), (null), >) +SAX.getEntity(gt) +SAX.entityDecl(amp, 1, (null), (null), &) +SAX.getEntity(amp) +SAX.entityDecl(apos, 1, (null), (null), ') +SAX.getEntity(apos) +SAX.entityDecl(quot, 1, (null), (null), ") +SAX.getEntity(quot) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/ent6hex b/libxml2/result/noent/ent6hex new file mode 100644 index 0000000..6d59df9 --- /dev/null +++ b/libxml2/result/noent/ent6hex @@ -0,0 +1,9 @@ + + + + + + +]> + diff --git a/libxml2/result/noent/ent6hex.sax2 b/libxml2/result/noent/ent6hex.sax2 new file mode 100644 index 0000000..6c9df2e --- /dev/null +++ b/libxml2/result/noent/ent6hex.sax2 @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(lt, 1, (null), (null), <) +SAX.getEntity(lt) +SAX.entityDecl(gt, 1, (null), (null), >) +SAX.getEntity(gt) +SAX.entityDecl(amp, 1, (null), (null), &) +SAX.getEntity(amp) +SAX.entityDecl(apos, 1, (null), (null), ') +SAX.getEntity(apos) +SAX.entityDecl(quot, 1, (null), (null), ") +SAX.getEntity(quot) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/ent7 b/libxml2/result/noent/ent7 new file mode 100644 index 0000000..1c895af --- /dev/null +++ b/libxml2/result/noent/ent7 @@ -0,0 +1,8 @@ + +"> + + + +]> +'they called me the hyacinth girl' diff --git a/libxml2/result/noent/ent7.sax2 b/libxml2/result/noent/ent7.sax2 new file mode 100644 index 0000000..3236e36 --- /dev/null +++ b/libxml2/result/noent/ent7.sax2 @@ -0,0 +1,20 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(item, , ) +SAX.entityDecl(sampleEnt, 4, (null), (null), ) +SAX.getParameterEntity(sampleEnt) +SAX.entityDecl(sampleEnt, 1, (null), (null), the hyacinth girl) +SAX.getEntity(sampleEnt) +SAX.getParameterEntity(sampleEnt) +SAX.elementDecl(item, 4, ...) +SAX.elementDecl(para, 3, ...) +SAX.externalSubset(item, , ) +SAX.startElementNs(item, NULL, NULL, 0, 0, 0) +SAX.startElementNs(para, NULL, NULL, 0, 0, 0) +SAX.characters('they called me , 16) +SAX.getEntity(sampleEnt) +SAX.characters(the hyacinth girl, 17) +SAX.characters(', 1) +SAX.endElementNs(para, NULL, NULL) +SAX.endElementNs(item, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/ent8 b/libxml2/result/noent/ent8 new file mode 100644 index 0000000..676266c --- /dev/null +++ b/libxml2/result/noent/ent8 @@ -0,0 +1,10 @@ + + + +]> + + Retenção + <> + test 1test 2 + diff --git a/libxml2/result/noent/ent8.sax2 b/libxml2/result/noent/ent8.sax2 new file mode 100644 index 0000000..c8418fa --- /dev/null +++ b/libxml2/result/noent/ent8.sax2 @@ -0,0 +1,35 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(test1, 1, (null), (null), test 1) +SAX.getEntity(test1) +SAX.entityDecl(test2, 1, (null), (null), test 2) +SAX.getEntity(test2) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( + , 4) +SAX.startElementNs(Content, NULL, NULL, 0, 0, 0) +SAX.characters(Reten, 5) +SAX.characters(ç, 2) +SAX.characters(ã, 2) +SAX.characters(o, 1) +SAX.endElementNs(Content, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(Content, NULL, NULL, 0, 0, 0) +SAX.characters(<, 1) +SAX.characters(>, 1) +SAX.endElementNs(Content, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(Content, NULL, NULL, 0, 0, 0) +SAX.getEntity(test1) +SAX.characters(test 1, 6) +SAX.getEntity(test2) +SAX.characters(test 2, 6) +SAX.endElementNs(Content, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/ent9 b/libxml2/result/noent/ent9 new file mode 100644 index 0000000..b930e4c --- /dev/null +++ b/libxml2/result/noent/ent9 @@ -0,0 +1,61 @@ + +,,,"> +]> + + ,,, +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +
    ,,, +
    diff --git a/libxml2/result/noent/ent9.sax2 b/libxml2/result/noent/ent9.sax2 new file mode 100644 index 0000000..442333e --- /dev/null +++ b/libxml2/result/noent/ent9.sax2 @@ -0,0 +1,308 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(test1, 1, (null), (null), ,,,) +SAX.getEntity(test1) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( + , 4) +SAX.startElementNs(ent, NULL, NULL, 0, 0, 0) +SAX.getEntity(test1) +SAX.startElementNs(a, NULL, NULL, 0, 0, 0) +SAX.endElementNs(a, NULL, NULL) +SAX.characters(,, 1) +SAX.startElementNs(b, NULL, NULL, 0, 0, 0) +SAX.endElementNs(b, NULL, NULL) +SAX.characters(,, 1) +SAX.startElementNs(c, NULL, NULL, 0, 0, 0) +SAX.endElementNs(c, NULL, NULL) +SAX.characters(,, 1) +SAX.startElementNs(d, NULL, NULL, 0, 0, 0) +SAX.endElementNs(d, NULL, NULL) +SAX.endElementNs(ent, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(ent, NULL, NULL, 0, 0, 0) +SAX.getEntity(test1) +SAX.startElementNs(a, NULL, NULL, 0, 0, 0) +SAX.endElementNs(a, NULL, NULL) +SAX.characters(,, 1) +SAX.startElementNs(b, NULL, NULL, 0, 0, 0) +SAX.endElementNs(b, NULL, NULL) +SAX.characters(,, 1) +SAX.startElementNs(c, NULL, NULL, 0, 0, 0) +SAX.endElementNs(c, NULL, NULL) +SAX.characters(,, 1) +SAX.startElementNs(d, NULL, NULL, 0, 0, 0) +SAX.endElementNs(d, NULL, NULL) +SAX.endElementNs(ent, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/ent_738805.xml b/libxml2/result/noent/ent_738805.xml new file mode 100644 index 0000000..5e44a55 --- /dev/null +++ b/libxml2/result/noent/ent_738805.xml @@ -0,0 +1,15 @@ + + + +]> + + + + +something should appear after colon: something +something should appear after colon: something +something should appear after colon: something +something should appear after colon: something + + diff --git a/libxml2/result/noent/ent_738805.xml.sax2 b/libxml2/result/noent/ent_738805.xml.sax2 new file mode 100644 index 0000000..d8a4f1e --- /dev/null +++ b/libxml2/result/noent/ent_738805.xml.sax2 @@ -0,0 +1,54 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(somedoc, , ) +SAX.entityDecl(a, 1, (null), (null), something) +SAX.getEntity(a) +SAX.entityDecl(b, 1, (null), (null), &a;) +SAX.getEntity(b) +SAX.externalSubset(somedoc, , ) +SAX.startElementNs(somedoc, NULL, NULL, 0, 0, 0) +SAX.characters( + +, 2) +SAX.getEntity(b) +SAX.getEntity(a) +SAX.startElementNs(somebeacon, NULL, NULL, 0, 1, 0, someattribute='some...', 9) +SAX.endElementNs(somebeacon, NULL, NULL) +SAX.characters( + +, 2) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.characters( should appear after colon: , 28) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.characters( +, 1) +SAX.getEntity(b) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.characters( should appear after colon: , 28) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.characters( +, 1) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.characters( should appear after colon: , 28) +SAX.getEntity(b) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.characters( +, 1) +SAX.getEntity(b) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.characters( should appear after colon: , 28) +SAX.getEntity(b) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.characters( + +, 2) +SAX.endElementNs(somedoc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/entity-in-ns-uri.xml b/libxml2/result/noent/entity-in-ns-uri.xml new file mode 100644 index 0000000..87655b0 --- /dev/null +++ b/libxml2/result/noent/entity-in-ns-uri.xml @@ -0,0 +1,8 @@ + + +]> + + + + diff --git a/libxml2/result/noent/entity-in-ns-uri.xml.sax2 b/libxml2/result/noent/entity-in-ns-uri.xml.sax2 new file mode 100644 index 0000000..13b2547 --- /dev/null +++ b/libxml2/result/noent/entity-in-ns-uri.xml.sax2 @@ -0,0 +1,21 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(e, 1, (null), (null), -) +SAX.getEntity(e) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.getEntity(e) +SAX.startElementNs(e, NULL, 'foo:x&x&x'x-x', 1, xmlns='foo:x&x&x'x-x', 0, 0) +SAX.endElementNs(e, NULL, 'foo:x&x&x'x-x') +SAX.characters( + , 5) +SAX.getEntity(e) +SAX.startElementNs(e, NULL, NULL, 1, xmlns:ns='foo:x&x&x'x-x', 0, 0) +SAX.endElementNs(e, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/eve.xml b/libxml2/result/noent/eve.xml new file mode 100644 index 0000000..dab7208 --- /dev/null +++ b/libxml2/result/noent/eve.xml @@ -0,0 +1,6 @@ + + +]> + + diff --git a/libxml2/result/noent/eve.xml.sax2 b/libxml2/result/noent/eve.xml.sax2 new file mode 100644 index 0000000..ea3b430 --- /dev/null +++ b/libxml2/result/noent/eve.xml.sax2 @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(spec, -//testspec//, dtds/eve.dtd) +SAX.entityDecl(iso6.doc.date, 1, (null), (null), 29-May-1999) +SAX.getEntity(iso6.doc.date) +SAX.externalSubset(spec, -//testspec//, dtds/eve.dtd) +SAX.startElementNs(spec, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.endElementNs(spec, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/icu_parse_test.xml b/libxml2/result/noent/icu_parse_test.xml new file mode 100644 index 0000000..031a967 --- /dev/null +++ b/libxml2/result/noent/icu_parse_test.xml @@ -0,0 +1,13 @@ + + +Text with EUC-JP chars at position 214 (0xd6) +___ +_______________ +_______________ +_______________ +_______________ +_______________ +_______________ +_______________ +_______é®Äé___ +_ diff --git a/libxml2/result/noent/icu_parse_test.xml.sax2 b/libxml2/result/noent/icu_parse_test.xml.sax2 new file mode 100644 index 0000000..eb0d6c6 --- /dev/null +++ b/libxml2/result/noent/icu_parse_test.xml.sax2 @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(foo, NULL, NULL, 0, 0, 0) +SAX.characters( +Text with EUC-JP chars at pos, 170) +SAX.characters(駪槗___ +_, 11) +SAX.endElementNs(foo, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/intsubset.xml b/libxml2/result/noent/intsubset.xml new file mode 100644 index 0000000..bd85795 --- /dev/null +++ b/libxml2/result/noent/intsubset.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/libxml2/result/noent/intsubset.xml.sax2 b/libxml2/result/noent/intsubset.xml.sax2 new file mode 100644 index 0000000..f4db2a8 --- /dev/null +++ b/libxml2/result/noent/intsubset.xml.sax2 @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(root, , ) +SAX.elementDecl(root, 1, ...) +SAX.comment( " ) +SAX.externalSubset(root, , ) +SAX.startElementNs(root, NULL, NULL, 0, 0, 0) +SAX.endElementNs(root, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/intsubset2.xml b/libxml2/result/noent/intsubset2.xml new file mode 100644 index 0000000..af5ddef --- /dev/null +++ b/libxml2/result/noent/intsubset2.xml @@ -0,0 +1,259 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + diff --git a/libxml2/result/noent/intsubset2.xml.sax2 b/libxml2/result/noent/intsubset2.xml.sax2 new file mode 100644 index 0000000..2184e56 --- /dev/null +++ b/libxml2/result/noent/intsubset2.xml.sax2 @@ -0,0 +1,295 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( +Copyright (C) Electronic Dictionary Research and Development Group +Released under Creative Commons Attribution-ShareAlike Licence (V4.0) + +This file only contains the kanjidic2 DTD without the actual database. + +http://nihongo.monash.edu/kanjidic2/index.html +http://www.edrdg.org/edrdg/licence.html +) +SAX.internalSubset(kanjidic2, , ) +SAX.comment( Version 1.3 + This is the DTD of the XML-format kanji file combining information from + the KANJIDIC and KANJD212 files. It is intended to be largely self- + documenting, with each field being accompanied by an explanatory + comment. + + The file covers the following kanji: + (a) the 6,355 kanji from JIS X 0208; + (b) the 5,801 kanji from JIS X 0212; + (c) the 3,625 kanji from JIS X 0213 as follows: + (i) the 2,741 kanji which are also in JIS X 0212 have + JIS X 0213 code-points (kuten) added to the existing entry; + (ii) the 884 "new" kanji have new entries. + + At the end of the explanation for a number of fields there is a tag + with the format [N]. This indicates the leading letter(s) of the + equivalent field in the KANJIDIC and KANJD212 files. + + The KANJIDIC documentation should also be read for additional + information about the information in the file. + ) +SAX.elementDecl(kanjidic2, 4, ...) +SAX.elementDecl(header, 4, ...) +SAX.comment( + The single header element will contain identification information + about the version of the file + ) +SAX.elementDecl(file_version, 3, ...) +SAX.comment( + This field denotes the version of kanjidic2 structure, as more + than one version may exist. + ) +SAX.elementDecl(database_version, 3, ...) +SAX.comment( + The version of the file, in the format YYYY-NN, where NN will be + a number starting with 01 for the first version released in a + calendar year, then increasing for each version in that year. + ) +SAX.elementDecl(date_of_creation, 3, ...) +SAX.comment( + The date the file was created in international format (YYYY-MM-DD). + ) +SAX.elementDecl(character, 4, ...) +SAX.elementDecl(literal, 3, ...) +SAX.comment( + The character itself in UTF8 coding. + ) +SAX.elementDecl(codepoint, 4, ...) +SAX.comment( + The codepoint element states the code of the character in the various + character set standards. + ) +SAX.elementDecl(cp_value, 3, ...) +SAX.comment( + The cp_value contains the codepoint of the character in a particular + standard. The standard will be identified in the cp_type attribute. + ) +SAX.attributeDecl(cp_value, cp_type, 1, 2, NULL, ...) +SAX.comment( + The cp_type attribute states the coding standard applying to the + element. The values assigned so far are: + jis208 - JIS X 0208-1997 - kuten coding (nn-nn) + jis212 - JIS X 0212-1990 - kuten coding (nn-nn) + jis213 - JIS X 0213-2000 - kuten coding (p-nn-nn) + ucs - Unicode 4.0 - hex coding (4 or 5 hexadecimal digits) + ) +SAX.elementDecl(radical, 4, ...) +SAX.elementDecl(rad_value, 3, ...) +SAX.comment( + The radical number, in the range 1 to 214. The particular + classification type is stated in the rad_type attribute. + ) +SAX.attributeDecl(rad_value, rad_type, 1, 2, NULL, ...) +SAX.comment( + The rad_type attribute states the type of radical classification. + classical - as recorded in the KangXi Zidian. + nelson - as used in the Nelson "Modern Japanese-English + Character Dictionary" (i.e. the Classic, not the New Nelson). + This will only be used where Nelson reclassified the kanji. + ) +SAX.elementDecl(misc, 4, ...) +SAX.elementDecl(grade, 3, ...) +SAX.comment( + The Jouyou Kanji grade level. 1 through 6 indicate the grade in which + the kanji is taught in Japanese schools. 8 indicates it is one of the + remaining Jouyou Kanji to be learned in junior high school, and 9 + indicates it is a Jinmeiyou (for use in names) kanji. [G] + ) +SAX.elementDecl(stroke_count, 3, ...) +SAX.comment( + The stroke count of the kanji, including the radical. If more than + one, the first is considered the accepted count, while subsequent ones + are common miscounts. (See Appendix E. of the KANJIDIC documentation + for some of the rules applied when counting strokes in some of the + radicals.) [S] + ) +SAX.elementDecl(variant, 3, ...) +SAX.comment( + A cross-reference code to another kanji, usually regarded as a variant. + The type of cross-reference is given in the var_type attribute. + ) +SAX.attributeDecl(variant, var_type, 1, 2, NULL, ...) +SAX.comment( + The var_type attribute indicates the type of variant code. The current + values are: + jis208 - in JIS X 0208 - kuten coding + jis212 - in JIS X 0212 - kuten coding + jis213 - in JIS X 0213 - kuten coding + deroo - De Roo number - numeric + njecd - Halpern NJECD index number - numeric + s_h - The Kanji Dictionary (Spahn & Hadamitzky) - descriptor + nelson - "Classic" Nelson - numeric + oneill - Japanese Names (O'Neill) - numeric + ) +SAX.elementDecl(freq, 3, ...) +SAX.comment( + A frequency-of-use ranking. The 2,500 most-used characters have a + ranking; those characters that lack this field are not ranked. The + frequency is a number from 1 to 2,500 that expresses the relative + frequency of occurrence of a character in modern Japanese. This is + based on a survey in newspapers, so it is biassed towards kanji + used in newspaper articles. The discrimination between the less + frequently used kanji is not strong. + ) +SAX.elementDecl(rad_name, 3, ...) +SAX.comment( + When the kanji is itself a radical and has a name, this element + contains the name (in hiragana.) [T2] + ) +SAX.elementDecl(dic_number, 4, ...) +SAX.comment( + This element contains the index numbers and similar unstructured + information such as page numbers in a number of published dictionaries, + and instructional books on kanji. + ) +SAX.elementDecl(dic_ref, 3, ...) +SAX.comment( + Each dic_ref contains an index number. The particular dictionary, + etc. is defined by the dr_type attribute. + ) +SAX.attributeDecl(dic_ref, dr_type, 1, 2, NULL, ...) +SAX.comment( + The dr_type defines the dictionary or reference book, etc. to which + dic_ref element applies. The initial allocation is: + nelson_c - "Modern Reader's Japanese-English Character Dictionary", + edited by Andrew Nelson (now published as the "Classic" + Nelson). + nelson_n - "The New Nelson Japanese-English Character Dictionary", + edited by John Haig. + halpern_njecd - "New Japanese-English Character Dictionary", + edited by Jack Halpern. + halpern_kkld - "Kanji Learners Dictionary" (Kodansha) edited by + Jack Halpern. + heisig - "Remembering The Kanji" by James Heisig. + gakken - "A New Dictionary of Kanji Usage" (Gakken) + oneill_names - "Japanese Names", by P.G. O'Neill. + oneill_kk - "Essential Kanji" by P.G. O'Neill. + moro - "Daikanwajiten" compiled by Morohashi. For some kanji two + additional attributes are used: m_vol: the volume of the + dictionary in which the kanji is found, and m_page: the page + number in the volume. + henshall - "A Guide To Remembering Japanese Characters" by + Kenneth G. Henshall. + sh_kk - "Kanji and Kana" by Spahn and Hadamitzky. + sakade - "A Guide To Reading and Writing Japanese" edited by + Florence Sakade. + henshall3 - "A Guide To Reading and Writing Japanese" 3rd + edition, edited by Henshall, Seeley and De Groot. + tutt_cards - Tuttle Kanji Cards, compiled by Alexander Kask. + crowley - "The Kanji Way to Japanese Language Power" by + Dale Crowley. + kanji_in_context - "Kanji in Context" by Nishiguchi and Kono. + busy_people - "Japanese For Busy People" vols I-III, published + by the AJLT. The codes are the volume.chapter. + kodansha_compact - the "Kodansha Compact Kanji Guide". + ) +SAX.attributeDecl(dic_ref, m_vol, 1, 3, NULL, ...) +SAX.comment( + See above under "moro". + ) +SAX.attributeDecl(dic_ref, m_page, 1, 3, NULL, ...) +SAX.comment( + See above under "moro". + ) +SAX.elementDecl(query_code, 4, ...) +SAX.comment( + These codes contain information relating to the glyph, and can be used + for finding a required kanji. The type of code is defined by the + qc_type attribute. + ) +SAX.elementDecl(q_code, 3, ...) +SAX.comment( + The q_code contains the actual query-code value, according to the + qc_type attribute. + ) +SAX.attributeDecl(q_code, qc_type, 1, 2, NULL, ...) +SAX.comment( + The q_code attribute defines the type of query code. The current values + are: + skip - Halpern's SKIP (System of Kanji Indexing by Patterns) + code. The format is n-nn-nn. See the KANJIDIC documentation + for a description of the code and restrictions on the + commercial use of this data. [P] + + sh_desc - the descriptor codes for The Kanji Dictionary (Tuttle + 1996) by Spahn and Hadamitzky. They are in the form nxnn.n, + e.g. 3k11.2, where the kanji has 3 strokes in the + identifying radical, it is radical "k" in the SH + classification system, there are 11 other strokes, and it is + the 2nd kanji in the 3k11 sequence. (I am very grateful to + Mark Spahn for providing the list of these descriptor codes + for the kanji in this file.) [I] + four_corner - the "Four Corner" code for the kanji. This is a code + invented by Wang Chen in 1928. See the KANJIDIC documentation + for an overview of the Four Corner System. [Q] + + deroo - the codes developed by the late Father Joseph De Roo, and + published in his book "2001 Kanji" (Bojinsha). Fr De Roo + gave his permission for these codes to be included. [DR] + misclass - a possible misclassification of the kanji according + to one of the code types. (See the "Z" codes in the KANJIDIC + documentation for more details.) + + ) +SAX.elementDecl(reading_meaning, 4, ...) +SAX.comment( + The readings for the kanji in several languages, and the meanings, also + in several languages. The readings and meanings are grouped to enable + the handling of the situation where the meaning is differentiated by + reading. [T1] + ) +SAX.elementDecl(nanori, 3, ...) +SAX.comment( + Japanese readings that are now only associated with names. + ) +SAX.elementDecl(rmgroup, 4, ...) +SAX.elementDecl(reading, 3, ...) +SAX.comment( + The reading element contains the reading or pronunciation + of the kanji. + ) +SAX.attributeDecl(reading, r_type, 1, 2, NULL, ...) +SAX.comment( + The r_type attribute defines the type of reading in the reading + element. The current values are: + pinyin - the modern PinYin romanization of the Chinese reading + of the kanji. The tones are represented by a concluding + digit. [Y] + korean_r - the romanized form of the Korean reading(s) of the + kanji. The readings are in the (Republic of Korea) Ministry + of Education style of romanization. [W] + korean_h - the Korean reading(s) of the kanji in hangul. + ja_on - the "on" Japanese reading of the kanji, in katakana. A + second attribute r_status, if present, will indicate with + a value of "jy" whether the reading is approved for a + "Jouyou kanji". + ja_kun - the "kun" Japanese reading of the kanji, in hiragana. + Where relevant the okurigana is also included separated by a + ".". Readings associated with prefixes and suffixes are + marked with a "-". A second attribute r_status, if present, + will indicate with a value of "jy" whether the reading is + approved for a "Jouyou kanji". + ) +SAX.attributeDecl(reading, r_status, 1, 3, NULL, ...) +SAX.comment( + See under ja_on and ja_kun above. + ) +SAX.elementDecl(meaning, 3, ...) +SAX.comment( + The meaning associated with the kanji. + ) +SAX.attributeDecl(meaning, m_lang, 1, 3, NULL, ...) +SAX.comment( + The m_lang attribute defines the target language of the meaning. It + will be coded using the two-letter language code from the ISO 639 + standard. When absent, the value "en" (i.e. English) is implied. [{}] + ) +SAX.externalSubset(kanjidic2, , ) +SAX.startElementNs(kanjidic2, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.endElementNs(kanjidic2, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/iso-8859-5.xml b/libxml2/result/noent/iso-8859-5.xml new file mode 100644 index 0000000..e6e8b7a --- /dev/null +++ b/libxml2/result/noent/iso-8859-5.xml @@ -0,0 +1,2 @@ + +€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ diff --git a/libxml2/result/noent/iso-8859-5.xml.sax2 b/libxml2/result/noent/iso-8859-5.xml.sax2 new file mode 100644 index 0000000..e95bf5a --- /dev/null +++ b/libxml2/result/noent/iso-8859-5.xml.sax2 @@ -0,0 +1,6 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters(€Â‚ƒ„…†‡ˆ‰Š‹ŒÂÂŽ, 257) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/isolat1 b/libxml2/result/noent/isolat1 new file mode 100644 index 0000000..1e5a059 --- /dev/null +++ b/libxml2/result/noent/isolat1 @@ -0,0 +1,2 @@ + + diff --git a/libxml2/result/noent/isolat1.sax2 b/libxml2/result/noent/isolat1.sax2 new file mode 100644 index 0000000..b97920a --- /dev/null +++ b/libxml2/result/noent/isolat1.sax2 @@ -0,0 +1,7 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(très, NULL, NULL, 0, 0, 0) +SAX.characters(l, 1) +SAX.characters(à, 2) +SAX.endElementNs(très, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/isolat2 b/libxml2/result/noent/isolat2 new file mode 100644 index 0000000..8c290b9 --- /dev/null +++ b/libxml2/result/noent/isolat2 @@ -0,0 +1,107 @@ + + + + The following table displays the characters in ISO 8859 + Latin-1, which are printable and unlisted in the ascii + manual page. + + Oct Dec Hex Char Description + -------------------------------------------------------------------- + 240 160 A0 NO-BREAK SPACE + 241 161 A1 ¡ INVERTED EXCLAMATION MARK + 242 162 A2 ¢ CENT SIGN + 243 163 A3 £ POUND SIGN + 244 164 A4 ¤ CURRENCY SIGN + 245 165 A5 ¥ YEN SIGN + 246 166 A6 ¦ BROKEN BAR + 247 167 A7 § SECTION SIGN + 250 168 A8 ¨ DIAERESIS + 251 169 A9 © COPYRIGHT SIGN + 252 170 AA ª FEMININE ORDINAL INDICATOR + 253 171 AB « LEFT-POINTING DOUBLE ANGLE QUOTATION MARK + 254 172 AC ¬ NOT SIGN + 255 173 AD ­ SOFT HYPHEN + 256 174 AE ® REGISTERED SIGN + 257 175 AF ¯ MACRON + 260 176 B0 ° DEGREE SIGN + 261 177 B1 ± PLUS-MINUS SIGN + 262 178 B2 ² SUPERSCRIPT TWO + 263 179 B3 ³ SUPERSCRIPT THREE + 264 180 B4 ´ ACUTE ACCENT + 265 181 B5 µ MICRO SIGN + 266 182 B6 ¶ PILCROW SIGN + 267 183 B7 · MIDDLE DOT + 270 184 B8 ¸ CEDILLA + 271 185 B9 ¹ SUPERSCRIPT ONE + 272 186 BA º MASCULINE ORDINAL INDICATOR + 273 187 BB » RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK + 274 188 BC ¼ VULGAR FRACTION ONE QUARTER + 275 189 BD ½ VULGAR FRACTION ONE HALF + 276 190 BE ¾ VULGAR FRACTION THREE QUARTERS + 277 191 BF ¿ INVERTED QUESTION MARK + 300 192 C0 À LATIN CAPITAL LETTER A WITH GRAVE + 301 193 C1 Á LATIN CAPITAL LETTER A WITH ACUTE + 302 194 C2  LATIN CAPITAL LETTER A WITH CIRCUMFLEX + 303 195 C3 à LATIN CAPITAL LETTER A WITH TILDE + 304 196 C4 Ä LATIN CAPITAL LETTER A WITH DIAERESIS + 305 197 C5 Å LATIN CAPITAL LETTER A WITH RING ABOVE + 306 198 C6 Æ LATIN CAPITAL LETTER AE + 307 199 C7 Ç LATIN CAPITAL LETTER C WITH CEDILLA + 310 200 C8 È LATIN CAPITAL LETTER E WITH GRAVE + 311 201 C9 É LATIN CAPITAL LETTER E WITH ACUTE + 312 202 CA Ê LATIN CAPITAL LETTER E WITH CIRCUMFLEX + 313 203 CB Ë LATIN CAPITAL LETTER E WITH DIAERESIS + 314 204 CC Ì LATIN CAPITAL LETTER I WITH GRAVE + 315 205 CD Í LATIN CAPITAL LETTER I WITH ACUTE + 316 206 CE Î LATIN CAPITAL LETTER I WITH CIRCUMFLEX + 317 207 CF Ï LATIN CAPITAL LETTER I WITH DIAERESIS + 320 208 D0 Ð LATIN CAPITAL LETTER ETH + 321 209 D1 Ñ LATIN CAPITAL LETTER N WITH TILDE + 322 210 D2 Ò LATIN CAPITAL LETTER O WITH GRAVE + 323 211 D3 Ó LATIN CAPITAL LETTER O WITH ACUTE + 324 212 D4 Ô LATIN CAPITAL LETTER O WITH CIRCUMFLEX + 325 213 D5 Õ LATIN CAPITAL LETTER O WITH TILDE + 326 214 D6 Ö LATIN CAPITAL LETTER O WITH DIAERESIS + 327 215 D7 × MULTIPLICATION SIGN + 330 216 D8 Ø LATIN CAPITAL LETTER O WITH STROKE + 331 217 D9 Ù LATIN CAPITAL LETTER U WITH GRAVE + 332 218 DA Ú LATIN CAPITAL LETTER U WITH ACUTE + 333 219 DB Û LATIN CAPITAL LETTER U WITH CIRCUMFLEX + 334 220 DC Ü LATIN CAPITAL LETTER U WITH DIAERESIS + 335 221 DD Ý LATIN CAPITAL LETTER Y WITH ACUTE + 336 222 DE Þ LATIN CAPITAL LETTER THORN + 337 223 DF ß LATIN SMALL LETTER SHARP S + 340 224 E0 à LATIN SMALL LETTER A WITH GRAVE + 341 225 E1 á LATIN SMALL LETTER A WITH ACUTE + 342 226 E2 â LATIN SMALL LETTER A WITH CIRCUMFLEX + 343 227 E3 ã LATIN SMALL LETTER A WITH TILDE + 344 228 E4 ä LATIN SMALL LETTER A WITH DIAERESIS + 345 229 E5 å LATIN SMALL LETTER A WITH RING ABOVE + 346 230 E6 æ LATIN SMALL LETTER AE + 347 231 E7 ç LATIN SMALL LETTER C WITH CEDILLA + 350 232 E8 è LATIN SMALL LETTER E WITH GRAVE + 351 233 E9 é LATIN SMALL LETTER E WITH ACUTE + 352 234 EA ê LATIN SMALL LETTER E WITH CIRCUMFLEX + 353 235 EB ë LATIN SMALL LETTER E WITH DIAERESIS + 354 236 EC ì LATIN SMALL LETTER I WITH GRAVE + 355 237 ED í LATIN SMALL LETTER I WITH ACUTE + 356 238 EE î LATIN SMALL LETTER I WITH CIRCUMFLEX + 357 239 EF ï LATIN SMALL LETTER I WITH DIAERESIS + 360 240 F0 ð LATIN SMALL LETTER ETH + 361 241 F1 ñ LATIN SMALL LETTER N WITH TILDE + 362 242 F2 ò LATIN SMALL LETTER O WITH GRAVE + 363 243 F3 ó LATIN SMALL LETTER O WITH ACUTE + 364 244 F4 ô LATIN SMALL LETTER O WITH CIRCUMFLEX + 365 245 F5 õ LATIN SMALL LETTER O WITH TILDE + 366 246 F6 ö LATIN SMALL LETTER O WITH DIAERESIS + 367 247 F7 ÷ DIVISION SIGN + 370 248 F8 ø LATIN SMALL LETTER O WITH STROKE + 371 249 F9 ù LATIN SMALL LETTER U WITH GRAVE + 372 250 FA ú LATIN SMALL LETTER U WITH ACUTE + 373 251 FB û LATIN SMALL LETTER U WITH CIRCUMFLEX + 374 252 FC ü LATIN SMALL LETTER U WITH DIAERESIS + 375 253 FD ý LATIN SMALL LETTER Y WITH ACUTE + 376 254 FE þ LATIN SMALL LETTER THORN + 377 255 FF ÿ LATIN SMALL LETTER Y WITH DIAERESIS + + diff --git a/libxml2/result/noent/isolat2.sax2 b/libxml2/result/noent/isolat2.sax2 new file mode 100644 index 0000000..0ac3f56 --- /dev/null +++ b/libxml2/result/noent/isolat2.sax2 @@ -0,0 +1,35 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(tst, NULL, NULL, 0, 0, 0) +SAX.characters( + + The following table d, 345) +SAX.characters(¡ INVERTED EXCLAMATION MA, 300) +SAX.characters( 250 168 A8 ¨ , 300) +SAX.characters(SOFT HYPHEN + 256 174 , 300) +SAX.characters( 264 180 B4 ´ AC, 300) +SAX.characters(SCULINE ORDINAL INDICATOR + , 300) +SAX.characters(1 BF ¿ INVERTED QUE, 300) +SAX.characters( A WITH TILDE + 304 196, 300) +SAX.characters( C8 È LATIN CAPITAL , 300) +SAX.characters(APITAL LETTER I WITH GRAVE + , 300) +SAX.characters( 321 209 D1 Ñ LA, 300) +SAX.characters( LATIN CAPITAL LETTER O WITH T, 300) +SAX.characters( 332 218 DA Ú LAT, 300) +SAX.characters( LATIN CAPITAL LETTER THORN, 300) +SAX.characters(3 227 E3 ã LATIN , 300) +SAX.characters(R C WITH CEDILLA + 350 , 300) +SAX.characters(36 EC ì LATIN SMALL, 300) +SAX.characters(LETTER ETH + 361 241 , 300) +SAX.characters( õ LATIN SMALL LETTER O , 300) +SAX.characters( 250 FA ú LATIN SMA, 300) +SAX.characters(L LETTER THORN + 377 25, 85) +SAX.endElementNs(tst, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/isolat3 b/libxml2/result/noent/isolat3 new file mode 100644 index 0000000..1abf7b4 --- /dev/null +++ b/libxml2/result/noent/isolat3 @@ -0,0 +1,10 @@ + + + + +]]> +then the replacement text for the entity "book" is: +La Peste: Albert Camus, +© 1947 Éditions Gallimard. &rights; + diff --git a/libxml2/result/noent/isolat3.sax2 b/libxml2/result/noent/isolat3.sax2 new file mode 100644 index 0000000..31296af --- /dev/null +++ b/libxml2/result/noent/isolat3.sax2 @@ -0,0 +1,29 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(rec, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.startElementNs(eg, NULL, NULL, 0, 0, 0) +SAX.pcdata( + + + + + + +]> + + + + diff --git a/libxml2/result/noent/issue626.xml.sax2 b/libxml2/result/noent/issue626.xml.sax2 new file mode 100644 index 0000000..edc2c1f --- /dev/null +++ b/libxml2/result/noent/issue626.xml.sax2 @@ -0,0 +1,23 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.attributeDecl(e, a1, 1, 3, NULL, ...) +SAX.attributeDecl(e, a2, 1, 3, NULL, ...) +SAX.attributeDecl(e, a3, 1, 3, NULL, ...) +SAX.attributeDecl(e, a4, 1, 3, NULL, ...) +SAX.attributeDecl(e, a5, 1, 3, NULL, ...) +SAX.attributeDecl(e, a6, 1, 3, NULL, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.comment( This tests whether xmlCleanSpecialAttr works. The attribute values + must not be normalized. ) +SAX.characters( + , 5) +SAX.startElementNs(e, NULL, NULL, 0, 6, 0, a1=' x ...', 6, a2=' x ...', 6, a3=' x ...', 6, a4=' x ...', 6, a5=' x ...', 6, a6=' x ...', 6) +SAX.endElementNs(e, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/issue643.xml b/libxml2/result/noent/issue643.xml new file mode 100644 index 0000000..3a5a92c --- /dev/null +++ b/libxml2/result/noent/issue643.xml @@ -0,0 +1,8 @@ + + + +]> + + + diff --git a/libxml2/result/noent/issue643.xml.sax2 b/libxml2/result/noent/issue643.xml.sax2 new file mode 100644 index 0000000..cd7e5f1 --- /dev/null +++ b/libxml2/result/noent/issue643.xml.sax2 @@ -0,0 +1,15 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.attributeDecl(elem, xmlns, 1, 4, urn:def2, ...) +SAX.attributeDecl(elem, xmlns:a, 1, 4, urn:a2, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, 'urn:def', 2, xmlns='urn:def', xmlns:a='urn:a', 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(elem, NULL, 'urn:def2', 2, xmlns='urn:def2', xmlns:a='urn:a2', 0, 0) +SAX.endElementNs(elem, NULL, 'urn:def2') +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, 'urn:def') +SAX.endDocument() diff --git a/libxml2/result/noent/issue655.xml b/libxml2/result/noent/issue655.xml new file mode 100644 index 0000000..2ae8249 --- /dev/null +++ b/libxml2/result/noent/issue655.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/libxml2/result/noent/issue655.xml.sax2 b/libxml2/result/noent/issue655.xml.sax2 new file mode 100644 index 0000000..804bed6 --- /dev/null +++ b/libxml2/result/noent/issue655.xml.sax2 @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(test, , ) +SAX.entityDecl(newline, 1, (null), (null), ) +SAX.getEntity(newline) +SAX.externalSubset(test, , ) +SAX.getEntity(newline) +SAX.startElementNs(test, NULL, NULL, 0, 1, 0, newline=' +...', 1) +SAX.endElementNs(test, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/japancrlf.xml b/libxml2/result/noent/japancrlf.xml new file mode 100644 index 0000000..60b307c --- /dev/null +++ b/libxml2/result/noent/japancrlf.xml @@ -0,0 +1,4 @@ + +<入力メッセージ xmlns="http://schemas.cordys.com/webapps/1.0/bpm/c8c8b82a-0ac0-3d19-01e2-bda74af9b826"> + + diff --git a/libxml2/result/noent/japancrlf.xml.sax2 b/libxml2/result/noent/japancrlf.xml.sax2 new file mode 100644 index 0000000..878eae4 --- /dev/null +++ b/libxml2/result/noent/japancrlf.xml.sax2 @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(入力メッセージ, NULL, 'http://schemas.cordys.com/webapps/1.0/bpm/c8c8b82a-0ac0-3d19-01e2-bda74af9b826', 1, xmlns='http://schemas.cordys.com/webapps/1.0/bpm/c8c8b82a-0ac0-3d19-01e2-bda74af9b826', 0, 0) +SAX.characters( + , 2) +SAX.startElementNs(Ele, c8c, 'http://schemas.cordys.com/webapps/1.0/bpm/c8c8b82a-0ac0-3d19-01e2-bda74af9b826', 1, xmlns:c8c='http://schemas.cordys.com/webapps/1.0/bpm/c8c8b82a-0ac0-3d19-01e2-bda74af9b826', 0, 0) +SAX.endElementNs(Ele, c8c, 'http://schemas.cordys.com/webapps/1.0/bpm/c8c8b82a-0ac0-3d19-01e2-bda74af9b826') +SAX.characters( +, 1) +SAX.endElementNs(入力メッセージ, NULL, 'http://schemas.cordys.com/webapps/1.0/bpm/c8c8b82a-0ac0-3d19-01e2-bda74af9b826') +SAX.endDocument() diff --git a/libxml2/result/noent/ns b/libxml2/result/noent/ns new file mode 100644 index 0000000..94b927e --- /dev/null +++ b/libxml2/result/noent/ns @@ -0,0 +1,4 @@ + + + + diff --git a/libxml2/result/noent/ns.sax2 b/libxml2/result/noent/ns.sax2 new file mode 100644 index 0000000..c615db3 --- /dev/null +++ b/libxml2/result/noent/ns.sax2 @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/', 1, xmlns:dia='http://www.lysator.liu.se/~alla/dia/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(diagramdata, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, dia:testattr='test...', 4) +SAX.endElementNs(diagramdata, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( +, 1) +SAX.endElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.endDocument() diff --git a/libxml2/result/noent/ns2 b/libxml2/result/noent/ns2 new file mode 100644 index 0000000..b69ad82 --- /dev/null +++ b/libxml2/result/noent/ns2 @@ -0,0 +1,2 @@ + + diff --git a/libxml2/result/noent/ns2.sax2 b/libxml2/result/noent/ns2.sax2 new file mode 100644 index 0000000..fc8d6f4 --- /dev/null +++ b/libxml2/result/noent/ns2.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/', 1, xmlns:dia='http://www.lysator.liu.se/~alla/dia/', 1, 0, dia:testattr='test...', 4) +SAX.endElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.endDocument() diff --git a/libxml2/result/noent/ns3 b/libxml2/result/noent/ns3 new file mode 100644 index 0000000..b69ad82 --- /dev/null +++ b/libxml2/result/noent/ns3 @@ -0,0 +1,2 @@ + + diff --git a/libxml2/result/noent/ns3.sax2 b/libxml2/result/noent/ns3.sax2 new file mode 100644 index 0000000..fc8d6f4 --- /dev/null +++ b/libxml2/result/noent/ns3.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/', 1, xmlns:dia='http://www.lysator.liu.se/~alla/dia/', 1, 0, dia:testattr='test...', 4) +SAX.endElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.endDocument() diff --git a/libxml2/result/noent/ns4 b/libxml2/result/noent/ns4 new file mode 100644 index 0000000..136bf92 --- /dev/null +++ b/libxml2/result/noent/ns4 @@ -0,0 +1,2 @@ + + diff --git a/libxml2/result/noent/ns4.sax2 b/libxml2/result/noent/ns4.sax2 new file mode 100644 index 0000000..e31cc56 --- /dev/null +++ b/libxml2/result/noent/ns4.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(diagram, NULL, NULL, 0, 4, 0, testattr='test...', 4, xml:lang='en" ...', 2, xml:link='simp...', 6, xml:space='pres...', 8) +SAX.endElementNs(diagram, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/ns5 b/libxml2/result/noent/ns5 new file mode 100644 index 0000000..0afe4e2 --- /dev/null +++ b/libxml2/result/noent/ns5 @@ -0,0 +1,4 @@ + + + + diff --git a/libxml2/result/noent/ns5.sax2 b/libxml2/result/noent/ns5.sax2 new file mode 100644 index 0000000..a434d6b --- /dev/null +++ b/libxml2/result/noent/ns5.sax2 @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(element, NULL, 'http://example.org/ns/1', 2, xmlns:rng='http://example.org/ns/1', xmlns='http://example.org/ns/1', 1, 0, name='foo"...', 3) +SAX.characters( + , 3) +SAX.startElementNs(empty, NULL, 'http://example.org/ns/1', 0, 0, 0) +SAX.endElementNs(empty, NULL, 'http://example.org/ns/1') +SAX.characters( +, 1) +SAX.endElementNs(element, NULL, 'http://example.org/ns/1') +SAX.endDocument() diff --git a/libxml2/result/noent/ns6 b/libxml2/result/noent/ns6 new file mode 100644 index 0000000..c971252 --- /dev/null +++ b/libxml2/result/noent/ns6 @@ -0,0 +1,5 @@ + + + + + diff --git a/libxml2/result/noent/ns6.sax2 b/libxml2/result/noent/ns6.sax2 new file mode 100644 index 0000000..7b54552 --- /dev/null +++ b/libxml2/result/noent/ns6.sax2 @@ -0,0 +1,15 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(root, NULL, NULL, 0, 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(foo, NULL, 'http://abc', 1, xmlns='http://abc', 0, 0) +SAX.endElementNs(foo, NULL, 'http://abc') +SAX.characters( + , 3) +SAX.startElementNs(bar, NULL, NULL, 0, 0, 0) +SAX.endElementNs(bar, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(root, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/ns7 b/libxml2/result/noent/ns7 new file mode 100644 index 0000000..b5089e1 --- /dev/null +++ b/libxml2/result/noent/ns7 @@ -0,0 +1,2 @@ + + diff --git a/libxml2/result/noent/ns7.sax2 b/libxml2/result/noent/ns7.sax2 new file mode 100644 index 0000000..2a2c714 --- /dev/null +++ b/libxml2/result/noent/ns7.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(test, xml, 'http://www.w3.org/XML/1998/namespace', 0, 0, 0) +SAX.endElementNs(test, xml, 'http://www.w3.org/XML/1998/namespace') +SAX.endDocument() diff --git a/libxml2/result/noent/nsclean.xml b/libxml2/result/noent/nsclean.xml new file mode 100644 index 0000000..8f1ea82 --- /dev/null +++ b/libxml2/result/noent/nsclean.xml @@ -0,0 +1,5 @@ + +
    + + +
    diff --git a/libxml2/result/noent/nsclean.xml.sax2 b/libxml2/result/noent/nsclean.xml.sax2 new file mode 100644 index 0000000..d443e2b --- /dev/null +++ b/libxml2/result/noent/nsclean.xml.sax2 @@ -0,0 +1,13 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(article, NULL, 'tag:foofoofoofoofoofoofoofoo', 3, xmlns='tag:foofoofoofoofoofoofoofoo', xmlns:dc='http://purl.org/dc/elements/1.1/', xmlns:dcterms='http://purl.org/dc/terms/', 0, 0) +SAX.characters( +, 1) +SAX.startElementNs(content, foop, 'tag:foofoofoofoofoofoofoofoo', 2, xmlns='http://www.w3.org/1999/xhtml', xmlns:foop='tag:foofoofoofoofoofoofoofoo', 0, 0) +SAX.characters( +, 1) +SAX.endElementNs(content, foop, 'tag:foofoofoofoofoofoofoofoo') +SAX.characters( +, 1) +SAX.endElementNs(article, NULL, 'tag:foofoofoofoofoofoofoofoo') +SAX.endDocument() diff --git a/libxml2/result/noent/p3p b/libxml2/result/noent/p3p new file mode 100644 index 0000000..31d5587 --- /dev/null +++ b/libxml2/result/noent/p3p @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/libxml2/result/noent/p3p.sax2 b/libxml2/result/noent/p3p.sax2 new file mode 100644 index 0000000..6815789 --- /dev/null +++ b/libxml2/result/noent/p3p.sax2 @@ -0,0 +1,65 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(RDF, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 2, xmlns:p3p='http://www.w3.org/TR/1998/WD-P3P10-syntax#proposal.DTD', xmlns:RDF='http://www.w3.org/TR/WD-rdf-syntax#', 0, 0) +SAX.characters( +, 1) +SAX.startElementNs(PROP, NULL, NULL, 0, 4, 0, realm='http...', 37, entity='Cool...', 11, agreeID='94df...', 16, assurance='http...', 22) +SAX.characters( + , 3) +SAX.startElementNs(USES, NULL, NULL, 0, 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(STATEMENT, NULL, NULL, 0, 4, 0, purp='2,3"...', 3, recpnt='0" i...', 1, id='0" + ...', 1, consq='a si...', 37) +SAX.characters( + , 5) +SAX.startElementNs(WITH, NULL, NULL, 0, 0, 0) +SAX.startElementNs(PREFIX, NULL, NULL, 0, 1, 0, name='User...', 5) +SAX.characters( + , 6) +SAX.startElementNs(REF, NULL, NULL, 0, 1, 0, name='Name...', 10) +SAX.endElementNs(REF, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(REF, NULL, NULL, 0, 2, 0, name='Bdat...', 10, optional='1"/>...', 1) +SAX.endElementNs(REF, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(REF, NULL, NULL, 0, 1, 0, name='Gend...', 6) +SAX.endElementNs(REF, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(PREFIX, NULL, NULL) +SAX.endElementNs(WITH, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(STATEMENT, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(USES, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(USES, NULL, NULL, 0, 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(STATEMENT, NULL, NULL, 0, 4, 0, action='read...', 10, purp='0" r...', 1, recpnt='0" i...', 1, id='1"> +...', 1) +SAX.characters( + , 5) +SAX.startElementNs(REF, NULL, NULL, 0, 1, 0, name='User...', 14) +SAX.endElementNs(REF, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(STATEMENT, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(USES, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(DISCLOSURE, NULL, NULL, 0, 3, 0, discURI='http...', 47, access='3" o...', 1, other='0,1"...', 3) +SAX.endElementNs(DISCLOSURE, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(PROP, NULL, NULL) +SAX.endElementNs(RDF, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#') +SAX.endDocument() diff --git a/libxml2/result/noent/pi.xml b/libxml2/result/noent/pi.xml new file mode 100644 index 0000000..48c7ff0 --- /dev/null +++ b/libxml2/result/noent/pi.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/libxml2/result/noent/pi.xml.sax2 b/libxml2/result/noent/pi.xml.sax2 new file mode 100644 index 0000000..a4490ea --- /dev/null +++ b/libxml2/result/noent/pi.xml.sax2 @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.processingInstruction(document-start, doc) +SAX.characters( +, 1) +SAX.startElementNs(empty, NULL, NULL, 0, 0, 0) +SAX.endElementNs(empty, NULL, NULL) +SAX.characters( +, 1) +SAX.processingInstruction(document-end, doc) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/pi2.xml b/libxml2/result/noent/pi2.xml new file mode 100644 index 0000000..710d51c --- /dev/null +++ b/libxml2/result/noent/pi2.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/libxml2/result/noent/pi2.xml.sax2 b/libxml2/result/noent/pi2.xml.sax2 new file mode 100644 index 0000000..1e6caad --- /dev/null +++ b/libxml2/result/noent/pi2.xml.sax2 @@ -0,0 +1,13 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.processingInstruction(document-start, doc) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.startElementNs(empty, NULL, NULL, 0, 0, 0) +SAX.endElementNs(empty, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.processingInstruction(document-end, doc) +SAX.endDocument() diff --git a/libxml2/result/noent/rdf1 b/libxml2/result/noent/rdf1 new file mode 100644 index 0000000..d44c3c6 --- /dev/null +++ b/libxml2/result/noent/rdf1 @@ -0,0 +1,81 @@ + + + + rpm + 2.5 + 2 + i386 + Linux + Manhattan + Red Hat Software + Red Hat Software <bugs@redhat.com> + Utilities/System + Red Hat Package Manager + RPM is a powerful package manager, which can be used to build, install, +query, verify, update, and uninstall individual software packages. A +package consists of an archive of files, and package information, including +name, version, and description. + GPL + * Sun May 10 1998 Prospector System <bugs@redhat.com> + - translations modified for de, fr, tr + + rpm-2.5-2.src.rpm + ftp://ftp.redhat.com/pub/redhat/redhat-5.1/SRPMS + Sun May 10 14:52:32 1998 + 894826352 + 850599 + porky.redhat.com + + + rpm + + + + + /bin/sh + ld-linux.so.2 + libc.so.6 + libdb.so.2 + libz.so.1 + /bin/bash + /bin/sh + + + /bin/rpm +/usr/bin/find-provides +/usr/bin/find-requires +/usr/bin/gendiff +/usr/bin/rpm2cpio +/usr/doc/rpm-2.5 +/usr/doc/rpm-2.5/CHANGES +/usr/doc/rpm-2.5/RPM-PGP-KEY +/usr/doc/rpm-2.5/buildroot +/usr/doc/rpm-2.5/dependencies +/usr/doc/rpm-2.5/format +/usr/doc/rpm-2.5/groups +/usr/doc/rpm-2.5/macros +/usr/doc/rpm-2.5/queryformat +/usr/doc/rpm-2.5/relocatable +/usr/doc/rpm-2.5/signatures +/usr/doc/rpm-2.5/spec +/usr/doc/rpm-2.5/triggers +/usr/lib/rpmpopt +/usr/lib/rpmrc +/usr/man/man8/rpm.8 +/usr/man/man8/rpm2cpio.8 +/usr/share/locale/de/LC_MESSAGES/rpm.mo +/usr/share/locale/fr/LC_MESSAGES/rpm.mo +/usr/share/locale/pt-br/LC_MESSAGES/rpm.mo +/usr/share/locale/sv/LC_MESSAGES/rpm.mo +/usr/share/locale/tr/LC_MESSAGES/rpm.mo +/usr/src/redhat +/usr/src/redhat/BUILD +/usr/src/redhat/RPMS +/usr/src/redhat/RPMS/i386 +/usr/src/redhat/RPMS/noarch +/usr/src/redhat/SOURCES +/usr/src/redhat/SPECS +/usr/src/redhat/SRPMS + + + diff --git a/libxml2/result/noent/rdf1.sax2 b/libxml2/result/noent/rdf1.sax2 new file mode 100644 index 0000000..24822e1 --- /dev/null +++ b/libxml2/result/noent/rdf1.sax2 @@ -0,0 +1,186 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(RDF, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 2, xmlns:RPM='http://www.rpm.org/', xmlns:RDF='http://www.w3.org/TR/WD-rdf-syntax#', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(Description, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 0, 1, 0, HREF='ftp:...', 78) +SAX.characters( + , 5) +SAX.startElementNs(Name, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(rpm, 3) +SAX.endElementNs(Name, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Version, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(2.5, 3) +SAX.endElementNs(Version, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Release, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(2, 1) +SAX.endElementNs(Release, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Arch, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(i386, 4) +SAX.endElementNs(Arch, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Os, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Linux, 5) +SAX.endElementNs(Os, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Distribution, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Manhattan , 10) +SAX.endElementNs(Distribution, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Vendor, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Red Hat Software, 16) +SAX.endElementNs(Vendor, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Packager, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Red Hat Software , 17) +SAX.characters(<, 1) +SAX.characters(bugs@redhat.com, 15) +SAX.characters(>, 1) +SAX.endElementNs(Packager, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Group, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Utilities/System, 16) +SAX.endElementNs(Group, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Summary, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Red Hat Package Manager, 23) +SAX.endElementNs(Summary, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Description, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(RPM is a powerful package mana, 248) +SAX.endElementNs(Description, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Copyright, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(GPL, 3) +SAX.endElementNs(Copyright, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Changelog, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(* Sun May 10 1998 Prospector S, 36) +SAX.characters(<, 1) +SAX.characters(bugs@redhat.com, 15) +SAX.characters(>, 1) +SAX.characters( + - translations modified for, 42) +SAX.endElementNs(Changelog, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Sources, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(rpm-2.5-2.src.rpm, 17) +SAX.endElementNs(Sources, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(SourcesFtp, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(ftp://ftp.redhat.com/pub/redha, 48) +SAX.endElementNs(SourcesFtp, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(BuildDate, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Sun May 10 14:52:32 1998, 24) +SAX.endElementNs(BuildDate, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Date, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(894826352, 9) +SAX.endElementNs(Date, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Size, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(850599, 6) +SAX.endElementNs(Size, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(BuildHost, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(porky.redhat.com, 16) +SAX.endElementNs(BuildHost, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Provides, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(Bag, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(rpm, 3) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 7) +SAX.endElementNs(Bag, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#') +SAX.characters( + , 5) +SAX.endElementNs(Provides, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Requires, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(Bag, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(/bin/sh, 7) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(ld-linux.so.2, 13) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(libc.so.6, 9) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(libdb.so.2, 10) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(libz.so.1, 9) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(/bin/bash, 9) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(/bin/sh, 7) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 7) +SAX.endElementNs(Bag, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#') +SAX.characters( + , 5) +SAX.endElementNs(Requires, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Files, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(/bin/rpm +/usr/bin/find-provide, 885) +SAX.endElementNs(Files, RPM, 'http://www.rpm.org/') +SAX.characters( + , 3) +SAX.endElementNs(Description, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#') +SAX.characters( +, 1) +SAX.endElementNs(RDF, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#') +SAX.endDocument() diff --git a/libxml2/result/noent/rdf2 b/libxml2/result/noent/rdf2 new file mode 100644 index 0000000..284946b --- /dev/null +++ b/libxml2/result/noent/rdf2 @@ -0,0 +1,1899 @@ + + + + ncurses4 + 4.2 + 3 + i386 + Linux + DLD + delix Computer GmbH + Till Bubeck <bubeck@delix.de>, Ngo Than <than@delix.de> + Libraries + Bibliothek zur Ansteuerung von Terminals + Diese Library stellt dem Programmierer vom Terminal unabhängige +Routinen zur Ansteuerung Ihres Bildschirms zur Verfügung, die +speziell optimiert sind. +Diese Version ist die 'new curses' (ncurses) Variante und ist der +anerkannte Ersatz für die klassische Curses-Library, die nicht mehr +weiterentwickelt wird. + GPL + ncurses4-4.2-3.src.rpm + Tue May 12 19:30:26 1998 + 895015826 + 1373513 + erdbeere.delix.de + + + ncurses4 + libpanel.so.4 + libncurses.so.4 + libmenu.so.4 + libform.so.4 + ncurses + + + /lib/libncurses.so.4 +/lib/libncurses.so.4.2 +/usr/doc/ncurses4-4.2-3 +/usr/doc/ncurses4-4.2-3/ANNOUNCE.gz +/usr/doc/ncurses4-4.2-3/NEWS.gz +/usr/doc/ncurses4-4.2-3/README.gz +/usr/doc/ncurses4-4.2-3/TO-DO.gz +/usr/lib/libform.so.4 +/usr/lib/libform.so.4.2 +/usr/lib/libmenu.so.4 +/usr/lib/libmenu.so.4.2 +/usr/lib/libpanel.so.4 +/usr/lib/libpanel.so.4.2 +/usr/share/ncurses4 +/usr/share/ncurses4/tabset +/usr/share/ncurses4/tabset/std +/usr/share/ncurses4/tabset/stdcrt +/usr/share/ncurses4/tabset/vt100 +/usr/share/ncurses4/tabset/vt300 +/usr/share/ncurses4/terminfo +/usr/share/ncurses4/terminfo/1 +/usr/share/ncurses4/terminfo/1/1178 +/usr/share/ncurses4/terminfo/1/1730-lm +/usr/share/ncurses4/terminfo/2 +/usr/share/ncurses4/terminfo/2/2621 +/usr/share/ncurses4/terminfo/2/2621-wl +/usr/share/ncurses4/terminfo/2/2621A +/usr/share/ncurses4/terminfo/2/2621a +/usr/share/ncurses4/terminfo/3 +/usr/share/ncurses4/terminfo/3/386at +/usr/share/ncurses4/terminfo/3/3b1 +/usr/share/ncurses4/terminfo/4 +/usr/share/ncurses4/terminfo/4/4025ex +/usr/share/ncurses4/terminfo/4/4027ex +/usr/share/ncurses4/terminfo/4/4410-w +/usr/share/ncurses4/terminfo/5 +/usr/share/ncurses4/terminfo/5/5051 +/usr/share/ncurses4/terminfo/5/5410-w +/usr/share/ncurses4/terminfo/5/5620 +/usr/share/ncurses4/terminfo/5/5630-24 +/usr/share/ncurses4/terminfo/5/5630DMD-24 +/usr/share/ncurses4/terminfo/6 +/usr/share/ncurses4/terminfo/6/630-lm +/usr/share/ncurses4/terminfo/6/630MTG-24 +/usr/share/ncurses4/terminfo/7 +/usr/share/ncurses4/terminfo/7/730MTG-24 +/usr/share/ncurses4/terminfo/7/730MTG-41 +/usr/share/ncurses4/terminfo/7/730MTG-41r +/usr/share/ncurses4/terminfo/7/730MTGr +/usr/share/ncurses4/terminfo/7/730MTGr-24 +/usr/share/ncurses4/terminfo/8 +/usr/share/ncurses4/terminfo/8/8510 +/usr/share/ncurses4/terminfo/9 +/usr/share/ncurses4/terminfo/9/955-hb +/usr/share/ncurses4/terminfo/9/955-w +/usr/share/ncurses4/terminfo/P +/usr/share/ncurses4/terminfo/P/P12 +/usr/share/ncurses4/terminfo/P/P12-M +/usr/share/ncurses4/terminfo/P/P12-M-W +/usr/share/ncurses4/terminfo/P/P12-W +/usr/share/ncurses4/terminfo/P/P14 +/usr/share/ncurses4/terminfo/P/P14-M +/usr/share/ncurses4/terminfo/P/P14-M-W +/usr/share/ncurses4/terminfo/P/P14-W +/usr/share/ncurses4/terminfo/P/P4 +/usr/share/ncurses4/terminfo/P/P5 +/usr/share/ncurses4/terminfo/P/P7 +/usr/share/ncurses4/terminfo/P/P8 +/usr/share/ncurses4/terminfo/P/P8-W +/usr/share/ncurses4/terminfo/P/P9 +/usr/share/ncurses4/terminfo/P/P9-8 +/usr/share/ncurses4/terminfo/P/P9-8-W +/usr/share/ncurses4/terminfo/P/P9-W +/usr/share/ncurses4/terminfo/X +/usr/share/ncurses4/terminfo/X/X-hpterm +/usr/share/ncurses4/terminfo/a +/usr/share/ncurses4/terminfo/a/a210 +/usr/share/ncurses4/terminfo/a/a80 +/usr/share/ncurses4/terminfo/a/a980 +/usr/share/ncurses4/terminfo/a/aa4080 +/usr/share/ncurses4/terminfo/a/aaa +/usr/share/ncurses4/terminfo/a/aaa+dec +/usr/share/ncurses4/terminfo/a/aaa+rv +/usr/share/ncurses4/terminfo/a/aaa+unk +/usr/share/ncurses4/terminfo/a/aaa-18 +/usr/share/ncurses4/terminfo/a/aaa-18-rv +/usr/share/ncurses4/terminfo/a/aaa-20 +/usr/share/ncurses4/terminfo/a/aaa-22 +/usr/share/ncurses4/terminfo/a/aaa-24 +/usr/share/ncurses4/terminfo/a/aaa-24-rv +/usr/share/ncurses4/terminfo/a/aaa-26 +/usr/share/ncurses4/terminfo/a/aaa-28 +/usr/share/ncurses4/terminfo/a/aaa-30 +/usr/share/ncurses4/terminfo/a/aaa-30-ctxt +/usr/share/ncurses4/terminfo/a/aaa-30-rv +/usr/share/ncurses4/terminfo/a/aaa-30-rv-ctxt +/usr/share/ncurses4/terminfo/a/aaa-30-s +/usr/share/ncurses4/terminfo/a/aaa-30-s-ctxt +/usr/share/ncurses4/terminfo/a/aaa-30-s-rv +/usr/share/ncurses4/terminfo/a/aaa-30-s-rv-ct +/usr/share/ncurses4/terminfo/a/aaa-36 +/usr/share/ncurses4/terminfo/a/aaa-36-rv +/usr/share/ncurses4/terminfo/a/aaa-40 +/usr/share/ncurses4/terminfo/a/aaa-40-rv +/usr/share/ncurses4/terminfo/a/aaa-48 +/usr/share/ncurses4/terminfo/a/aaa-48-rv +/usr/share/ncurses4/terminfo/a/aaa-60 +/usr/share/ncurses4/terminfo/a/aaa-60-dec-rv +/usr/share/ncurses4/terminfo/a/aaa-60-rv +/usr/share/ncurses4/terminfo/a/aaa-60-s +/usr/share/ncurses4/terminfo/a/aaa-60-s-rv +/usr/share/ncurses4/terminfo/a/aaa-ctxt +/usr/share/ncurses4/terminfo/a/aaa-db +/usr/share/ncurses4/terminfo/a/aaa-rv +/usr/share/ncurses4/terminfo/a/aaa-rv-ctxt +/usr/share/ncurses4/terminfo/a/aaa-rv-unk +/usr/share/ncurses4/terminfo/a/aaa-s +/usr/share/ncurses4/terminfo/a/aaa-s-ctxt +/usr/share/ncurses4/terminfo/a/aaa-s-rv +/usr/share/ncurses4/terminfo/a/aaa-s-rv-ctxt +/usr/share/ncurses4/terminfo/a/aaa-unk +/usr/share/ncurses4/terminfo/a/aas1901 +/usr/share/ncurses4/terminfo/a/abm80 +/usr/share/ncurses4/terminfo/a/abm85 +/usr/share/ncurses4/terminfo/a/abm85e +/usr/share/ncurses4/terminfo/a/abm85h +/usr/share/ncurses4/terminfo/a/abm85h-old +/usr/share/ncurses4/terminfo/a/act4 +/usr/share/ncurses4/terminfo/a/act5 +/usr/share/ncurses4/terminfo/a/addrinfo +/usr/share/ncurses4/terminfo/a/adds980 +/usr/share/ncurses4/terminfo/a/addsviewpoint +/usr/share/ncurses4/terminfo/a/addsvp60 +/usr/share/ncurses4/terminfo/a/adm+sgr +/usr/share/ncurses4/terminfo/a/adm1 +/usr/share/ncurses4/terminfo/a/adm11 +/usr/share/ncurses4/terminfo/a/adm1178 +/usr/share/ncurses4/terminfo/a/adm12 +/usr/share/ncurses4/terminfo/a/adm1a +/usr/share/ncurses4/terminfo/a/adm2 +/usr/share/ncurses4/terminfo/a/adm20 +/usr/share/ncurses4/terminfo/a/adm21 +/usr/share/ncurses4/terminfo/a/adm22 +/usr/share/ncurses4/terminfo/a/adm3 +/usr/share/ncurses4/terminfo/a/adm31 +/usr/share/ncurses4/terminfo/a/adm31-old +/usr/share/ncurses4/terminfo/a/adm36 +/usr/share/ncurses4/terminfo/a/adm3a +/usr/share/ncurses4/terminfo/a/adm3a+ +/usr/share/ncurses4/terminfo/a/adm42 +/usr/share/ncurses4/terminfo/a/adm42-ns +/usr/share/ncurses4/terminfo/a/adm5 +/usr/share/ncurses4/terminfo/a/aepro +/usr/share/ncurses4/terminfo/a/aixterm-m +/usr/share/ncurses4/terminfo/a/aixterm-m-old +/usr/share/ncurses4/terminfo/a/aj +/usr/share/ncurses4/terminfo/a/aj510 +/usr/share/ncurses4/terminfo/a/aj830 +/usr/share/ncurses4/terminfo/a/aj832 +/usr/share/ncurses4/terminfo/a/alt2 +/usr/share/ncurses4/terminfo/a/alt3 +/usr/share/ncurses4/terminfo/a/alt4 +/usr/share/ncurses4/terminfo/a/alt5 +/usr/share/ncurses4/terminfo/a/alt7 +/usr/share/ncurses4/terminfo/a/alt7pc +/usr/share/ncurses4/terminfo/a/alto-h19 +/usr/share/ncurses4/terminfo/a/alto-heath +/usr/share/ncurses4/terminfo/a/altoh19 +/usr/share/ncurses4/terminfo/a/altoheath +/usr/share/ncurses4/terminfo/a/altos-2 +/usr/share/ncurses4/terminfo/a/altos-3 +/usr/share/ncurses4/terminfo/a/altos-4 +/usr/share/ncurses4/terminfo/a/altos-5 +/usr/share/ncurses4/terminfo/a/altos2 +/usr/share/ncurses4/terminfo/a/altos3 +/usr/share/ncurses4/terminfo/a/altos4 +/usr/share/ncurses4/terminfo/a/altos5 +/usr/share/ncurses4/terminfo/a/altos7 +/usr/share/ncurses4/terminfo/a/altos7pc +/usr/share/ncurses4/terminfo/a/ambas +/usr/share/ncurses4/terminfo/a/ambassador +/usr/share/ncurses4/terminfo/a/amiga +/usr/share/ncurses4/terminfo/a/amiga-h +/usr/share/ncurses4/terminfo/a/amp219 +/usr/share/ncurses4/terminfo/a/amp219w +/usr/share/ncurses4/terminfo/a/ampex-219 +/usr/share/ncurses4/terminfo/a/ampex-219w +/usr/share/ncurses4/terminfo/a/ampex-232 +/usr/share/ncurses4/terminfo/a/ampex175 +/usr/share/ncurses4/terminfo/a/ampex175-b +/usr/share/ncurses4/terminfo/a/ampex210 +/usr/share/ncurses4/terminfo/a/ampex219 +/usr/share/ncurses4/terminfo/a/ampex219w +/usr/share/ncurses4/terminfo/a/ampex232 +/usr/share/ncurses4/terminfo/a/ampex232w +/usr/share/ncurses4/terminfo/a/ampex80 +/usr/share/ncurses4/terminfo/a/annarbor4080 +/usr/share/ncurses4/terminfo/a/ansi +/usr/share/ncurses4/terminfo/a/ansi-color-2-emx +/usr/share/ncurses4/terminfo/a/ansi-color-3-emx +/usr/share/ncurses4/terminfo/a/ansi-emx +/usr/share/ncurses4/terminfo/a/ansi-m +/usr/share/ncurses4/terminfo/a/ansi-mini +/usr/share/ncurses4/terminfo/a/ansi-mono +/usr/share/ncurses4/terminfo/a/ansi-nt +/usr/share/ncurses4/terminfo/a/ansi.sys +/usr/share/ncurses4/terminfo/a/ansi.sys-old +/usr/share/ncurses4/terminfo/a/ansi.sysk +/usr/share/ncurses4/terminfo/a/ansi43m +/usr/share/ncurses4/terminfo/a/ansi77 +/usr/share/ncurses4/terminfo/a/ansi80x25 +/usr/share/ncurses4/terminfo/a/ansi80x25-mono +/usr/share/ncurses4/terminfo/a/ansi80x25-raw +/usr/share/ncurses4/terminfo/a/ansi80x30 +/usr/share/ncurses4/terminfo/a/ansi80x30-mono +/usr/share/ncurses4/terminfo/a/ansi80x43 +/usr/share/ncurses4/terminfo/a/ansi80x43-mono +/usr/share/ncurses4/terminfo/a/ansi80x50 +/usr/share/ncurses4/terminfo/a/ansi80x50-mono +/usr/share/ncurses4/terminfo/a/ansi80x60 +/usr/share/ncurses4/terminfo/a/ansi80x60-mono +/usr/share/ncurses4/terminfo/a/ansil +/usr/share/ncurses4/terminfo/a/ansil-mono +/usr/share/ncurses4/terminfo/a/ansis +/usr/share/ncurses4/terminfo/a/ansis-mono +/usr/share/ncurses4/terminfo/a/ansisysk +/usr/share/ncurses4/terminfo/a/ansiw +/usr/share/ncurses4/terminfo/a/ap-vm80 +/usr/share/ncurses4/terminfo/a/apl +/usr/share/ncurses4/terminfo/a/apollo +/usr/share/ncurses4/terminfo/a/apollo_15P +/usr/share/ncurses4/terminfo/a/apollo_19L +/usr/share/ncurses4/terminfo/a/apollo_color +/usr/share/ncurses4/terminfo/a/apple-80 +/usr/share/ncurses4/terminfo/a/apple-ae +/usr/share/ncurses4/terminfo/a/apple-soroc +/usr/share/ncurses4/terminfo/a/apple-uterm +/usr/share/ncurses4/terminfo/a/apple-uterm-vb +/usr/share/ncurses4/terminfo/a/apple-videx +/usr/share/ncurses4/terminfo/a/apple-videx2 +/usr/share/ncurses4/terminfo/a/apple-videx3 +/usr/share/ncurses4/terminfo/a/apple-vm80 +/usr/share/ncurses4/terminfo/a/apple2e +/usr/share/ncurses4/terminfo/a/apple2e-p +/usr/share/ncurses4/terminfo/a/apple80p +/usr/share/ncurses4/terminfo/a/appleII +/usr/share/ncurses4/terminfo/a/appleIIc +/usr/share/ncurses4/terminfo/a/appleIIe +/usr/share/ncurses4/terminfo/a/appleIIgs +/usr/share/ncurses4/terminfo/a/at386 +/usr/share/ncurses4/terminfo/a/atari +/usr/share/ncurses4/terminfo/a/att2300 +/usr/share/ncurses4/terminfo/a/att2350 +/usr/share/ncurses4/terminfo/a/att4410 +/usr/share/ncurses4/terminfo/a/att4410-w +/usr/share/ncurses4/terminfo/a/att4410v1 +/usr/share/ncurses4/terminfo/a/att4410v1-w +/usr/share/ncurses4/terminfo/a/att4415 +/usr/share/ncurses4/terminfo/a/att4415+nl +/usr/share/ncurses4/terminfo/a/att4415-nl +/usr/share/ncurses4/terminfo/a/att4415-rv +/usr/share/ncurses4/terminfo/a/att4415-rv-nl +/usr/share/ncurses4/terminfo/a/att4415-w +/usr/share/ncurses4/terminfo/a/att4415-w-nl +/usr/share/ncurses4/terminfo/a/att4415-w-rv +/usr/share/ncurses4/terminfo/a/att4415-w-rv-n +/usr/share/ncurses4/terminfo/a/att4418 +/usr/share/ncurses4/terminfo/a/att4418-w +/usr/share/ncurses4/terminfo/a/att4420 +/usr/share/ncurses4/terminfo/a/att4424 +/usr/share/ncurses4/terminfo/a/att4424-1 +/usr/share/ncurses4/terminfo/a/att4424m +/usr/share/ncurses4/terminfo/a/att4425 +/usr/share/ncurses4/terminfo/a/att4425-nl +/usr/share/ncurses4/terminfo/a/att4425-w +/usr/share/ncurses4/terminfo/a/att4426 +/usr/share/ncurses4/terminfo/a/att500 +/usr/share/ncurses4/terminfo/a/att505 +/usr/share/ncurses4/terminfo/a/att505-24 +/usr/share/ncurses4/terminfo/a/att510a +/usr/share/ncurses4/terminfo/a/att510d +/usr/share/ncurses4/terminfo/a/att513 +/usr/share/ncurses4/terminfo/a/att5310 +/usr/share/ncurses4/terminfo/a/att5320 +/usr/share/ncurses4/terminfo/a/att5410 +/usr/share/ncurses4/terminfo/a/att5410-w +/usr/share/ncurses4/terminfo/a/att5410v1 +/usr/share/ncurses4/terminfo/a/att5410v1-w +/usr/share/ncurses4/terminfo/a/att5418 +/usr/share/ncurses4/terminfo/a/att5418-w +/usr/share/ncurses4/terminfo/a/att5420 +/usr/share/ncurses4/terminfo/a/att5420+nl +/usr/share/ncurses4/terminfo/a/att5420-nl +/usr/share/ncurses4/terminfo/a/att5420-rv +/usr/share/ncurses4/terminfo/a/att5420-rv-nl +/usr/share/ncurses4/terminfo/a/att5420-w +/usr/share/ncurses4/terminfo/a/att5420-w-nl +/usr/share/ncurses4/terminfo/a/att5420-w-rv +/usr/share/ncurses4/terminfo/a/att5420-w-rv-n +/usr/share/ncurses4/terminfo/a/att5420_2 +/usr/share/ncurses4/terminfo/a/att5420_2-w +/usr/share/ncurses4/terminfo/a/att5425 +/usr/share/ncurses4/terminfo/a/att5425-nl +/usr/share/ncurses4/terminfo/a/att5425-w +/usr/share/ncurses4/terminfo/a/att5430 +/usr/share/ncurses4/terminfo/a/att5620 +/usr/share/ncurses4/terminfo/a/att5620-1 +/usr/share/ncurses4/terminfo/a/att5620-24 +/usr/share/ncurses4/terminfo/a/att5620-34 +/usr/share/ncurses4/terminfo/a/att5620-s +/usr/share/ncurses4/terminfo/a/att605 +/usr/share/ncurses4/terminfo/a/att605-pc +/usr/share/ncurses4/terminfo/a/att605-w +/usr/share/ncurses4/terminfo/a/att610 +/usr/share/ncurses4/terminfo/a/att610-103k +/usr/share/ncurses4/terminfo/a/att610-103k-w +/usr/share/ncurses4/terminfo/a/att610-w +/usr/share/ncurses4/terminfo/a/att615 +/usr/share/ncurses4/terminfo/a/att615-103k +/usr/share/ncurses4/terminfo/a/att615-103k-w +/usr/share/ncurses4/terminfo/a/att615-w +/usr/share/ncurses4/terminfo/a/att620 +/usr/share/ncurses4/terminfo/a/att620-103k +/usr/share/ncurses4/terminfo/a/att620-103k-w +/usr/share/ncurses4/terminfo/a/att620-w +/usr/share/ncurses4/terminfo/a/att630 +/usr/share/ncurses4/terminfo/a/att630-24 +/usr/share/ncurses4/terminfo/a/att6386 +/usr/share/ncurses4/terminfo/a/att730 +/usr/share/ncurses4/terminfo/a/att730-24 +/usr/share/ncurses4/terminfo/a/att730-41 +/usr/share/ncurses4/terminfo/a/att7300 +/usr/share/ncurses4/terminfo/a/att730r +/usr/share/ncurses4/terminfo/a/att730r-24 +/usr/share/ncurses4/terminfo/a/att730r-41 +/usr/share/ncurses4/terminfo/a/avatar +/usr/share/ncurses4/terminfo/a/avatar0 +/usr/share/ncurses4/terminfo/a/avatar0+ +/usr/share/ncurses4/terminfo/a/avatar1 +/usr/share/ncurses4/terminfo/a/avt +/usr/share/ncurses4/terminfo/a/avt+s +/usr/share/ncurses4/terminfo/a/avt-ns +/usr/share/ncurses4/terminfo/a/avt-rv +/usr/share/ncurses4/terminfo/a/avt-rv-ns +/usr/share/ncurses4/terminfo/a/avt-rv-s +/usr/share/ncurses4/terminfo/a/avt-s +/usr/share/ncurses4/terminfo/a/avt-w +/usr/share/ncurses4/terminfo/a/avt-w-ns +/usr/share/ncurses4/terminfo/a/avt-w-rv +/usr/share/ncurses4/terminfo/a/avt-w-rv-ns +/usr/share/ncurses4/terminfo/a/avt-w-rv-s +/usr/share/ncurses4/terminfo/a/avt-w-s +/usr/share/ncurses4/terminfo/a/aws +/usr/share/ncurses4/terminfo/a/awsc +/usr/share/ncurses4/terminfo/b +/usr/share/ncurses4/terminfo/b/b-128 +/usr/share/ncurses4/terminfo/b/bantam +/usr/share/ncurses4/terminfo/b/basic4 +/usr/share/ncurses4/terminfo/b/basis +/usr/share/ncurses4/terminfo/b/bct510a +/usr/share/ncurses4/terminfo/b/bct510d +/usr/share/ncurses4/terminfo/b/beacon +/usr/share/ncurses4/terminfo/b/bee +/usr/share/ncurses4/terminfo/b/beehive +/usr/share/ncurses4/terminfo/b/beehive3 +/usr/share/ncurses4/terminfo/b/beehive4 +/usr/share/ncurses4/terminfo/b/beehiveIIIm +/usr/share/ncurses4/terminfo/b/beterm +/usr/share/ncurses4/terminfo/b/bg1.25 +/usr/share/ncurses4/terminfo/b/bg1.25nv +/usr/share/ncurses4/terminfo/b/bg1.25rv +/usr/share/ncurses4/terminfo/b/bg2.0 +/usr/share/ncurses4/terminfo/b/bg2.0nv +/usr/share/ncurses4/terminfo/b/bg2.0rv +/usr/share/ncurses4/terminfo/b/bg3.10 +/usr/share/ncurses4/terminfo/b/bg3.10nv +/usr/share/ncurses4/terminfo/b/bg3.10rv +/usr/share/ncurses4/terminfo/b/bh3m +/usr/share/ncurses4/terminfo/b/bh4 +/usr/share/ncurses4/terminfo/b/bitgraph +/usr/share/ncurses4/terminfo/b/blit +/usr/share/ncurses4/terminfo/b/bobcat +/usr/share/ncurses4/terminfo/b/bsdos +/usr/share/ncurses4/terminfo/b/bsdos-bold +/usr/share/ncurses4/terminfo/c +/usr/share/ncurses4/terminfo/c/c100 +/usr/share/ncurses4/terminfo/c/c100-1p +/usr/share/ncurses4/terminfo/c/c100-4p +/usr/share/ncurses4/terminfo/c/c100-rv +/usr/share/ncurses4/terminfo/c/c100-rv-4p +/usr/share/ncurses4/terminfo/c/c104 +/usr/share/ncurses4/terminfo/c/c108 +/usr/share/ncurses4/terminfo/c/c108-4p +/usr/share/ncurses4/terminfo/c/c108-8p +/usr/share/ncurses4/terminfo/c/c108-rv +/usr/share/ncurses4/terminfo/c/c108-rv-4p +/usr/share/ncurses4/terminfo/c/c108-rv-8p +/usr/share/ncurses4/terminfo/c/c108-w +/usr/share/ncurses4/terminfo/c/c108-w-8p +/usr/share/ncurses4/terminfo/c/c300 +/usr/share/ncurses4/terminfo/c/c301 +/usr/share/ncurses4/terminfo/c/c321 +/usr/share/ncurses4/terminfo/c/ca22851 +/usr/share/ncurses4/terminfo/c/cad68-2 +/usr/share/ncurses4/terminfo/c/cad68-3 +/usr/share/ncurses4/terminfo/c/cbblit +/usr/share/ncurses4/terminfo/c/cbunix +/usr/share/ncurses4/terminfo/c/cci +/usr/share/ncurses4/terminfo/c/cci1 +/usr/share/ncurses4/terminfo/c/cdc456 +/usr/share/ncurses4/terminfo/c/cdc721 +/usr/share/ncurses4/terminfo/c/cdc721-esc +/usr/share/ncurses4/terminfo/c/cdc721ll +/usr/share/ncurses4/terminfo/c/cdc752 +/usr/share/ncurses4/terminfo/c/cdc756 +/usr/share/ncurses4/terminfo/c/cg7900 +/usr/share/ncurses4/terminfo/c/cgc2 +/usr/share/ncurses4/terminfo/c/cgc3 +/usr/share/ncurses4/terminfo/c/chromatics +/usr/share/ncurses4/terminfo/c/ci8510 +/usr/share/ncurses4/terminfo/c/cit-80 +/usr/share/ncurses4/terminfo/c/cit101 +/usr/share/ncurses4/terminfo/c/cit101e +/usr/share/ncurses4/terminfo/c/cit101e-132 +/usr/share/ncurses4/terminfo/c/cit101e-n +/usr/share/ncurses4/terminfo/c/cit101e-n132 +/usr/share/ncurses4/terminfo/c/cit101e-rv +/usr/share/ncurses4/terminfo/c/cit500 +/usr/share/ncurses4/terminfo/c/cit80 +/usr/share/ncurses4/terminfo/c/citc +/usr/share/ncurses4/terminfo/c/citoh +/usr/share/ncurses4/terminfo/c/citoh-6lpi +/usr/share/ncurses4/terminfo/c/citoh-8lpi +/usr/share/ncurses4/terminfo/c/citoh-comp +/usr/share/ncurses4/terminfo/c/citoh-elite +/usr/share/ncurses4/terminfo/c/citoh-pica +/usr/share/ncurses4/terminfo/c/citoh-prop +/usr/share/ncurses4/terminfo/c/citoh-ps +/usr/share/ncurses4/terminfo/c/coco3 +/usr/share/ncurses4/terminfo/c/coherent +/usr/share/ncurses4/terminfo/c/color_xterm +/usr/share/ncurses4/terminfo/c/colorscan +/usr/share/ncurses4/terminfo/c/commodore +/usr/share/ncurses4/terminfo/c/concept +/usr/share/ncurses4/terminfo/c/concept-avt +/usr/share/ncurses4/terminfo/c/concept100 +/usr/share/ncurses4/terminfo/c/concept100-rv +/usr/share/ncurses4/terminfo/c/concept108 +/usr/share/ncurses4/terminfo/c/concept108-4p +/usr/share/ncurses4/terminfo/c/concept108-8p +/usr/share/ncurses4/terminfo/c/concept108-w-8 +/usr/share/ncurses4/terminfo/c/concept108-w8p +/usr/share/ncurses4/terminfo/c/concept108rv4p +/usr/share/ncurses4/terminfo/c/cons25 +/usr/share/ncurses4/terminfo/c/cons25-iso-m +/usr/share/ncurses4/terminfo/c/cons25-iso8859 +/usr/share/ncurses4/terminfo/c/cons25-koi8-r +/usr/share/ncurses4/terminfo/c/cons25-koi8r-m +/usr/share/ncurses4/terminfo/c/cons25-m +/usr/share/ncurses4/terminfo/c/cons25l1 +/usr/share/ncurses4/terminfo/c/cons25l1-m +/usr/share/ncurses4/terminfo/c/cons25r +/usr/share/ncurses4/terminfo/c/cons25r-m +/usr/share/ncurses4/terminfo/c/cons25w +/usr/share/ncurses4/terminfo/c/cons30 +/usr/share/ncurses4/terminfo/c/cons30-m +/usr/share/ncurses4/terminfo/c/cons43 +/usr/share/ncurses4/terminfo/c/cons43-m +/usr/share/ncurses4/terminfo/c/cons50 +/usr/share/ncurses4/terminfo/c/cons50-iso-m +/usr/share/ncurses4/terminfo/c/cons50-iso8859 +/usr/share/ncurses4/terminfo/c/cons50-koi8r +/usr/share/ncurses4/terminfo/c/cons50-koi8r-m +/usr/share/ncurses4/terminfo/c/cons50-m +/usr/share/ncurses4/terminfo/c/cons50l1 +/usr/share/ncurses4/terminfo/c/cons50l1-m +/usr/share/ncurses4/terminfo/c/cons50r +/usr/share/ncurses4/terminfo/c/cons50r-m +/usr/share/ncurses4/terminfo/c/cons60 +/usr/share/ncurses4/terminfo/c/cons60-iso +/usr/share/ncurses4/terminfo/c/cons60-iso-m +/usr/share/ncurses4/terminfo/c/cons60-koi8r +/usr/share/ncurses4/terminfo/c/cons60-koi8r-m +/usr/share/ncurses4/terminfo/c/cons60-m +/usr/share/ncurses4/terminfo/c/cons60l1 +/usr/share/ncurses4/terminfo/c/cons60l1-m +/usr/share/ncurses4/terminfo/c/cons60r +/usr/share/ncurses4/terminfo/c/cons60r-m +/usr/share/ncurses4/terminfo/c/contel300 +/usr/share/ncurses4/terminfo/c/contel301 +/usr/share/ncurses4/terminfo/c/contel320 +/usr/share/ncurses4/terminfo/c/contel321 +/usr/share/ncurses4/terminfo/c/cops +/usr/share/ncurses4/terminfo/c/cops-10 +/usr/share/ncurses4/terminfo/c/cops10 +/usr/share/ncurses4/terminfo/c/cs10 +/usr/share/ncurses4/terminfo/c/cs10-w +/usr/share/ncurses4/terminfo/c/ct82 +/usr/share/ncurses4/terminfo/c/ct8500 +/usr/share/ncurses4/terminfo/c/ctrm +/usr/share/ncurses4/terminfo/c/cx +/usr/share/ncurses4/terminfo/c/cx100 +/usr/share/ncurses4/terminfo/c/cyb110 +/usr/share/ncurses4/terminfo/c/cyb83 +/usr/share/ncurses4/terminfo/d +/usr/share/ncurses4/terminfo/d/d132 +/usr/share/ncurses4/terminfo/d/d80 +/usr/share/ncurses4/terminfo/d/d800 +/usr/share/ncurses4/terminfo/d/datagraphix +/usr/share/ncurses4/terminfo/d/datamedia2500 +/usr/share/ncurses4/terminfo/d/datapoint +/usr/share/ncurses4/terminfo/d/dataspeed40 +/usr/share/ncurses4/terminfo/d/dd5000 +/usr/share/ncurses4/terminfo/d/ddr +/usr/share/ncurses4/terminfo/d/ddr3180 +/usr/share/ncurses4/terminfo/d/dec-vt100 +/usr/share/ncurses4/terminfo/d/dec-vt220 +/usr/share/ncurses4/terminfo/d/dec-vt330 +/usr/share/ncurses4/terminfo/d/dec-vt340 +/usr/share/ncurses4/terminfo/d/dec-vt400 +/usr/share/ncurses4/terminfo/d/decpro +/usr/share/ncurses4/terminfo/d/decwriter +/usr/share/ncurses4/terminfo/d/delta +/usr/share/ncurses4/terminfo/d/dg-ansi +/usr/share/ncurses4/terminfo/d/dg100 +/usr/share/ncurses4/terminfo/d/dg200 +/usr/share/ncurses4/terminfo/d/dg210 +/usr/share/ncurses4/terminfo/d/dg211 +/usr/share/ncurses4/terminfo/d/dg450 +/usr/share/ncurses4/terminfo/d/dg460-ansi +/usr/share/ncurses4/terminfo/d/dg6053 +/usr/share/ncurses4/terminfo/d/dg6134 +/usr/share/ncurses4/terminfo/d/diablo +/usr/share/ncurses4/terminfo/d/diablo-lm +/usr/share/ncurses4/terminfo/d/diablo1620 +/usr/share/ncurses4/terminfo/d/diablo1620-m8 +/usr/share/ncurses4/terminfo/d/diablo1640 +/usr/share/ncurses4/terminfo/d/diablo1640-lm +/usr/share/ncurses4/terminfo/d/diablo1640-m8 +/usr/share/ncurses4/terminfo/d/diablo1720 +/usr/share/ncurses4/terminfo/d/diablo1730 +/usr/share/ncurses4/terminfo/d/diablo1740 +/usr/share/ncurses4/terminfo/d/diablo1740-lm +/usr/share/ncurses4/terminfo/d/diablo450 +/usr/share/ncurses4/terminfo/d/diablo630 +/usr/share/ncurses4/terminfo/d/dialogue +/usr/share/ncurses4/terminfo/d/dialogue80 +/usr/share/ncurses4/terminfo/d/digilog +/usr/share/ncurses4/terminfo/d/dku7003 +/usr/share/ncurses4/terminfo/d/dku7003-dumb +/usr/share/ncurses4/terminfo/d/dm1520 +/usr/share/ncurses4/terminfo/d/dm1521 +/usr/share/ncurses4/terminfo/d/dm2500 +/usr/share/ncurses4/terminfo/d/dm3025 +/usr/share/ncurses4/terminfo/d/dm3045 +/usr/share/ncurses4/terminfo/d/dm80 +/usr/share/ncurses4/terminfo/d/dm80w +/usr/share/ncurses4/terminfo/d/dmchat +/usr/share/ncurses4/terminfo/d/dmd +/usr/share/ncurses4/terminfo/d/dmd-24 +/usr/share/ncurses4/terminfo/d/dmd-34 +/usr/share/ncurses4/terminfo/d/dmd1 +/usr/share/ncurses4/terminfo/d/dmdt80 +/usr/share/ncurses4/terminfo/d/dmdt80w +/usr/share/ncurses4/terminfo/d/dmterm +/usr/share/ncurses4/terminfo/d/dp3360 +/usr/share/ncurses4/terminfo/d/dp8242 +/usr/share/ncurses4/terminfo/d/ds40 +/usr/share/ncurses4/terminfo/d/ds40-2 +/usr/share/ncurses4/terminfo/d/dt-100 +/usr/share/ncurses4/terminfo/d/dt-100w +/usr/share/ncurses4/terminfo/d/dt100 +/usr/share/ncurses4/terminfo/d/dt100w +/usr/share/ncurses4/terminfo/d/dt110 +/usr/share/ncurses4/terminfo/d/dt80 +/usr/share/ncurses4/terminfo/d/dt80-sas +/usr/share/ncurses4/terminfo/d/dt80w +/usr/share/ncurses4/terminfo/d/dtc300s +/usr/share/ncurses4/terminfo/d/dtc382 +/usr/share/ncurses4/terminfo/d/dtterm +/usr/share/ncurses4/terminfo/d/dumb +/usr/share/ncurses4/terminfo/d/dw +/usr/share/ncurses4/terminfo/d/dw1 +/usr/share/ncurses4/terminfo/d/dw2 +/usr/share/ncurses4/terminfo/d/dw3 +/usr/share/ncurses4/terminfo/d/dw4 +/usr/share/ncurses4/terminfo/d/dwk +/usr/share/ncurses4/terminfo/d/dwk-vt +/usr/share/ncurses4/terminfo/e +/usr/share/ncurses4/terminfo/e/ecma+color +/usr/share/ncurses4/terminfo/e/ecma+sgr +/usr/share/ncurses4/terminfo/e/emots +/usr/share/ncurses4/terminfo/e/emu +/usr/share/ncurses4/terminfo/e/env230 +/usr/share/ncurses4/terminfo/e/envision230 +/usr/share/ncurses4/terminfo/e/ep40 +/usr/share/ncurses4/terminfo/e/ep4000 +/usr/share/ncurses4/terminfo/e/ep4080 +/usr/share/ncurses4/terminfo/e/ep48 +/usr/share/ncurses4/terminfo/e/ergo4000 +/usr/share/ncurses4/terminfo/e/esprit +/usr/share/ncurses4/terminfo/e/esprit-am +/usr/share/ncurses4/terminfo/e/eterm +/usr/share/ncurses4/terminfo/e/ex155 +/usr/share/ncurses4/terminfo/e/excel62 +/usr/share/ncurses4/terminfo/e/excel62-rv +/usr/share/ncurses4/terminfo/e/excel62-w +/usr/share/ncurses4/terminfo/e/excel64 +/usr/share/ncurses4/terminfo/e/excel64-rv +/usr/share/ncurses4/terminfo/e/excel64-w +/usr/share/ncurses4/terminfo/e/exec80 +/usr/share/ncurses4/terminfo/f +/usr/share/ncurses4/terminfo/f/f100 +/usr/share/ncurses4/terminfo/f/f100-rv +/usr/share/ncurses4/terminfo/f/f110 +/usr/share/ncurses4/terminfo/f/f110-14 +/usr/share/ncurses4/terminfo/f/f110-14w +/usr/share/ncurses4/terminfo/f/f110-w +/usr/share/ncurses4/terminfo/f/f1720 +/usr/share/ncurses4/terminfo/f/f1720a +/usr/share/ncurses4/terminfo/f/f200 +/usr/share/ncurses4/terminfo/f/f200-w +/usr/share/ncurses4/terminfo/f/f200vi +/usr/share/ncurses4/terminfo/f/f200vi-w +/usr/share/ncurses4/terminfo/f/falco +/usr/share/ncurses4/terminfo/f/falco-p +/usr/share/ncurses4/terminfo/f/fenix +/usr/share/ncurses4/terminfo/f/fenixw +/usr/share/ncurses4/terminfo/f/fixterm +/usr/share/ncurses4/terminfo/f/fortune +/usr/share/ncurses4/terminfo/f/fos +/usr/share/ncurses4/terminfo/f/fox +/usr/share/ncurses4/terminfo/f/freedom +/usr/share/ncurses4/terminfo/f/freedom-rv +/usr/share/ncurses4/terminfo/f/freedom100 +/usr/share/ncurses4/terminfo/f/freedom110 +/usr/share/ncurses4/terminfo/f/freedom200 +/usr/share/ncurses4/terminfo/g +/usr/share/ncurses4/terminfo/g/gator +/usr/share/ncurses4/terminfo/g/gator-52 +/usr/share/ncurses4/terminfo/g/gator-52t +/usr/share/ncurses4/terminfo/g/gator-t +/usr/share/ncurses4/terminfo/g/gigi +/usr/share/ncurses4/terminfo/g/glasstty +/usr/share/ncurses4/terminfo/g/go-225 +/usr/share/ncurses4/terminfo/g/go140 +/usr/share/ncurses4/terminfo/g/go140w +/usr/share/ncurses4/terminfo/g/go225 +/usr/share/ncurses4/terminfo/g/graphos +/usr/share/ncurses4/terminfo/g/graphos-30 +/usr/share/ncurses4/terminfo/g/gs5430 +/usr/share/ncurses4/terminfo/g/gs5430-22 +/usr/share/ncurses4/terminfo/g/gs5430-24 +/usr/share/ncurses4/terminfo/g/gs6300 +/usr/share/ncurses4/terminfo/g/gsi +/usr/share/ncurses4/terminfo/g/gt100 +/usr/share/ncurses4/terminfo/g/gt100a +/usr/share/ncurses4/terminfo/g/gt40 +/usr/share/ncurses4/terminfo/g/gt42 +/usr/share/ncurses4/terminfo/g/guru +/usr/share/ncurses4/terminfo/g/guru+rv +/usr/share/ncurses4/terminfo/g/guru+s +/usr/share/ncurses4/terminfo/g/guru+unk +/usr/share/ncurses4/terminfo/g/guru-24 +/usr/share/ncurses4/terminfo/g/guru-33 +/usr/share/ncurses4/terminfo/g/guru-33-rv +/usr/share/ncurses4/terminfo/g/guru-33-s +/usr/share/ncurses4/terminfo/g/guru-44 +/usr/share/ncurses4/terminfo/g/guru-44-s +/usr/share/ncurses4/terminfo/g/guru-76 +/usr/share/ncurses4/terminfo/g/guru-76-lp +/usr/share/ncurses4/terminfo/g/guru-76-s +/usr/share/ncurses4/terminfo/g/guru-76-w +/usr/share/ncurses4/terminfo/g/guru-76-w-s +/usr/share/ncurses4/terminfo/g/guru-76-wm +/usr/share/ncurses4/terminfo/g/guru-lp +/usr/share/ncurses4/terminfo/g/guru-nctxt +/usr/share/ncurses4/terminfo/g/guru-rv +/usr/share/ncurses4/terminfo/g/guru-s +/usr/share/ncurses4/terminfo/h +/usr/share/ncurses4/terminfo/h/h-100 +/usr/share/ncurses4/terminfo/h/h-100bw +/usr/share/ncurses4/terminfo/h/h100 +/usr/share/ncurses4/terminfo/h/h100bw +/usr/share/ncurses4/terminfo/h/h19 +/usr/share/ncurses4/terminfo/h/h19-a +/usr/share/ncurses4/terminfo/h/h19-b +/usr/share/ncurses4/terminfo/h/h19-bs +/usr/share/ncurses4/terminfo/h/h19-g +/usr/share/ncurses4/terminfo/h/h19-smul +/usr/share/ncurses4/terminfo/h/h19-u +/usr/share/ncurses4/terminfo/h/h19-us +/usr/share/ncurses4/terminfo/h/h19a +/usr/share/ncurses4/terminfo/h/h19g +/usr/share/ncurses4/terminfo/h/h19k +/usr/share/ncurses4/terminfo/h/h19kermit +/usr/share/ncurses4/terminfo/h/h19us +/usr/share/ncurses4/terminfo/h/h29a-kc-bc +/usr/share/ncurses4/terminfo/h/h29a-kc-uc +/usr/share/ncurses4/terminfo/h/h29a-nkc-bc +/usr/share/ncurses4/terminfo/h/h29a-nkc-uc +/usr/share/ncurses4/terminfo/h/h80 +/usr/share/ncurses4/terminfo/h/ha8675 +/usr/share/ncurses4/terminfo/h/ha8686 +/usr/share/ncurses4/terminfo/h/hazel +/usr/share/ncurses4/terminfo/h/hds200 +/usr/share/ncurses4/terminfo/h/he80 +/usr/share/ncurses4/terminfo/h/heath +/usr/share/ncurses4/terminfo/h/heath-19 +/usr/share/ncurses4/terminfo/h/heath-ansi +/usr/share/ncurses4/terminfo/h/heathkit +/usr/share/ncurses4/terminfo/h/heathkit-a +/usr/share/ncurses4/terminfo/h/hft +/usr/share/ncurses4/terminfo/h/hft-c +/usr/share/ncurses4/terminfo/h/hirez100 +/usr/share/ncurses4/terminfo/h/hirez100-w +/usr/share/ncurses4/terminfo/h/hmod1 +/usr/share/ncurses4/terminfo/h/hp +/usr/share/ncurses4/terminfo/h/hp+arrows +/usr/share/ncurses4/terminfo/h/hp+color +/usr/share/ncurses4/terminfo/h/hp+labels +/usr/share/ncurses4/terminfo/h/hp+pfk+arrows +/usr/share/ncurses4/terminfo/h/hp+pfk+cr +/usr/share/ncurses4/terminfo/h/hp+pfk-cr +/usr/share/ncurses4/terminfo/h/hp+printer +/usr/share/ncurses4/terminfo/h/hp110 +/usr/share/ncurses4/terminfo/h/hp150 +/usr/share/ncurses4/terminfo/h/hp2 +/usr/share/ncurses4/terminfo/h/hp236 +/usr/share/ncurses4/terminfo/h/hp2382 +/usr/share/ncurses4/terminfo/h/hp2382a +/usr/share/ncurses4/terminfo/h/hp2392 +/usr/share/ncurses4/terminfo/h/hp2397 +/usr/share/ncurses4/terminfo/h/hp2397a +/usr/share/ncurses4/terminfo/h/hp2621 +/usr/share/ncurses4/terminfo/h/hp2621-48 +/usr/share/ncurses4/terminfo/h/hp2621-a +/usr/share/ncurses4/terminfo/h/hp2621-ba +/usr/share/ncurses4/terminfo/h/hp2621-fl +/usr/share/ncurses4/terminfo/h/hp2621-k45 +/usr/share/ncurses4/terminfo/h/hp2621-nl +/usr/share/ncurses4/terminfo/h/hp2621-nt +/usr/share/ncurses4/terminfo/h/hp2621-wl +/usr/share/ncurses4/terminfo/h/hp2621A +/usr/share/ncurses4/terminfo/h/hp2621a +/usr/share/ncurses4/terminfo/h/hp2621a-a +/usr/share/ncurses4/terminfo/h/hp2621b +/usr/share/ncurses4/terminfo/h/hp2621b-kx +/usr/share/ncurses4/terminfo/h/hp2621b-kx-p +/usr/share/ncurses4/terminfo/h/hp2621b-p +/usr/share/ncurses4/terminfo/h/hp2621k45 +/usr/share/ncurses4/terminfo/h/hp2621p +/usr/share/ncurses4/terminfo/h/hp2621p-a +/usr/share/ncurses4/terminfo/h/hp2622 +/usr/share/ncurses4/terminfo/h/hp2622a +/usr/share/ncurses4/terminfo/h/hp2623 +/usr/share/ncurses4/terminfo/h/hp2623a +/usr/share/ncurses4/terminfo/h/hp2624 +/usr/share/ncurses4/terminfo/h/hp2624-10p +/usr/share/ncurses4/terminfo/h/hp2624a +/usr/share/ncurses4/terminfo/h/hp2624a-10p +/usr/share/ncurses4/terminfo/h/hp2624b +/usr/share/ncurses4/terminfo/h/hp2624b-10p +/usr/share/ncurses4/terminfo/h/hp2624b-10p-p +/usr/share/ncurses4/terminfo/h/hp2624b-4p +/usr/share/ncurses4/terminfo/h/hp2624b-4p-p +/usr/share/ncurses4/terminfo/h/hp2624b-p +/usr/share/ncurses4/terminfo/h/hp2626 +/usr/share/ncurses4/terminfo/h/hp2626-12 +/usr/share/ncurses4/terminfo/h/hp2626-12-s +/usr/share/ncurses4/terminfo/h/hp2626-12x40 +/usr/share/ncurses4/terminfo/h/hp2626-ns +/usr/share/ncurses4/terminfo/h/hp2626-s +/usr/share/ncurses4/terminfo/h/hp2626-x40 +/usr/share/ncurses4/terminfo/h/hp2626a +/usr/share/ncurses4/terminfo/h/hp2626p +/usr/share/ncurses4/terminfo/h/hp2627a +/usr/share/ncurses4/terminfo/h/hp2627a-rev +/usr/share/ncurses4/terminfo/h/hp2627c +/usr/share/ncurses4/terminfo/h/hp262x +/usr/share/ncurses4/terminfo/h/hp2640a +/usr/share/ncurses4/terminfo/h/hp2640b +/usr/share/ncurses4/terminfo/h/hp2641a +/usr/share/ncurses4/terminfo/h/hp2644a +/usr/share/ncurses4/terminfo/h/hp2645 +/usr/share/ncurses4/terminfo/h/hp2645a +/usr/share/ncurses4/terminfo/h/hp2647a +/usr/share/ncurses4/terminfo/h/hp2648 +/usr/share/ncurses4/terminfo/h/hp2648a +/usr/share/ncurses4/terminfo/h/hp300h +/usr/share/ncurses4/terminfo/h/hp45 +/usr/share/ncurses4/terminfo/h/hp700 +/usr/share/ncurses4/terminfo/h/hp700-wy +/usr/share/ncurses4/terminfo/h/hp70092 +/usr/share/ncurses4/terminfo/h/hp70092A +/usr/share/ncurses4/terminfo/h/hp70092a +/usr/share/ncurses4/terminfo/h/hp9837 +/usr/share/ncurses4/terminfo/h/hp9845 +/usr/share/ncurses4/terminfo/h/hp98550 +/usr/share/ncurses4/terminfo/h/hp98550a +/usr/share/ncurses4/terminfo/h/hp98720 +/usr/share/ncurses4/terminfo/h/hp98721 +/usr/share/ncurses4/terminfo/h/hpansi +/usr/share/ncurses4/terminfo/h/hpex +/usr/share/ncurses4/terminfo/h/hpex2 +/usr/share/ncurses4/terminfo/h/hpgeneric +/usr/share/ncurses4/terminfo/h/hpsub +/usr/share/ncurses4/terminfo/h/hpterm +/usr/share/ncurses4/terminfo/h/htx11 +/usr/share/ncurses4/terminfo/h/hz1000 +/usr/share/ncurses4/terminfo/h/hz1420 +/usr/share/ncurses4/terminfo/h/hz1500 +/usr/share/ncurses4/terminfo/h/hz1510 +/usr/share/ncurses4/terminfo/h/hz1520 +/usr/share/ncurses4/terminfo/h/hz1520-noesc +/usr/share/ncurses4/terminfo/h/hz1552 +/usr/share/ncurses4/terminfo/h/hz1552-rv +/usr/share/ncurses4/terminfo/h/hz2000 +/usr/share/ncurses4/terminfo/i +/usr/share/ncurses4/terminfo/i/i100 +/usr/share/ncurses4/terminfo/i/i3101 +/usr/share/ncurses4/terminfo/i/i3151 +/usr/share/ncurses4/terminfo/i/i3164 +/usr/share/ncurses4/terminfo/i/i400 +/usr/share/ncurses4/terminfo/i/ibcs2 +/usr/share/ncurses4/terminfo/i/ibm-apl +/usr/share/ncurses4/terminfo/i/ibm-pc +/usr/share/ncurses4/terminfo/i/ibm-system1 +/usr/share/ncurses4/terminfo/i/ibm3101 +/usr/share/ncurses4/terminfo/i/ibm3151 +/usr/share/ncurses4/terminfo/i/ibm3161 +/usr/share/ncurses4/terminfo/i/ibm3163 +/usr/share/ncurses4/terminfo/i/ibm3164 +/usr/share/ncurses4/terminfo/i/ibm327x +/usr/share/ncurses4/terminfo/i/ibm5051 +/usr/share/ncurses4/terminfo/i/ibm5081 +/usr/share/ncurses4/terminfo/i/ibm5081-c +/usr/share/ncurses4/terminfo/i/ibm5151 +/usr/share/ncurses4/terminfo/i/ibm5154 +/usr/share/ncurses4/terminfo/i/ibm5154-c +/usr/share/ncurses4/terminfo/i/ibm6153 +/usr/share/ncurses4/terminfo/i/ibm6154 +/usr/share/ncurses4/terminfo/i/ibm6154-c +/usr/share/ncurses4/terminfo/i/ibm6155 +/usr/share/ncurses4/terminfo/i/ibm8512 +/usr/share/ncurses4/terminfo/i/ibm8513 +/usr/share/ncurses4/terminfo/i/ibm8514 +/usr/share/ncurses4/terminfo/i/ibm8514-c +/usr/share/ncurses4/terminfo/i/ibmaed +/usr/share/ncurses4/terminfo/i/ibmapa16 +/usr/share/ncurses4/terminfo/i/ibmapa8 +/usr/share/ncurses4/terminfo/i/ibmapa8c +/usr/share/ncurses4/terminfo/i/ibmapa8c-c +/usr/share/ncurses4/terminfo/i/ibmega +/usr/share/ncurses4/terminfo/i/ibmega-c +/usr/share/ncurses4/terminfo/i/ibmmono +/usr/share/ncurses4/terminfo/i/ibmmpel +/usr/share/ncurses4/terminfo/i/ibmmpel-c +/usr/share/ncurses4/terminfo/i/ibmpc +/usr/share/ncurses4/terminfo/i/ibmpc3 +/usr/share/ncurses4/terminfo/i/ibmpc3r +/usr/share/ncurses4/terminfo/i/ibmpc3r-mono +/usr/share/ncurses4/terminfo/i/ibmpcx +/usr/share/ncurses4/terminfo/i/ibmvga +/usr/share/ncurses4/terminfo/i/ibmvga-c +/usr/share/ncurses4/terminfo/i/ibmx +/usr/share/ncurses4/terminfo/i/ifmr +/usr/share/ncurses4/terminfo/i/ims-ansi +/usr/share/ncurses4/terminfo/i/ims950 +/usr/share/ncurses4/terminfo/i/ims950-b +/usr/share/ncurses4/terminfo/i/ims950-rv +/usr/share/ncurses4/terminfo/i/infoton +/usr/share/ncurses4/terminfo/i/intertec +/usr/share/ncurses4/terminfo/i/intertube +/usr/share/ncurses4/terminfo/i/intertube2 +/usr/share/ncurses4/terminfo/i/intext +/usr/share/ncurses4/terminfo/i/intext2 +/usr/share/ncurses4/terminfo/i/intextii +/usr/share/ncurses4/terminfo/i/ips +/usr/share/ncurses4/terminfo/i/ipsi +/usr/share/ncurses4/terminfo/i/iq120 +/usr/share/ncurses4/terminfo/i/iq140 +/usr/share/ncurses4/terminfo/i/iris-ansi +/usr/share/ncurses4/terminfo/i/iris-ansi-ap +/usr/share/ncurses4/terminfo/i/iris-color +/usr/share/ncurses4/terminfo/i/iris40 +/usr/share/ncurses4/terminfo/j +/usr/share/ncurses4/terminfo/j/jaixterm-m +/usr/share/ncurses4/terminfo/j/jerq +/usr/share/ncurses4/terminfo/k +/usr/share/ncurses4/terminfo/k/k45 +/usr/share/ncurses4/terminfo/k/kaypro +/usr/share/ncurses4/terminfo/k/kaypro2 +/usr/share/ncurses4/terminfo/k/kermit +/usr/share/ncurses4/terminfo/k/kermit-am +/usr/share/ncurses4/terminfo/k/klone+acs +/usr/share/ncurses4/terminfo/k/klone+color +/usr/share/ncurses4/terminfo/k/klone+koi8acs +/usr/share/ncurses4/terminfo/k/klone+sgr +/usr/share/ncurses4/terminfo/k/klone+sgr-dumb +/usr/share/ncurses4/terminfo/k/kt7 +/usr/share/ncurses4/terminfo/k/kt7ix +/usr/share/ncurses4/terminfo/k/kterm +/usr/share/ncurses4/terminfo/k/ktm +/usr/share/ncurses4/terminfo/l +/usr/share/ncurses4/terminfo/l/la120 +/usr/share/ncurses4/terminfo/l/layer +/usr/share/ncurses4/terminfo/l/linux +/usr/share/ncurses4/terminfo/l/linux-c +/usr/share/ncurses4/terminfo/l/linux-c-nc +/usr/share/ncurses4/terminfo/l/linux-koi8 +/usr/share/ncurses4/terminfo/l/linux-koi8r +/usr/share/ncurses4/terminfo/l/linux-m +/usr/share/ncurses4/terminfo/l/linux-nic +/usr/share/ncurses4/terminfo/l/lisa +/usr/share/ncurses4/terminfo/l/lisaterm +/usr/share/ncurses4/terminfo/l/lisaterm-w +/usr/share/ncurses4/terminfo/l/liswb +/usr/share/ncurses4/terminfo/l/ln03 +/usr/share/ncurses4/terminfo/l/ln03-w +/usr/share/ncurses4/terminfo/l/lpr +/usr/share/ncurses4/terminfo/l/luna +/usr/share/ncurses4/terminfo/l/luna68k +/usr/share/ncurses4/terminfo/m +/usr/share/ncurses4/terminfo/m/m2-nam +/usr/share/ncurses4/terminfo/m/mac +/usr/share/ncurses4/terminfo/m/mac-w +/usr/share/ncurses4/terminfo/m/macintosh +/usr/share/ncurses4/terminfo/m/macterminal-w +/usr/share/ncurses4/terminfo/m/mai +/usr/share/ncurses4/terminfo/m/masscomp +/usr/share/ncurses4/terminfo/m/masscomp1 +/usr/share/ncurses4/terminfo/m/masscomp2 +/usr/share/ncurses4/terminfo/m/mdl110 +/usr/share/ncurses4/terminfo/m/megatek +/usr/share/ncurses4/terminfo/m/memhp +/usr/share/ncurses4/terminfo/m/mgr +/usr/share/ncurses4/terminfo/m/mgr-linux +/usr/share/ncurses4/terminfo/m/mgr-sun +/usr/share/ncurses4/terminfo/m/microb +/usr/share/ncurses4/terminfo/m/microbee +/usr/share/ncurses4/terminfo/m/microterm +/usr/share/ncurses4/terminfo/m/microterm5 +/usr/share/ncurses4/terminfo/m/mime +/usr/share/ncurses4/terminfo/m/mime-3ax +/usr/share/ncurses4/terminfo/m/mime-fb +/usr/share/ncurses4/terminfo/m/mime-hb +/usr/share/ncurses4/terminfo/m/mime1 +/usr/share/ncurses4/terminfo/m/mime2 +/usr/share/ncurses4/terminfo/m/mime2a +/usr/share/ncurses4/terminfo/m/mime2a-s +/usr/share/ncurses4/terminfo/m/mime2a-v +/usr/share/ncurses4/terminfo/m/mime314 +/usr/share/ncurses4/terminfo/m/mime340 +/usr/share/ncurses4/terminfo/m/mime3a +/usr/share/ncurses4/terminfo/m/mime3ax +/usr/share/ncurses4/terminfo/m/mimei +/usr/share/ncurses4/terminfo/m/mimeii +/usr/share/ncurses4/terminfo/m/minitel +/usr/share/ncurses4/terminfo/m/minitel-2 +/usr/share/ncurses4/terminfo/m/minitel-2-nam +/usr/share/ncurses4/terminfo/m/minix +/usr/share/ncurses4/terminfo/m/minix-old +/usr/share/ncurses4/terminfo/m/minix-old-am +/usr/share/ncurses4/terminfo/m/mm314 +/usr/share/ncurses4/terminfo/m/mm340 +/usr/share/ncurses4/terminfo/m/mod +/usr/share/ncurses4/terminfo/m/mod24 +/usr/share/ncurses4/terminfo/m/modgraph +/usr/share/ncurses4/terminfo/m/modgraph2 +/usr/share/ncurses4/terminfo/m/modgraph48 +/usr/share/ncurses4/terminfo/m/mono-emx +/usr/share/ncurses4/terminfo/m/msk227 +/usr/share/ncurses4/terminfo/m/msk22714 +/usr/share/ncurses4/terminfo/m/msk227am +/usr/share/ncurses4/terminfo/m/mskermit227 +/usr/share/ncurses4/terminfo/m/mskermit22714 +/usr/share/ncurses4/terminfo/m/mskermit227am +/usr/share/ncurses4/terminfo/m/mt-70 +/usr/share/ncurses4/terminfo/m/mt4520-rv +/usr/share/ncurses4/terminfo/m/mt70 +/usr/share/ncurses4/terminfo/n +/usr/share/ncurses4/terminfo/n/nansi.sys +/usr/share/ncurses4/terminfo/n/nansi.sysk +/usr/share/ncurses4/terminfo/n/nansisys +/usr/share/ncurses4/terminfo/n/nansisysk +/usr/share/ncurses4/terminfo/n/ncr7900 +/usr/share/ncurses4/terminfo/n/ncr7900i +/usr/share/ncurses4/terminfo/n/ncr7900iv +/usr/share/ncurses4/terminfo/n/ncr7901 +/usr/share/ncurses4/terminfo/n/nec +/usr/share/ncurses4/terminfo/n/nec5520 +/usr/share/ncurses4/terminfo/n/newhp +/usr/share/ncurses4/terminfo/n/newhpkeyboard +/usr/share/ncurses4/terminfo/n/news +/usr/share/ncurses4/terminfo/n/news-29 +/usr/share/ncurses4/terminfo/n/news-29-euc +/usr/share/ncurses4/terminfo/n/news-29-sjis +/usr/share/ncurses4/terminfo/n/news-33 +/usr/share/ncurses4/terminfo/n/news-33-euc +/usr/share/ncurses4/terminfo/n/news-33-sjis +/usr/share/ncurses4/terminfo/n/news-42 +/usr/share/ncurses4/terminfo/n/news-42-euc +/usr/share/ncurses4/terminfo/n/news-42-sjis +/usr/share/ncurses4/terminfo/n/news-a +/usr/share/ncurses4/terminfo/n/news-o +/usr/share/ncurses4/terminfo/n/news-old-unk +/usr/share/ncurses4/terminfo/n/news-unk +/usr/share/ncurses4/terminfo/n/news28 +/usr/share/ncurses4/terminfo/n/news28-a +/usr/share/ncurses4/terminfo/n/news29 +/usr/share/ncurses4/terminfo/n/news31 +/usr/share/ncurses4/terminfo/n/news31-a +/usr/share/ncurses4/terminfo/n/news31-o +/usr/share/ncurses4/terminfo/n/news33 +/usr/share/ncurses4/terminfo/n/news40 +/usr/share/ncurses4/terminfo/n/news40-a +/usr/share/ncurses4/terminfo/n/news40-o +/usr/share/ncurses4/terminfo/n/news42 +/usr/share/ncurses4/terminfo/n/newscbm +/usr/share/ncurses4/terminfo/n/newscbm-a +/usr/share/ncurses4/terminfo/n/newscbm-o +/usr/share/ncurses4/terminfo/n/newscbm33 +/usr/share/ncurses4/terminfo/n/next +/usr/share/ncurses4/terminfo/n/nextshell +/usr/share/ncurses4/terminfo/n/northstar +/usr/share/ncurses4/terminfo/n/nwe501 +/usr/share/ncurses4/terminfo/n/nwe501-a +/usr/share/ncurses4/terminfo/n/nwe501-o +/usr/share/ncurses4/terminfo/n/nwp-511 +/usr/share/ncurses4/terminfo/n/nwp-517 +/usr/share/ncurses4/terminfo/n/nwp-517-w +/usr/share/ncurses4/terminfo/n/nwp251-a +/usr/share/ncurses4/terminfo/n/nwp251-o +/usr/share/ncurses4/terminfo/n/nwp511 +/usr/share/ncurses4/terminfo/n/nwp512 +/usr/share/ncurses4/terminfo/n/nwp512-a +/usr/share/ncurses4/terminfo/n/nwp512-o +/usr/share/ncurses4/terminfo/n/nwp513 +/usr/share/ncurses4/terminfo/n/nwp513-a +/usr/share/ncurses4/terminfo/n/nwp513-o +/usr/share/ncurses4/terminfo/n/nwp514 +/usr/share/ncurses4/terminfo/n/nwp514-a +/usr/share/ncurses4/terminfo/n/nwp514-o +/usr/share/ncurses4/terminfo/n/nwp517 +/usr/share/ncurses4/terminfo/n/nwp517-w +/usr/share/ncurses4/terminfo/n/nwp518 +/usr/share/ncurses4/terminfo/n/nwp518-a +/usr/share/ncurses4/terminfo/n/nwp518-o +/usr/share/ncurses4/terminfo/o +/usr/share/ncurses4/terminfo/o/o31 +/usr/share/ncurses4/terminfo/o/o4112-nd +/usr/share/ncurses4/terminfo/o/o85h +/usr/share/ncurses4/terminfo/o/oabm85h +/usr/share/ncurses4/terminfo/o/oblit +/usr/share/ncurses4/terminfo/o/oc100 +/usr/share/ncurses4/terminfo/o/oconcept +/usr/share/ncurses4/terminfo/o/ojerq +/usr/share/ncurses4/terminfo/o/oldibmpc3 +/usr/share/ncurses4/terminfo/o/oldpc3 +/usr/share/ncurses4/terminfo/o/oldsun +/usr/share/ncurses4/terminfo/o/omron +/usr/share/ncurses4/terminfo/o/opus3n1+ +/usr/share/ncurses4/terminfo/o/origibmpc3 +/usr/share/ncurses4/terminfo/o/origpc3 +/usr/share/ncurses4/terminfo/o/os9LII +/usr/share/ncurses4/terminfo/o/osborne +/usr/share/ncurses4/terminfo/o/osborne-w +/usr/share/ncurses4/terminfo/o/osborne1 +/usr/share/ncurses4/terminfo/o/osborne1-w +/usr/share/ncurses4/terminfo/o/osexec +/usr/share/ncurses4/terminfo/o/otek4112 +/usr/share/ncurses4/terminfo/o/otek4113 +/usr/share/ncurses4/terminfo/o/otek4114 +/usr/share/ncurses4/terminfo/o/otek4115 +/usr/share/ncurses4/terminfo/o/owl +/usr/share/ncurses4/terminfo/p +/usr/share/ncurses4/terminfo/p/p12 +/usr/share/ncurses4/terminfo/p/p12-m +/usr/share/ncurses4/terminfo/p/p12-m-w +/usr/share/ncurses4/terminfo/p/p12-w +/usr/share/ncurses4/terminfo/p/p14 +/usr/share/ncurses4/terminfo/p/p14-m +/usr/share/ncurses4/terminfo/p/p14-m-w +/usr/share/ncurses4/terminfo/p/p14-w +/usr/share/ncurses4/terminfo/p/p19 +/usr/share/ncurses4/terminfo/p/p4 +/usr/share/ncurses4/terminfo/p/p5 +/usr/share/ncurses4/terminfo/p/p7 +/usr/share/ncurses4/terminfo/p/p8 +/usr/share/ncurses4/terminfo/p/p8-w +/usr/share/ncurses4/terminfo/p/p8gl +/usr/share/ncurses4/terminfo/p/p9 +/usr/share/ncurses4/terminfo/p/p9-8 +/usr/share/ncurses4/terminfo/p/p9-8-w +/usr/share/ncurses4/terminfo/p/p9-w +/usr/share/ncurses4/terminfo/p/pc-coherent +/usr/share/ncurses4/terminfo/p/pc-minix +/usr/share/ncurses4/terminfo/p/pc-venix +/usr/share/ncurses4/terminfo/p/pc3 +/usr/share/ncurses4/terminfo/p/pc3-bold +/usr/share/ncurses4/terminfo/p/pc3r +/usr/share/ncurses4/terminfo/p/pc3r-m +/usr/share/ncurses4/terminfo/p/pc6300plus +/usr/share/ncurses4/terminfo/p/pc7300 +/usr/share/ncurses4/terminfo/p/pcansi +/usr/share/ncurses4/terminfo/p/pcansi-25 +/usr/share/ncurses4/terminfo/p/pcansi-25-m +/usr/share/ncurses4/terminfo/p/pcansi-33 +/usr/share/ncurses4/terminfo/p/pcansi-33-m +/usr/share/ncurses4/terminfo/p/pcansi-43 +/usr/share/ncurses4/terminfo/p/pcansi-43-m +/usr/share/ncurses4/terminfo/p/pcansi-m +/usr/share/ncurses4/terminfo/p/pcansi-mono +/usr/share/ncurses4/terminfo/p/pcansi25 +/usr/share/ncurses4/terminfo/p/pcansi25m +/usr/share/ncurses4/terminfo/p/pcansi33 +/usr/share/ncurses4/terminfo/p/pcansi33m +/usr/share/ncurses4/terminfo/p/pcansi43 +/usr/share/ncurses4/terminfo/p/pccons +/usr/share/ncurses4/terminfo/p/pcconsole +/usr/share/ncurses4/terminfo/p/pcix +/usr/share/ncurses4/terminfo/p/pckermit +/usr/share/ncurses4/terminfo/p/pckermit12 +/usr/share/ncurses4/terminfo/p/pckermit120 +/usr/share/ncurses4/terminfo/p/pcplot +/usr/share/ncurses4/terminfo/p/pcvt25 +/usr/share/ncurses4/terminfo/p/pcvt25w +/usr/share/ncurses4/terminfo/p/pcvt28 +/usr/share/ncurses4/terminfo/p/pcvt28w +/usr/share/ncurses4/terminfo/p/pcvt35 +/usr/share/ncurses4/terminfo/p/pcvt35w +/usr/share/ncurses4/terminfo/p/pcvt40 +/usr/share/ncurses4/terminfo/p/pcvt40w +/usr/share/ncurses4/terminfo/p/pcvt43 +/usr/share/ncurses4/terminfo/p/pcvt43w +/usr/share/ncurses4/terminfo/p/pcvt50 +/usr/share/ncurses4/terminfo/p/pcvt50w +/usr/share/ncurses4/terminfo/p/pcvtXX +/usr/share/ncurses4/terminfo/p/pcz19 +/usr/share/ncurses4/terminfo/p/pe1100 +/usr/share/ncurses4/terminfo/p/pe1200 +/usr/share/ncurses4/terminfo/p/pe1251 +/usr/share/ncurses4/terminfo/p/pe550 +/usr/share/ncurses4/terminfo/p/pe6100 +/usr/share/ncurses4/terminfo/p/pe6300 +/usr/share/ncurses4/terminfo/p/pe6312 +/usr/share/ncurses4/terminfo/p/pe7000c +/usr/share/ncurses4/terminfo/p/pe7000m +/usr/share/ncurses4/terminfo/p/pilot +/usr/share/ncurses4/terminfo/p/printer +/usr/share/ncurses4/terminfo/p/prism12 +/usr/share/ncurses4/terminfo/p/prism12-m +/usr/share/ncurses4/terminfo/p/prism12-m-w +/usr/share/ncurses4/terminfo/p/prism12-w +/usr/share/ncurses4/terminfo/p/prism14 +/usr/share/ncurses4/terminfo/p/prism14-m +/usr/share/ncurses4/terminfo/p/prism14-m-w +/usr/share/ncurses4/terminfo/p/prism14-w +/usr/share/ncurses4/terminfo/p/prism2 +/usr/share/ncurses4/terminfo/p/prism4 +/usr/share/ncurses4/terminfo/p/prism5 +/usr/share/ncurses4/terminfo/p/prism7 +/usr/share/ncurses4/terminfo/p/prism8 +/usr/share/ncurses4/terminfo/p/prism8-w +/usr/share/ncurses4/terminfo/p/prism8gl +/usr/share/ncurses4/terminfo/p/prism9 +/usr/share/ncurses4/terminfo/p/prism9-8 +/usr/share/ncurses4/terminfo/p/prism9-8-w +/usr/share/ncurses4/terminfo/p/prism9-w +/usr/share/ncurses4/terminfo/p/pro350 +/usr/share/ncurses4/terminfo/p/ps300 +/usr/share/ncurses4/terminfo/p/psterm +/usr/share/ncurses4/terminfo/p/psterm-80x24 +/usr/share/ncurses4/terminfo/p/psterm-90x28 +/usr/share/ncurses4/terminfo/p/psterm-96x48 +/usr/share/ncurses4/terminfo/p/psterm-basic +/usr/share/ncurses4/terminfo/p/psterm-fast +/usr/share/ncurses4/terminfo/p/psx_ansi +/usr/share/ncurses4/terminfo/p/pt100 +/usr/share/ncurses4/terminfo/p/pt100w +/usr/share/ncurses4/terminfo/p/pt200 +/usr/share/ncurses4/terminfo/p/pt200w +/usr/share/ncurses4/terminfo/p/pt210 +/usr/share/ncurses4/terminfo/p/pt250 +/usr/share/ncurses4/terminfo/p/pt250w +/usr/share/ncurses4/terminfo/p/pt505 +/usr/share/ncurses4/terminfo/p/pt505-22 +/usr/share/ncurses4/terminfo/p/pt505-24 +/usr/share/ncurses4/terminfo/p/pty +/usr/share/ncurses4/terminfo/q +/usr/share/ncurses4/terminfo/q/qdcons +/usr/share/ncurses4/terminfo/q/qdss +/usr/share/ncurses4/terminfo/q/qnx +/usr/share/ncurses4/terminfo/q/qnx4 +/usr/share/ncurses4/terminfo/q/qume +/usr/share/ncurses4/terminfo/q/qume5 +/usr/share/ncurses4/terminfo/q/qvt101 +/usr/share/ncurses4/terminfo/q/qvt101+ +/usr/share/ncurses4/terminfo/q/qvt101p +/usr/share/ncurses4/terminfo/q/qvt102 +/usr/share/ncurses4/terminfo/q/qvt103 +/usr/share/ncurses4/terminfo/q/qvt103-w +/usr/share/ncurses4/terminfo/q/qvt108 +/usr/share/ncurses4/terminfo/q/qvt119 +/usr/share/ncurses4/terminfo/q/qvt119+ +/usr/share/ncurses4/terminfo/q/qvt119+-25 +/usr/share/ncurses4/terminfo/q/qvt119+-25-w +/usr/share/ncurses4/terminfo/q/qvt119+-w +/usr/share/ncurses4/terminfo/q/qvt119-25-w +/usr/share/ncurses4/terminfo/q/qvt119-w +/usr/share/ncurses4/terminfo/q/qvt119p +/usr/share/ncurses4/terminfo/q/qvt119p-25 +/usr/share/ncurses4/terminfo/q/qvt119p-25-w +/usr/share/ncurses4/terminfo/q/qvt119p-w +/usr/share/ncurses4/terminfo/q/qvt203 +/usr/share/ncurses4/terminfo/q/qvt203+ +/usr/share/ncurses4/terminfo/q/qvt203-25 +/usr/share/ncurses4/terminfo/q/qvt203-25-w +/usr/share/ncurses4/terminfo/q/qvt203-w +/usr/share/ncurses4/terminfo/q/qvt203-w-am +/usr/share/ncurses4/terminfo/r +/usr/share/ncurses4/terminfo/r/rbcomm +/usr/share/ncurses4/terminfo/r/rbcomm-nam +/usr/share/ncurses4/terminfo/r/rbcomm-w +/usr/share/ncurses4/terminfo/r/rca +/usr/share/ncurses4/terminfo/r/rebus3180 +/usr/share/ncurses4/terminfo/r/regent +/usr/share/ncurses4/terminfo/r/regent100 +/usr/share/ncurses4/terminfo/r/regent20 +/usr/share/ncurses4/terminfo/r/regent200 +/usr/share/ncurses4/terminfo/r/regent25 +/usr/share/ncurses4/terminfo/r/regent40 +/usr/share/ncurses4/terminfo/r/regent40+ +/usr/share/ncurses4/terminfo/r/regent60 +/usr/share/ncurses4/terminfo/r/rt6221 +/usr/share/ncurses4/terminfo/r/rt6221-w +/usr/share/ncurses4/terminfo/r/rtpc +/usr/share/ncurses4/terminfo/r/rxvt +/usr/share/ncurses4/terminfo/r/rxvt-basic +/usr/share/ncurses4/terminfo/s +/usr/share/ncurses4/terminfo/s/s +/usr/share/ncurses4/terminfo/s/s4 +/usr/share/ncurses4/terminfo/s/sb1 +/usr/share/ncurses4/terminfo/s/sb2 +/usr/share/ncurses4/terminfo/s/sb3 +/usr/share/ncurses4/terminfo/s/sbi +/usr/share/ncurses4/terminfo/s/sbobcat +/usr/share/ncurses4/terminfo/s/sc410 +/usr/share/ncurses4/terminfo/s/sc415 +/usr/share/ncurses4/terminfo/s/scanset +/usr/share/ncurses4/terminfo/s/scoansi +/usr/share/ncurses4/terminfo/s/screen +/usr/share/ncurses4/terminfo/s/screen-w +/usr/share/ncurses4/terminfo/s/screen2 +/usr/share/ncurses4/terminfo/s/screen3 +/usr/share/ncurses4/terminfo/s/screwpoint +/usr/share/ncurses4/terminfo/s/scrhp +/usr/share/ncurses4/terminfo/s/simterm +/usr/share/ncurses4/terminfo/s/soroc +/usr/share/ncurses4/terminfo/s/soroc120 +/usr/share/ncurses4/terminfo/s/soroc140 +/usr/share/ncurses4/terminfo/s/spinwriter +/usr/share/ncurses4/terminfo/s/st52 +/usr/share/ncurses4/terminfo/s/sun +/usr/share/ncurses4/terminfo/s/sun-1 +/usr/share/ncurses4/terminfo/s/sun-12 +/usr/share/ncurses4/terminfo/s/sun-17 +/usr/share/ncurses4/terminfo/s/sun-24 +/usr/share/ncurses4/terminfo/s/sun-34 +/usr/share/ncurses4/terminfo/s/sun-48 +/usr/share/ncurses4/terminfo/s/sun-c +/usr/share/ncurses4/terminfo/s/sun-cmd +/usr/share/ncurses4/terminfo/s/sun-e +/usr/share/ncurses4/terminfo/s/sun-e-s +/usr/share/ncurses4/terminfo/s/sun-il +/usr/share/ncurses4/terminfo/s/sun-nic +/usr/share/ncurses4/terminfo/s/sun-s +/usr/share/ncurses4/terminfo/s/sun-s-e +/usr/share/ncurses4/terminfo/s/sun-ss5 +/usr/share/ncurses4/terminfo/s/sun1 +/usr/share/ncurses4/terminfo/s/sun2 +/usr/share/ncurses4/terminfo/s/sune +/usr/share/ncurses4/terminfo/s/superbee +/usr/share/ncurses4/terminfo/s/superbee-xsb +/usr/share/ncurses4/terminfo/s/superbeeic +/usr/share/ncurses4/terminfo/s/superbrain +/usr/share/ncurses4/terminfo/s/sv80 +/usr/share/ncurses4/terminfo/s/swtp +/usr/share/ncurses4/terminfo/s/synertek +/usr/share/ncurses4/terminfo/s/synertek380 +/usr/share/ncurses4/terminfo/s/system1 +/usr/share/ncurses4/terminfo/t +/usr/share/ncurses4/terminfo/t/t10 +/usr/share/ncurses4/terminfo/t/t1061 +/usr/share/ncurses4/terminfo/t/t1061f +/usr/share/ncurses4/terminfo/t/t16 +/usr/share/ncurses4/terminfo/t/t3700 +/usr/share/ncurses4/terminfo/t/t3800 +/usr/share/ncurses4/terminfo/t/t653x +/usr/share/ncurses4/terminfo/t/tab +/usr/share/ncurses4/terminfo/t/tab132 +/usr/share/ncurses4/terminfo/t/tab132-15 +/usr/share/ncurses4/terminfo/t/tab132-rv +/usr/share/ncurses4/terminfo/t/tab132-w +/usr/share/ncurses4/terminfo/t/tab132-w-rv +/usr/share/ncurses4/terminfo/t/tandem6510 +/usr/share/ncurses4/terminfo/t/tandem653 +/usr/share/ncurses4/terminfo/t/tek +/usr/share/ncurses4/terminfo/t/tek4012 +/usr/share/ncurses4/terminfo/t/tek4013 +/usr/share/ncurses4/terminfo/t/tek4014 +/usr/share/ncurses4/terminfo/t/tek4014-sm +/usr/share/ncurses4/terminfo/t/tek4015 +/usr/share/ncurses4/terminfo/t/tek4015-sm +/usr/share/ncurses4/terminfo/t/tek4023 +/usr/share/ncurses4/terminfo/t/tek4024 +/usr/share/ncurses4/terminfo/t/tek4025 +/usr/share/ncurses4/terminfo/t/tek4025-17 +/usr/share/ncurses4/terminfo/t/tek4025-17-ws +/usr/share/ncurses4/terminfo/t/tek4025-cr +/usr/share/ncurses4/terminfo/t/tek4025-ex +/usr/share/ncurses4/terminfo/t/tek4025a +/usr/share/ncurses4/terminfo/t/tek4025ex +/usr/share/ncurses4/terminfo/t/tek4027 +/usr/share/ncurses4/terminfo/t/tek4027-ex +/usr/share/ncurses4/terminfo/t/tek4105 +/usr/share/ncurses4/terminfo/t/tek4105-30 +/usr/share/ncurses4/terminfo/t/tek4105a +/usr/share/ncurses4/terminfo/t/tek4106brl +/usr/share/ncurses4/terminfo/t/tek4107 +/usr/share/ncurses4/terminfo/t/tek4107brl +/usr/share/ncurses4/terminfo/t/tek4109 +/usr/share/ncurses4/terminfo/t/tek4109brl +/usr/share/ncurses4/terminfo/t/tek4112 +/usr/share/ncurses4/terminfo/t/tek4112-5 +/usr/share/ncurses4/terminfo/t/tek4112-nd +/usr/share/ncurses4/terminfo/t/tek4113 +/usr/share/ncurses4/terminfo/t/tek4113-34 +/usr/share/ncurses4/terminfo/t/tek4113-nd +/usr/share/ncurses4/terminfo/t/tek4114 +/usr/share/ncurses4/terminfo/t/tek4115 +/usr/share/ncurses4/terminfo/t/tek4125 +/usr/share/ncurses4/terminfo/t/tek4205 +/usr/share/ncurses4/terminfo/t/tek4207 +/usr/share/ncurses4/terminfo/t/tek4207-s +/usr/share/ncurses4/terminfo/t/tek4404 +/usr/share/ncurses4/terminfo/t/teleray +/usr/share/ncurses4/terminfo/t/teletec +/usr/share/ncurses4/terminfo/t/terminet +/usr/share/ncurses4/terminfo/t/terminet1200 +/usr/share/ncurses4/terminfo/t/terminet300 +/usr/share/ncurses4/terminfo/t/tgtelnet +/usr/share/ncurses4/terminfo/t/ti700 +/usr/share/ncurses4/terminfo/t/ti733 +/usr/share/ncurses4/terminfo/t/ti735 +/usr/share/ncurses4/terminfo/t/ti745 +/usr/share/ncurses4/terminfo/t/ti800 +/usr/share/ncurses4/terminfo/t/ti916 +/usr/share/ncurses4/terminfo/t/ti916-132 +/usr/share/ncurses4/terminfo/t/ti916-220-7 +/usr/share/ncurses4/terminfo/t/ti916-220-8 +/usr/share/ncurses4/terminfo/t/ti916-8 +/usr/share/ncurses4/terminfo/t/ti916-8-132 +/usr/share/ncurses4/terminfo/t/ti924 +/usr/share/ncurses4/terminfo/t/ti924-8 +/usr/share/ncurses4/terminfo/t/ti924-8w +/usr/share/ncurses4/terminfo/t/ti924w +/usr/share/ncurses4/terminfo/t/ti926 +/usr/share/ncurses4/terminfo/t/ti926-8 +/usr/share/ncurses4/terminfo/t/ti928 +/usr/share/ncurses4/terminfo/t/ti928-8 +/usr/share/ncurses4/terminfo/t/ti931 +/usr/share/ncurses4/terminfo/t/ti_ansi +/usr/share/ncurses4/terminfo/t/tn1200 +/usr/share/ncurses4/terminfo/t/tn300 +/usr/share/ncurses4/terminfo/t/trs16 +/usr/share/ncurses4/terminfo/t/trs2 +/usr/share/ncurses4/terminfo/t/trs80II +/usr/share/ncurses4/terminfo/t/trsII +/usr/share/ncurses4/terminfo/t/ts-1 +/usr/share/ncurses4/terminfo/t/ts-1p +/usr/share/ncurses4/terminfo/t/ts1 +/usr/share/ncurses4/terminfo/t/ts100 +/usr/share/ncurses4/terminfo/t/ts100-ctxt +/usr/share/ncurses4/terminfo/t/ts100-sp +/usr/share/ncurses4/terminfo/t/ts1p +/usr/share/ncurses4/terminfo/t/tt505-22 +/usr/share/ncurses4/terminfo/t/tty33 +/usr/share/ncurses4/terminfo/t/tty35 +/usr/share/ncurses4/terminfo/t/tty37 +/usr/share/ncurses4/terminfo/t/tty40 +/usr/share/ncurses4/terminfo/t/tty43 +/usr/share/ncurses4/terminfo/t/tty4420 +/usr/share/ncurses4/terminfo/t/tty4424 +/usr/share/ncurses4/terminfo/t/tty4424-1 +/usr/share/ncurses4/terminfo/t/tty4424m +/usr/share/ncurses4/terminfo/t/tty4426 +/usr/share/ncurses4/terminfo/t/tty5410 +/usr/share/ncurses4/terminfo/t/tty5410-w +/usr/share/ncurses4/terminfo/t/tty5410v1 +/usr/share/ncurses4/terminfo/t/tty5410v1-w +/usr/share/ncurses4/terminfo/t/tty5420 +/usr/share/ncurses4/terminfo/t/tty5420+nl +/usr/share/ncurses4/terminfo/t/tty5420-nl +/usr/share/ncurses4/terminfo/t/tty5420-rv +/usr/share/ncurses4/terminfo/t/tty5420-rv-nl +/usr/share/ncurses4/terminfo/t/tty5420-w +/usr/share/ncurses4/terminfo/t/tty5420-w-nl +/usr/share/ncurses4/terminfo/t/tty5420-w-rv +/usr/share/ncurses4/terminfo/t/tty5420-w-rv-n +/usr/share/ncurses4/terminfo/t/tty5425 +/usr/share/ncurses4/terminfo/t/tty5425-nl +/usr/share/ncurses4/terminfo/t/tty5425-w +/usr/share/ncurses4/terminfo/t/tty5620 +/usr/share/ncurses4/terminfo/t/tty5620-1 +/usr/share/ncurses4/terminfo/t/tty5620-24 +/usr/share/ncurses4/terminfo/t/tty5620-34 +/usr/share/ncurses4/terminfo/t/tty5620-s +/usr/share/ncurses4/terminfo/t/ttydmd +/usr/share/ncurses4/terminfo/t/tvi-2p +/usr/share/ncurses4/terminfo/t/tvi803 +/usr/share/ncurses4/terminfo/t/tvi9065 +/usr/share/ncurses4/terminfo/t/tvi910 +/usr/share/ncurses4/terminfo/t/tvi910+ +/usr/share/ncurses4/terminfo/t/tvi912 +/usr/share/ncurses4/terminfo/t/tvi912-2p +/usr/share/ncurses4/terminfo/t/tvi912b +/usr/share/ncurses4/terminfo/t/tvi912c +/usr/share/ncurses4/terminfo/t/tvi912cc +/usr/share/ncurses4/terminfo/t/tvi914 +/usr/share/ncurses4/terminfo/t/tvi920 +/usr/share/ncurses4/terminfo/t/tvi920-2p +/usr/share/ncurses4/terminfo/t/tvi920b +/usr/share/ncurses4/terminfo/t/tvi920c +/usr/share/ncurses4/terminfo/t/tvi921 +/usr/share/ncurses4/terminfo/t/tvi924 +/usr/share/ncurses4/terminfo/t/tvi925 +/usr/share/ncurses4/terminfo/t/tvi925-hi +/usr/share/ncurses4/terminfo/t/tvi92B +/usr/share/ncurses4/terminfo/t/tvi92D +/usr/share/ncurses4/terminfo/t/tvi950 +/usr/share/ncurses4/terminfo/t/tvi950-2p +/usr/share/ncurses4/terminfo/t/tvi950-4p +/usr/share/ncurses4/terminfo/t/tvi950-rv +/usr/share/ncurses4/terminfo/t/tvi950-rv-2p +/usr/share/ncurses4/terminfo/t/tvi950-rv-4p +/usr/share/ncurses4/terminfo/t/tvi955 +/usr/share/ncurses4/terminfo/t/tvi955-hb +/usr/share/ncurses4/terminfo/t/tvi955-w +/usr/share/ncurses4/terminfo/t/tvi970 +/usr/share/ncurses4/terminfo/t/tvi970-2p +/usr/share/ncurses4/terminfo/t/tvi970-vb +/usr/share/ncurses4/terminfo/t/tvipt +/usr/share/ncurses4/terminfo/u +/usr/share/ncurses4/terminfo/u/ultima2 +/usr/share/ncurses4/terminfo/u/ultimaII +/usr/share/ncurses4/terminfo/u/uniterm +/usr/share/ncurses4/terminfo/u/uniterm49 +/usr/share/ncurses4/terminfo/u/unixpc +/usr/share/ncurses4/terminfo/u/unknown +/usr/share/ncurses4/terminfo/u/uts30 +/usr/share/ncurses4/terminfo/v +/usr/share/ncurses4/terminfo/v/v200-nam +/usr/share/ncurses4/terminfo/v/v320n +/usr/share/ncurses4/terminfo/v/v3220 +/usr/share/ncurses4/terminfo/v/v5410 +/usr/share/ncurses4/terminfo/v/vapple +/usr/share/ncurses4/terminfo/v/vc103 +/usr/share/ncurses4/terminfo/v/vc203 +/usr/share/ncurses4/terminfo/v/vc303 +/usr/share/ncurses4/terminfo/v/vc303a +/usr/share/ncurses4/terminfo/v/vc403a +/usr/share/ncurses4/terminfo/v/vc404 +/usr/share/ncurses4/terminfo/v/vc404-s +/usr/share/ncurses4/terminfo/v/vc414 +/usr/share/ncurses4/terminfo/v/vc414h +/usr/share/ncurses4/terminfo/v/vc415 +/usr/share/ncurses4/terminfo/v/venix +/usr/share/ncurses4/terminfo/v/versaterm +/usr/share/ncurses4/terminfo/v/vi200 +/usr/share/ncurses4/terminfo/v/vi200-f +/usr/share/ncurses4/terminfo/v/vi200-rv +/usr/share/ncurses4/terminfo/v/vi300 +/usr/share/ncurses4/terminfo/v/vi300-old +/usr/share/ncurses4/terminfo/v/vi50 +/usr/share/ncurses4/terminfo/v/vi500 +/usr/share/ncurses4/terminfo/v/vi50adm +/usr/share/ncurses4/terminfo/v/vi55 +/usr/share/ncurses4/terminfo/v/vi550 +/usr/share/ncurses4/terminfo/v/vi603 +/usr/share/ncurses4/terminfo/v/viewpoint +/usr/share/ncurses4/terminfo/v/viewpoint3a+ +/usr/share/ncurses4/terminfo/v/viewpoint60 +/usr/share/ncurses4/terminfo/v/viewpoint90 +/usr/share/ncurses4/terminfo/v/visa50 +/usr/share/ncurses4/terminfo/v/visual603 +/usr/share/ncurses4/terminfo/v/vitty +/usr/share/ncurses4/terminfo/v/vk100 +/usr/share/ncurses4/terminfo/v/vp3a+ +/usr/share/ncurses4/terminfo/v/vp60 +/usr/share/ncurses4/terminfo/v/vp90 +/usr/share/ncurses4/terminfo/v/vremote +/usr/share/ncurses4/terminfo/v/vs100 +/usr/share/ncurses4/terminfo/v/vs100-x10 +/usr/share/ncurses4/terminfo/v/vsc +/usr/share/ncurses4/terminfo/v/vt-61 +/usr/share/ncurses4/terminfo/v/vt100 +/usr/share/ncurses4/terminfo/v/vt100-am +/usr/share/ncurses4/terminfo/v/vt100-bm +/usr/share/ncurses4/terminfo/v/vt100-bm-o +/usr/share/ncurses4/terminfo/v/vt100-bot-s +/usr/share/ncurses4/terminfo/v/vt100-nam +/usr/share/ncurses4/terminfo/v/vt100-nam-w +/usr/share/ncurses4/terminfo/v/vt100-nav +/usr/share/ncurses4/terminfo/v/vt100-nav-w +/usr/share/ncurses4/terminfo/v/vt100-s +/usr/share/ncurses4/terminfo/v/vt100-s-bot +/usr/share/ncurses4/terminfo/v/vt100-s-top +/usr/share/ncurses4/terminfo/v/vt100-top-s +/usr/share/ncurses4/terminfo/v/vt100-vb +/usr/share/ncurses4/terminfo/v/vt100-w +/usr/share/ncurses4/terminfo/v/vt100-w-am +/usr/share/ncurses4/terminfo/v/vt100-w-nam +/usr/share/ncurses4/terminfo/v/vt100-w-nav +/usr/share/ncurses4/terminfo/v/vt100nam +/usr/share/ncurses4/terminfo/v/vt102 +/usr/share/ncurses4/terminfo/v/vt102-nsgr +/usr/share/ncurses4/terminfo/v/vt102-w +/usr/share/ncurses4/terminfo/v/vt125 +/usr/share/ncurses4/terminfo/v/vt131 +/usr/share/ncurses4/terminfo/v/vt132 +/usr/share/ncurses4/terminfo/v/vt200 +/usr/share/ncurses4/terminfo/v/vt200-js +/usr/share/ncurses4/terminfo/v/vt200-w +/usr/share/ncurses4/terminfo/v/vt220 +/usr/share/ncurses4/terminfo/v/vt220-8 +/usr/share/ncurses4/terminfo/v/vt220-js +/usr/share/ncurses4/terminfo/v/vt220-nam +/usr/share/ncurses4/terminfo/v/vt220-w +/usr/share/ncurses4/terminfo/v/vt220d +/usr/share/ncurses4/terminfo/v/vt300 +/usr/share/ncurses4/terminfo/v/vt300-nam +/usr/share/ncurses4/terminfo/v/vt300-w +/usr/share/ncurses4/terminfo/v/vt300-w-nam +/usr/share/ncurses4/terminfo/v/vt320 +/usr/share/ncurses4/terminfo/v/vt320-k3 +/usr/share/ncurses4/terminfo/v/vt320-k311 +/usr/share/ncurses4/terminfo/v/vt320-nam +/usr/share/ncurses4/terminfo/v/vt320-w +/usr/share/ncurses4/terminfo/v/vt320-w-nam +/usr/share/ncurses4/terminfo/v/vt320nam +/usr/share/ncurses4/terminfo/v/vt330 +/usr/share/ncurses4/terminfo/v/vt340 +/usr/share/ncurses4/terminfo/v/vt400 +/usr/share/ncurses4/terminfo/v/vt400-24 +/usr/share/ncurses4/terminfo/v/vt420 +/usr/share/ncurses4/terminfo/v/vt420f +/usr/share/ncurses4/terminfo/v/vt420pc +/usr/share/ncurses4/terminfo/v/vt420pcdos +/usr/share/ncurses4/terminfo/v/vt50 +/usr/share/ncurses4/terminfo/v/vt50h +/usr/share/ncurses4/terminfo/v/vt510 +/usr/share/ncurses4/terminfo/v/vt510pc +/usr/share/ncurses4/terminfo/v/vt510pcdos +/usr/share/ncurses4/terminfo/v/vt52 +/usr/share/ncurses4/terminfo/v/vt520 +/usr/share/ncurses4/terminfo/v/vt525 +/usr/share/ncurses4/terminfo/v/vt61 +/usr/share/ncurses4/terminfo/v/vt61.5 +/usr/share/ncurses4/terminfo/w +/usr/share/ncurses4/terminfo/w/wren +/usr/share/ncurses4/terminfo/w/wrenw +/usr/share/ncurses4/terminfo/w/wsiris +/usr/share/ncurses4/terminfo/w/wy-75ap +/usr/share/ncurses4/terminfo/w/wy100 +/usr/share/ncurses4/terminfo/w/wy100q +/usr/share/ncurses4/terminfo/w/wy120 +/usr/share/ncurses4/terminfo/w/wy120-25 +/usr/share/ncurses4/terminfo/w/wy120-25-w +/usr/share/ncurses4/terminfo/w/wy120-vb +/usr/share/ncurses4/terminfo/w/wy120-w +/usr/share/ncurses4/terminfo/w/wy120-w-vb +/usr/share/ncurses4/terminfo/w/wy120-wvb +/usr/share/ncurses4/terminfo/w/wy150 +/usr/share/ncurses4/terminfo/w/wy150-25 +/usr/share/ncurses4/terminfo/w/wy150-25-w +/usr/share/ncurses4/terminfo/w/wy150-vb +/usr/share/ncurses4/terminfo/w/wy150-w +/usr/share/ncurses4/terminfo/w/wy150-w-vb +/usr/share/ncurses4/terminfo/w/wy160 +/usr/share/ncurses4/terminfo/w/wy160-25 +/usr/share/ncurses4/terminfo/w/wy160-25-w +/usr/share/ncurses4/terminfo/w/wy160-42 +/usr/share/ncurses4/terminfo/w/wy160-42-w +/usr/share/ncurses4/terminfo/w/wy160-43 +/usr/share/ncurses4/terminfo/w/wy160-43-w +/usr/share/ncurses4/terminfo/w/wy160-tek +/usr/share/ncurses4/terminfo/w/wy160-vb +/usr/share/ncurses4/terminfo/w/wy160-w +/usr/share/ncurses4/terminfo/w/wy160-w-vb +/usr/share/ncurses4/terminfo/w/wy160-wvb +/usr/share/ncurses4/terminfo/w/wy185 +/usr/share/ncurses4/terminfo/w/wy185-24 +/usr/share/ncurses4/terminfo/w/wy185-vb +/usr/share/ncurses4/terminfo/w/wy185-w +/usr/share/ncurses4/terminfo/w/wy185-wvb +/usr/share/ncurses4/terminfo/w/wy30 +/usr/share/ncurses4/terminfo/w/wy30-mc +/usr/share/ncurses4/terminfo/w/wy30-vb +/usr/share/ncurses4/terminfo/w/wy325 +/usr/share/ncurses4/terminfo/w/wy325-25 +/usr/share/ncurses4/terminfo/w/wy325-25w +/usr/share/ncurses4/terminfo/w/wy325-42 +/usr/share/ncurses4/terminfo/w/wy325-42w +/usr/share/ncurses4/terminfo/w/wy325-42w-vb +/usr/share/ncurses4/terminfo/w/wy325-42wvb +/usr/share/ncurses4/terminfo/w/wy325-43 +/usr/share/ncurses4/terminfo/w/wy325-43w +/usr/share/ncurses4/terminfo/w/wy325-43w-vb +/usr/share/ncurses4/terminfo/w/wy325-43wvb +/usr/share/ncurses4/terminfo/w/wy325-80 +/usr/share/ncurses4/terminfo/w/wy325-vb +/usr/share/ncurses4/terminfo/w/wy325-w +/usr/share/ncurses4/terminfo/w/wy325-w-vb +/usr/share/ncurses4/terminfo/w/wy325-wvb +/usr/share/ncurses4/terminfo/w/wy325w-24 +/usr/share/ncurses4/terminfo/w/wy350 +/usr/share/ncurses4/terminfo/w/wy350-vb +/usr/share/ncurses4/terminfo/w/wy350-w +/usr/share/ncurses4/terminfo/w/wy350-wvb +/usr/share/ncurses4/terminfo/w/wy370 +/usr/share/ncurses4/terminfo/w/wy370-101k +/usr/share/ncurses4/terminfo/w/wy370-105k +/usr/share/ncurses4/terminfo/w/wy370-EPC +/usr/share/ncurses4/terminfo/w/wy370-nk +/usr/share/ncurses4/terminfo/w/wy370-rv +/usr/share/ncurses4/terminfo/w/wy370-tek +/usr/share/ncurses4/terminfo/w/wy370-vb +/usr/share/ncurses4/terminfo/w/wy370-w +/usr/share/ncurses4/terminfo/w/wy370-wvb +/usr/share/ncurses4/terminfo/w/wy50 +/usr/share/ncurses4/terminfo/w/wy50-mc +/usr/share/ncurses4/terminfo/w/wy50-vb +/usr/share/ncurses4/terminfo/w/wy50-w +/usr/share/ncurses4/terminfo/w/wy50-wvb +/usr/share/ncurses4/terminfo/w/wy520 +/usr/share/ncurses4/terminfo/w/wy520-24 +/usr/share/ncurses4/terminfo/w/wy520-36 +/usr/share/ncurses4/terminfo/w/wy520-36pc +/usr/share/ncurses4/terminfo/w/wy520-36w +/usr/share/ncurses4/terminfo/w/wy520-36wpc +/usr/share/ncurses4/terminfo/w/wy520-48 +/usr/share/ncurses4/terminfo/w/wy520-48pc +/usr/share/ncurses4/terminfo/w/wy520-48w +/usr/share/ncurses4/terminfo/w/wy520-48wpc +/usr/share/ncurses4/terminfo/w/wy520-epc +/usr/share/ncurses4/terminfo/w/wy520-epc-24 +/usr/share/ncurses4/terminfo/w/wy520-epc-vb +/usr/share/ncurses4/terminfo/w/wy520-epc-w +/usr/share/ncurses4/terminfo/w/wy520-epc-wvb +/usr/share/ncurses4/terminfo/w/wy520-vb +/usr/share/ncurses4/terminfo/w/wy520-w +/usr/share/ncurses4/terminfo/w/wy520-wvb +/usr/share/ncurses4/terminfo/w/wy60 +/usr/share/ncurses4/terminfo/w/wy60-25 +/usr/share/ncurses4/terminfo/w/wy60-25-w +/usr/share/ncurses4/terminfo/w/wy60-316X +/usr/share/ncurses4/terminfo/w/wy60-42 +/usr/share/ncurses4/terminfo/w/wy60-42-w +/usr/share/ncurses4/terminfo/w/wy60-43 +/usr/share/ncurses4/terminfo/w/wy60-43-w +/usr/share/ncurses4/terminfo/w/wy60-vb +/usr/share/ncurses4/terminfo/w/wy60-w +/usr/share/ncurses4/terminfo/w/wy60-w-vb +/usr/share/ncurses4/terminfo/w/wy60-wvb +/usr/share/ncurses4/terminfo/w/wy75 +/usr/share/ncurses4/terminfo/w/wy75-mc +/usr/share/ncurses4/terminfo/w/wy75-vb +/usr/share/ncurses4/terminfo/w/wy75-w +/usr/share/ncurses4/terminfo/w/wy75-wvb +/usr/share/ncurses4/terminfo/w/wy75ap +/usr/share/ncurses4/terminfo/w/wy85 +/usr/share/ncurses4/terminfo/w/wy85-vb +/usr/share/ncurses4/terminfo/w/wy85-w +/usr/share/ncurses4/terminfo/w/wy85-wvb +/usr/share/ncurses4/terminfo/w/wy99gt +/usr/share/ncurses4/terminfo/w/wy99gt-25 +/usr/share/ncurses4/terminfo/w/wy99gt-25-w +/usr/share/ncurses4/terminfo/w/wy99gt-tek +/usr/share/ncurses4/terminfo/w/wy99gt-vb +/usr/share/ncurses4/terminfo/w/wy99gt-w +/usr/share/ncurses4/terminfo/w/wy99gt-w-vb +/usr/share/ncurses4/terminfo/w/wy99gt-wvb +/usr/share/ncurses4/terminfo/w/wyse-325 +/usr/share/ncurses4/terminfo/w/wyse-75ap +/usr/share/ncurses4/terminfo/w/wyse-vp +/usr/share/ncurses4/terminfo/w/wyse120 +/usr/share/ncurses4/terminfo/w/wyse120-25 +/usr/share/ncurses4/terminfo/w/wyse120-25-w +/usr/share/ncurses4/terminfo/w/wyse120-vb +/usr/share/ncurses4/terminfo/w/wyse120-w +/usr/share/ncurses4/terminfo/w/wyse120-wvb +/usr/share/ncurses4/terminfo/w/wyse150 +/usr/share/ncurses4/terminfo/w/wyse150-25 +/usr/share/ncurses4/terminfo/w/wyse150-25-w +/usr/share/ncurses4/terminfo/w/wyse150-vb +/usr/share/ncurses4/terminfo/w/wyse150-w +/usr/share/ncurses4/terminfo/w/wyse150-w-vb +/usr/share/ncurses4/terminfo/w/wyse160 +/usr/share/ncurses4/terminfo/w/wyse160-25 +/usr/share/ncurses4/terminfo/w/wyse160-25-w +/usr/share/ncurses4/terminfo/w/wyse160-42 +/usr/share/ncurses4/terminfo/w/wyse160-42-w +/usr/share/ncurses4/terminfo/w/wyse160-43 +/usr/share/ncurses4/terminfo/w/wyse160-43-w +/usr/share/ncurses4/terminfo/w/wyse160-vb +/usr/share/ncurses4/terminfo/w/wyse160-w +/usr/share/ncurses4/terminfo/w/wyse160-wvb +/usr/share/ncurses4/terminfo/w/wyse185 +/usr/share/ncurses4/terminfo/w/wyse185-24 +/usr/share/ncurses4/terminfo/w/wyse185-vb +/usr/share/ncurses4/terminfo/w/wyse185-w +/usr/share/ncurses4/terminfo/w/wyse185-wvb +/usr/share/ncurses4/terminfo/w/wyse30 +/usr/share/ncurses4/terminfo/w/wyse30-mc +/usr/share/ncurses4/terminfo/w/wyse30-vb +/usr/share/ncurses4/terminfo/w/wyse325 +/usr/share/ncurses4/terminfo/w/wyse325-25 +/usr/share/ncurses4/terminfo/w/wyse325-25w +/usr/share/ncurses4/terminfo/w/wyse325-42 +/usr/share/ncurses4/terminfo/w/wyse325-42w +/usr/share/ncurses4/terminfo/w/wyse325-43 +/usr/share/ncurses4/terminfo/w/wyse325-43w +/usr/share/ncurses4/terminfo/w/wyse325-vb +/usr/share/ncurses4/terminfo/w/wyse325-w +/usr/share/ncurses4/terminfo/w/wyse325-wvb +/usr/share/ncurses4/terminfo/w/wyse350 +/usr/share/ncurses4/terminfo/w/wyse350-vb +/usr/share/ncurses4/terminfo/w/wyse350-w +/usr/share/ncurses4/terminfo/w/wyse350-wvb +/usr/share/ncurses4/terminfo/w/wyse370 +/usr/share/ncurses4/terminfo/w/wyse50 +/usr/share/ncurses4/terminfo/w/wyse50-mc +/usr/share/ncurses4/terminfo/w/wyse50-vb +/usr/share/ncurses4/terminfo/w/wyse50-w +/usr/share/ncurses4/terminfo/w/wyse50-wvb +/usr/share/ncurses4/terminfo/w/wyse520 +/usr/share/ncurses4/terminfo/w/wyse520-24 +/usr/share/ncurses4/terminfo/w/wyse520-36 +/usr/share/ncurses4/terminfo/w/wyse520-36pc +/usr/share/ncurses4/terminfo/w/wyse520-36w +/usr/share/ncurses4/terminfo/w/wyse520-36wpc +/usr/share/ncurses4/terminfo/w/wyse520-48 +/usr/share/ncurses4/terminfo/w/wyse520-48pc +/usr/share/ncurses4/terminfo/w/wyse520-48w +/usr/share/ncurses4/terminfo/w/wyse520-48wpc +/usr/share/ncurses4/terminfo/w/wyse520-epc +/usr/share/ncurses4/terminfo/w/wyse520-epc-w +/usr/share/ncurses4/terminfo/w/wyse520-p-wvb +/usr/share/ncurses4/terminfo/w/wyse520-pc-24 +/usr/share/ncurses4/terminfo/w/wyse520-pc-vb +/usr/share/ncurses4/terminfo/w/wyse520-vb +/usr/share/ncurses4/terminfo/w/wyse520-w +/usr/share/ncurses4/terminfo/w/wyse520-wvb +/usr/share/ncurses4/terminfo/w/wyse60 +/usr/share/ncurses4/terminfo/w/wyse60-25 +/usr/share/ncurses4/terminfo/w/wyse60-25-w +/usr/share/ncurses4/terminfo/w/wyse60-316X +/usr/share/ncurses4/terminfo/w/wyse60-42 +/usr/share/ncurses4/terminfo/w/wyse60-42-w +/usr/share/ncurses4/terminfo/w/wyse60-43 +/usr/share/ncurses4/terminfo/w/wyse60-43-w +/usr/share/ncurses4/terminfo/w/wyse60-vb +/usr/share/ncurses4/terminfo/w/wyse60-w +/usr/share/ncurses4/terminfo/w/wyse60-wvb +/usr/share/ncurses4/terminfo/w/wyse75 +/usr/share/ncurses4/terminfo/w/wyse75-mc +/usr/share/ncurses4/terminfo/w/wyse75-vb +/usr/share/ncurses4/terminfo/w/wyse75-w +/usr/share/ncurses4/terminfo/w/wyse75-wvb +/usr/share/ncurses4/terminfo/w/wyse75ap +/usr/share/ncurses4/terminfo/w/wyse85 +/usr/share/ncurses4/terminfo/w/wyse85-vb +/usr/share/ncurses4/terminfo/w/wyse85-w +/usr/share/ncurses4/terminfo/w/wyse85-wvb +/usr/share/ncurses4/terminfo/w/wyse99gt +/usr/share/ncurses4/terminfo/w/wyse99gt-25 +/usr/share/ncurses4/terminfo/w/wyse99gt-25-w +/usr/share/ncurses4/terminfo/w/wyse99gt-vb +/usr/share/ncurses4/terminfo/w/wyse99gt-w +/usr/share/ncurses4/terminfo/w/wyse99gt-wvb +/usr/share/ncurses4/terminfo/x +/usr/share/ncurses4/terminfo/x/x10term +/usr/share/ncurses4/terminfo/x/x1700 +/usr/share/ncurses4/terminfo/x/x1700-lm +/usr/share/ncurses4/terminfo/x/x1720 +/usr/share/ncurses4/terminfo/x/x1750 +/usr/share/ncurses4/terminfo/x/x68k +/usr/share/ncurses4/terminfo/x/x68k-ite +/usr/share/ncurses4/terminfo/x/x820 +/usr/share/ncurses4/terminfo/x/xenix +/usr/share/ncurses4/terminfo/x/xerox +/usr/share/ncurses4/terminfo/x/xerox-lm +/usr/share/ncurses4/terminfo/x/xerox1720 +/usr/share/ncurses4/terminfo/x/xerox820 +/usr/share/ncurses4/terminfo/x/xl83 +/usr/share/ncurses4/terminfo/x/xtalk +/usr/share/ncurses4/terminfo/x/xterm +/usr/share/ncurses4/terminfo/x/xterm+sl +/usr/share/ncurses4/terminfo/x/xterm+sl-twm +/usr/share/ncurses4/terminfo/x/xterm-16color +/usr/share/ncurses4/terminfo/x/xterm-8bit +/usr/share/ncurses4/terminfo/x/xterm-bold +/usr/share/ncurses4/terminfo/x/xterm-nic +/usr/share/ncurses4/terminfo/x/xterm-old +/usr/share/ncurses4/terminfo/x/xterm-pcolor +/usr/share/ncurses4/terminfo/x/xterm-r5 +/usr/share/ncurses4/terminfo/x/xterm-r6 +/usr/share/ncurses4/terminfo/x/xterm-sun +/usr/share/ncurses4/terminfo/x/xterm-xf86-v32 +/usr/share/ncurses4/terminfo/x/xterm-xf86-v33 +/usr/share/ncurses4/terminfo/x/xterm-xf86-v40 +/usr/share/ncurses4/terminfo/x/xterm-xi +/usr/share/ncurses4/terminfo/x/xterm1 +/usr/share/ncurses4/terminfo/x/xterms +/usr/share/ncurses4/terminfo/x/xterms-sun +/usr/share/ncurses4/terminfo/x/xwsh +/usr/share/ncurses4/terminfo/z +/usr/share/ncurses4/terminfo/z/z-100 +/usr/share/ncurses4/terminfo/z/z-100bw +/usr/share/ncurses4/terminfo/z/z100 +/usr/share/ncurses4/terminfo/z/z100bw +/usr/share/ncurses4/terminfo/z/z110 +/usr/share/ncurses4/terminfo/z/z110bw +/usr/share/ncurses4/terminfo/z/z19 +/usr/share/ncurses4/terminfo/z/z29 +/usr/share/ncurses4/terminfo/z/z29a +/usr/share/ncurses4/terminfo/z/z29a-kc-bc +/usr/share/ncurses4/terminfo/z/z29a-kc-uc +/usr/share/ncurses4/terminfo/z/z29a-nkc-bc +/usr/share/ncurses4/terminfo/z/z29a-nkc-uc +/usr/share/ncurses4/terminfo/z/z29b +/usr/share/ncurses4/terminfo/z/z30 +/usr/share/ncurses4/terminfo/z/z340 +/usr/share/ncurses4/terminfo/z/z340-nam +/usr/share/ncurses4/terminfo/z/z39-a +/usr/share/ncurses4/terminfo/z/z39a +/usr/share/ncurses4/terminfo/z/z50 +/usr/share/ncurses4/terminfo/z/z8001 +/usr/share/ncurses4/terminfo/z/zen30 +/usr/share/ncurses4/terminfo/z/zen50 +/usr/share/ncurses4/terminfo/z/zen8001 +/usr/share/ncurses4/terminfo/z/zenith +/usr/share/ncurses4/terminfo/z/zenith29 +/usr/share/ncurses4/terminfo/z/zenith39-a +/usr/share/ncurses4/terminfo/z/zenith39-ansi +/usr/share/ncurses4/terminfo/z/zt-1 +/usr/share/ncurses4/terminfo/z/ztx +/usr/share/ncurses4/terminfo/z/ztx-1-a +/usr/share/ncurses4/terminfo/z/ztx11 + + + diff --git a/libxml2/result/noent/rdf2.sax2 b/libxml2/result/noent/rdf2.sax2 new file mode 100644 index 0000000..388174f --- /dev/null +++ b/libxml2/result/noent/rdf2.sax2 @@ -0,0 +1,191 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(RDF, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 2, xmlns:RDF='http://www.w3.org/TR/WD-rdf-syntax#', xmlns:RPM='http://www.rpm.org/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(Description, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 0, 1, 0, about='ftp:...', 71) +SAX.characters( + , 5) +SAX.startElementNs(Name, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(ncurses4, 8) +SAX.endElementNs(Name, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Version, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(4.2, 3) +SAX.endElementNs(Version, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Release, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(3, 1) +SAX.endElementNs(Release, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Arch, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(i386, 4) +SAX.endElementNs(Arch, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Os, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Linux, 5) +SAX.endElementNs(Os, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Distribution, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(DLD, 3) +SAX.endElementNs(Distribution, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Vendor, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(delix Computer GmbH, 19) +SAX.endElementNs(Vendor, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Packager, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Till Bubeck , 12) +SAX.characters(<, 1) +SAX.characters(bubeck@delix.de, 15) +SAX.characters(>, 1) +SAX.characters(, Ngo Than , 11) +SAX.characters(<, 1) +SAX.characters(than@delix.de, 13) +SAX.characters(>, 1) +SAX.endElementNs(Packager, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Group, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Libraries, 9) +SAX.endElementNs(Group, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Summary, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Bibliothek zur Ansteuerung von, 40) +SAX.endElementNs(Summary, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Description, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Diese Library stellt dem Progr, 57) +SAX.characters(ä, 2) +SAX.characters(ngige +Routinen zur Ansteuerung, 57) +SAX.characters(ü, 2) +SAX.characters(gung, die +speziell optimiert s, 57) +SAX.characters(', 1) +SAX.characters(new curses, 10) +SAX.characters(', 1) +SAX.characters( (ncurses) Variante und ist de, 51) +SAX.characters(ü, 2) +SAX.characters(r die klassische Curses-Librar, 70) +SAX.endElementNs(Description, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Copyright, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(GPL, 3) +SAX.endElementNs(Copyright, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Sources, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(ncurses4-4.2-3.src.rpm, 22) +SAX.endElementNs(Sources, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(BuildDate, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Tue May 12 19:30:26 1998, 24) +SAX.endElementNs(BuildDate, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Date, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(895015826, 9) +SAX.endElementNs(Date, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Size, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(1373513, 7) +SAX.endElementNs(Size, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(BuildHost, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(erdbeere.delix.de, 17) +SAX.endElementNs(BuildHost, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Provides, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(Bag, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 1, 0, href='../....', 37) +SAX.characters(ncurses4, 8) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 1, 0, href='../....', 42) +SAX.characters(libpanel.so.4, 13) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 1, 0, href='../....', 44) +SAX.characters(libncurses.so.4, 15) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 1, 0, href='../....', 41) +SAX.characters(libmenu.so.4, 12) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 1, 0, href='../....', 41) +SAX.characters(libform.so.4, 12) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 1, 0, href='../....', 36) +SAX.characters(ncurses, 7) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 7) +SAX.endElementNs(Bag, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#') +SAX.characters( + , 5) +SAX.endElementNs(Provides, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Files, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(/lib/libncurses.so.4 +/lib/libn, 2008) +SAX.characters(/share/ncurses4/terminfo/P/P14, 4000) +SAX.characters(es4/terminfo/a/alt7pc +/usr/sha, 4000) +SAX.characters(/a/att4415-w +/usr/share/ncurse, 4000) +SAX.characters(ses4/terminfo/b/bee +/usr/share, 4000) +SAX.characters(r/share/ncurses4/terminfo/c/co, 4000) +SAX.characters(/usr/share/ncurses4/terminfo/d, 4000) +SAX.characters(sr/share/ncurses4/terminfo/g/g, 4000) +SAX.characters(/terminfo/h/hp2626-12x40 +/usr/, 4000) +SAX.characters(e/ncurses4/terminfo/i/intertub, 4000) +SAX.characters(rses4/terminfo/m/mskermit22714, 4000) +SAX.characters(are/ncurses4/terminfo/p/p12-m +, 4000) +SAX.characters(pt100w +/usr/share/ncurses4/ter, 4000) +SAX.characters(sr/share/ncurses4/terminfo/s/s, 4000) +SAX.characters(usr/share/ncurses4/terminfo/t/, 4000) +SAX.characters(share/ncurses4/terminfo/v/vi55, 4000) +SAX.characters(are/ncurses4/terminfo/w/wy160-, 4000) +SAX.characters(/wy99gt-vb +/usr/share/ncurses4, 4000) +SAX.characters(/w/wyse99gt +/usr/share/ncurses, 2907) +SAX.endElementNs(Files, RPM, 'http://www.rpm.org/') +SAX.characters( + , 3) +SAX.endElementNs(Description, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#') +SAX.characters( +, 1) +SAX.endElementNs(RDF, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#') +SAX.endDocument() diff --git a/libxml2/result/noent/slashdot.rdf b/libxml2/result/noent/slashdot.rdf new file mode 100644 index 0000000..33008ab --- /dev/null +++ b/libxml2/result/noent/slashdot.rdf @@ -0,0 +1,65 @@ + + + + + Slashdot:News for Nerds. Stuff that Matters. + http://slashdot.org/ + News for Nerds. Stuff that Matters + + + + Slashdot + http://slashdot.org/images/slashdotlg.gif + http://slashdot.org + + + + 100 Mbit/s on Fibre to the home + http://slashdot.org/articles/99/06/06/1440211.shtml + + + + Gimp 1.2 Preview + http://slashdot.org/articles/99/06/06/1438246.shtml + + + + Sony's AIBO robot Sold Out + http://slashdot.org/articles/99/06/06/1432256.shtml + + + + Ask Slashdot: Another Word for "Hacker"? + http://slashdot.org/askslashdot/99/06/05/1815225.shtml + + + + Corel Linux FAQ + http://slashdot.org/articles/99/06/05/1842218.shtml + + + + Upside downsides MP3.COM. + http://slashdot.org/articles/99/06/05/1558210.shtml + + + + 2 Terabits of Bandwidth + http://slashdot.org/articles/99/06/05/1554258.shtml + + + + Suppression of cold fusion research? + http://slashdot.org/articles/99/06/04/2313200.shtml + + + + California Gov. Halts Wage Info Sale + http://slashdot.org/articles/99/06/04/235256.shtml + + + + Red Hat Announces IPO + http://slashdot.org/articles/99/06/04/0849207.shtml + + diff --git a/libxml2/result/noent/slashdot.rdf.sax2 b/libxml2/result/noent/slashdot.rdf.sax2 new file mode 100644 index 0000000..c561cf8 --- /dev/null +++ b/libxml2/result/noent/slashdot.rdf.sax2 @@ -0,0 +1,221 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(RDF, rdf, 'http://www.w3.org/1999/02/22-rdf-syntax-ns#', 2, xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#', xmlns='http://my.netscape.com/rdf/simple/0.9/', 0, 0) +SAX.characters( + + , 4) +SAX.startElementNs(channel, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(Slashdot:News for Nerds. Stuff, 44) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/, 20) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(description, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(News for Nerds. Stuff that Ma, 35) +SAX.endElementNs(description, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(channel, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 4) +SAX.startElementNs(image, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(Slashdot, 8) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/images/sla, 41) +SAX.endElementNs(url, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org, 19) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(image, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(100 Mbit/s on Fibre to the hom, 31) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(Gimp 1.2 Preview, 16) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(Sony's AIBO robot Sold Out, 26) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(Ask Slashdot: Another Word for, 40) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/askslashdo, 54) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(Corel Linux FAQ, 15) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(Upside downsides MP3.COM., 25) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(2 Terabits of Bandwidth, 23) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(Suppression of cold fusion res, 36) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(California Gov. Halts Wage Inf, 36) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 50) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(Red Hat Announces IPO, 21) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( +, 1) +SAX.endElementNs(RDF, rdf, 'http://www.w3.org/1999/02/22-rdf-syntax-ns#') +SAX.endDocument() diff --git a/libxml2/result/noent/slashdot.xml b/libxml2/result/noent/slashdot.xml new file mode 100644 index 0000000..b648d5e --- /dev/null +++ b/libxml2/result/noent/slashdot.xml @@ -0,0 +1,113 @@ + + + + 100 Mbit/s on Fibre to the home + http://slashdot.org/articles/99/06/06/1440211.shtml + + CmdrTaco + wouldn't-it-be-nice + internet + 20 +
    articles
    + topicinternet.jpg +
    + + Gimp 1.2 Preview + http://slashdot.org/articles/99/06/06/1438246.shtml + + CmdrTaco + stuff-to-read + gimp + 12 +
    articles
    + topicgimp.gif +
    + + Sony's AIBO robot Sold Out + http://slashdot.org/articles/99/06/06/1432256.shtml + + CmdrTaco + stuff-to-see + tech + 10 +
    articles
    + topictech2.jpg +
    + + Ask Slashdot: Another Word for "Hacker"? + http://slashdot.org/askslashdot/99/06/05/1815225.shtml + + Cliff + hacker-vs-cracker + news + 385 +
    askslashdot
    + topicnews.gif +
    + + Corel Linux FAQ + http://slashdot.org/articles/99/06/05/1842218.shtml + + CmdrTaco + stuff-to-read + corel + 164 +
    articles
    + topiccorel.gif +
    + + Upside downsides MP3.COM. + http://slashdot.org/articles/99/06/05/1558210.shtml + + CmdrTaco + stuff-to-think-about + music + 48 +
    articles
    + topicmusic.gif +
    + + 2 Terabits of Bandwidth + http://slashdot.org/articles/99/06/05/1554258.shtml + + CmdrTaco + faster-porn + internet + 66 +
    articles
    + topicinternet.jpg +
    + + Suppression of cold fusion research? + http://slashdot.org/articles/99/06/04/2313200.shtml + + Hemos + possibly-probably + science + 217 +
    articles
    + topicscience.gif +
    + + California Gov. Halts Wage Info Sale + http://slashdot.org/articles/99/06/04/235256.shtml + + Hemos + woo-hoo! + usa + 16 +
    articles
    + topicus.gif +
    + + Red Hat Announces IPO + http://slashdot.org/articles/99/06/04/0849207.shtml + + Justin + details-sketchy + redhat + 155 +
    articles
    + topicredhat.gif +
    +
    diff --git a/libxml2/result/noent/slashdot.xml.sax2 b/libxml2/result/noent/slashdot.xml.sax2 new file mode 100644 index 0000000..2ead70d --- /dev/null +++ b/libxml2/result/noent/slashdot.xml.sax2 @@ -0,0 +1,517 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(ultramode, NULL, NULL, 0, 0, 0) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(100 Mbit/s on Fibre to the hom, 31) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-06 14:39:59, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(wouldn't-it-be-nice, 19) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(internet, 8) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(20, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicinternet.jpg, 17) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Gimp 1.2 Preview, 16) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-06 14:38:40, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-read, 13) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(gimp, 4) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(12, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicgimp.gif, 13) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Sony's AIBO robot Sold Out, 26) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-06 14:32:51, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-see, 12) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(tech, 4) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(10, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topictech2.jpg, 14) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Ask Slashdot: Another Word for, 40) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/askslashdo, 54) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-05 20:00:00, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(Cliff, 5) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(hacker-vs-cracker, 17) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(news, 4) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(385, 3) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(askslashdot, 11) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicnews.gif, 13) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Corel Linux FAQ, 15) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-05 18:42:06, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-read, 13) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(corel, 5) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(164, 3) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topiccorel.gif, 14) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Upside downsides MP3.COM., 25) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-05 15:56:45, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-think-about, 20) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(music, 5) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(48, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicmusic.gif, 14) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(2 Terabits of Bandwidth, 23) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-05 15:53:43, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(faster-porn, 11) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(internet, 8) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(66, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicinternet.jpg, 17) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Suppression of cold fusion res, 36) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-04 23:12:29, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(Hemos, 5) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(possibly-probably, 17) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(science, 7) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(217, 3) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicscience.gif, 16) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(California Gov. Halts Wage Inf, 36) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 50) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-04 23:05:34, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(Hemos, 5) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(woo-hoo!, 8) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(usa, 3) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(16, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicus.gif, 11) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Red Hat Announces IPO, 21) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-04 19:30:18, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(Justin, 6) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(details-sketchy, 15) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(redhat, 6) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(155, 3) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicredhat.gif, 15) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(ultramode, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/slashdot16.xml b/libxml2/result/noent/slashdot16.xml new file mode 100644 index 0000000..f6a7f2a Binary files /dev/null and b/libxml2/result/noent/slashdot16.xml differ diff --git a/libxml2/result/noent/slashdot16.xml.sax2 b/libxml2/result/noent/slashdot16.xml.sax2 new file mode 100644 index 0000000..785e699 --- /dev/null +++ b/libxml2/result/noent/slashdot16.xml.sax2 @@ -0,0 +1,721 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(ultramode, NULL, NULL, 0, 0, 0) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(100 Mbit/s on Fibre to the hom, 31) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-06 14:39:59, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(wouldn't-it-be-nice, 19) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(internet, 8) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(20, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicinternet.jpg, 17) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Gimp 1.2 Preview, 16) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-06 14:38:40, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-read, 13) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(gimp, 4) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(12, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicgimp.gif, 13) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Sony's AIBO robot Sold Out, 26) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-06 14:32:51, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-see, 12) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(tech, 4) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(10, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topictech2.jpg, 14) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Ask Slashdot: Another Word for, 40) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/askslashdo, 54) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-05 20:00:00, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(Cliff, 5) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(hacker-vs-cracker, 17) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(news, 4) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(385, 3) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(askslashdot, 11) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicnews.gif, 13) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(100 Mbit/s on Fibre to the hom, 31) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-06 14:39:59, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(wouldn't-it-be-nice, 19) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(internet, 8) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(20, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicinternet.jpg, 17) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Gimp 1.2 Preview, 16) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-06 14:38:40, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-read, 13) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(gimp, 4) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(12, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicgimp.gif, 13) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Sony's AIBO robot Sold Out, 26) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-06 14:32:51, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-see, 12) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(tech, 4) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(10, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topictech2.jpg, 14) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Ask Slashdot: Another Word for, 40) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/askslashdo, 54) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-05 20:00:00, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(Cliff, 5) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(hacker-vs-cracker, 17) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(news, 4) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(385, 3) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(askslashdot, 11) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicnews.gif, 13) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Corel Linux FAQ, 15) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-05 18:42:06, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-read, 13) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(corel, 5) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(164, 3) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topiccorel.gif, 14) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Upside downsides MP3.COM., 25) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-05 15:56:45, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-think-about, 20) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(music, 5) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(48, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicmusic.gif, 14) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(2 Terabits of Bandwidth, 23) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-05 15:53:43, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(faster-porn, 11) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(internet, 8) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(66, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicinternet.jpg, 17) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Suppression of cold fusion res, 36) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-04 23:12:29, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(Hemos, 5) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(possibly-probably, 17) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(science, 7) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(217, 3) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicscience.gif, 16) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(California Gov. Halts Wage Inf, 36) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 50) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-04 23:05:34, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(Hemos, 5) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(woo-hoo!, 8) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(usa, 3) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(16, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicus.gif, 11) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Red Hat Announces IPO, 21) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-04 19:30:18, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(Justin, 6) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(details-sketchy, 15) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(redhat, 6) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(155, 3) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicredhat.gif, 15) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(ultramode, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/svg1 b/libxml2/result/noent/svg1 new file mode 100644 index 0000000..359bd45 --- /dev/null +++ b/libxml2/result/noent/svg1 @@ -0,0 +1,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libxml2/result/noent/svg1.sax2 b/libxml2/result/noent/svg1.sax2 new file mode 100644 index 0000000..7b81459 --- /dev/null +++ b/libxml2/result/noent/svg1.sax2 @@ -0,0 +1,613 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(svg, -//W3C//DTD SVG April 1999//EN, http://www.w3.org/Graphics/SVG/svg-19990412.dtd) +SAX.externalSubset(svg, -//W3C//DTD SVG April 1999//EN, http://www.w3.org/Graphics/SVG/svg-19990412.dtd) +SAX.startElementNs(svg, NULL, NULL, 0, 2, 0, width='242p...', 5, height='383p...', 5) +SAX.characters( +, 1) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 69,...', 337) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 142...', 190) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 127...', 71) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 178...', 128) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 56,...', 273) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 74,...', 203) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 212...', 448) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 151...', 208) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 78,...', 106) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 21,...', 90) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 71,...', 150) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 139...', 101) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 105...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 141...', 70) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 98,...', 156) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 97,...', 156) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 147...', 238) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 85,...', 69) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 86,...', 217) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 93,...', 65) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 144...', 70) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 57,...', 294) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 83,...', 194) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 109...', 70) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 122...', 80) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 78,...', 156) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 82,...', 284) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 142...', 239) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 115...', 72) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 114...', 80) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 102...', 72) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 51,...', 154) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 2,3...', 120) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 7,3...', 154) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 11,...', 49) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 13,...', 97) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 202...', 152) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 151...', 168) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 91,...', 202) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 31,...', 96) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 147...', 76) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 181...', 91) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 132...', 80) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 146...', 80) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 99,...', 78) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 20,...', 105) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 78,...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 93,...', 92) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 105...', 70) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 122...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 115...', 49) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 116...', 260) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 74,...', 245) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 133...', 104) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 133...', 64) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 121...', 334) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 79,...', 70) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 91,...', 80) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 110...', 72) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 126...', 72) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 30,...', 266) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 44,...', 319) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 13,...', 84) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 10,...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 9,2...', 45) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 33,...', 385) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 7,3...', 51) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 44,...', 49) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 32,...', 49) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 139...', 128) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 208...', 360) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 106...', 152) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 107...', 93) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 148...', 72) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 80,...', 192) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 87,...', 55) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 85,...', 55) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 115...', 119) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 145...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 26,...', 60) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 160...', 91) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 98,...', 265) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 146...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 148...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 106...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 108...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 106...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 50,...', 144) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 147...', 231) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 155...', 102) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 112...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 78,...', 195) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 67,...', 109) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 56,...', 276) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 101...', 307) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 41,...', 116) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 32,...', 245) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 134...', 136) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 173...', 280) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 165...', 88) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 99,...', 124) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 117...', 64) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 117...', 64) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 122...', 64) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 69,...', 262) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 100...', 54) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 115...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 127...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 5,2...', 218) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 10,...', 48) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 25,...', 49) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 37,...', 49) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 49,...', 49) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 130...', 88) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 106...', 49) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 139...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 25,...', 91) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 98,...', 92) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 83,...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 155...', 72) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 153...', 72) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 152...', 72) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 68,...', 58) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 105...', 68) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 108...', 65) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 85,...', 156) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 140...', 126) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 146...', 237) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 150...', 320) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 147...', 64) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 157...', 72) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 99,...', 63) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.endElementNs(svg, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/svg2 b/libxml2/result/noent/svg2 new file mode 100644 index 0000000..6c3990c --- /dev/null +++ b/libxml2/result/noent/svg2 @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + Java Font definition:Dialog 0 + + + Java Font definition:Helvetica 0 + + + + this is text + + + + Java Font definition:Dialog 0 + + + Java Font definition:Helvetica 700 + + + + sadfsadfsad + + + + + + + + + + + Java Font definition:Dialog 700 + + + Java Font definition:Dialog 700 + + diff --git a/libxml2/result/noent/svg2.sax2 b/libxml2/result/noent/svg2.sax2 new file mode 100644 index 0000000..ab73992 --- /dev/null +++ b/libxml2/result/noent/svg2.sax2 @@ -0,0 +1,189 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(svg, -//W3C//DTD SVG April 1999//EN, http://www.w3.org/Graphics/SVG/svg-19990412.dtd) +SAX.externalSubset(svg, -//W3C//DTD SVG April 1999//EN, http://www.w3.org/Graphics/SVG/svg-19990412.dtd) +SAX.startElementNs(svg, NULL, NULL, 0, 2, 0, width='268p...', 5, height='207p...', 5) +SAX.characters( +, 1) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( + , 5) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d=' M 2...', 9) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d=' L 1...', 9) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 32,...', 46) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( + , 5) +SAX.startElementNs(rect, NULL, NULL, 0, 4, 0, x='30" ...', 2, y='101"...', 3, width='51" ...', 2, height='33"/...', 2) +SAX.endElementNs(rect, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(ellipse, NULL, NULL, 0, 5, 0, cx='182"...', 3, cy='127"...', 3, major='37" ...', 2, minor='31" ...', 2, angle='90"/...', 2) +SAX.endElementNs(ellipse, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 78,...', 445) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(g, NULL, NULL, 0, 0, 0) +SAX.characters( + , 6) +SAX.startElementNs(desc, NULL, NULL, 0, 0, 0) +SAX.characters( Java Font definition:Dialog 0, 30) +SAX.endElementNs(desc, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(g, NULL, NULL, 0, 0, 0) +SAX.characters( + , 6) +SAX.startElementNs(desc, NULL, NULL, 0, 0, 0) +SAX.characters( Java Font definition:Helvetic, 33) +SAX.endElementNs(desc, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( + , 5) +SAX.startElementNs(text, NULL, NULL, 0, 2, 0, x='188"...', 3, y='36" ...', 2) +SAX.characters(this is text, 12) +SAX.endElementNs(text, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( + , 5) +SAX.startElementNs(g, NULL, NULL, 0, 0, 0) +SAX.characters( + , 6) +SAX.startElementNs(desc, NULL, NULL, 0, 0, 0) +SAX.characters( Java Font definition:Dialog 0, 30) +SAX.endElementNs(desc, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(g, NULL, NULL, 0, 0, 0) +SAX.characters( + , 6) +SAX.startElementNs(desc, NULL, NULL, 0, 0, 0) +SAX.characters( Java Font definition:Helvetic, 35) +SAX.endElementNs(desc, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( + , 5) +SAX.startElementNs(text, NULL, NULL, 0, 2, 0, x='176"...', 3, y='85" ...', 2) +SAX.characters(sadfsadfsad, 11) +SAX.endElementNs(text, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(ellipse, NULL, NULL, 0, 5, 0, cx='208"...', 3, cy='180"...', 3, major='45" ...', 2, minor='31" ...', 2, angle='0"/>...', 1) +SAX.endElementNs(ellipse, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(g, NULL, NULL, 0, 0, 0) +SAX.characters( + , 6) +SAX.startElementNs(desc, NULL, NULL, 0, 0, 0) +SAX.characters( Java Font definition:Dialog 7, 32) +SAX.endElementNs(desc, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(g, NULL, NULL, 0, 0, 0) +SAX.characters( + , 6) +SAX.startElementNs(desc, NULL, NULL, 0, 0, 0) +SAX.characters( Java Font definition:Dialog 7, 32) +SAX.endElementNs(desc, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(g, NULL, NULL) +SAX.endElementNs(svg, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/svg3 b/libxml2/result/noent/svg3 new file mode 100644 index 0000000..c4994b8 --- /dev/null +++ b/libxml2/result/noent/svg3 @@ -0,0 +1,723 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libxml2/result/noent/svg3.sax2 b/libxml2/result/noent/svg3.sax2 new file mode 100644 index 0000000..b63dff0 --- /dev/null +++ b/libxml2/result/noent/svg3.sax2 @@ -0,0 +1,2407 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(svg, NULL, NULL, 0, 0, 0) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M77....', 149) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M81....', 149) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M108...', 153) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M105...', 157) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M101...', 157) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M90....', 150) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M83....', 149) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M80....', 151) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M91....', 144) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M71....', 105) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M72....', 150) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M72....', 145) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 29) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M70....', 3523) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 29) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M499...', 1458) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M84....', 598) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M333...', 739) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M334...', 757) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M336...', 760) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M337...', 761) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M338...', 762) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M340...', 760) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M341...', 760) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M342...', 760) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M343...', 725) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M345...', 762) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M84....', 637) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M125...', 221) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M265...', 273) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M145...', 431) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M178...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M188...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M201...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M178...', 131) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M179...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M165...', 911) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M170...', 501) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M192...', 262) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M190...', 209) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M194...', 475) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 29) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M190...', 405) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M191...', 219) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M271...', 327) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M228...', 98) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M180...', 137) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M185...', 152) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M190...', 152) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M197...', 154) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M203...', 154) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M210...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M181...', 132) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M215...', 142) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M233...', 211) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M247...', 50) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M253...', 56) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M174...', 179) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M188...', 219) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M111...', 221) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M132...', 208) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M133...', 334) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M177...', 183) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M140...', 161) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M147...', 160) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M154...', 158) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M161...', 158) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M125...', 182) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M190...', 247) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M243...', 361) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M208...', 393) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M208...', 393) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M209...', 393) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M210...', 393) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M244...', 301) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M290...', 155) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M294...', 309) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M247...', 193) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M243...', 200) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M255...', 77) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M245...', 191) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M141...', 411) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M140...', 486) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M148...', 494) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M148...', 484) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M148...', 495) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M140...', 486) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M137...', 119) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M120...', 115) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M128...', 132) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M214...', 1619) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M409...', 389) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M464...', 271) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M463...', 289) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M463...', 287) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M462...', 280) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M462...', 289) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M462...', 250) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M250...', 709) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M389...', 91) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M436...', 125) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M492...', 99) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M304...', 123) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M494...', 111) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M343...', 2441) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M309...', 1201) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M380...', 429) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M368...', 1598) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M291...', 929) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M259...', 1006) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M245...', 383) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M217...', 181) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M233...', 2425) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M251...', 74) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M224...', 84) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M221...', 112) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M222...', 114) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M220...', 6993) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M197...', 185) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M138...', 193) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M138...', 197) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M134...', 195) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M134...', 11) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M89 ...', 570) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M87....', 491) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M91 ...', 497) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M88....', 626) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M79....', 183) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M101...', 359) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M240...', 1223) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M231...', 816) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M294...', 902) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M257...', 3281) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M202...', 837) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M182...', 127) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M142...', 177) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M133...', 289) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M120...', 215) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M349...', 1047) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M339...', 444) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M173...', 503) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M180...', 445) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M177...', 379) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M196...', 438) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M188...', 109) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M181...', 113) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M171...', 105) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M163...', 113) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M201...', 111) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M191...', 114) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M180...', 109) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M173...', 105) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M166...', 111) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M205...', 127) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M215...', 127) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M226...', 127) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M236...', 127) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M209...', 127) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M219...', 127) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M196...', 109) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M123...', 117) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M105...', 111) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M125...', 101) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M129...', 1246) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M126...', 311) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M125...', 125) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M127...', 160) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M129...', 160) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M130...', 158) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M245...', 157) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M242...', 154) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M239...', 158) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M236...', 157) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M204...', 387) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M277...', 379) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M218...', 127) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M211...', 126) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M201...', 126) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M193...', 128) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M235...', 128) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M245...', 126) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M254...', 129) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M264...', 126) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M226...', 126) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M262...', 161) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M265...', 363) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M207...', 143) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M217...', 147) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M229...', 143) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M239...', 137) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M181...', 133) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M172...', 135) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M164...', 137) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M211...', 160) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M222...', 160) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M201...', 158) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M181...', 161) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M193...', 155) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M174...', 159) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M167...', 160) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M236...', 161) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M203...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M213...', 135) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M220...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M228...', 161) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M238...', 161) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M198...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M188...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M249...', 159) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M257...', 159) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M267...', 159) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M156...', 111) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M187...', 105) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M178...', 111) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M82....', 121) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M84....', 121) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M77....', 121) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M157...', 137) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M245...', 349) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M234...', 346) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M194...', 445) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M168...', 247) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M155...', 396) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M171...', 206) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M186...', 803) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M246...', 179) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M231...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M221...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M211...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M192...', 261) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M189...', 131) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M167...', 181) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M161...', 183) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M155...', 99) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M140...', 181) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M470...', 101) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M476...', 97) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M493...', 91) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M501...', 67) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 14) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M110...', 25) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 14) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M161...', 38) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 14) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M166...', 40) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 14) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M220...', 46) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(svg, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/text-4-byte-UTF-16-BE-offset.xml b/libxml2/result/noent/text-4-byte-UTF-16-BE-offset.xml new file mode 100644 index 0000000..8a314d9 Binary files /dev/null and b/libxml2/result/noent/text-4-byte-UTF-16-BE-offset.xml differ diff --git a/libxml2/result/noent/text-4-byte-UTF-16-BE-offset.xml.sax2 b/libxml2/result/noent/text-4-byte-UTF-16-BE-offset.xml.sax2 new file mode 100644 index 0000000..835014b --- /dev/null +++ b/libxml2/result/noent/text-4-byte-UTF-16-BE-offset.xml.sax2 @@ -0,0 +1,21 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(body, NULL, NULL, 0, 0, 0) +SAX.characters( + , 2) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 197) +SAX.endElementNs(body, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/text-4-byte-UTF-16-BE.xml b/libxml2/result/noent/text-4-byte-UTF-16-BE.xml new file mode 100644 index 0000000..3f3e3ea Binary files /dev/null and b/libxml2/result/noent/text-4-byte-UTF-16-BE.xml differ diff --git a/libxml2/result/noent/text-4-byte-UTF-16-BE.xml.sax2 b/libxml2/result/noent/text-4-byte-UTF-16-BE.xml.sax2 new file mode 100644 index 0000000..e57e279 --- /dev/null +++ b/libxml2/result/noent/text-4-byte-UTF-16-BE.xml.sax2 @@ -0,0 +1,21 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(body, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 193) +SAX.endElementNs(body, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/text-4-byte-UTF-16-LE-offset.xml b/libxml2/result/noent/text-4-byte-UTF-16-LE-offset.xml new file mode 100644 index 0000000..8a314d9 Binary files /dev/null and b/libxml2/result/noent/text-4-byte-UTF-16-LE-offset.xml differ diff --git a/libxml2/result/noent/text-4-byte-UTF-16-LE-offset.xml.sax2 b/libxml2/result/noent/text-4-byte-UTF-16-LE-offset.xml.sax2 new file mode 100644 index 0000000..835014b --- /dev/null +++ b/libxml2/result/noent/text-4-byte-UTF-16-LE-offset.xml.sax2 @@ -0,0 +1,21 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(body, NULL, NULL, 0, 0, 0) +SAX.characters( + , 2) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 197) +SAX.endElementNs(body, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/text-4-byte-UTF-16-LE.xml b/libxml2/result/noent/text-4-byte-UTF-16-LE.xml new file mode 100644 index 0000000..3f3e3ea Binary files /dev/null and b/libxml2/result/noent/text-4-byte-UTF-16-LE.xml differ diff --git a/libxml2/result/noent/text-4-byte-UTF-16-LE.xml.sax2 b/libxml2/result/noent/text-4-byte-UTF-16-LE.xml.sax2 new file mode 100644 index 0000000..e57e279 --- /dev/null +++ b/libxml2/result/noent/text-4-byte-UTF-16-LE.xml.sax2 @@ -0,0 +1,21 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(body, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 193) +SAX.endElementNs(body, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/title.xml b/libxml2/result/noent/title.xml new file mode 100644 index 0000000..1b3fe07 --- /dev/null +++ b/libxml2/result/noent/title.xml @@ -0,0 +1,2 @@ + +my title diff --git a/libxml2/result/noent/title.xml.sax2 b/libxml2/result/noent/title.xml.sax2 new file mode 100644 index 0000000..6fa4fa9 --- /dev/null +++ b/libxml2/result/noent/title.xml.sax2 @@ -0,0 +1,6 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(my title, 8) +SAX.endElementNs(title, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/tstblanks.xml b/libxml2/result/noent/tstblanks.xml new file mode 100644 index 0000000..2561859 --- /dev/null +++ b/libxml2/result/noent/tstblanks.xml @@ -0,0 +1,2 @@ + +
    content diff --git a/libxml2/result/noent/tstblanks.xml.sax2 b/libxml2/result/noent/tstblanks.xml.sax2 new file mode 100644 index 0000000..45563a4 --- /dev/null +++ b/libxml2/result/noent/tstblanks.xml.sax2 @@ -0,0 +1,6 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(a, NULL, NULL, 0, 1, 0, test='pass...', 6) +SAX.characters(content, 7) +SAX.endElementNs(a, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/undeclared-entity.xml b/libxml2/result/noent/undeclared-entity.xml new file mode 100644 index 0000000..3db97bc --- /dev/null +++ b/libxml2/result/noent/undeclared-entity.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/libxml2/result/noent/undeclared-entity.xml.sax2 b/libxml2/result/noent/undeclared-entity.xml.sax2 new file mode 100644 index 0000000..61f25bf --- /dev/null +++ b/libxml2/result/noent/undeclared-entity.xml.sax2 @@ -0,0 +1,23 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( Having an external DTD makes undeclared entities a warning. ) +SAX.internalSubset(doc, , foo) +SAX.externalSubset(doc, , foo) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.getEntity(undeclared) +SAX.error: Entity 'undeclared' not defined +SAX.startElementNs(elem, NULL, NULL, 0, 1, 0, attr='"/> +...', 0) +SAX.endElementNs(elem, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(elem, NULL, NULL, 0, 0, 0) +SAX.getEntity(undeclared) +SAX.error: Entity 'undeclared' not defined +SAX.endElementNs(elem, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/utf16bebom.xml b/libxml2/result/noent/utf16bebom.xml new file mode 100644 index 0000000..3b5466d Binary files /dev/null and b/libxml2/result/noent/utf16bebom.xml differ diff --git a/libxml2/result/noent/utf16bebom.xml.sax2 b/libxml2/result/noent/utf16bebom.xml.sax2 new file mode 100644 index 0000000..4326890 --- /dev/null +++ b/libxml2/result/noent/utf16bebom.xml.sax2 @@ -0,0 +1,8 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( This file is encoded in UTF-16BE ) +SAX.startElementNs(repository, NULL, NULL, 0, 1, 0, repositroy_id='test...', 4) +SAX.startElementNs(namespace, NULL, NULL, 0, 1, 0, name='test...', 4) +SAX.endElementNs(namespace, NULL, NULL) +SAX.endElementNs(repository, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/utf16bom.xml b/libxml2/result/noent/utf16bom.xml new file mode 100644 index 0000000..6ea296e Binary files /dev/null and b/libxml2/result/noent/utf16bom.xml differ diff --git a/libxml2/result/noent/utf16bom.xml.sax2 b/libxml2/result/noent/utf16bom.xml.sax2 new file mode 100644 index 0000000..2b2db15 --- /dev/null +++ b/libxml2/result/noent/utf16bom.xml.sax2 @@ -0,0 +1,7 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(repository, NULL, NULL, 0, 1, 0, repositroy_id='test...', 4) +SAX.startElementNs(namespace, NULL, NULL, 0, 1, 0, name='test...', 4) +SAX.endElementNs(namespace, NULL, NULL) +SAX.endElementNs(repository, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/utf16lebom.xml b/libxml2/result/noent/utf16lebom.xml new file mode 100644 index 0000000..933640c Binary files /dev/null and b/libxml2/result/noent/utf16lebom.xml differ diff --git a/libxml2/result/noent/utf16lebom.xml.sax2 b/libxml2/result/noent/utf16lebom.xml.sax2 new file mode 100644 index 0000000..3b62346 --- /dev/null +++ b/libxml2/result/noent/utf16lebom.xml.sax2 @@ -0,0 +1,8 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( This file is encoded in UTF-16LE ) +SAX.startElementNs(repository, NULL, NULL, 0, 1, 0, repositroy_id='test...', 4) +SAX.startElementNs(namespace, NULL, NULL, 0, 1, 0, name='test...', 4) +SAX.endElementNs(namespace, NULL, NULL) +SAX.endElementNs(repository, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/utf8bom.xml b/libxml2/result/noent/utf8bom.xml new file mode 100644 index 0000000..f4e5164 --- /dev/null +++ b/libxml2/result/noent/utf8bom.xml @@ -0,0 +1,2 @@ + + diff --git a/libxml2/result/noent/utf8bom.xml.sax2 b/libxml2/result/noent/utf8bom.xml.sax2 new file mode 100644 index 0000000..cf7f20f --- /dev/null +++ b/libxml2/result/noent/utf8bom.xml.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(foo, NULL, NULL, 0, 0, 0) +SAX.endElementNs(foo, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/wap.xml b/libxml2/result/noent/wap.xml new file mode 100644 index 0000000..694b49f --- /dev/null +++ b/libxml2/result/noent/wap.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + +

    If automatic testing failed, select Failed + + + + + .

    +
    + +
    diff --git a/libxml2/result/noent/wap.xml.sax2 b/libxml2/result/noent/wap.xml.sax2 new file mode 100644 index 0000000..6d40b25 --- /dev/null +++ b/libxml2/result/noent/wap.xml.sax2 @@ -0,0 +1,87 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(wml, -//WAPFORUM//DTD WML 1.1//EN, http://dark.wapit.com/vswap/tests/wap/DTD/wml11.dtd) +SAX.externalSubset(wml, -//WAPFORUM//DTD WML 1.1//EN, http://dark.wapit.com/vswap/tests/wap/DTD/wml11.dtd) +SAX.comment( (C) 1999, 2000 WAP Forum Ltd. All rights reserved ) +SAX.startElementNs(wml, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.startElementNs(card, NULL, NULL, 0, 1, 0, id='card...', 5) +SAX.characters( +, 1) +SAX.startElementNs(onevent, NULL, NULL, 0, 1, 0, type='onen...', 14) +SAX.characters( +, 1) +SAX.startElementNs(go, NULL, NULL, 0, 1, 0, href='/vsw...', 21) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='var"...', 3, value='$tes...', 5) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='v" v...', 1, value='dark...', 4) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='ts" ...', 2, value='0003...', 4) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='tp" ...', 2, value='wml/...', 29) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='ti" ...', 2, value='1"/>...', 1) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='expe...', 8, value='var:...', 8) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(go, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(onevent, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters(If automatic testing failed, s, 36) +SAX.startElementNs(anchor, NULL, NULL, 0, 0, 0) +SAX.characters(Failed, 6) +SAX.startElementNs(go, NULL, NULL, 0, 1, 0, href='/vsw...', 21) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='SUBM...', 6, value='No"/...', 2) +SAX.endElementNs(postfield, NULL, NULL) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='v" +v...', 1, value='dark...', 4) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='ts" ...', 2, value='0003...', 4) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='tp" ...', 2, value='wml/...', 29) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='ti" ...', 2, value='1"/>...', 1) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='expe...', 8, value='var:...', 8) +SAX.endElementNs(postfield, NULL, NULL) +SAX.endElementNs(go, NULL, NULL) +SAX.endElementNs(anchor, NULL, NULL) +SAX.characters(., 1) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(card, NULL, NULL) +SAX.characters( + +, 2) +SAX.endElementNs(wml, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/winblanks.xml b/libxml2/result/noent/winblanks.xml new file mode 100644 index 0000000..0044aa2 --- /dev/null +++ b/libxml2/result/noent/winblanks.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/libxml2/result/noent/winblanks.xml.sax2 b/libxml2/result/noent/winblanks.xml.sax2 new file mode 100644 index 0000000..6e9d693 --- /dev/null +++ b/libxml2/result/noent/winblanks.xml.sax2 @@ -0,0 +1,18 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(a, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(B, NULL, NULL, 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(C, NULL, NULL, 0, 0, 0) +SAX.endElementNs(C, NULL, NULL) +SAX.characters( , 3) +SAX.characters( +, 1) +SAX.endElementNs(B, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(a, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/wml.xml b/libxml2/result/noent/wml.xml new file mode 100644 index 0000000..3a96562 --- /dev/null +++ b/libxml2/result/noent/wml.xml @@ -0,0 +1,10 @@ + + + + +

    + Cinéma
    +

    + +
    +
    diff --git a/libxml2/result/noent/wml.xml.sax2 b/libxml2/result/noent/wml.xml.sax2 new file mode 100644 index 0000000..7772d04 --- /dev/null +++ b/libxml2/result/noent/wml.xml.sax2 @@ -0,0 +1,31 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(wml, -//WAPFORUM//DTD WML 1.1//EN, http://www.wapforum.org/DTD/wml_1.1.xml) +SAX.externalSubset(wml, -//WAPFORUM//DTD WML 1.1//EN, http://www.wapforum.org/DTD/wml_1.1.xml) +SAX.startElementNs(wml, NULL, NULL, 0, 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(card, NULL, NULL, 0, 2, 0, id='card...', 5, title='Rubr...', 15) +SAX.characters( + , 2) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(a, NULL, NULL, 0, 1, 0, href='rubm...', 26) +SAX.characters(Cin, 3) +SAX.characters(é, 2) +SAX.characters(ma, 2) +SAX.endElementNs(a, NULL, NULL) +SAX.startElementNs(br, NULL, NULL, 0, 0, 0) +SAX.endElementNs(br, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + +, 2) +SAX.endElementNs(card, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(wml, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/xhtml1 b/libxml2/result/noent/xhtml1 new file mode 100644 index 0000000..6c06a95 --- /dev/null +++ b/libxml2/result/noent/xhtml1 @@ -0,0 +1,30 @@ + + + + + + Virtual Library + + + + +

    Moved to example.org.

    + + + foo + +

    + +

    coucou

    +

    salut

    + +

    test

    + +
    +
    Internet Engineering Task Force
    +
    An organization which establishes technical standards for the Internet
    +
    + + diff --git a/libxml2/result/noent/xhtml1.sax2 b/libxml2/result/noent/xhtml1.sax2 new file mode 100644 index 0000000..e6952c8 --- /dev/null +++ b/libxml2/result/noent/xhtml1.sax2 @@ -0,0 +1,104 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(html, -//W3C//DTD XHTML 1.0 Strict//EN, http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd) +SAX.externalSubset(html, -//W3C//DTD XHTML 1.0 Strict//EN, http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd) +SAX.comment( 3.1.1 3/ ) +SAX.startElementNs(html, NULL, NULL, 0, 2, 0, xml:lang='en" ...', 2, lang='en">...', 2) +SAX.characters( + , 3) +SAX.startElementNs(head, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Virtual Library, 15) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(head, NULL, NULL) +SAX.characters( + , 3) +SAX.comment( 4.8 ) +SAX.characters( + , 3) +SAX.startElementNs(script, NULL, NULL, 0, 1, 0, type='text...', 15) +SAX.characters( + ... unescaped script , 24) +SAX.characters(<, 1) +SAX.characters( content ... + , 15) +SAX.endElementNs(script, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(body, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters(Moved to , 9) +SAX.startElementNs(a, NULL, NULL, 0, 1, 0, href='http...', 19) +SAX.characters(example.org, 11) +SAX.endElementNs(a, NULL, NULL) +SAX.characters(., 1) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(body, NULL, NULL) +SAX.characters( + , 3) +SAX.comment( C2 ) +SAX.characters( + , 3) +SAX.startElementNs(img, NULL, NULL, 0, 2, 0, src='foo....', 7, alt='foo"...', 3) +SAX.endElementNs(img, NULL, NULL) +SAX.characters( + , 3) +SAX.comment( C3 ) +SAX.characters( + , 3) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 3) +SAX.comment( C7 ) +SAX.characters( + , 3) +SAX.startElementNs(p, NULL, NULL, 0, 1, 0, lang='fr">...', 2) +SAX.characters(coucou, 6) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(p, NULL, NULL, 0, 1, 0, xml:lang='fr">...', 2) +SAX.characters(salut, 5) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 3) +SAX.comment( C8 ) +SAX.characters( + , 3) +SAX.startElementNs(p, NULL, NULL, 0, 1, 0, name='frag...', 6) +SAX.characters(test, 4) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 3) +SAX.comment( 4.5 ) +SAX.characters( + , 3) +SAX.startElementNs(dl, NULL, NULL, 0, 1, 0, compact='"> + ...', 0) +SAX.characters( + , 3) +SAX.startElementNs(dt, NULL, NULL, 0, 0, 0) +SAX.characters(Internet Engineering Task Forc, 31) +SAX.endElementNs(dt, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(dd, NULL, NULL, 0, 0, 0) +SAX.characters(An organization which establis, 70) +SAX.endElementNs(dd, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(dl, NULL, NULL) +SAX.characters( + +, 2) +SAX.endElementNs(html, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/xhtmlcomp b/libxml2/result/noent/xhtmlcomp new file mode 100644 index 0000000..4ce634c --- /dev/null +++ b/libxml2/result/noent/xhtmlcomp @@ -0,0 +1,7 @@ + + + + +

    a b

    + + diff --git a/libxml2/result/noent/xhtmlcomp.sax2 b/libxml2/result/noent/xhtmlcomp.sax2 new file mode 100644 index 0000000..085b770 --- /dev/null +++ b/libxml2/result/noent/xhtmlcomp.sax2 @@ -0,0 +1,23 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(html, -//W3C//DTD XHTML 1.0 Strict//EN, http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd) +SAX.externalSubset(html, -//W3C//DTD XHTML 1.0 Strict//EN, http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd) +SAX.startElementNs(html, NULL, NULL, 0, 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(body, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(h1, NULL, NULL, 0, 0, 0) +SAX.startElementNs(abbr, NULL, NULL, 0, 0, 0) +SAX.characters(a, 1) +SAX.endElementNs(abbr, NULL, NULL) +SAX.characters( b, 2) +SAX.endElementNs(h1, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(body, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(html, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/xml1 b/libxml2/result/noent/xml1 new file mode 100644 index 0000000..637d265 --- /dev/null +++ b/libxml2/result/noent/xml1 @@ -0,0 +1,9 @@ + +An ampersand (&#38;) may be escaped + numerically (&#38;#38;) or with a general entity + (&amp;).

    "> +]> +

    An ampersand (&) may be escaped + numerically (&#38;) or with a general entity + (&amp;).

    diff --git a/libxml2/result/noent/xml1.sax2 b/libxml2/result/noent/xml1.sax2 new file mode 100644 index 0000000..2dce925 --- /dev/null +++ b/libxml2/result/noent/xml1.sax2 @@ -0,0 +1,22 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(test, , ) +SAX.entityDecl(example, 1, (null), (null),

    An ampersand (&) may be escaped + numerically (&#38;) or with a general entity + (&amp;).

    ) +SAX.getEntity(example) +SAX.externalSubset(test, , ) +SAX.startElementNs(test, NULL, NULL, 0, 0, 0) +SAX.getEntity(example) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters(An ampersand (, 14) +SAX.characters(&, 1) +SAX.characters() may be escaped + numerically , 31) +SAX.characters(&, 1) +SAX.characters(#38;) or with a general entity, 34) +SAX.characters(&, 1) +SAX.characters(amp;)., 6) +SAX.endElementNs(p, NULL, NULL) +SAX.endElementNs(test, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/noent/xml2 b/libxml2/result/noent/xml2 new file mode 100644 index 0000000..6c39454 --- /dev/null +++ b/libxml2/result/noent/xml2 @@ -0,0 +1,8 @@ + + + +'> + +]> +This sample shows a error-prone method. diff --git a/libxml2/result/noent/xml2.sax2 b/libxml2/result/noent/xml2.sax2 new file mode 100644 index 0000000..edf748b --- /dev/null +++ b/libxml2/result/noent/xml2.sax2 @@ -0,0 +1,20 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(test, , ) +SAX.elementDecl(test, 3, ...) +SAX.entityDecl(xx, 4, (null), (null), %zz;) +SAX.getParameterEntity(xx) +SAX.entityDecl(zz, 4, (null), (null), ) +SAX.getParameterEntity(zz) +SAX.getParameterEntity(xx) +SAX.getParameterEntity(zz) +SAX.entityDecl(tricky, 1, (null), (null), error-prone) +SAX.getEntity(tricky) +SAX.externalSubset(test, , ) +SAX.startElementNs(test, NULL, NULL, 0, 0, 0) +SAX.characters(This sample shows a , 20) +SAX.getEntity(tricky) +SAX.characters(error-prone, 11) +SAX.characters( method., 8) +SAX.endElementNs(test, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/ns b/libxml2/result/ns new file mode 100644 index 0000000..94b927e --- /dev/null +++ b/libxml2/result/ns @@ -0,0 +1,4 @@ + + + + diff --git a/libxml2/result/ns.rde b/libxml2/result/ns.rde new file mode 100644 index 0000000..513d135 --- /dev/null +++ b/libxml2/result/ns.rde @@ -0,0 +1,7 @@ +0 1 dia:diagram 0 0 +1 14 #text 0 1 + +1 1 dia:diagramdata 1 0 +1 14 #text 0 1 + +0 15 dia:diagram 0 0 diff --git a/libxml2/result/ns.rdr b/libxml2/result/ns.rdr new file mode 100644 index 0000000..513d135 --- /dev/null +++ b/libxml2/result/ns.rdr @@ -0,0 +1,7 @@ +0 1 dia:diagram 0 0 +1 14 #text 0 1 + +1 1 dia:diagramdata 1 0 +1 14 #text 0 1 + +0 15 dia:diagram 0 0 diff --git a/libxml2/result/ns.sax b/libxml2/result/ns.sax new file mode 100644 index 0000000..45e00f7 --- /dev/null +++ b/libxml2/result/ns.sax @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(dia:diagram, xmlns:dia='http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 3) +SAX.startElement(dia:diagramdata, dia:testattr='test') +SAX.endElement(dia:diagramdata) +SAX.characters( +, 1) +SAX.endElement(dia:diagram) +SAX.endDocument() diff --git a/libxml2/result/ns.sax2 b/libxml2/result/ns.sax2 new file mode 100644 index 0000000..c615db3 --- /dev/null +++ b/libxml2/result/ns.sax2 @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/', 1, xmlns:dia='http://www.lysator.liu.se/~alla/dia/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(diagramdata, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, dia:testattr='test...', 4) +SAX.endElementNs(diagramdata, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( +, 1) +SAX.endElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.endDocument() diff --git a/libxml2/result/ns2 b/libxml2/result/ns2 new file mode 100644 index 0000000..b69ad82 --- /dev/null +++ b/libxml2/result/ns2 @@ -0,0 +1,2 @@ + + diff --git a/libxml2/result/ns2.rde b/libxml2/result/ns2.rde new file mode 100644 index 0000000..58ca0ac --- /dev/null +++ b/libxml2/result/ns2.rde @@ -0,0 +1 @@ +0 1 dia:diagram 1 0 diff --git a/libxml2/result/ns2.rdr b/libxml2/result/ns2.rdr new file mode 100644 index 0000000..58ca0ac --- /dev/null +++ b/libxml2/result/ns2.rdr @@ -0,0 +1 @@ +0 1 dia:diagram 1 0 diff --git a/libxml2/result/ns2.sax b/libxml2/result/ns2.sax new file mode 100644 index 0000000..64a3fe8 --- /dev/null +++ b/libxml2/result/ns2.sax @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(dia:diagram, xmlns:dia='http://www.lysator.liu.se/~alla/dia/', dia:testattr='test') +SAX.endElement(dia:diagram) +SAX.endDocument() diff --git a/libxml2/result/ns2.sax2 b/libxml2/result/ns2.sax2 new file mode 100644 index 0000000..fc8d6f4 --- /dev/null +++ b/libxml2/result/ns2.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/', 1, xmlns:dia='http://www.lysator.liu.se/~alla/dia/', 1, 0, dia:testattr='test...', 4) +SAX.endElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.endDocument() diff --git a/libxml2/result/ns3 b/libxml2/result/ns3 new file mode 100644 index 0000000..b69ad82 --- /dev/null +++ b/libxml2/result/ns3 @@ -0,0 +1,2 @@ + + diff --git a/libxml2/result/ns3.rde b/libxml2/result/ns3.rde new file mode 100644 index 0000000..58ca0ac --- /dev/null +++ b/libxml2/result/ns3.rde @@ -0,0 +1 @@ +0 1 dia:diagram 1 0 diff --git a/libxml2/result/ns3.rdr b/libxml2/result/ns3.rdr new file mode 100644 index 0000000..58ca0ac --- /dev/null +++ b/libxml2/result/ns3.rdr @@ -0,0 +1 @@ +0 1 dia:diagram 1 0 diff --git a/libxml2/result/ns3.sax b/libxml2/result/ns3.sax new file mode 100644 index 0000000..421c7f0 --- /dev/null +++ b/libxml2/result/ns3.sax @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(dia:diagram, dia:testattr='test', xmlns:dia='http://www.lysator.liu.se/~alla/dia/') +SAX.endElement(dia:diagram) +SAX.endDocument() diff --git a/libxml2/result/ns3.sax2 b/libxml2/result/ns3.sax2 new file mode 100644 index 0000000..fc8d6f4 --- /dev/null +++ b/libxml2/result/ns3.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/', 1, xmlns:dia='http://www.lysator.liu.se/~alla/dia/', 1, 0, dia:testattr='test...', 4) +SAX.endElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.endDocument() diff --git a/libxml2/result/ns4 b/libxml2/result/ns4 new file mode 100644 index 0000000..136bf92 --- /dev/null +++ b/libxml2/result/ns4 @@ -0,0 +1,2 @@ + + diff --git a/libxml2/result/ns4.rde b/libxml2/result/ns4.rde new file mode 100644 index 0000000..6f5dda7 --- /dev/null +++ b/libxml2/result/ns4.rde @@ -0,0 +1 @@ +0 1 diagram 1 0 diff --git a/libxml2/result/ns4.rdr b/libxml2/result/ns4.rdr new file mode 100644 index 0000000..6f5dda7 --- /dev/null +++ b/libxml2/result/ns4.rdr @@ -0,0 +1 @@ +0 1 diagram 1 0 diff --git a/libxml2/result/ns4.sax b/libxml2/result/ns4.sax new file mode 100644 index 0000000..674b9a3 --- /dev/null +++ b/libxml2/result/ns4.sax @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(diagram, testattr='test', xml:lang='en', xml:link='simple', xml:space='preserve') +SAX.endElement(diagram) +SAX.endDocument() diff --git a/libxml2/result/ns4.sax2 b/libxml2/result/ns4.sax2 new file mode 100644 index 0000000..e31cc56 --- /dev/null +++ b/libxml2/result/ns4.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(diagram, NULL, NULL, 0, 4, 0, testattr='test...', 4, xml:lang='en" ...', 2, xml:link='simp...', 6, xml:space='pres...', 8) +SAX.endElementNs(diagram, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/ns5 b/libxml2/result/ns5 new file mode 100644 index 0000000..0afe4e2 --- /dev/null +++ b/libxml2/result/ns5 @@ -0,0 +1,4 @@ + + + + diff --git a/libxml2/result/ns5.rde b/libxml2/result/ns5.rde new file mode 100644 index 0000000..30ce196 --- /dev/null +++ b/libxml2/result/ns5.rde @@ -0,0 +1,7 @@ +0 1 element 0 0 +1 14 #text 0 1 + +1 1 empty 1 0 +1 14 #text 0 1 + +0 15 element 0 0 diff --git a/libxml2/result/ns5.rdr b/libxml2/result/ns5.rdr new file mode 100644 index 0000000..30ce196 --- /dev/null +++ b/libxml2/result/ns5.rdr @@ -0,0 +1,7 @@ +0 1 element 0 0 +1 14 #text 0 1 + +1 1 empty 1 0 +1 14 #text 0 1 + +0 15 element 0 0 diff --git a/libxml2/result/ns5.sax b/libxml2/result/ns5.sax new file mode 100644 index 0000000..e458bca --- /dev/null +++ b/libxml2/result/ns5.sax @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(element, name='foo', xmlns:rng='http://example.org/ns/1', xmlns='http://example.org/ns/1') +SAX.characters( + , 3) +SAX.startElement(empty) +SAX.endElement(empty) +SAX.characters( +, 1) +SAX.endElement(element) +SAX.endDocument() diff --git a/libxml2/result/ns5.sax2 b/libxml2/result/ns5.sax2 new file mode 100644 index 0000000..a434d6b --- /dev/null +++ b/libxml2/result/ns5.sax2 @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(element, NULL, 'http://example.org/ns/1', 2, xmlns:rng='http://example.org/ns/1', xmlns='http://example.org/ns/1', 1, 0, name='foo"...', 3) +SAX.characters( + , 3) +SAX.startElementNs(empty, NULL, 'http://example.org/ns/1', 0, 0, 0) +SAX.endElementNs(empty, NULL, 'http://example.org/ns/1') +SAX.characters( +, 1) +SAX.endElementNs(element, NULL, 'http://example.org/ns/1') +SAX.endDocument() diff --git a/libxml2/result/ns6 b/libxml2/result/ns6 new file mode 100644 index 0000000..c971252 --- /dev/null +++ b/libxml2/result/ns6 @@ -0,0 +1,5 @@ + + + + + diff --git a/libxml2/result/ns6.rde b/libxml2/result/ns6.rde new file mode 100644 index 0000000..23a80ec --- /dev/null +++ b/libxml2/result/ns6.rde @@ -0,0 +1,10 @@ +0 1 root 0 0 +1 14 #text 0 1 + +1 1 foo 1 0 +1 14 #text 0 1 + +1 1 bar 1 0 +1 14 #text 0 1 + +0 15 root 0 0 diff --git a/libxml2/result/ns6.rdr b/libxml2/result/ns6.rdr new file mode 100644 index 0000000..23a80ec --- /dev/null +++ b/libxml2/result/ns6.rdr @@ -0,0 +1,10 @@ +0 1 root 0 0 +1 14 #text 0 1 + +1 1 foo 1 0 +1 14 #text 0 1 + +1 1 bar 1 0 +1 14 #text 0 1 + +0 15 root 0 0 diff --git a/libxml2/result/ns6.sax b/libxml2/result/ns6.sax new file mode 100644 index 0000000..a1405b1 --- /dev/null +++ b/libxml2/result/ns6.sax @@ -0,0 +1,15 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(root) +SAX.characters( + , 3) +SAX.startElement(foo, xmlns='http://abc') +SAX.endElement(foo) +SAX.characters( + , 3) +SAX.startElement(bar) +SAX.endElement(bar) +SAX.characters( +, 1) +SAX.endElement(root) +SAX.endDocument() diff --git a/libxml2/result/ns6.sax2 b/libxml2/result/ns6.sax2 new file mode 100644 index 0000000..7b54552 --- /dev/null +++ b/libxml2/result/ns6.sax2 @@ -0,0 +1,15 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(root, NULL, NULL, 0, 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(foo, NULL, 'http://abc', 1, xmlns='http://abc', 0, 0) +SAX.endElementNs(foo, NULL, 'http://abc') +SAX.characters( + , 3) +SAX.startElementNs(bar, NULL, NULL, 0, 0, 0) +SAX.endElementNs(bar, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(root, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/ns7 b/libxml2/result/ns7 new file mode 100644 index 0000000..b5089e1 --- /dev/null +++ b/libxml2/result/ns7 @@ -0,0 +1,2 @@ + + diff --git a/libxml2/result/ns7.rde b/libxml2/result/ns7.rde new file mode 100644 index 0000000..16f5351 --- /dev/null +++ b/libxml2/result/ns7.rde @@ -0,0 +1 @@ +0 1 xml:test 1 0 diff --git a/libxml2/result/ns7.rdr b/libxml2/result/ns7.rdr new file mode 100644 index 0000000..16f5351 --- /dev/null +++ b/libxml2/result/ns7.rdr @@ -0,0 +1 @@ +0 1 xml:test 1 0 diff --git a/libxml2/result/ns7.sax b/libxml2/result/ns7.sax new file mode 100644 index 0000000..6020be9 --- /dev/null +++ b/libxml2/result/ns7.sax @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(xml:test) +SAX.endElement(xml:test) +SAX.endDocument() diff --git a/libxml2/result/ns7.sax2 b/libxml2/result/ns7.sax2 new file mode 100644 index 0000000..2a2c714 --- /dev/null +++ b/libxml2/result/ns7.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(test, xml, 'http://www.w3.org/XML/1998/namespace', 0, 0, 0) +SAX.endElementNs(test, xml, 'http://www.w3.org/XML/1998/namespace') +SAX.endDocument() diff --git a/libxml2/result/nsclean.xml b/libxml2/result/nsclean.xml new file mode 100644 index 0000000..8f1ea82 --- /dev/null +++ b/libxml2/result/nsclean.xml @@ -0,0 +1,5 @@ + +
    + + +
    diff --git a/libxml2/result/nsclean.xml.rde b/libxml2/result/nsclean.xml.rde new file mode 100644 index 0000000..c606593 --- /dev/null +++ b/libxml2/result/nsclean.xml.rde @@ -0,0 +1,10 @@ +0 1 article 0 0 +1 14 #text 0 1 + +1 1 foop:content 0 0 +2 14 #text 0 1 + +1 15 foop:content 0 0 +1 14 #text 0 1 + +0 15 article 0 0 diff --git a/libxml2/result/nsclean.xml.rdr b/libxml2/result/nsclean.xml.rdr new file mode 100644 index 0000000..c606593 --- /dev/null +++ b/libxml2/result/nsclean.xml.rdr @@ -0,0 +1,10 @@ +0 1 article 0 0 +1 14 #text 0 1 + +1 1 foop:content 0 0 +2 14 #text 0 1 + +1 15 foop:content 0 0 +1 14 #text 0 1 + +0 15 article 0 0 diff --git a/libxml2/result/nsclean.xml.sax b/libxml2/result/nsclean.xml.sax new file mode 100644 index 0000000..b01aeae --- /dev/null +++ b/libxml2/result/nsclean.xml.sax @@ -0,0 +1,13 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(article, xmlns='tag:foofoofoofoofoofoofoofoo', xmlns:dc='http://purl.org/dc/elements/1.1/', xmlns:dcterms='http://purl.org/dc/terms/') +SAX.characters( +, 1) +SAX.startElement(foop:content, xmlns='http://www.w3.org/1999/xhtml', xmlns:foop='tag:foofoofoofoofoofoofoofoo') +SAX.characters( +, 1) +SAX.endElement(foop:content) +SAX.characters( +, 1) +SAX.endElement(article) +SAX.endDocument() diff --git a/libxml2/result/nsclean.xml.sax2 b/libxml2/result/nsclean.xml.sax2 new file mode 100644 index 0000000..d443e2b --- /dev/null +++ b/libxml2/result/nsclean.xml.sax2 @@ -0,0 +1,13 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(article, NULL, 'tag:foofoofoofoofoofoofoofoo', 3, xmlns='tag:foofoofoofoofoofoofoofoo', xmlns:dc='http://purl.org/dc/elements/1.1/', xmlns:dcterms='http://purl.org/dc/terms/', 0, 0) +SAX.characters( +, 1) +SAX.startElementNs(content, foop, 'tag:foofoofoofoofoofoofoofoo', 2, xmlns='http://www.w3.org/1999/xhtml', xmlns:foop='tag:foofoofoofoofoofoofoofoo', 0, 0) +SAX.characters( +, 1) +SAX.endElementNs(content, foop, 'tag:foofoofoofoofoofoofoofoo') +SAX.characters( +, 1) +SAX.endElementNs(article, NULL, 'tag:foofoofoofoofoofoofoofoo') +SAX.endDocument() diff --git a/libxml2/result/p3p b/libxml2/result/p3p new file mode 100644 index 0000000..31d5587 --- /dev/null +++ b/libxml2/result/p3p @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/libxml2/result/p3p.rde b/libxml2/result/p3p.rde new file mode 100644 index 0000000..0c01f50 --- /dev/null +++ b/libxml2/result/p3p.rde @@ -0,0 +1,55 @@ +0 1 RDF:RDF 0 0 +1 14 #text 0 1 + +1 1 PROP 0 0 +2 14 #text 0 1 + +2 1 USES 0 0 +3 14 #text 0 1 + +3 1 STATEMENT 0 0 +4 14 #text 0 1 + +4 1 WITH 0 0 +5 1 PREFIX 0 0 +6 14 #text 0 1 + +6 1 REF 1 0 +6 14 #text 0 1 + +6 1 REF 1 0 +6 14 #text 0 1 + +6 1 REF 1 0 +6 14 #text 0 1 + +5 15 PREFIX 0 0 +4 15 WITH 0 0 +4 14 #text 0 1 + +3 15 STATEMENT 0 0 +3 14 #text 0 1 + +2 15 USES 0 0 +2 14 #text 0 1 + +2 1 USES 0 0 +3 14 #text 0 1 + +3 1 STATEMENT 0 0 +4 14 #text 0 1 + +4 1 REF 1 0 +4 14 #text 0 1 + +3 15 STATEMENT 0 0 +3 14 #text 0 1 + +2 15 USES 0 0 +2 14 #text 0 1 + +2 1 DISCLOSURE 1 0 +2 14 #text 0 1 + +1 15 PROP 0 0 +0 15 RDF:RDF 0 0 diff --git a/libxml2/result/p3p.rdr b/libxml2/result/p3p.rdr new file mode 100644 index 0000000..0c01f50 --- /dev/null +++ b/libxml2/result/p3p.rdr @@ -0,0 +1,55 @@ +0 1 RDF:RDF 0 0 +1 14 #text 0 1 + +1 1 PROP 0 0 +2 14 #text 0 1 + +2 1 USES 0 0 +3 14 #text 0 1 + +3 1 STATEMENT 0 0 +4 14 #text 0 1 + +4 1 WITH 0 0 +5 1 PREFIX 0 0 +6 14 #text 0 1 + +6 1 REF 1 0 +6 14 #text 0 1 + +6 1 REF 1 0 +6 14 #text 0 1 + +6 1 REF 1 0 +6 14 #text 0 1 + +5 15 PREFIX 0 0 +4 15 WITH 0 0 +4 14 #text 0 1 + +3 15 STATEMENT 0 0 +3 14 #text 0 1 + +2 15 USES 0 0 +2 14 #text 0 1 + +2 1 USES 0 0 +3 14 #text 0 1 + +3 1 STATEMENT 0 0 +4 14 #text 0 1 + +4 1 REF 1 0 +4 14 #text 0 1 + +3 15 STATEMENT 0 0 +3 14 #text 0 1 + +2 15 USES 0 0 +2 14 #text 0 1 + +2 1 DISCLOSURE 1 0 +2 14 #text 0 1 + +1 15 PROP 0 0 +0 15 RDF:RDF 0 0 diff --git a/libxml2/result/p3p.sax b/libxml2/result/p3p.sax new file mode 100644 index 0000000..e36629a --- /dev/null +++ b/libxml2/result/p3p.sax @@ -0,0 +1,63 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(RDF:RDF, xmlns:p3p='http://www.w3.org/TR/1998/WD-P3P10-syntax#proposal.DTD', xmlns:RDF='http://www.w3.org/TR/WD-rdf-syntax#') +SAX.characters( +, 1) +SAX.startElement(PROP, realm='http://www.CoolCatalog.com/catalogue/', entity='CoolCatalog', agreeID='94df1293a3e519bb', assurance='http://www.TrustUs.org') +SAX.characters( + , 3) +SAX.startElement(USES) +SAX.characters( + , 3) +SAX.startElement(STATEMENT, purp='2,3', recpnt='0', id='0', consq='a site with clothes you'd appreciate.') +SAX.characters( + , 5) +SAX.startElement(WITH) +SAX.startElement(PREFIX, name='User.') +SAX.characters( + , 6) +SAX.startElement(REF, name='Name.First') +SAX.endElement(REF) +SAX.characters( + , 6) +SAX.startElement(REF, name='Bdate.Year', optional='1') +SAX.endElement(REF) +SAX.characters( + , 6) +SAX.startElement(REF, name='Gender') +SAX.endElement(REF) +SAX.characters( + , 5) +SAX.endElement(PREFIX) +SAX.endElement(WITH) +SAX.characters( + , 3) +SAX.endElement(STATEMENT) +SAX.characters( + , 3) +SAX.endElement(USES) +SAX.characters( + , 3) +SAX.startElement(USES) +SAX.characters( + , 3) +SAX.startElement(STATEMENT, action='read&write', purp='0', recpnt='0', id='1') +SAX.characters( + , 5) +SAX.startElement(REF, name='User.Shipping.') +SAX.endElement(REF) +SAX.characters( + , 3) +SAX.endElement(STATEMENT) +SAX.characters( + , 3) +SAX.endElement(USES) +SAX.characters( + , 3) +SAX.startElement(DISCLOSURE, discURI='http://www.CoolCatalog.com/PrivacyPractice.html', access='3', other='0,1') +SAX.endElement(DISCLOSURE) +SAX.characters( +, 1) +SAX.endElement(PROP) +SAX.endElement(RDF:RDF) +SAX.endDocument() diff --git a/libxml2/result/p3p.sax2 b/libxml2/result/p3p.sax2 new file mode 100644 index 0000000..e62ae6b --- /dev/null +++ b/libxml2/result/p3p.sax2 @@ -0,0 +1,65 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(RDF, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 2, xmlns:p3p='http://www.w3.org/TR/1998/WD-P3P10-syntax#proposal.DTD', xmlns:RDF='http://www.w3.org/TR/WD-rdf-syntax#', 0, 0) +SAX.characters( +, 1) +SAX.startElementNs(PROP, NULL, NULL, 0, 4, 0, realm='http...', 37, entity='Cool...', 11, agreeID='94df...', 16, assurance='http...', 22) +SAX.characters( + , 3) +SAX.startElementNs(USES, NULL, NULL, 0, 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(STATEMENT, NULL, NULL, 0, 4, 0, purp='2,3"...', 3, recpnt='0" i...', 1, id='0" + ...', 1, consq='a si...', 37) +SAX.characters( + , 5) +SAX.startElementNs(WITH, NULL, NULL, 0, 0, 0) +SAX.startElementNs(PREFIX, NULL, NULL, 0, 1, 0, name='User...', 5) +SAX.characters( + , 6) +SAX.startElementNs(REF, NULL, NULL, 0, 1, 0, name='Name...', 10) +SAX.endElementNs(REF, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(REF, NULL, NULL, 0, 2, 0, name='Bdat...', 10, optional='1"/>...', 1) +SAX.endElementNs(REF, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(REF, NULL, NULL, 0, 1, 0, name='Gend...', 6) +SAX.endElementNs(REF, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(PREFIX, NULL, NULL) +SAX.endElementNs(WITH, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(STATEMENT, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(USES, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(USES, NULL, NULL, 0, 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(STATEMENT, NULL, NULL, 0, 4, 0, action='read...', 14, purp='0" r...', 1, recpnt='0" i...', 1, id='1"> +...', 1) +SAX.characters( + , 5) +SAX.startElementNs(REF, NULL, NULL, 0, 1, 0, name='User...', 14) +SAX.endElementNs(REF, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(STATEMENT, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(USES, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(DISCLOSURE, NULL, NULL, 0, 3, 0, discURI='http...', 47, access='3" o...', 1, other='0,1"...', 3) +SAX.endElementNs(DISCLOSURE, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(PROP, NULL, NULL) +SAX.endElementNs(RDF, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#') +SAX.endDocument() diff --git a/libxml2/result/pattern/conj b/libxml2/result/pattern/conj new file mode 100644 index 0000000..616450b --- /dev/null +++ b/libxml2/result/pattern/conj @@ -0,0 +1,47 @@ +Node /a matches pattern a|b +Node /a/b matches pattern a|b +Node /a/b/c[1]/b matches pattern a|b +Node /a/b/c[2]/b matches pattern a|b +Node /a/b/c[2]/c/b matches pattern a|b +Node /a/c/b matches pattern a|b +Node /a matches pattern a|c +Node /a/b/c[1] matches pattern a|c +Node /a/b/c[2] matches pattern a|c +Node /a/b/c[2]/c matches pattern a|c +Node /a/c matches pattern a|c +Node /a/b matches pattern b|c +Node /a/b/c[1] matches pattern b|c +Node /a/b/c[1]/b matches pattern b|c +Node /a/b/c[2] matches pattern b|c +Node /a/b/c[2]/b matches pattern b|c +Node /a/b/c[2]/c matches pattern b|c +Node /a/b/c[2]/c/b matches pattern b|c +Node /a/c matches pattern b|c +Node /a/c/b matches pattern b|c +Node /a matches pattern a|b|c +Node /a/b matches pattern a|b|c +Node /a/b/c[1] matches pattern a|b|c +Node /a/b/c[1]/b matches pattern a|b|c +Node /a/b/c[2] matches pattern a|b|c +Node /a/b/c[2]/b matches pattern a|b|c +Node /a/b/c[2]/c matches pattern a|b|c +Node /a/b/c[2]/c/b matches pattern a|b|c +Node /a/c matches pattern a|b|c +Node /a/c/b matches pattern a|b|c +Node /a matches pattern /a|b +Node /a/b matches pattern /a|b +Node /a/b/c[1]/b matches pattern /a|b +Node /a/b/c[2]/b matches pattern /a|b +Node /a/b/c[2]/c/b matches pattern /a|b +Node /a/c/b matches pattern /a|b +Node /a matches pattern b|/a +Node /a/b matches pattern b|/a +Node /a/b/c[1]/b matches pattern b|/a +Node /a/b/c[2]/b matches pattern b|/a +Node /a/b/c[2]/c/b matches pattern b|/a +Node /a/c/b matches pattern b|/a +Node /a/b/c[1] matches pattern a//c|b//c +Node /a/b/c[2] matches pattern a//c|b//c +Node /a/b/c[2]/c matches pattern a//c|b//c +Node /a/c matches pattern a//c|b//c +Node /a matches pattern d|e|f|g|h|a diff --git a/libxml2/result/pattern/multiple b/libxml2/result/pattern/multiple new file mode 100644 index 0000000..e10390e --- /dev/null +++ b/libxml2/result/pattern/multiple @@ -0,0 +1,91 @@ +Node /c/b[1]/a[1] matches pattern a +Node /c/b[1]/a[2] matches pattern a +Node /c/c/b/a[1] matches pattern a +Node /c/c/b/a[2] matches pattern a +Node /c/b[2]/a[1] matches pattern a +Node /c/b[2]/a[2] matches pattern a +Node /c/b[1] matches pattern b +Node /c/c/b matches pattern b +Node /c/b[2] matches pattern b +Node /c matches pattern c +Node /c/c matches pattern c +Node /c/b[1] matches pattern c/b +Node /c/c/b matches pattern c/b +Node /c/b[2] matches pattern c/b +Node /c/b[1]/a[1] matches pattern b/a +Node /c/b[1]/a[2] matches pattern b/a +Node /c/c/b/a[1] matches pattern b/a +Node /c/c/b/a[2] matches pattern b/a +Node /c/b[2]/a[1] matches pattern b/a +Node /c/b[2]/a[2] matches pattern b/a +Node /c/b[1]/a[1] matches pattern c/b/a +Node /c/b[1]/a[2] matches pattern c/b/a +Node /c/c/b/a[1] matches pattern c/b/a +Node /c/c/b/a[2] matches pattern c/b/a +Node /c/b[2]/a[1] matches pattern c/b/a +Node /c/b[2]/a[2] matches pattern c/b/a +Node /c/b[1]/a[1] matches pattern c//a +Node /c/b[1]/a[2] matches pattern c//a +Node /c/c/b/a[1] matches pattern c//a +Node /c/c/b/a[2] matches pattern c//a +Node /c/b[2]/a[1] matches pattern c//a +Node /c/b[2]/a[2] matches pattern c//a +Node /c/b[1] matches pattern c//b +Node /c/c/b matches pattern c//b +Node /c/b[2] matches pattern c//b +Node /c/b[1]/a[1] matches pattern b//a +Node /c/b[1]/a[2] matches pattern b//a +Node /c/c/b/a[1] matches pattern b//a +Node /c/c/b/a[2] matches pattern b//a +Node /c/b[2]/a[1] matches pattern b//a +Node /c/b[2]/a[2] matches pattern b//a +Node /c/b[1]/a[1] matches pattern c//b//a +Node /c/b[1]/a[2] matches pattern c//b//a +Node /c/c/b/a[1] matches pattern c//b//a +Node /c/c/b/a[2] matches pattern c//b//a +Node /c/b[2]/a[1] matches pattern c//b//a +Node /c/b[2]/a[2] matches pattern c//b//a +Node /c/b[1]/a[1] matches pattern c/b//a +Node /c/b[1]/a[2] matches pattern c/b//a +Node /c/c/b/a[1] matches pattern c/b//a +Node /c/c/b/a[2] matches pattern c/b//a +Node /c/b[2]/a[1] matches pattern c/b//a +Node /c/b[2]/a[2] matches pattern c/b//a +Node /c/b[1]/a[1] matches pattern c//b/a +Node /c/b[1]/a[2] matches pattern c//b/a +Node /c/c/b/a[1] matches pattern c//b/a +Node /c/c/b/a[2] matches pattern c//b/a +Node /c/b[2]/a[1] matches pattern c//b/a +Node /c/b[2]/a[2] matches pattern c//b/a +Node /c matches pattern /c +Node /c/b[1] matches pattern /c/b +Node /c/b[2] matches pattern /c/b +Node /c/b[1]/a[1] matches pattern /c/b/a +Node /c/b[1]/a[2] matches pattern /c/b/a +Node /c/b[2]/a[1] matches pattern /c/b/a +Node /c/b[2]/a[2] matches pattern /c/b/a +Node /c/b[1]/a[1] matches pattern /c//a +Node /c/b[1]/a[2] matches pattern /c//a +Node /c/c/b/a[1] matches pattern /c//a +Node /c/c/b/a[2] matches pattern /c//a +Node /c/b[2]/a[1] matches pattern /c//a +Node /c/b[2]/a[2] matches pattern /c//a +Node /c/b[1] matches pattern /c//b +Node /c/c/b matches pattern /c//b +Node /c/b[2] matches pattern /c//b +Node /c/b[1]/a[1] matches pattern /c//b//a +Node /c/b[1]/a[2] matches pattern /c//b//a +Node /c/c/b/a[1] matches pattern /c//b//a +Node /c/c/b/a[2] matches pattern /c//b//a +Node /c/b[2]/a[1] matches pattern /c//b//a +Node /c/b[2]/a[2] matches pattern /c//b//a +Node /c/b[1]/a[1] matches pattern /c/b//a +Node /c/b[1]/a[2] matches pattern /c/b//a +Node /c/b[2]/a[1] matches pattern /c/b//a +Node /c/b[2]/a[2] matches pattern /c/b//a +Node /c/b[1]/a[1] matches pattern /c//b/a +Node /c/b[1]/a[2] matches pattern /c//b/a +Node /c/c/b/a[1] matches pattern /c//b/a +Node /c/c/b/a[2] matches pattern /c//b/a +Node /c/b[2]/a[1] matches pattern /c//b/a +Node /c/b[2]/a[2] matches pattern /c//b/a diff --git a/libxml2/result/pattern/namespaces b/libxml2/result/pattern/namespaces new file mode 100644 index 0000000..159f847 --- /dev/null +++ b/libxml2/result/pattern/namespaces @@ -0,0 +1,20 @@ +Node /a matches pattern //a +Node /a/b:b/a matches pattern //a +Node /a/*[4]/a matches pattern //a +Node /a/a:a matches pattern //a:a +Node /a/b:b/a/a:a matches pattern //a:a +Node /a/*[4] matches pattern //a:a +Node /a/c:a matches pattern //a:a +Node /a/b matches pattern //b +Node /a/a:a/b:b matches pattern //b:b +Node /a/b:b matches pattern //b:b +Node /a/b:b/a/a:a/b:b matches pattern //b:b +Node /a/b:b/a matches pattern /a//a +Node /a/*[4]/a matches pattern /a//a +Node /a/b matches pattern /a/b +Node /a/a:a matches pattern /a/a:a +Node /a/*[4] matches pattern /a/a:a +Node /a/c:a matches pattern /a/a:a +Node /a/a:a matches pattern /a/c:a +Node /a/*[4] matches pattern /a/c:a +Node /a/c:a matches pattern /a/c:a diff --git a/libxml2/result/pattern/simple b/libxml2/result/pattern/simple new file mode 100644 index 0000000..5710b5c --- /dev/null +++ b/libxml2/result/pattern/simple @@ -0,0 +1,12 @@ +Node /a matches pattern a +Node /a/b matches pattern b +Node /a/b matches pattern b +Node /a matches pattern /a +Node /a/b matches pattern a/b +Node /a/b/c matches pattern a/b/c +Node /a matches pattern //a +Node /a/b matches pattern //b +Node /a/b/c matches pattern //c +Node /a/b matches pattern a//b +Node /a/b/c matches pattern a//c +Node /a/b/c matches pattern b//c diff --git a/libxml2/result/pi.xml b/libxml2/result/pi.xml new file mode 100644 index 0000000..48c7ff0 --- /dev/null +++ b/libxml2/result/pi.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/libxml2/result/pi.xml.rde b/libxml2/result/pi.xml.rde new file mode 100644 index 0000000..cdc8a8d --- /dev/null +++ b/libxml2/result/pi.xml.rde @@ -0,0 +1,13 @@ +0 1 doc 0 0 +1 14 #text 0 1 + +1 7 document-start 0 1 doc +1 14 #text 0 1 + +1 1 empty 1 0 +1 14 #text 0 1 + +1 7 document-end 0 1 doc +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/libxml2/result/pi.xml.rdr b/libxml2/result/pi.xml.rdr new file mode 100644 index 0000000..cdc8a8d --- /dev/null +++ b/libxml2/result/pi.xml.rdr @@ -0,0 +1,13 @@ +0 1 doc 0 0 +1 14 #text 0 1 + +1 7 document-start 0 1 doc +1 14 #text 0 1 + +1 1 empty 1 0 +1 14 #text 0 1 + +1 7 document-end 0 1 doc +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/libxml2/result/pi.xml.sax b/libxml2/result/pi.xml.sax new file mode 100644 index 0000000..2a1b9bd --- /dev/null +++ b/libxml2/result/pi.xml.sax @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(doc) +SAX.characters( +, 1) +SAX.processingInstruction(document-start, doc) +SAX.characters( +, 1) +SAX.startElement(empty) +SAX.endElement(empty) +SAX.characters( +, 1) +SAX.processingInstruction(document-end, doc) +SAX.characters( +, 1) +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/pi.xml.sax2 b/libxml2/result/pi.xml.sax2 new file mode 100644 index 0000000..a4490ea --- /dev/null +++ b/libxml2/result/pi.xml.sax2 @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.processingInstruction(document-start, doc) +SAX.characters( +, 1) +SAX.startElementNs(empty, NULL, NULL, 0, 0, 0) +SAX.endElementNs(empty, NULL, NULL) +SAX.characters( +, 1) +SAX.processingInstruction(document-end, doc) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/pi2.xml b/libxml2/result/pi2.xml new file mode 100644 index 0000000..710d51c --- /dev/null +++ b/libxml2/result/pi2.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/libxml2/result/pi2.xml.rde b/libxml2/result/pi2.xml.rde new file mode 100644 index 0000000..52b3b9d --- /dev/null +++ b/libxml2/result/pi2.xml.rde @@ -0,0 +1,9 @@ +0 7 document-start 0 1 doc +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 empty 1 0 +1 14 #text 0 1 + +0 15 doc 0 0 +0 7 document-end 0 1 doc diff --git a/libxml2/result/pi2.xml.rdr b/libxml2/result/pi2.xml.rdr new file mode 100644 index 0000000..52b3b9d --- /dev/null +++ b/libxml2/result/pi2.xml.rdr @@ -0,0 +1,9 @@ +0 7 document-start 0 1 doc +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 empty 1 0 +1 14 #text 0 1 + +0 15 doc 0 0 +0 7 document-end 0 1 doc diff --git a/libxml2/result/pi2.xml.sax b/libxml2/result/pi2.xml.sax new file mode 100644 index 0000000..3100a17 --- /dev/null +++ b/libxml2/result/pi2.xml.sax @@ -0,0 +1,13 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.processingInstruction(document-start, doc) +SAX.startElement(doc) +SAX.characters( +, 1) +SAX.startElement(empty) +SAX.endElement(empty) +SAX.characters( +, 1) +SAX.endElement(doc) +SAX.processingInstruction(document-end, doc) +SAX.endDocument() diff --git a/libxml2/result/pi2.xml.sax2 b/libxml2/result/pi2.xml.sax2 new file mode 100644 index 0000000..1e6caad --- /dev/null +++ b/libxml2/result/pi2.xml.sax2 @@ -0,0 +1,13 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.processingInstruction(document-start, doc) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.startElementNs(empty, NULL, NULL, 0, 0, 0) +SAX.endElementNs(empty, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.processingInstruction(document-end, doc) +SAX.endDocument() diff --git a/libxml2/result/rdf1 b/libxml2/result/rdf1 new file mode 100644 index 0000000..d44c3c6 --- /dev/null +++ b/libxml2/result/rdf1 @@ -0,0 +1,81 @@ + + + + rpm + 2.5 + 2 + i386 + Linux + Manhattan + Red Hat Software + Red Hat Software <bugs@redhat.com> + Utilities/System + Red Hat Package Manager + RPM is a powerful package manager, which can be used to build, install, +query, verify, update, and uninstall individual software packages. A +package consists of an archive of files, and package information, including +name, version, and description. + GPL + * Sun May 10 1998 Prospector System <bugs@redhat.com> + - translations modified for de, fr, tr + + rpm-2.5-2.src.rpm + ftp://ftp.redhat.com/pub/redhat/redhat-5.1/SRPMS + Sun May 10 14:52:32 1998 + 894826352 + 850599 + porky.redhat.com + + + rpm + + + + + /bin/sh + ld-linux.so.2 + libc.so.6 + libdb.so.2 + libz.so.1 + /bin/bash + /bin/sh + + + /bin/rpm +/usr/bin/find-provides +/usr/bin/find-requires +/usr/bin/gendiff +/usr/bin/rpm2cpio +/usr/doc/rpm-2.5 +/usr/doc/rpm-2.5/CHANGES +/usr/doc/rpm-2.5/RPM-PGP-KEY +/usr/doc/rpm-2.5/buildroot +/usr/doc/rpm-2.5/dependencies +/usr/doc/rpm-2.5/format +/usr/doc/rpm-2.5/groups +/usr/doc/rpm-2.5/macros +/usr/doc/rpm-2.5/queryformat +/usr/doc/rpm-2.5/relocatable +/usr/doc/rpm-2.5/signatures +/usr/doc/rpm-2.5/spec +/usr/doc/rpm-2.5/triggers +/usr/lib/rpmpopt +/usr/lib/rpmrc +/usr/man/man8/rpm.8 +/usr/man/man8/rpm2cpio.8 +/usr/share/locale/de/LC_MESSAGES/rpm.mo +/usr/share/locale/fr/LC_MESSAGES/rpm.mo +/usr/share/locale/pt-br/LC_MESSAGES/rpm.mo +/usr/share/locale/sv/LC_MESSAGES/rpm.mo +/usr/share/locale/tr/LC_MESSAGES/rpm.mo +/usr/src/redhat +/usr/src/redhat/BUILD +/usr/src/redhat/RPMS +/usr/src/redhat/RPMS/i386 +/usr/src/redhat/RPMS/noarch +/usr/src/redhat/SOURCES +/usr/src/redhat/SPECS +/usr/src/redhat/SRPMS + + + diff --git a/libxml2/result/rdf1.rde b/libxml2/result/rdf1.rde new file mode 100644 index 0000000..b34399c --- /dev/null +++ b/libxml2/result/rdf1.rde @@ -0,0 +1,214 @@ +0 1 RDF:RDF 0 0 +1 14 #text 0 1 + +1 1 RDF:Description 0 0 +2 14 #text 0 1 + +2 1 RPM:Name 0 0 +3 3 #text 0 1 rpm +2 15 RPM:Name 0 0 +2 14 #text 0 1 + +2 1 RPM:Version 0 0 +3 3 #text 0 1 2.5 +2 15 RPM:Version 0 0 +2 14 #text 0 1 + +2 1 RPM:Release 0 0 +3 3 #text 0 1 2 +2 15 RPM:Release 0 0 +2 14 #text 0 1 + +2 1 RPM:Arch 0 0 +3 3 #text 0 1 i386 +2 15 RPM:Arch 0 0 +2 14 #text 0 1 + +2 1 RPM:Os 0 0 +3 3 #text 0 1 Linux +2 15 RPM:Os 0 0 +2 14 #text 0 1 + +2 1 RPM:Distribution 0 0 +3 3 #text 0 1 Manhattan +2 15 RPM:Distribution 0 0 +2 14 #text 0 1 + +2 1 RPM:Vendor 0 0 +3 3 #text 0 1 Red Hat Software +2 15 RPM:Vendor 0 0 +2 14 #text 0 1 + +2 1 RPM:Packager 0 0 +3 3 #text 0 1 Red Hat Software +2 15 RPM:Packager 0 0 +2 14 #text 0 1 + +2 1 RPM:Group 0 0 +3 3 #text 0 1 Utilities/System +2 15 RPM:Group 0 0 +2 14 #text 0 1 + +2 1 RPM:Summary 0 0 +3 3 #text 0 1 Red Hat Package Manager +2 15 RPM:Summary 0 0 +2 14 #text 0 1 + +2 1 RPM:Description 0 0 +3 3 #text 0 1 RPM is a powerful package manager, which can be used to build, install, +query, verify, update, and uninstall individual software packages. A +package consists of an archive of files, and package information, including +name, version, and description. +2 15 RPM:Description 0 0 +2 14 #text 0 1 + +2 1 RPM:Copyright 0 0 +3 3 #text 0 1 GPL +2 15 RPM:Copyright 0 0 +2 14 #text 0 1 + +2 1 RPM:Changelog 0 0 +3 3 #text 0 1 * Sun May 10 1998 Prospector System + - translations modified for de, fr, tr + +2 15 RPM:Changelog 0 0 +2 14 #text 0 1 + +2 1 RPM:Sources 0 0 +3 3 #text 0 1 rpm-2.5-2.src.rpm +2 15 RPM:Sources 0 0 +2 14 #text 0 1 + +2 1 RPM:SourcesFtp 0 0 +3 3 #text 0 1 ftp://ftp.redhat.com/pub/redhat/redhat-5.1/SRPMS +2 15 RPM:SourcesFtp 0 0 +2 14 #text 0 1 + +2 1 RPM:BuildDate 0 0 +3 3 #text 0 1 Sun May 10 14:52:32 1998 +2 15 RPM:BuildDate 0 0 +2 14 #text 0 1 + +2 1 RPM:Date 0 0 +3 3 #text 0 1 894826352 +2 15 RPM:Date 0 0 +2 14 #text 0 1 + +2 1 RPM:Size 0 0 +3 3 #text 0 1 850599 +2 15 RPM:Size 0 0 +2 14 #text 0 1 + +2 1 RPM:BuildHost 0 0 +3 3 #text 0 1 porky.redhat.com +2 15 RPM:BuildHost 0 0 +2 14 #text 0 1 + +2 1 RPM:Provides 0 0 +3 14 #text 0 1 + +3 1 RDF:Bag 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 rpm +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +3 15 RDF:Bag 0 0 +3 14 #text 0 1 + +2 15 RPM:Provides 0 0 +2 14 #text 0 1 + +2 1 RPM:Requires 0 0 +3 14 #text 0 1 + +3 1 RDF:Bag 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 /bin/sh +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 ld-linux.so.2 +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 libc.so.6 +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 libdb.so.2 +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 libz.so.1 +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 /bin/bash +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 /bin/sh +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +3 15 RDF:Bag 0 0 +3 14 #text 0 1 + +2 15 RPM:Requires 0 0 +2 14 #text 0 1 + +2 1 RPM:Files 0 0 +3 3 #text 0 1 /bin/rpm +/usr/bin/find-provides +/usr/bin/find-requires +/usr/bin/gendiff +/usr/bin/rpm2cpio +/usr/doc/rpm-2.5 +/usr/doc/rpm-2.5/CHANGES +/usr/doc/rpm-2.5/RPM-PGP-KEY +/usr/doc/rpm-2.5/buildroot +/usr/doc/rpm-2.5/dependencies +/usr/doc/rpm-2.5/format +/usr/doc/rpm-2.5/groups +/usr/doc/rpm-2.5/macros +/usr/doc/rpm-2.5/queryformat +/usr/doc/rpm-2.5/relocatable +/usr/doc/rpm-2.5/signatures +/usr/doc/rpm-2.5/spec +/usr/doc/rpm-2.5/triggers +/usr/lib/rpmpopt +/usr/lib/rpmrc +/usr/man/man8/rpm.8 +/usr/man/man8/rpm2cpio.8 +/usr/share/locale/de/LC_MESSAGES/rpm.mo +/usr/share/locale/fr/LC_MESSAGES/rpm.mo +/usr/share/locale/pt-br/LC_MESSAGES/rpm.mo +/usr/share/locale/sv/LC_MESSAGES/rpm.mo +/usr/share/locale/tr/LC_MESSAGES/rpm.mo +/usr/src/redhat +/usr/src/redhat/BUILD +/usr/src/redhat/RPMS +/usr/src/redhat/RPMS/i386 +/usr/src/redhat/RPMS/noarch +/usr/src/redhat/SOURCES +/usr/src/redhat/SPECS +/usr/src/redhat/SRPMS + +2 15 RPM:Files 0 0 +2 14 #text 0 1 + +1 15 RDF:Description 0 0 +1 14 #text 0 1 + +0 15 RDF:RDF 0 0 diff --git a/libxml2/result/rdf1.rdr b/libxml2/result/rdf1.rdr new file mode 100644 index 0000000..b34399c --- /dev/null +++ b/libxml2/result/rdf1.rdr @@ -0,0 +1,214 @@ +0 1 RDF:RDF 0 0 +1 14 #text 0 1 + +1 1 RDF:Description 0 0 +2 14 #text 0 1 + +2 1 RPM:Name 0 0 +3 3 #text 0 1 rpm +2 15 RPM:Name 0 0 +2 14 #text 0 1 + +2 1 RPM:Version 0 0 +3 3 #text 0 1 2.5 +2 15 RPM:Version 0 0 +2 14 #text 0 1 + +2 1 RPM:Release 0 0 +3 3 #text 0 1 2 +2 15 RPM:Release 0 0 +2 14 #text 0 1 + +2 1 RPM:Arch 0 0 +3 3 #text 0 1 i386 +2 15 RPM:Arch 0 0 +2 14 #text 0 1 + +2 1 RPM:Os 0 0 +3 3 #text 0 1 Linux +2 15 RPM:Os 0 0 +2 14 #text 0 1 + +2 1 RPM:Distribution 0 0 +3 3 #text 0 1 Manhattan +2 15 RPM:Distribution 0 0 +2 14 #text 0 1 + +2 1 RPM:Vendor 0 0 +3 3 #text 0 1 Red Hat Software +2 15 RPM:Vendor 0 0 +2 14 #text 0 1 + +2 1 RPM:Packager 0 0 +3 3 #text 0 1 Red Hat Software +2 15 RPM:Packager 0 0 +2 14 #text 0 1 + +2 1 RPM:Group 0 0 +3 3 #text 0 1 Utilities/System +2 15 RPM:Group 0 0 +2 14 #text 0 1 + +2 1 RPM:Summary 0 0 +3 3 #text 0 1 Red Hat Package Manager +2 15 RPM:Summary 0 0 +2 14 #text 0 1 + +2 1 RPM:Description 0 0 +3 3 #text 0 1 RPM is a powerful package manager, which can be used to build, install, +query, verify, update, and uninstall individual software packages. A +package consists of an archive of files, and package information, including +name, version, and description. +2 15 RPM:Description 0 0 +2 14 #text 0 1 + +2 1 RPM:Copyright 0 0 +3 3 #text 0 1 GPL +2 15 RPM:Copyright 0 0 +2 14 #text 0 1 + +2 1 RPM:Changelog 0 0 +3 3 #text 0 1 * Sun May 10 1998 Prospector System + - translations modified for de, fr, tr + +2 15 RPM:Changelog 0 0 +2 14 #text 0 1 + +2 1 RPM:Sources 0 0 +3 3 #text 0 1 rpm-2.5-2.src.rpm +2 15 RPM:Sources 0 0 +2 14 #text 0 1 + +2 1 RPM:SourcesFtp 0 0 +3 3 #text 0 1 ftp://ftp.redhat.com/pub/redhat/redhat-5.1/SRPMS +2 15 RPM:SourcesFtp 0 0 +2 14 #text 0 1 + +2 1 RPM:BuildDate 0 0 +3 3 #text 0 1 Sun May 10 14:52:32 1998 +2 15 RPM:BuildDate 0 0 +2 14 #text 0 1 + +2 1 RPM:Date 0 0 +3 3 #text 0 1 894826352 +2 15 RPM:Date 0 0 +2 14 #text 0 1 + +2 1 RPM:Size 0 0 +3 3 #text 0 1 850599 +2 15 RPM:Size 0 0 +2 14 #text 0 1 + +2 1 RPM:BuildHost 0 0 +3 3 #text 0 1 porky.redhat.com +2 15 RPM:BuildHost 0 0 +2 14 #text 0 1 + +2 1 RPM:Provides 0 0 +3 14 #text 0 1 + +3 1 RDF:Bag 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 rpm +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +3 15 RDF:Bag 0 0 +3 14 #text 0 1 + +2 15 RPM:Provides 0 0 +2 14 #text 0 1 + +2 1 RPM:Requires 0 0 +3 14 #text 0 1 + +3 1 RDF:Bag 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 /bin/sh +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 ld-linux.so.2 +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 libc.so.6 +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 libdb.so.2 +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 libz.so.1 +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 /bin/bash +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 /bin/sh +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +3 15 RDF:Bag 0 0 +3 14 #text 0 1 + +2 15 RPM:Requires 0 0 +2 14 #text 0 1 + +2 1 RPM:Files 0 0 +3 3 #text 0 1 /bin/rpm +/usr/bin/find-provides +/usr/bin/find-requires +/usr/bin/gendiff +/usr/bin/rpm2cpio +/usr/doc/rpm-2.5 +/usr/doc/rpm-2.5/CHANGES +/usr/doc/rpm-2.5/RPM-PGP-KEY +/usr/doc/rpm-2.5/buildroot +/usr/doc/rpm-2.5/dependencies +/usr/doc/rpm-2.5/format +/usr/doc/rpm-2.5/groups +/usr/doc/rpm-2.5/macros +/usr/doc/rpm-2.5/queryformat +/usr/doc/rpm-2.5/relocatable +/usr/doc/rpm-2.5/signatures +/usr/doc/rpm-2.5/spec +/usr/doc/rpm-2.5/triggers +/usr/lib/rpmpopt +/usr/lib/rpmrc +/usr/man/man8/rpm.8 +/usr/man/man8/rpm2cpio.8 +/usr/share/locale/de/LC_MESSAGES/rpm.mo +/usr/share/locale/fr/LC_MESSAGES/rpm.mo +/usr/share/locale/pt-br/LC_MESSAGES/rpm.mo +/usr/share/locale/sv/LC_MESSAGES/rpm.mo +/usr/share/locale/tr/LC_MESSAGES/rpm.mo +/usr/src/redhat +/usr/src/redhat/BUILD +/usr/src/redhat/RPMS +/usr/src/redhat/RPMS/i386 +/usr/src/redhat/RPMS/noarch +/usr/src/redhat/SOURCES +/usr/src/redhat/SPECS +/usr/src/redhat/SRPMS + +2 15 RPM:Files 0 0 +2 14 #text 0 1 + +1 15 RDF:Description 0 0 +1 14 #text 0 1 + +0 15 RDF:RDF 0 0 diff --git a/libxml2/result/rdf1.sax b/libxml2/result/rdf1.sax new file mode 100644 index 0000000..e235973 --- /dev/null +++ b/libxml2/result/rdf1.sax @@ -0,0 +1,186 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(RDF:RDF, xmlns:RPM='http://www.rpm.org/', xmlns:RDF='http://www.w3.org/TR/WD-rdf-syntax#') +SAX.characters( + , 3) +SAX.startElement(RDF:Description, HREF='ftp://rufus.w3.org/linux/redhat/redhat-5.1/i386/RedHat/RPMS/rpm-2.5-2.i386.rpm') +SAX.characters( + , 5) +SAX.startElement(RPM:Name) +SAX.characters(rpm, 3) +SAX.endElement(RPM:Name) +SAX.characters( + , 5) +SAX.startElement(RPM:Version) +SAX.characters(2.5, 3) +SAX.endElement(RPM:Version) +SAX.characters( + , 5) +SAX.startElement(RPM:Release) +SAX.characters(2, 1) +SAX.endElement(RPM:Release) +SAX.characters( + , 5) +SAX.startElement(RPM:Arch) +SAX.characters(i386, 4) +SAX.endElement(RPM:Arch) +SAX.characters( + , 5) +SAX.startElement(RPM:Os) +SAX.characters(Linux, 5) +SAX.endElement(RPM:Os) +SAX.characters( + , 5) +SAX.startElement(RPM:Distribution) +SAX.characters(Manhattan , 10) +SAX.endElement(RPM:Distribution) +SAX.characters( + , 5) +SAX.startElement(RPM:Vendor) +SAX.characters(Red Hat Software, 16) +SAX.endElement(RPM:Vendor) +SAX.characters( + , 5) +SAX.startElement(RPM:Packager) +SAX.characters(Red Hat Software , 17) +SAX.characters(<, 1) +SAX.characters(bugs@redhat.com, 15) +SAX.characters(>, 1) +SAX.endElement(RPM:Packager) +SAX.characters( + , 5) +SAX.startElement(RPM:Group) +SAX.characters(Utilities/System, 16) +SAX.endElement(RPM:Group) +SAX.characters( + , 5) +SAX.startElement(RPM:Summary) +SAX.characters(Red Hat Package Manager, 23) +SAX.endElement(RPM:Summary) +SAX.characters( + , 5) +SAX.startElement(RPM:Description) +SAX.characters(RPM is a powerful package mana, 248) +SAX.endElement(RPM:Description) +SAX.characters( + , 5) +SAX.startElement(RPM:Copyright) +SAX.characters(GPL, 3) +SAX.endElement(RPM:Copyright) +SAX.characters( + , 5) +SAX.startElement(RPM:Changelog) +SAX.characters(* Sun May 10 1998 Prospector S, 36) +SAX.characters(<, 1) +SAX.characters(bugs@redhat.com, 15) +SAX.characters(>, 1) +SAX.characters( + - translations modified for, 42) +SAX.endElement(RPM:Changelog) +SAX.characters( + , 5) +SAX.startElement(RPM:Sources) +SAX.characters(rpm-2.5-2.src.rpm, 17) +SAX.endElement(RPM:Sources) +SAX.characters( + , 5) +SAX.startElement(RPM:SourcesFtp) +SAX.characters(ftp://ftp.redhat.com/pub/redha, 48) +SAX.endElement(RPM:SourcesFtp) +SAX.characters( + , 5) +SAX.startElement(RPM:BuildDate) +SAX.characters(Sun May 10 14:52:32 1998, 24) +SAX.endElement(RPM:BuildDate) +SAX.characters( + , 5) +SAX.startElement(RPM:Date) +SAX.characters(894826352, 9) +SAX.endElement(RPM:Date) +SAX.characters( + , 5) +SAX.startElement(RPM:Size) +SAX.characters(850599, 6) +SAX.endElement(RPM:Size) +SAX.characters( + , 5) +SAX.startElement(RPM:BuildHost) +SAX.characters(porky.redhat.com, 16) +SAX.endElement(RPM:BuildHost) +SAX.characters( + , 5) +SAX.startElement(RPM:Provides) +SAX.characters( + , 7) +SAX.startElement(RDF:Bag) +SAX.characters( + , 9) +SAX.startElement(RPM:Resource) +SAX.characters(rpm, 3) +SAX.endElement(RPM:Resource) +SAX.characters( + , 7) +SAX.endElement(RDF:Bag) +SAX.characters( + , 5) +SAX.endElement(RPM:Provides) +SAX.characters( + , 5) +SAX.startElement(RPM:Requires) +SAX.characters( + , 7) +SAX.startElement(RDF:Bag) +SAX.characters( + , 9) +SAX.startElement(RPM:Resource) +SAX.characters(/bin/sh, 7) +SAX.endElement(RPM:Resource) +SAX.characters( + , 9) +SAX.startElement(RPM:Resource) +SAX.characters(ld-linux.so.2, 13) +SAX.endElement(RPM:Resource) +SAX.characters( + , 9) +SAX.startElement(RPM:Resource) +SAX.characters(libc.so.6, 9) +SAX.endElement(RPM:Resource) +SAX.characters( + , 9) +SAX.startElement(RPM:Resource) +SAX.characters(libdb.so.2, 10) +SAX.endElement(RPM:Resource) +SAX.characters( + , 9) +SAX.startElement(RPM:Resource) +SAX.characters(libz.so.1, 9) +SAX.endElement(RPM:Resource) +SAX.characters( + , 9) +SAX.startElement(RPM:Resource) +SAX.characters(/bin/bash, 9) +SAX.endElement(RPM:Resource) +SAX.characters( + , 9) +SAX.startElement(RPM:Resource) +SAX.characters(/bin/sh, 7) +SAX.endElement(RPM:Resource) +SAX.characters( + , 7) +SAX.endElement(RDF:Bag) +SAX.characters( + , 5) +SAX.endElement(RPM:Requires) +SAX.characters( + , 5) +SAX.startElement(RPM:Files) +SAX.characters(/bin/rpm +/usr/bin/find-provide, 885) +SAX.endElement(RPM:Files) +SAX.characters( + , 3) +SAX.endElement(RDF:Description) +SAX.characters( +, 1) +SAX.endElement(RDF:RDF) +SAX.endDocument() diff --git a/libxml2/result/rdf1.sax2 b/libxml2/result/rdf1.sax2 new file mode 100644 index 0000000..24822e1 --- /dev/null +++ b/libxml2/result/rdf1.sax2 @@ -0,0 +1,186 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(RDF, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 2, xmlns:RPM='http://www.rpm.org/', xmlns:RDF='http://www.w3.org/TR/WD-rdf-syntax#', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(Description, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 0, 1, 0, HREF='ftp:...', 78) +SAX.characters( + , 5) +SAX.startElementNs(Name, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(rpm, 3) +SAX.endElementNs(Name, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Version, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(2.5, 3) +SAX.endElementNs(Version, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Release, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(2, 1) +SAX.endElementNs(Release, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Arch, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(i386, 4) +SAX.endElementNs(Arch, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Os, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Linux, 5) +SAX.endElementNs(Os, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Distribution, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Manhattan , 10) +SAX.endElementNs(Distribution, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Vendor, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Red Hat Software, 16) +SAX.endElementNs(Vendor, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Packager, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Red Hat Software , 17) +SAX.characters(<, 1) +SAX.characters(bugs@redhat.com, 15) +SAX.characters(>, 1) +SAX.endElementNs(Packager, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Group, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Utilities/System, 16) +SAX.endElementNs(Group, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Summary, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Red Hat Package Manager, 23) +SAX.endElementNs(Summary, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Description, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(RPM is a powerful package mana, 248) +SAX.endElementNs(Description, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Copyright, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(GPL, 3) +SAX.endElementNs(Copyright, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Changelog, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(* Sun May 10 1998 Prospector S, 36) +SAX.characters(<, 1) +SAX.characters(bugs@redhat.com, 15) +SAX.characters(>, 1) +SAX.characters( + - translations modified for, 42) +SAX.endElementNs(Changelog, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Sources, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(rpm-2.5-2.src.rpm, 17) +SAX.endElementNs(Sources, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(SourcesFtp, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(ftp://ftp.redhat.com/pub/redha, 48) +SAX.endElementNs(SourcesFtp, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(BuildDate, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Sun May 10 14:52:32 1998, 24) +SAX.endElementNs(BuildDate, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Date, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(894826352, 9) +SAX.endElementNs(Date, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Size, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(850599, 6) +SAX.endElementNs(Size, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(BuildHost, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(porky.redhat.com, 16) +SAX.endElementNs(BuildHost, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Provides, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(Bag, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(rpm, 3) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 7) +SAX.endElementNs(Bag, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#') +SAX.characters( + , 5) +SAX.endElementNs(Provides, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Requires, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(Bag, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(/bin/sh, 7) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(ld-linux.so.2, 13) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(libc.so.6, 9) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(libdb.so.2, 10) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(libz.so.1, 9) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(/bin/bash, 9) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(/bin/sh, 7) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 7) +SAX.endElementNs(Bag, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#') +SAX.characters( + , 5) +SAX.endElementNs(Requires, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Files, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(/bin/rpm +/usr/bin/find-provide, 885) +SAX.endElementNs(Files, RPM, 'http://www.rpm.org/') +SAX.characters( + , 3) +SAX.endElementNs(Description, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#') +SAX.characters( +, 1) +SAX.endElementNs(RDF, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#') +SAX.endDocument() diff --git a/libxml2/result/rdf2 b/libxml2/result/rdf2 new file mode 100644 index 0000000..284946b --- /dev/null +++ b/libxml2/result/rdf2 @@ -0,0 +1,1899 @@ + + + + ncurses4 + 4.2 + 3 + i386 + Linux + DLD + delix Computer GmbH + Till Bubeck <bubeck@delix.de>, Ngo Than <than@delix.de> + Libraries + Bibliothek zur Ansteuerung von Terminals + Diese Library stellt dem Programmierer vom Terminal unabhängige +Routinen zur Ansteuerung Ihres Bildschirms zur Verfügung, die +speziell optimiert sind. +Diese Version ist die 'new curses' (ncurses) Variante und ist der +anerkannte Ersatz für die klassische Curses-Library, die nicht mehr +weiterentwickelt wird. + GPL + ncurses4-4.2-3.src.rpm + Tue May 12 19:30:26 1998 + 895015826 + 1373513 + erdbeere.delix.de + + + ncurses4 + libpanel.so.4 + libncurses.so.4 + libmenu.so.4 + libform.so.4 + ncurses + + + /lib/libncurses.so.4 +/lib/libncurses.so.4.2 +/usr/doc/ncurses4-4.2-3 +/usr/doc/ncurses4-4.2-3/ANNOUNCE.gz +/usr/doc/ncurses4-4.2-3/NEWS.gz +/usr/doc/ncurses4-4.2-3/README.gz +/usr/doc/ncurses4-4.2-3/TO-DO.gz +/usr/lib/libform.so.4 +/usr/lib/libform.so.4.2 +/usr/lib/libmenu.so.4 +/usr/lib/libmenu.so.4.2 +/usr/lib/libpanel.so.4 +/usr/lib/libpanel.so.4.2 +/usr/share/ncurses4 +/usr/share/ncurses4/tabset +/usr/share/ncurses4/tabset/std +/usr/share/ncurses4/tabset/stdcrt +/usr/share/ncurses4/tabset/vt100 +/usr/share/ncurses4/tabset/vt300 +/usr/share/ncurses4/terminfo +/usr/share/ncurses4/terminfo/1 +/usr/share/ncurses4/terminfo/1/1178 +/usr/share/ncurses4/terminfo/1/1730-lm +/usr/share/ncurses4/terminfo/2 +/usr/share/ncurses4/terminfo/2/2621 +/usr/share/ncurses4/terminfo/2/2621-wl +/usr/share/ncurses4/terminfo/2/2621A +/usr/share/ncurses4/terminfo/2/2621a +/usr/share/ncurses4/terminfo/3 +/usr/share/ncurses4/terminfo/3/386at +/usr/share/ncurses4/terminfo/3/3b1 +/usr/share/ncurses4/terminfo/4 +/usr/share/ncurses4/terminfo/4/4025ex +/usr/share/ncurses4/terminfo/4/4027ex +/usr/share/ncurses4/terminfo/4/4410-w +/usr/share/ncurses4/terminfo/5 +/usr/share/ncurses4/terminfo/5/5051 +/usr/share/ncurses4/terminfo/5/5410-w +/usr/share/ncurses4/terminfo/5/5620 +/usr/share/ncurses4/terminfo/5/5630-24 +/usr/share/ncurses4/terminfo/5/5630DMD-24 +/usr/share/ncurses4/terminfo/6 +/usr/share/ncurses4/terminfo/6/630-lm +/usr/share/ncurses4/terminfo/6/630MTG-24 +/usr/share/ncurses4/terminfo/7 +/usr/share/ncurses4/terminfo/7/730MTG-24 +/usr/share/ncurses4/terminfo/7/730MTG-41 +/usr/share/ncurses4/terminfo/7/730MTG-41r +/usr/share/ncurses4/terminfo/7/730MTGr +/usr/share/ncurses4/terminfo/7/730MTGr-24 +/usr/share/ncurses4/terminfo/8 +/usr/share/ncurses4/terminfo/8/8510 +/usr/share/ncurses4/terminfo/9 +/usr/share/ncurses4/terminfo/9/955-hb +/usr/share/ncurses4/terminfo/9/955-w +/usr/share/ncurses4/terminfo/P +/usr/share/ncurses4/terminfo/P/P12 +/usr/share/ncurses4/terminfo/P/P12-M +/usr/share/ncurses4/terminfo/P/P12-M-W +/usr/share/ncurses4/terminfo/P/P12-W +/usr/share/ncurses4/terminfo/P/P14 +/usr/share/ncurses4/terminfo/P/P14-M +/usr/share/ncurses4/terminfo/P/P14-M-W +/usr/share/ncurses4/terminfo/P/P14-W +/usr/share/ncurses4/terminfo/P/P4 +/usr/share/ncurses4/terminfo/P/P5 +/usr/share/ncurses4/terminfo/P/P7 +/usr/share/ncurses4/terminfo/P/P8 +/usr/share/ncurses4/terminfo/P/P8-W +/usr/share/ncurses4/terminfo/P/P9 +/usr/share/ncurses4/terminfo/P/P9-8 +/usr/share/ncurses4/terminfo/P/P9-8-W +/usr/share/ncurses4/terminfo/P/P9-W +/usr/share/ncurses4/terminfo/X +/usr/share/ncurses4/terminfo/X/X-hpterm +/usr/share/ncurses4/terminfo/a +/usr/share/ncurses4/terminfo/a/a210 +/usr/share/ncurses4/terminfo/a/a80 +/usr/share/ncurses4/terminfo/a/a980 +/usr/share/ncurses4/terminfo/a/aa4080 +/usr/share/ncurses4/terminfo/a/aaa +/usr/share/ncurses4/terminfo/a/aaa+dec +/usr/share/ncurses4/terminfo/a/aaa+rv +/usr/share/ncurses4/terminfo/a/aaa+unk +/usr/share/ncurses4/terminfo/a/aaa-18 +/usr/share/ncurses4/terminfo/a/aaa-18-rv +/usr/share/ncurses4/terminfo/a/aaa-20 +/usr/share/ncurses4/terminfo/a/aaa-22 +/usr/share/ncurses4/terminfo/a/aaa-24 +/usr/share/ncurses4/terminfo/a/aaa-24-rv +/usr/share/ncurses4/terminfo/a/aaa-26 +/usr/share/ncurses4/terminfo/a/aaa-28 +/usr/share/ncurses4/terminfo/a/aaa-30 +/usr/share/ncurses4/terminfo/a/aaa-30-ctxt +/usr/share/ncurses4/terminfo/a/aaa-30-rv +/usr/share/ncurses4/terminfo/a/aaa-30-rv-ctxt +/usr/share/ncurses4/terminfo/a/aaa-30-s +/usr/share/ncurses4/terminfo/a/aaa-30-s-ctxt +/usr/share/ncurses4/terminfo/a/aaa-30-s-rv +/usr/share/ncurses4/terminfo/a/aaa-30-s-rv-ct +/usr/share/ncurses4/terminfo/a/aaa-36 +/usr/share/ncurses4/terminfo/a/aaa-36-rv +/usr/share/ncurses4/terminfo/a/aaa-40 +/usr/share/ncurses4/terminfo/a/aaa-40-rv +/usr/share/ncurses4/terminfo/a/aaa-48 +/usr/share/ncurses4/terminfo/a/aaa-48-rv +/usr/share/ncurses4/terminfo/a/aaa-60 +/usr/share/ncurses4/terminfo/a/aaa-60-dec-rv +/usr/share/ncurses4/terminfo/a/aaa-60-rv +/usr/share/ncurses4/terminfo/a/aaa-60-s +/usr/share/ncurses4/terminfo/a/aaa-60-s-rv +/usr/share/ncurses4/terminfo/a/aaa-ctxt +/usr/share/ncurses4/terminfo/a/aaa-db +/usr/share/ncurses4/terminfo/a/aaa-rv +/usr/share/ncurses4/terminfo/a/aaa-rv-ctxt +/usr/share/ncurses4/terminfo/a/aaa-rv-unk +/usr/share/ncurses4/terminfo/a/aaa-s +/usr/share/ncurses4/terminfo/a/aaa-s-ctxt +/usr/share/ncurses4/terminfo/a/aaa-s-rv +/usr/share/ncurses4/terminfo/a/aaa-s-rv-ctxt +/usr/share/ncurses4/terminfo/a/aaa-unk +/usr/share/ncurses4/terminfo/a/aas1901 +/usr/share/ncurses4/terminfo/a/abm80 +/usr/share/ncurses4/terminfo/a/abm85 +/usr/share/ncurses4/terminfo/a/abm85e +/usr/share/ncurses4/terminfo/a/abm85h +/usr/share/ncurses4/terminfo/a/abm85h-old +/usr/share/ncurses4/terminfo/a/act4 +/usr/share/ncurses4/terminfo/a/act5 +/usr/share/ncurses4/terminfo/a/addrinfo +/usr/share/ncurses4/terminfo/a/adds980 +/usr/share/ncurses4/terminfo/a/addsviewpoint +/usr/share/ncurses4/terminfo/a/addsvp60 +/usr/share/ncurses4/terminfo/a/adm+sgr +/usr/share/ncurses4/terminfo/a/adm1 +/usr/share/ncurses4/terminfo/a/adm11 +/usr/share/ncurses4/terminfo/a/adm1178 +/usr/share/ncurses4/terminfo/a/adm12 +/usr/share/ncurses4/terminfo/a/adm1a +/usr/share/ncurses4/terminfo/a/adm2 +/usr/share/ncurses4/terminfo/a/adm20 +/usr/share/ncurses4/terminfo/a/adm21 +/usr/share/ncurses4/terminfo/a/adm22 +/usr/share/ncurses4/terminfo/a/adm3 +/usr/share/ncurses4/terminfo/a/adm31 +/usr/share/ncurses4/terminfo/a/adm31-old +/usr/share/ncurses4/terminfo/a/adm36 +/usr/share/ncurses4/terminfo/a/adm3a +/usr/share/ncurses4/terminfo/a/adm3a+ +/usr/share/ncurses4/terminfo/a/adm42 +/usr/share/ncurses4/terminfo/a/adm42-ns +/usr/share/ncurses4/terminfo/a/adm5 +/usr/share/ncurses4/terminfo/a/aepro +/usr/share/ncurses4/terminfo/a/aixterm-m +/usr/share/ncurses4/terminfo/a/aixterm-m-old +/usr/share/ncurses4/terminfo/a/aj +/usr/share/ncurses4/terminfo/a/aj510 +/usr/share/ncurses4/terminfo/a/aj830 +/usr/share/ncurses4/terminfo/a/aj832 +/usr/share/ncurses4/terminfo/a/alt2 +/usr/share/ncurses4/terminfo/a/alt3 +/usr/share/ncurses4/terminfo/a/alt4 +/usr/share/ncurses4/terminfo/a/alt5 +/usr/share/ncurses4/terminfo/a/alt7 +/usr/share/ncurses4/terminfo/a/alt7pc +/usr/share/ncurses4/terminfo/a/alto-h19 +/usr/share/ncurses4/terminfo/a/alto-heath +/usr/share/ncurses4/terminfo/a/altoh19 +/usr/share/ncurses4/terminfo/a/altoheath +/usr/share/ncurses4/terminfo/a/altos-2 +/usr/share/ncurses4/terminfo/a/altos-3 +/usr/share/ncurses4/terminfo/a/altos-4 +/usr/share/ncurses4/terminfo/a/altos-5 +/usr/share/ncurses4/terminfo/a/altos2 +/usr/share/ncurses4/terminfo/a/altos3 +/usr/share/ncurses4/terminfo/a/altos4 +/usr/share/ncurses4/terminfo/a/altos5 +/usr/share/ncurses4/terminfo/a/altos7 +/usr/share/ncurses4/terminfo/a/altos7pc +/usr/share/ncurses4/terminfo/a/ambas +/usr/share/ncurses4/terminfo/a/ambassador +/usr/share/ncurses4/terminfo/a/amiga +/usr/share/ncurses4/terminfo/a/amiga-h +/usr/share/ncurses4/terminfo/a/amp219 +/usr/share/ncurses4/terminfo/a/amp219w +/usr/share/ncurses4/terminfo/a/ampex-219 +/usr/share/ncurses4/terminfo/a/ampex-219w +/usr/share/ncurses4/terminfo/a/ampex-232 +/usr/share/ncurses4/terminfo/a/ampex175 +/usr/share/ncurses4/terminfo/a/ampex175-b +/usr/share/ncurses4/terminfo/a/ampex210 +/usr/share/ncurses4/terminfo/a/ampex219 +/usr/share/ncurses4/terminfo/a/ampex219w +/usr/share/ncurses4/terminfo/a/ampex232 +/usr/share/ncurses4/terminfo/a/ampex232w +/usr/share/ncurses4/terminfo/a/ampex80 +/usr/share/ncurses4/terminfo/a/annarbor4080 +/usr/share/ncurses4/terminfo/a/ansi +/usr/share/ncurses4/terminfo/a/ansi-color-2-emx +/usr/share/ncurses4/terminfo/a/ansi-color-3-emx +/usr/share/ncurses4/terminfo/a/ansi-emx +/usr/share/ncurses4/terminfo/a/ansi-m +/usr/share/ncurses4/terminfo/a/ansi-mini +/usr/share/ncurses4/terminfo/a/ansi-mono +/usr/share/ncurses4/terminfo/a/ansi-nt +/usr/share/ncurses4/terminfo/a/ansi.sys +/usr/share/ncurses4/terminfo/a/ansi.sys-old +/usr/share/ncurses4/terminfo/a/ansi.sysk +/usr/share/ncurses4/terminfo/a/ansi43m +/usr/share/ncurses4/terminfo/a/ansi77 +/usr/share/ncurses4/terminfo/a/ansi80x25 +/usr/share/ncurses4/terminfo/a/ansi80x25-mono +/usr/share/ncurses4/terminfo/a/ansi80x25-raw +/usr/share/ncurses4/terminfo/a/ansi80x30 +/usr/share/ncurses4/terminfo/a/ansi80x30-mono +/usr/share/ncurses4/terminfo/a/ansi80x43 +/usr/share/ncurses4/terminfo/a/ansi80x43-mono +/usr/share/ncurses4/terminfo/a/ansi80x50 +/usr/share/ncurses4/terminfo/a/ansi80x50-mono +/usr/share/ncurses4/terminfo/a/ansi80x60 +/usr/share/ncurses4/terminfo/a/ansi80x60-mono +/usr/share/ncurses4/terminfo/a/ansil +/usr/share/ncurses4/terminfo/a/ansil-mono +/usr/share/ncurses4/terminfo/a/ansis +/usr/share/ncurses4/terminfo/a/ansis-mono +/usr/share/ncurses4/terminfo/a/ansisysk +/usr/share/ncurses4/terminfo/a/ansiw +/usr/share/ncurses4/terminfo/a/ap-vm80 +/usr/share/ncurses4/terminfo/a/apl +/usr/share/ncurses4/terminfo/a/apollo +/usr/share/ncurses4/terminfo/a/apollo_15P +/usr/share/ncurses4/terminfo/a/apollo_19L +/usr/share/ncurses4/terminfo/a/apollo_color +/usr/share/ncurses4/terminfo/a/apple-80 +/usr/share/ncurses4/terminfo/a/apple-ae +/usr/share/ncurses4/terminfo/a/apple-soroc +/usr/share/ncurses4/terminfo/a/apple-uterm +/usr/share/ncurses4/terminfo/a/apple-uterm-vb +/usr/share/ncurses4/terminfo/a/apple-videx +/usr/share/ncurses4/terminfo/a/apple-videx2 +/usr/share/ncurses4/terminfo/a/apple-videx3 +/usr/share/ncurses4/terminfo/a/apple-vm80 +/usr/share/ncurses4/terminfo/a/apple2e +/usr/share/ncurses4/terminfo/a/apple2e-p +/usr/share/ncurses4/terminfo/a/apple80p +/usr/share/ncurses4/terminfo/a/appleII +/usr/share/ncurses4/terminfo/a/appleIIc +/usr/share/ncurses4/terminfo/a/appleIIe +/usr/share/ncurses4/terminfo/a/appleIIgs +/usr/share/ncurses4/terminfo/a/at386 +/usr/share/ncurses4/terminfo/a/atari +/usr/share/ncurses4/terminfo/a/att2300 +/usr/share/ncurses4/terminfo/a/att2350 +/usr/share/ncurses4/terminfo/a/att4410 +/usr/share/ncurses4/terminfo/a/att4410-w +/usr/share/ncurses4/terminfo/a/att4410v1 +/usr/share/ncurses4/terminfo/a/att4410v1-w +/usr/share/ncurses4/terminfo/a/att4415 +/usr/share/ncurses4/terminfo/a/att4415+nl +/usr/share/ncurses4/terminfo/a/att4415-nl +/usr/share/ncurses4/terminfo/a/att4415-rv +/usr/share/ncurses4/terminfo/a/att4415-rv-nl +/usr/share/ncurses4/terminfo/a/att4415-w +/usr/share/ncurses4/terminfo/a/att4415-w-nl +/usr/share/ncurses4/terminfo/a/att4415-w-rv +/usr/share/ncurses4/terminfo/a/att4415-w-rv-n +/usr/share/ncurses4/terminfo/a/att4418 +/usr/share/ncurses4/terminfo/a/att4418-w +/usr/share/ncurses4/terminfo/a/att4420 +/usr/share/ncurses4/terminfo/a/att4424 +/usr/share/ncurses4/terminfo/a/att4424-1 +/usr/share/ncurses4/terminfo/a/att4424m +/usr/share/ncurses4/terminfo/a/att4425 +/usr/share/ncurses4/terminfo/a/att4425-nl +/usr/share/ncurses4/terminfo/a/att4425-w +/usr/share/ncurses4/terminfo/a/att4426 +/usr/share/ncurses4/terminfo/a/att500 +/usr/share/ncurses4/terminfo/a/att505 +/usr/share/ncurses4/terminfo/a/att505-24 +/usr/share/ncurses4/terminfo/a/att510a +/usr/share/ncurses4/terminfo/a/att510d +/usr/share/ncurses4/terminfo/a/att513 +/usr/share/ncurses4/terminfo/a/att5310 +/usr/share/ncurses4/terminfo/a/att5320 +/usr/share/ncurses4/terminfo/a/att5410 +/usr/share/ncurses4/terminfo/a/att5410-w +/usr/share/ncurses4/terminfo/a/att5410v1 +/usr/share/ncurses4/terminfo/a/att5410v1-w +/usr/share/ncurses4/terminfo/a/att5418 +/usr/share/ncurses4/terminfo/a/att5418-w +/usr/share/ncurses4/terminfo/a/att5420 +/usr/share/ncurses4/terminfo/a/att5420+nl +/usr/share/ncurses4/terminfo/a/att5420-nl +/usr/share/ncurses4/terminfo/a/att5420-rv +/usr/share/ncurses4/terminfo/a/att5420-rv-nl +/usr/share/ncurses4/terminfo/a/att5420-w +/usr/share/ncurses4/terminfo/a/att5420-w-nl +/usr/share/ncurses4/terminfo/a/att5420-w-rv +/usr/share/ncurses4/terminfo/a/att5420-w-rv-n +/usr/share/ncurses4/terminfo/a/att5420_2 +/usr/share/ncurses4/terminfo/a/att5420_2-w +/usr/share/ncurses4/terminfo/a/att5425 +/usr/share/ncurses4/terminfo/a/att5425-nl +/usr/share/ncurses4/terminfo/a/att5425-w +/usr/share/ncurses4/terminfo/a/att5430 +/usr/share/ncurses4/terminfo/a/att5620 +/usr/share/ncurses4/terminfo/a/att5620-1 +/usr/share/ncurses4/terminfo/a/att5620-24 +/usr/share/ncurses4/terminfo/a/att5620-34 +/usr/share/ncurses4/terminfo/a/att5620-s +/usr/share/ncurses4/terminfo/a/att605 +/usr/share/ncurses4/terminfo/a/att605-pc +/usr/share/ncurses4/terminfo/a/att605-w +/usr/share/ncurses4/terminfo/a/att610 +/usr/share/ncurses4/terminfo/a/att610-103k +/usr/share/ncurses4/terminfo/a/att610-103k-w +/usr/share/ncurses4/terminfo/a/att610-w +/usr/share/ncurses4/terminfo/a/att615 +/usr/share/ncurses4/terminfo/a/att615-103k +/usr/share/ncurses4/terminfo/a/att615-103k-w +/usr/share/ncurses4/terminfo/a/att615-w +/usr/share/ncurses4/terminfo/a/att620 +/usr/share/ncurses4/terminfo/a/att620-103k +/usr/share/ncurses4/terminfo/a/att620-103k-w +/usr/share/ncurses4/terminfo/a/att620-w +/usr/share/ncurses4/terminfo/a/att630 +/usr/share/ncurses4/terminfo/a/att630-24 +/usr/share/ncurses4/terminfo/a/att6386 +/usr/share/ncurses4/terminfo/a/att730 +/usr/share/ncurses4/terminfo/a/att730-24 +/usr/share/ncurses4/terminfo/a/att730-41 +/usr/share/ncurses4/terminfo/a/att7300 +/usr/share/ncurses4/terminfo/a/att730r +/usr/share/ncurses4/terminfo/a/att730r-24 +/usr/share/ncurses4/terminfo/a/att730r-41 +/usr/share/ncurses4/terminfo/a/avatar +/usr/share/ncurses4/terminfo/a/avatar0 +/usr/share/ncurses4/terminfo/a/avatar0+ +/usr/share/ncurses4/terminfo/a/avatar1 +/usr/share/ncurses4/terminfo/a/avt +/usr/share/ncurses4/terminfo/a/avt+s +/usr/share/ncurses4/terminfo/a/avt-ns +/usr/share/ncurses4/terminfo/a/avt-rv +/usr/share/ncurses4/terminfo/a/avt-rv-ns +/usr/share/ncurses4/terminfo/a/avt-rv-s +/usr/share/ncurses4/terminfo/a/avt-s +/usr/share/ncurses4/terminfo/a/avt-w +/usr/share/ncurses4/terminfo/a/avt-w-ns +/usr/share/ncurses4/terminfo/a/avt-w-rv +/usr/share/ncurses4/terminfo/a/avt-w-rv-ns +/usr/share/ncurses4/terminfo/a/avt-w-rv-s +/usr/share/ncurses4/terminfo/a/avt-w-s +/usr/share/ncurses4/terminfo/a/aws +/usr/share/ncurses4/terminfo/a/awsc +/usr/share/ncurses4/terminfo/b +/usr/share/ncurses4/terminfo/b/b-128 +/usr/share/ncurses4/terminfo/b/bantam +/usr/share/ncurses4/terminfo/b/basic4 +/usr/share/ncurses4/terminfo/b/basis +/usr/share/ncurses4/terminfo/b/bct510a +/usr/share/ncurses4/terminfo/b/bct510d +/usr/share/ncurses4/terminfo/b/beacon +/usr/share/ncurses4/terminfo/b/bee +/usr/share/ncurses4/terminfo/b/beehive +/usr/share/ncurses4/terminfo/b/beehive3 +/usr/share/ncurses4/terminfo/b/beehive4 +/usr/share/ncurses4/terminfo/b/beehiveIIIm +/usr/share/ncurses4/terminfo/b/beterm +/usr/share/ncurses4/terminfo/b/bg1.25 +/usr/share/ncurses4/terminfo/b/bg1.25nv +/usr/share/ncurses4/terminfo/b/bg1.25rv +/usr/share/ncurses4/terminfo/b/bg2.0 +/usr/share/ncurses4/terminfo/b/bg2.0nv +/usr/share/ncurses4/terminfo/b/bg2.0rv +/usr/share/ncurses4/terminfo/b/bg3.10 +/usr/share/ncurses4/terminfo/b/bg3.10nv +/usr/share/ncurses4/terminfo/b/bg3.10rv +/usr/share/ncurses4/terminfo/b/bh3m +/usr/share/ncurses4/terminfo/b/bh4 +/usr/share/ncurses4/terminfo/b/bitgraph +/usr/share/ncurses4/terminfo/b/blit +/usr/share/ncurses4/terminfo/b/bobcat +/usr/share/ncurses4/terminfo/b/bsdos +/usr/share/ncurses4/terminfo/b/bsdos-bold +/usr/share/ncurses4/terminfo/c +/usr/share/ncurses4/terminfo/c/c100 +/usr/share/ncurses4/terminfo/c/c100-1p +/usr/share/ncurses4/terminfo/c/c100-4p +/usr/share/ncurses4/terminfo/c/c100-rv +/usr/share/ncurses4/terminfo/c/c100-rv-4p +/usr/share/ncurses4/terminfo/c/c104 +/usr/share/ncurses4/terminfo/c/c108 +/usr/share/ncurses4/terminfo/c/c108-4p +/usr/share/ncurses4/terminfo/c/c108-8p +/usr/share/ncurses4/terminfo/c/c108-rv +/usr/share/ncurses4/terminfo/c/c108-rv-4p +/usr/share/ncurses4/terminfo/c/c108-rv-8p +/usr/share/ncurses4/terminfo/c/c108-w +/usr/share/ncurses4/terminfo/c/c108-w-8p +/usr/share/ncurses4/terminfo/c/c300 +/usr/share/ncurses4/terminfo/c/c301 +/usr/share/ncurses4/terminfo/c/c321 +/usr/share/ncurses4/terminfo/c/ca22851 +/usr/share/ncurses4/terminfo/c/cad68-2 +/usr/share/ncurses4/terminfo/c/cad68-3 +/usr/share/ncurses4/terminfo/c/cbblit +/usr/share/ncurses4/terminfo/c/cbunix +/usr/share/ncurses4/terminfo/c/cci +/usr/share/ncurses4/terminfo/c/cci1 +/usr/share/ncurses4/terminfo/c/cdc456 +/usr/share/ncurses4/terminfo/c/cdc721 +/usr/share/ncurses4/terminfo/c/cdc721-esc +/usr/share/ncurses4/terminfo/c/cdc721ll +/usr/share/ncurses4/terminfo/c/cdc752 +/usr/share/ncurses4/terminfo/c/cdc756 +/usr/share/ncurses4/terminfo/c/cg7900 +/usr/share/ncurses4/terminfo/c/cgc2 +/usr/share/ncurses4/terminfo/c/cgc3 +/usr/share/ncurses4/terminfo/c/chromatics +/usr/share/ncurses4/terminfo/c/ci8510 +/usr/share/ncurses4/terminfo/c/cit-80 +/usr/share/ncurses4/terminfo/c/cit101 +/usr/share/ncurses4/terminfo/c/cit101e +/usr/share/ncurses4/terminfo/c/cit101e-132 +/usr/share/ncurses4/terminfo/c/cit101e-n +/usr/share/ncurses4/terminfo/c/cit101e-n132 +/usr/share/ncurses4/terminfo/c/cit101e-rv +/usr/share/ncurses4/terminfo/c/cit500 +/usr/share/ncurses4/terminfo/c/cit80 +/usr/share/ncurses4/terminfo/c/citc +/usr/share/ncurses4/terminfo/c/citoh +/usr/share/ncurses4/terminfo/c/citoh-6lpi +/usr/share/ncurses4/terminfo/c/citoh-8lpi +/usr/share/ncurses4/terminfo/c/citoh-comp +/usr/share/ncurses4/terminfo/c/citoh-elite +/usr/share/ncurses4/terminfo/c/citoh-pica +/usr/share/ncurses4/terminfo/c/citoh-prop +/usr/share/ncurses4/terminfo/c/citoh-ps +/usr/share/ncurses4/terminfo/c/coco3 +/usr/share/ncurses4/terminfo/c/coherent +/usr/share/ncurses4/terminfo/c/color_xterm +/usr/share/ncurses4/terminfo/c/colorscan +/usr/share/ncurses4/terminfo/c/commodore +/usr/share/ncurses4/terminfo/c/concept +/usr/share/ncurses4/terminfo/c/concept-avt +/usr/share/ncurses4/terminfo/c/concept100 +/usr/share/ncurses4/terminfo/c/concept100-rv +/usr/share/ncurses4/terminfo/c/concept108 +/usr/share/ncurses4/terminfo/c/concept108-4p +/usr/share/ncurses4/terminfo/c/concept108-8p +/usr/share/ncurses4/terminfo/c/concept108-w-8 +/usr/share/ncurses4/terminfo/c/concept108-w8p +/usr/share/ncurses4/terminfo/c/concept108rv4p +/usr/share/ncurses4/terminfo/c/cons25 +/usr/share/ncurses4/terminfo/c/cons25-iso-m +/usr/share/ncurses4/terminfo/c/cons25-iso8859 +/usr/share/ncurses4/terminfo/c/cons25-koi8-r +/usr/share/ncurses4/terminfo/c/cons25-koi8r-m +/usr/share/ncurses4/terminfo/c/cons25-m +/usr/share/ncurses4/terminfo/c/cons25l1 +/usr/share/ncurses4/terminfo/c/cons25l1-m +/usr/share/ncurses4/terminfo/c/cons25r +/usr/share/ncurses4/terminfo/c/cons25r-m +/usr/share/ncurses4/terminfo/c/cons25w +/usr/share/ncurses4/terminfo/c/cons30 +/usr/share/ncurses4/terminfo/c/cons30-m +/usr/share/ncurses4/terminfo/c/cons43 +/usr/share/ncurses4/terminfo/c/cons43-m +/usr/share/ncurses4/terminfo/c/cons50 +/usr/share/ncurses4/terminfo/c/cons50-iso-m +/usr/share/ncurses4/terminfo/c/cons50-iso8859 +/usr/share/ncurses4/terminfo/c/cons50-koi8r +/usr/share/ncurses4/terminfo/c/cons50-koi8r-m +/usr/share/ncurses4/terminfo/c/cons50-m +/usr/share/ncurses4/terminfo/c/cons50l1 +/usr/share/ncurses4/terminfo/c/cons50l1-m +/usr/share/ncurses4/terminfo/c/cons50r +/usr/share/ncurses4/terminfo/c/cons50r-m +/usr/share/ncurses4/terminfo/c/cons60 +/usr/share/ncurses4/terminfo/c/cons60-iso +/usr/share/ncurses4/terminfo/c/cons60-iso-m +/usr/share/ncurses4/terminfo/c/cons60-koi8r +/usr/share/ncurses4/terminfo/c/cons60-koi8r-m +/usr/share/ncurses4/terminfo/c/cons60-m +/usr/share/ncurses4/terminfo/c/cons60l1 +/usr/share/ncurses4/terminfo/c/cons60l1-m +/usr/share/ncurses4/terminfo/c/cons60r +/usr/share/ncurses4/terminfo/c/cons60r-m +/usr/share/ncurses4/terminfo/c/contel300 +/usr/share/ncurses4/terminfo/c/contel301 +/usr/share/ncurses4/terminfo/c/contel320 +/usr/share/ncurses4/terminfo/c/contel321 +/usr/share/ncurses4/terminfo/c/cops +/usr/share/ncurses4/terminfo/c/cops-10 +/usr/share/ncurses4/terminfo/c/cops10 +/usr/share/ncurses4/terminfo/c/cs10 +/usr/share/ncurses4/terminfo/c/cs10-w +/usr/share/ncurses4/terminfo/c/ct82 +/usr/share/ncurses4/terminfo/c/ct8500 +/usr/share/ncurses4/terminfo/c/ctrm +/usr/share/ncurses4/terminfo/c/cx +/usr/share/ncurses4/terminfo/c/cx100 +/usr/share/ncurses4/terminfo/c/cyb110 +/usr/share/ncurses4/terminfo/c/cyb83 +/usr/share/ncurses4/terminfo/d +/usr/share/ncurses4/terminfo/d/d132 +/usr/share/ncurses4/terminfo/d/d80 +/usr/share/ncurses4/terminfo/d/d800 +/usr/share/ncurses4/terminfo/d/datagraphix +/usr/share/ncurses4/terminfo/d/datamedia2500 +/usr/share/ncurses4/terminfo/d/datapoint +/usr/share/ncurses4/terminfo/d/dataspeed40 +/usr/share/ncurses4/terminfo/d/dd5000 +/usr/share/ncurses4/terminfo/d/ddr +/usr/share/ncurses4/terminfo/d/ddr3180 +/usr/share/ncurses4/terminfo/d/dec-vt100 +/usr/share/ncurses4/terminfo/d/dec-vt220 +/usr/share/ncurses4/terminfo/d/dec-vt330 +/usr/share/ncurses4/terminfo/d/dec-vt340 +/usr/share/ncurses4/terminfo/d/dec-vt400 +/usr/share/ncurses4/terminfo/d/decpro +/usr/share/ncurses4/terminfo/d/decwriter +/usr/share/ncurses4/terminfo/d/delta +/usr/share/ncurses4/terminfo/d/dg-ansi +/usr/share/ncurses4/terminfo/d/dg100 +/usr/share/ncurses4/terminfo/d/dg200 +/usr/share/ncurses4/terminfo/d/dg210 +/usr/share/ncurses4/terminfo/d/dg211 +/usr/share/ncurses4/terminfo/d/dg450 +/usr/share/ncurses4/terminfo/d/dg460-ansi +/usr/share/ncurses4/terminfo/d/dg6053 +/usr/share/ncurses4/terminfo/d/dg6134 +/usr/share/ncurses4/terminfo/d/diablo +/usr/share/ncurses4/terminfo/d/diablo-lm +/usr/share/ncurses4/terminfo/d/diablo1620 +/usr/share/ncurses4/terminfo/d/diablo1620-m8 +/usr/share/ncurses4/terminfo/d/diablo1640 +/usr/share/ncurses4/terminfo/d/diablo1640-lm +/usr/share/ncurses4/terminfo/d/diablo1640-m8 +/usr/share/ncurses4/terminfo/d/diablo1720 +/usr/share/ncurses4/terminfo/d/diablo1730 +/usr/share/ncurses4/terminfo/d/diablo1740 +/usr/share/ncurses4/terminfo/d/diablo1740-lm +/usr/share/ncurses4/terminfo/d/diablo450 +/usr/share/ncurses4/terminfo/d/diablo630 +/usr/share/ncurses4/terminfo/d/dialogue +/usr/share/ncurses4/terminfo/d/dialogue80 +/usr/share/ncurses4/terminfo/d/digilog +/usr/share/ncurses4/terminfo/d/dku7003 +/usr/share/ncurses4/terminfo/d/dku7003-dumb +/usr/share/ncurses4/terminfo/d/dm1520 +/usr/share/ncurses4/terminfo/d/dm1521 +/usr/share/ncurses4/terminfo/d/dm2500 +/usr/share/ncurses4/terminfo/d/dm3025 +/usr/share/ncurses4/terminfo/d/dm3045 +/usr/share/ncurses4/terminfo/d/dm80 +/usr/share/ncurses4/terminfo/d/dm80w +/usr/share/ncurses4/terminfo/d/dmchat +/usr/share/ncurses4/terminfo/d/dmd +/usr/share/ncurses4/terminfo/d/dmd-24 +/usr/share/ncurses4/terminfo/d/dmd-34 +/usr/share/ncurses4/terminfo/d/dmd1 +/usr/share/ncurses4/terminfo/d/dmdt80 +/usr/share/ncurses4/terminfo/d/dmdt80w +/usr/share/ncurses4/terminfo/d/dmterm +/usr/share/ncurses4/terminfo/d/dp3360 +/usr/share/ncurses4/terminfo/d/dp8242 +/usr/share/ncurses4/terminfo/d/ds40 +/usr/share/ncurses4/terminfo/d/ds40-2 +/usr/share/ncurses4/terminfo/d/dt-100 +/usr/share/ncurses4/terminfo/d/dt-100w +/usr/share/ncurses4/terminfo/d/dt100 +/usr/share/ncurses4/terminfo/d/dt100w +/usr/share/ncurses4/terminfo/d/dt110 +/usr/share/ncurses4/terminfo/d/dt80 +/usr/share/ncurses4/terminfo/d/dt80-sas +/usr/share/ncurses4/terminfo/d/dt80w +/usr/share/ncurses4/terminfo/d/dtc300s +/usr/share/ncurses4/terminfo/d/dtc382 +/usr/share/ncurses4/terminfo/d/dtterm +/usr/share/ncurses4/terminfo/d/dumb +/usr/share/ncurses4/terminfo/d/dw +/usr/share/ncurses4/terminfo/d/dw1 +/usr/share/ncurses4/terminfo/d/dw2 +/usr/share/ncurses4/terminfo/d/dw3 +/usr/share/ncurses4/terminfo/d/dw4 +/usr/share/ncurses4/terminfo/d/dwk +/usr/share/ncurses4/terminfo/d/dwk-vt +/usr/share/ncurses4/terminfo/e +/usr/share/ncurses4/terminfo/e/ecma+color +/usr/share/ncurses4/terminfo/e/ecma+sgr +/usr/share/ncurses4/terminfo/e/emots +/usr/share/ncurses4/terminfo/e/emu +/usr/share/ncurses4/terminfo/e/env230 +/usr/share/ncurses4/terminfo/e/envision230 +/usr/share/ncurses4/terminfo/e/ep40 +/usr/share/ncurses4/terminfo/e/ep4000 +/usr/share/ncurses4/terminfo/e/ep4080 +/usr/share/ncurses4/terminfo/e/ep48 +/usr/share/ncurses4/terminfo/e/ergo4000 +/usr/share/ncurses4/terminfo/e/esprit +/usr/share/ncurses4/terminfo/e/esprit-am +/usr/share/ncurses4/terminfo/e/eterm +/usr/share/ncurses4/terminfo/e/ex155 +/usr/share/ncurses4/terminfo/e/excel62 +/usr/share/ncurses4/terminfo/e/excel62-rv +/usr/share/ncurses4/terminfo/e/excel62-w +/usr/share/ncurses4/terminfo/e/excel64 +/usr/share/ncurses4/terminfo/e/excel64-rv +/usr/share/ncurses4/terminfo/e/excel64-w +/usr/share/ncurses4/terminfo/e/exec80 +/usr/share/ncurses4/terminfo/f +/usr/share/ncurses4/terminfo/f/f100 +/usr/share/ncurses4/terminfo/f/f100-rv +/usr/share/ncurses4/terminfo/f/f110 +/usr/share/ncurses4/terminfo/f/f110-14 +/usr/share/ncurses4/terminfo/f/f110-14w +/usr/share/ncurses4/terminfo/f/f110-w +/usr/share/ncurses4/terminfo/f/f1720 +/usr/share/ncurses4/terminfo/f/f1720a +/usr/share/ncurses4/terminfo/f/f200 +/usr/share/ncurses4/terminfo/f/f200-w +/usr/share/ncurses4/terminfo/f/f200vi +/usr/share/ncurses4/terminfo/f/f200vi-w +/usr/share/ncurses4/terminfo/f/falco +/usr/share/ncurses4/terminfo/f/falco-p +/usr/share/ncurses4/terminfo/f/fenix +/usr/share/ncurses4/terminfo/f/fenixw +/usr/share/ncurses4/terminfo/f/fixterm +/usr/share/ncurses4/terminfo/f/fortune +/usr/share/ncurses4/terminfo/f/fos +/usr/share/ncurses4/terminfo/f/fox +/usr/share/ncurses4/terminfo/f/freedom +/usr/share/ncurses4/terminfo/f/freedom-rv +/usr/share/ncurses4/terminfo/f/freedom100 +/usr/share/ncurses4/terminfo/f/freedom110 +/usr/share/ncurses4/terminfo/f/freedom200 +/usr/share/ncurses4/terminfo/g +/usr/share/ncurses4/terminfo/g/gator +/usr/share/ncurses4/terminfo/g/gator-52 +/usr/share/ncurses4/terminfo/g/gator-52t +/usr/share/ncurses4/terminfo/g/gator-t +/usr/share/ncurses4/terminfo/g/gigi +/usr/share/ncurses4/terminfo/g/glasstty +/usr/share/ncurses4/terminfo/g/go-225 +/usr/share/ncurses4/terminfo/g/go140 +/usr/share/ncurses4/terminfo/g/go140w +/usr/share/ncurses4/terminfo/g/go225 +/usr/share/ncurses4/terminfo/g/graphos +/usr/share/ncurses4/terminfo/g/graphos-30 +/usr/share/ncurses4/terminfo/g/gs5430 +/usr/share/ncurses4/terminfo/g/gs5430-22 +/usr/share/ncurses4/terminfo/g/gs5430-24 +/usr/share/ncurses4/terminfo/g/gs6300 +/usr/share/ncurses4/terminfo/g/gsi +/usr/share/ncurses4/terminfo/g/gt100 +/usr/share/ncurses4/terminfo/g/gt100a +/usr/share/ncurses4/terminfo/g/gt40 +/usr/share/ncurses4/terminfo/g/gt42 +/usr/share/ncurses4/terminfo/g/guru +/usr/share/ncurses4/terminfo/g/guru+rv +/usr/share/ncurses4/terminfo/g/guru+s +/usr/share/ncurses4/terminfo/g/guru+unk +/usr/share/ncurses4/terminfo/g/guru-24 +/usr/share/ncurses4/terminfo/g/guru-33 +/usr/share/ncurses4/terminfo/g/guru-33-rv +/usr/share/ncurses4/terminfo/g/guru-33-s +/usr/share/ncurses4/terminfo/g/guru-44 +/usr/share/ncurses4/terminfo/g/guru-44-s +/usr/share/ncurses4/terminfo/g/guru-76 +/usr/share/ncurses4/terminfo/g/guru-76-lp +/usr/share/ncurses4/terminfo/g/guru-76-s +/usr/share/ncurses4/terminfo/g/guru-76-w +/usr/share/ncurses4/terminfo/g/guru-76-w-s +/usr/share/ncurses4/terminfo/g/guru-76-wm +/usr/share/ncurses4/terminfo/g/guru-lp +/usr/share/ncurses4/terminfo/g/guru-nctxt +/usr/share/ncurses4/terminfo/g/guru-rv +/usr/share/ncurses4/terminfo/g/guru-s +/usr/share/ncurses4/terminfo/h +/usr/share/ncurses4/terminfo/h/h-100 +/usr/share/ncurses4/terminfo/h/h-100bw +/usr/share/ncurses4/terminfo/h/h100 +/usr/share/ncurses4/terminfo/h/h100bw +/usr/share/ncurses4/terminfo/h/h19 +/usr/share/ncurses4/terminfo/h/h19-a +/usr/share/ncurses4/terminfo/h/h19-b +/usr/share/ncurses4/terminfo/h/h19-bs +/usr/share/ncurses4/terminfo/h/h19-g +/usr/share/ncurses4/terminfo/h/h19-smul +/usr/share/ncurses4/terminfo/h/h19-u +/usr/share/ncurses4/terminfo/h/h19-us +/usr/share/ncurses4/terminfo/h/h19a +/usr/share/ncurses4/terminfo/h/h19g +/usr/share/ncurses4/terminfo/h/h19k +/usr/share/ncurses4/terminfo/h/h19kermit +/usr/share/ncurses4/terminfo/h/h19us +/usr/share/ncurses4/terminfo/h/h29a-kc-bc +/usr/share/ncurses4/terminfo/h/h29a-kc-uc +/usr/share/ncurses4/terminfo/h/h29a-nkc-bc +/usr/share/ncurses4/terminfo/h/h29a-nkc-uc +/usr/share/ncurses4/terminfo/h/h80 +/usr/share/ncurses4/terminfo/h/ha8675 +/usr/share/ncurses4/terminfo/h/ha8686 +/usr/share/ncurses4/terminfo/h/hazel +/usr/share/ncurses4/terminfo/h/hds200 +/usr/share/ncurses4/terminfo/h/he80 +/usr/share/ncurses4/terminfo/h/heath +/usr/share/ncurses4/terminfo/h/heath-19 +/usr/share/ncurses4/terminfo/h/heath-ansi +/usr/share/ncurses4/terminfo/h/heathkit +/usr/share/ncurses4/terminfo/h/heathkit-a +/usr/share/ncurses4/terminfo/h/hft +/usr/share/ncurses4/terminfo/h/hft-c +/usr/share/ncurses4/terminfo/h/hirez100 +/usr/share/ncurses4/terminfo/h/hirez100-w +/usr/share/ncurses4/terminfo/h/hmod1 +/usr/share/ncurses4/terminfo/h/hp +/usr/share/ncurses4/terminfo/h/hp+arrows +/usr/share/ncurses4/terminfo/h/hp+color +/usr/share/ncurses4/terminfo/h/hp+labels +/usr/share/ncurses4/terminfo/h/hp+pfk+arrows +/usr/share/ncurses4/terminfo/h/hp+pfk+cr +/usr/share/ncurses4/terminfo/h/hp+pfk-cr +/usr/share/ncurses4/terminfo/h/hp+printer +/usr/share/ncurses4/terminfo/h/hp110 +/usr/share/ncurses4/terminfo/h/hp150 +/usr/share/ncurses4/terminfo/h/hp2 +/usr/share/ncurses4/terminfo/h/hp236 +/usr/share/ncurses4/terminfo/h/hp2382 +/usr/share/ncurses4/terminfo/h/hp2382a +/usr/share/ncurses4/terminfo/h/hp2392 +/usr/share/ncurses4/terminfo/h/hp2397 +/usr/share/ncurses4/terminfo/h/hp2397a +/usr/share/ncurses4/terminfo/h/hp2621 +/usr/share/ncurses4/terminfo/h/hp2621-48 +/usr/share/ncurses4/terminfo/h/hp2621-a +/usr/share/ncurses4/terminfo/h/hp2621-ba +/usr/share/ncurses4/terminfo/h/hp2621-fl +/usr/share/ncurses4/terminfo/h/hp2621-k45 +/usr/share/ncurses4/terminfo/h/hp2621-nl +/usr/share/ncurses4/terminfo/h/hp2621-nt +/usr/share/ncurses4/terminfo/h/hp2621-wl +/usr/share/ncurses4/terminfo/h/hp2621A +/usr/share/ncurses4/terminfo/h/hp2621a +/usr/share/ncurses4/terminfo/h/hp2621a-a +/usr/share/ncurses4/terminfo/h/hp2621b +/usr/share/ncurses4/terminfo/h/hp2621b-kx +/usr/share/ncurses4/terminfo/h/hp2621b-kx-p +/usr/share/ncurses4/terminfo/h/hp2621b-p +/usr/share/ncurses4/terminfo/h/hp2621k45 +/usr/share/ncurses4/terminfo/h/hp2621p +/usr/share/ncurses4/terminfo/h/hp2621p-a +/usr/share/ncurses4/terminfo/h/hp2622 +/usr/share/ncurses4/terminfo/h/hp2622a +/usr/share/ncurses4/terminfo/h/hp2623 +/usr/share/ncurses4/terminfo/h/hp2623a +/usr/share/ncurses4/terminfo/h/hp2624 +/usr/share/ncurses4/terminfo/h/hp2624-10p +/usr/share/ncurses4/terminfo/h/hp2624a +/usr/share/ncurses4/terminfo/h/hp2624a-10p +/usr/share/ncurses4/terminfo/h/hp2624b +/usr/share/ncurses4/terminfo/h/hp2624b-10p +/usr/share/ncurses4/terminfo/h/hp2624b-10p-p +/usr/share/ncurses4/terminfo/h/hp2624b-4p +/usr/share/ncurses4/terminfo/h/hp2624b-4p-p +/usr/share/ncurses4/terminfo/h/hp2624b-p +/usr/share/ncurses4/terminfo/h/hp2626 +/usr/share/ncurses4/terminfo/h/hp2626-12 +/usr/share/ncurses4/terminfo/h/hp2626-12-s +/usr/share/ncurses4/terminfo/h/hp2626-12x40 +/usr/share/ncurses4/terminfo/h/hp2626-ns +/usr/share/ncurses4/terminfo/h/hp2626-s +/usr/share/ncurses4/terminfo/h/hp2626-x40 +/usr/share/ncurses4/terminfo/h/hp2626a +/usr/share/ncurses4/terminfo/h/hp2626p +/usr/share/ncurses4/terminfo/h/hp2627a +/usr/share/ncurses4/terminfo/h/hp2627a-rev +/usr/share/ncurses4/terminfo/h/hp2627c +/usr/share/ncurses4/terminfo/h/hp262x +/usr/share/ncurses4/terminfo/h/hp2640a +/usr/share/ncurses4/terminfo/h/hp2640b +/usr/share/ncurses4/terminfo/h/hp2641a +/usr/share/ncurses4/terminfo/h/hp2644a +/usr/share/ncurses4/terminfo/h/hp2645 +/usr/share/ncurses4/terminfo/h/hp2645a +/usr/share/ncurses4/terminfo/h/hp2647a +/usr/share/ncurses4/terminfo/h/hp2648 +/usr/share/ncurses4/terminfo/h/hp2648a +/usr/share/ncurses4/terminfo/h/hp300h +/usr/share/ncurses4/terminfo/h/hp45 +/usr/share/ncurses4/terminfo/h/hp700 +/usr/share/ncurses4/terminfo/h/hp700-wy +/usr/share/ncurses4/terminfo/h/hp70092 +/usr/share/ncurses4/terminfo/h/hp70092A +/usr/share/ncurses4/terminfo/h/hp70092a +/usr/share/ncurses4/terminfo/h/hp9837 +/usr/share/ncurses4/terminfo/h/hp9845 +/usr/share/ncurses4/terminfo/h/hp98550 +/usr/share/ncurses4/terminfo/h/hp98550a +/usr/share/ncurses4/terminfo/h/hp98720 +/usr/share/ncurses4/terminfo/h/hp98721 +/usr/share/ncurses4/terminfo/h/hpansi +/usr/share/ncurses4/terminfo/h/hpex +/usr/share/ncurses4/terminfo/h/hpex2 +/usr/share/ncurses4/terminfo/h/hpgeneric +/usr/share/ncurses4/terminfo/h/hpsub +/usr/share/ncurses4/terminfo/h/hpterm +/usr/share/ncurses4/terminfo/h/htx11 +/usr/share/ncurses4/terminfo/h/hz1000 +/usr/share/ncurses4/terminfo/h/hz1420 +/usr/share/ncurses4/terminfo/h/hz1500 +/usr/share/ncurses4/terminfo/h/hz1510 +/usr/share/ncurses4/terminfo/h/hz1520 +/usr/share/ncurses4/terminfo/h/hz1520-noesc +/usr/share/ncurses4/terminfo/h/hz1552 +/usr/share/ncurses4/terminfo/h/hz1552-rv +/usr/share/ncurses4/terminfo/h/hz2000 +/usr/share/ncurses4/terminfo/i +/usr/share/ncurses4/terminfo/i/i100 +/usr/share/ncurses4/terminfo/i/i3101 +/usr/share/ncurses4/terminfo/i/i3151 +/usr/share/ncurses4/terminfo/i/i3164 +/usr/share/ncurses4/terminfo/i/i400 +/usr/share/ncurses4/terminfo/i/ibcs2 +/usr/share/ncurses4/terminfo/i/ibm-apl +/usr/share/ncurses4/terminfo/i/ibm-pc +/usr/share/ncurses4/terminfo/i/ibm-system1 +/usr/share/ncurses4/terminfo/i/ibm3101 +/usr/share/ncurses4/terminfo/i/ibm3151 +/usr/share/ncurses4/terminfo/i/ibm3161 +/usr/share/ncurses4/terminfo/i/ibm3163 +/usr/share/ncurses4/terminfo/i/ibm3164 +/usr/share/ncurses4/terminfo/i/ibm327x +/usr/share/ncurses4/terminfo/i/ibm5051 +/usr/share/ncurses4/terminfo/i/ibm5081 +/usr/share/ncurses4/terminfo/i/ibm5081-c +/usr/share/ncurses4/terminfo/i/ibm5151 +/usr/share/ncurses4/terminfo/i/ibm5154 +/usr/share/ncurses4/terminfo/i/ibm5154-c +/usr/share/ncurses4/terminfo/i/ibm6153 +/usr/share/ncurses4/terminfo/i/ibm6154 +/usr/share/ncurses4/terminfo/i/ibm6154-c +/usr/share/ncurses4/terminfo/i/ibm6155 +/usr/share/ncurses4/terminfo/i/ibm8512 +/usr/share/ncurses4/terminfo/i/ibm8513 +/usr/share/ncurses4/terminfo/i/ibm8514 +/usr/share/ncurses4/terminfo/i/ibm8514-c +/usr/share/ncurses4/terminfo/i/ibmaed +/usr/share/ncurses4/terminfo/i/ibmapa16 +/usr/share/ncurses4/terminfo/i/ibmapa8 +/usr/share/ncurses4/terminfo/i/ibmapa8c +/usr/share/ncurses4/terminfo/i/ibmapa8c-c +/usr/share/ncurses4/terminfo/i/ibmega +/usr/share/ncurses4/terminfo/i/ibmega-c +/usr/share/ncurses4/terminfo/i/ibmmono +/usr/share/ncurses4/terminfo/i/ibmmpel +/usr/share/ncurses4/terminfo/i/ibmmpel-c +/usr/share/ncurses4/terminfo/i/ibmpc +/usr/share/ncurses4/terminfo/i/ibmpc3 +/usr/share/ncurses4/terminfo/i/ibmpc3r +/usr/share/ncurses4/terminfo/i/ibmpc3r-mono +/usr/share/ncurses4/terminfo/i/ibmpcx +/usr/share/ncurses4/terminfo/i/ibmvga +/usr/share/ncurses4/terminfo/i/ibmvga-c +/usr/share/ncurses4/terminfo/i/ibmx +/usr/share/ncurses4/terminfo/i/ifmr +/usr/share/ncurses4/terminfo/i/ims-ansi +/usr/share/ncurses4/terminfo/i/ims950 +/usr/share/ncurses4/terminfo/i/ims950-b +/usr/share/ncurses4/terminfo/i/ims950-rv +/usr/share/ncurses4/terminfo/i/infoton +/usr/share/ncurses4/terminfo/i/intertec +/usr/share/ncurses4/terminfo/i/intertube +/usr/share/ncurses4/terminfo/i/intertube2 +/usr/share/ncurses4/terminfo/i/intext +/usr/share/ncurses4/terminfo/i/intext2 +/usr/share/ncurses4/terminfo/i/intextii +/usr/share/ncurses4/terminfo/i/ips +/usr/share/ncurses4/terminfo/i/ipsi +/usr/share/ncurses4/terminfo/i/iq120 +/usr/share/ncurses4/terminfo/i/iq140 +/usr/share/ncurses4/terminfo/i/iris-ansi +/usr/share/ncurses4/terminfo/i/iris-ansi-ap +/usr/share/ncurses4/terminfo/i/iris-color +/usr/share/ncurses4/terminfo/i/iris40 +/usr/share/ncurses4/terminfo/j +/usr/share/ncurses4/terminfo/j/jaixterm-m +/usr/share/ncurses4/terminfo/j/jerq +/usr/share/ncurses4/terminfo/k +/usr/share/ncurses4/terminfo/k/k45 +/usr/share/ncurses4/terminfo/k/kaypro +/usr/share/ncurses4/terminfo/k/kaypro2 +/usr/share/ncurses4/terminfo/k/kermit +/usr/share/ncurses4/terminfo/k/kermit-am +/usr/share/ncurses4/terminfo/k/klone+acs +/usr/share/ncurses4/terminfo/k/klone+color +/usr/share/ncurses4/terminfo/k/klone+koi8acs +/usr/share/ncurses4/terminfo/k/klone+sgr +/usr/share/ncurses4/terminfo/k/klone+sgr-dumb +/usr/share/ncurses4/terminfo/k/kt7 +/usr/share/ncurses4/terminfo/k/kt7ix +/usr/share/ncurses4/terminfo/k/kterm +/usr/share/ncurses4/terminfo/k/ktm +/usr/share/ncurses4/terminfo/l +/usr/share/ncurses4/terminfo/l/la120 +/usr/share/ncurses4/terminfo/l/layer +/usr/share/ncurses4/terminfo/l/linux +/usr/share/ncurses4/terminfo/l/linux-c +/usr/share/ncurses4/terminfo/l/linux-c-nc +/usr/share/ncurses4/terminfo/l/linux-koi8 +/usr/share/ncurses4/terminfo/l/linux-koi8r +/usr/share/ncurses4/terminfo/l/linux-m +/usr/share/ncurses4/terminfo/l/linux-nic +/usr/share/ncurses4/terminfo/l/lisa +/usr/share/ncurses4/terminfo/l/lisaterm +/usr/share/ncurses4/terminfo/l/lisaterm-w +/usr/share/ncurses4/terminfo/l/liswb +/usr/share/ncurses4/terminfo/l/ln03 +/usr/share/ncurses4/terminfo/l/ln03-w +/usr/share/ncurses4/terminfo/l/lpr +/usr/share/ncurses4/terminfo/l/luna +/usr/share/ncurses4/terminfo/l/luna68k +/usr/share/ncurses4/terminfo/m +/usr/share/ncurses4/terminfo/m/m2-nam +/usr/share/ncurses4/terminfo/m/mac +/usr/share/ncurses4/terminfo/m/mac-w +/usr/share/ncurses4/terminfo/m/macintosh +/usr/share/ncurses4/terminfo/m/macterminal-w +/usr/share/ncurses4/terminfo/m/mai +/usr/share/ncurses4/terminfo/m/masscomp +/usr/share/ncurses4/terminfo/m/masscomp1 +/usr/share/ncurses4/terminfo/m/masscomp2 +/usr/share/ncurses4/terminfo/m/mdl110 +/usr/share/ncurses4/terminfo/m/megatek +/usr/share/ncurses4/terminfo/m/memhp +/usr/share/ncurses4/terminfo/m/mgr +/usr/share/ncurses4/terminfo/m/mgr-linux +/usr/share/ncurses4/terminfo/m/mgr-sun +/usr/share/ncurses4/terminfo/m/microb +/usr/share/ncurses4/terminfo/m/microbee +/usr/share/ncurses4/terminfo/m/microterm +/usr/share/ncurses4/terminfo/m/microterm5 +/usr/share/ncurses4/terminfo/m/mime +/usr/share/ncurses4/terminfo/m/mime-3ax +/usr/share/ncurses4/terminfo/m/mime-fb +/usr/share/ncurses4/terminfo/m/mime-hb +/usr/share/ncurses4/terminfo/m/mime1 +/usr/share/ncurses4/terminfo/m/mime2 +/usr/share/ncurses4/terminfo/m/mime2a +/usr/share/ncurses4/terminfo/m/mime2a-s +/usr/share/ncurses4/terminfo/m/mime2a-v +/usr/share/ncurses4/terminfo/m/mime314 +/usr/share/ncurses4/terminfo/m/mime340 +/usr/share/ncurses4/terminfo/m/mime3a +/usr/share/ncurses4/terminfo/m/mime3ax +/usr/share/ncurses4/terminfo/m/mimei +/usr/share/ncurses4/terminfo/m/mimeii +/usr/share/ncurses4/terminfo/m/minitel +/usr/share/ncurses4/terminfo/m/minitel-2 +/usr/share/ncurses4/terminfo/m/minitel-2-nam +/usr/share/ncurses4/terminfo/m/minix +/usr/share/ncurses4/terminfo/m/minix-old +/usr/share/ncurses4/terminfo/m/minix-old-am +/usr/share/ncurses4/terminfo/m/mm314 +/usr/share/ncurses4/terminfo/m/mm340 +/usr/share/ncurses4/terminfo/m/mod +/usr/share/ncurses4/terminfo/m/mod24 +/usr/share/ncurses4/terminfo/m/modgraph +/usr/share/ncurses4/terminfo/m/modgraph2 +/usr/share/ncurses4/terminfo/m/modgraph48 +/usr/share/ncurses4/terminfo/m/mono-emx +/usr/share/ncurses4/terminfo/m/msk227 +/usr/share/ncurses4/terminfo/m/msk22714 +/usr/share/ncurses4/terminfo/m/msk227am +/usr/share/ncurses4/terminfo/m/mskermit227 +/usr/share/ncurses4/terminfo/m/mskermit22714 +/usr/share/ncurses4/terminfo/m/mskermit227am +/usr/share/ncurses4/terminfo/m/mt-70 +/usr/share/ncurses4/terminfo/m/mt4520-rv +/usr/share/ncurses4/terminfo/m/mt70 +/usr/share/ncurses4/terminfo/n +/usr/share/ncurses4/terminfo/n/nansi.sys +/usr/share/ncurses4/terminfo/n/nansi.sysk +/usr/share/ncurses4/terminfo/n/nansisys +/usr/share/ncurses4/terminfo/n/nansisysk +/usr/share/ncurses4/terminfo/n/ncr7900 +/usr/share/ncurses4/terminfo/n/ncr7900i +/usr/share/ncurses4/terminfo/n/ncr7900iv +/usr/share/ncurses4/terminfo/n/ncr7901 +/usr/share/ncurses4/terminfo/n/nec +/usr/share/ncurses4/terminfo/n/nec5520 +/usr/share/ncurses4/terminfo/n/newhp +/usr/share/ncurses4/terminfo/n/newhpkeyboard +/usr/share/ncurses4/terminfo/n/news +/usr/share/ncurses4/terminfo/n/news-29 +/usr/share/ncurses4/terminfo/n/news-29-euc +/usr/share/ncurses4/terminfo/n/news-29-sjis +/usr/share/ncurses4/terminfo/n/news-33 +/usr/share/ncurses4/terminfo/n/news-33-euc +/usr/share/ncurses4/terminfo/n/news-33-sjis +/usr/share/ncurses4/terminfo/n/news-42 +/usr/share/ncurses4/terminfo/n/news-42-euc +/usr/share/ncurses4/terminfo/n/news-42-sjis +/usr/share/ncurses4/terminfo/n/news-a +/usr/share/ncurses4/terminfo/n/news-o +/usr/share/ncurses4/terminfo/n/news-old-unk +/usr/share/ncurses4/terminfo/n/news-unk +/usr/share/ncurses4/terminfo/n/news28 +/usr/share/ncurses4/terminfo/n/news28-a +/usr/share/ncurses4/terminfo/n/news29 +/usr/share/ncurses4/terminfo/n/news31 +/usr/share/ncurses4/terminfo/n/news31-a +/usr/share/ncurses4/terminfo/n/news31-o +/usr/share/ncurses4/terminfo/n/news33 +/usr/share/ncurses4/terminfo/n/news40 +/usr/share/ncurses4/terminfo/n/news40-a +/usr/share/ncurses4/terminfo/n/news40-o +/usr/share/ncurses4/terminfo/n/news42 +/usr/share/ncurses4/terminfo/n/newscbm +/usr/share/ncurses4/terminfo/n/newscbm-a +/usr/share/ncurses4/terminfo/n/newscbm-o +/usr/share/ncurses4/terminfo/n/newscbm33 +/usr/share/ncurses4/terminfo/n/next +/usr/share/ncurses4/terminfo/n/nextshell +/usr/share/ncurses4/terminfo/n/northstar +/usr/share/ncurses4/terminfo/n/nwe501 +/usr/share/ncurses4/terminfo/n/nwe501-a +/usr/share/ncurses4/terminfo/n/nwe501-o +/usr/share/ncurses4/terminfo/n/nwp-511 +/usr/share/ncurses4/terminfo/n/nwp-517 +/usr/share/ncurses4/terminfo/n/nwp-517-w +/usr/share/ncurses4/terminfo/n/nwp251-a +/usr/share/ncurses4/terminfo/n/nwp251-o +/usr/share/ncurses4/terminfo/n/nwp511 +/usr/share/ncurses4/terminfo/n/nwp512 +/usr/share/ncurses4/terminfo/n/nwp512-a +/usr/share/ncurses4/terminfo/n/nwp512-o +/usr/share/ncurses4/terminfo/n/nwp513 +/usr/share/ncurses4/terminfo/n/nwp513-a +/usr/share/ncurses4/terminfo/n/nwp513-o +/usr/share/ncurses4/terminfo/n/nwp514 +/usr/share/ncurses4/terminfo/n/nwp514-a +/usr/share/ncurses4/terminfo/n/nwp514-o +/usr/share/ncurses4/terminfo/n/nwp517 +/usr/share/ncurses4/terminfo/n/nwp517-w +/usr/share/ncurses4/terminfo/n/nwp518 +/usr/share/ncurses4/terminfo/n/nwp518-a +/usr/share/ncurses4/terminfo/n/nwp518-o +/usr/share/ncurses4/terminfo/o +/usr/share/ncurses4/terminfo/o/o31 +/usr/share/ncurses4/terminfo/o/o4112-nd +/usr/share/ncurses4/terminfo/o/o85h +/usr/share/ncurses4/terminfo/o/oabm85h +/usr/share/ncurses4/terminfo/o/oblit +/usr/share/ncurses4/terminfo/o/oc100 +/usr/share/ncurses4/terminfo/o/oconcept +/usr/share/ncurses4/terminfo/o/ojerq +/usr/share/ncurses4/terminfo/o/oldibmpc3 +/usr/share/ncurses4/terminfo/o/oldpc3 +/usr/share/ncurses4/terminfo/o/oldsun +/usr/share/ncurses4/terminfo/o/omron +/usr/share/ncurses4/terminfo/o/opus3n1+ +/usr/share/ncurses4/terminfo/o/origibmpc3 +/usr/share/ncurses4/terminfo/o/origpc3 +/usr/share/ncurses4/terminfo/o/os9LII +/usr/share/ncurses4/terminfo/o/osborne +/usr/share/ncurses4/terminfo/o/osborne-w +/usr/share/ncurses4/terminfo/o/osborne1 +/usr/share/ncurses4/terminfo/o/osborne1-w +/usr/share/ncurses4/terminfo/o/osexec +/usr/share/ncurses4/terminfo/o/otek4112 +/usr/share/ncurses4/terminfo/o/otek4113 +/usr/share/ncurses4/terminfo/o/otek4114 +/usr/share/ncurses4/terminfo/o/otek4115 +/usr/share/ncurses4/terminfo/o/owl +/usr/share/ncurses4/terminfo/p +/usr/share/ncurses4/terminfo/p/p12 +/usr/share/ncurses4/terminfo/p/p12-m +/usr/share/ncurses4/terminfo/p/p12-m-w +/usr/share/ncurses4/terminfo/p/p12-w +/usr/share/ncurses4/terminfo/p/p14 +/usr/share/ncurses4/terminfo/p/p14-m +/usr/share/ncurses4/terminfo/p/p14-m-w +/usr/share/ncurses4/terminfo/p/p14-w +/usr/share/ncurses4/terminfo/p/p19 +/usr/share/ncurses4/terminfo/p/p4 +/usr/share/ncurses4/terminfo/p/p5 +/usr/share/ncurses4/terminfo/p/p7 +/usr/share/ncurses4/terminfo/p/p8 +/usr/share/ncurses4/terminfo/p/p8-w +/usr/share/ncurses4/terminfo/p/p8gl +/usr/share/ncurses4/terminfo/p/p9 +/usr/share/ncurses4/terminfo/p/p9-8 +/usr/share/ncurses4/terminfo/p/p9-8-w +/usr/share/ncurses4/terminfo/p/p9-w +/usr/share/ncurses4/terminfo/p/pc-coherent +/usr/share/ncurses4/terminfo/p/pc-minix +/usr/share/ncurses4/terminfo/p/pc-venix +/usr/share/ncurses4/terminfo/p/pc3 +/usr/share/ncurses4/terminfo/p/pc3-bold +/usr/share/ncurses4/terminfo/p/pc3r +/usr/share/ncurses4/terminfo/p/pc3r-m +/usr/share/ncurses4/terminfo/p/pc6300plus +/usr/share/ncurses4/terminfo/p/pc7300 +/usr/share/ncurses4/terminfo/p/pcansi +/usr/share/ncurses4/terminfo/p/pcansi-25 +/usr/share/ncurses4/terminfo/p/pcansi-25-m +/usr/share/ncurses4/terminfo/p/pcansi-33 +/usr/share/ncurses4/terminfo/p/pcansi-33-m +/usr/share/ncurses4/terminfo/p/pcansi-43 +/usr/share/ncurses4/terminfo/p/pcansi-43-m +/usr/share/ncurses4/terminfo/p/pcansi-m +/usr/share/ncurses4/terminfo/p/pcansi-mono +/usr/share/ncurses4/terminfo/p/pcansi25 +/usr/share/ncurses4/terminfo/p/pcansi25m +/usr/share/ncurses4/terminfo/p/pcansi33 +/usr/share/ncurses4/terminfo/p/pcansi33m +/usr/share/ncurses4/terminfo/p/pcansi43 +/usr/share/ncurses4/terminfo/p/pccons +/usr/share/ncurses4/terminfo/p/pcconsole +/usr/share/ncurses4/terminfo/p/pcix +/usr/share/ncurses4/terminfo/p/pckermit +/usr/share/ncurses4/terminfo/p/pckermit12 +/usr/share/ncurses4/terminfo/p/pckermit120 +/usr/share/ncurses4/terminfo/p/pcplot +/usr/share/ncurses4/terminfo/p/pcvt25 +/usr/share/ncurses4/terminfo/p/pcvt25w +/usr/share/ncurses4/terminfo/p/pcvt28 +/usr/share/ncurses4/terminfo/p/pcvt28w +/usr/share/ncurses4/terminfo/p/pcvt35 +/usr/share/ncurses4/terminfo/p/pcvt35w +/usr/share/ncurses4/terminfo/p/pcvt40 +/usr/share/ncurses4/terminfo/p/pcvt40w +/usr/share/ncurses4/terminfo/p/pcvt43 +/usr/share/ncurses4/terminfo/p/pcvt43w +/usr/share/ncurses4/terminfo/p/pcvt50 +/usr/share/ncurses4/terminfo/p/pcvt50w +/usr/share/ncurses4/terminfo/p/pcvtXX +/usr/share/ncurses4/terminfo/p/pcz19 +/usr/share/ncurses4/terminfo/p/pe1100 +/usr/share/ncurses4/terminfo/p/pe1200 +/usr/share/ncurses4/terminfo/p/pe1251 +/usr/share/ncurses4/terminfo/p/pe550 +/usr/share/ncurses4/terminfo/p/pe6100 +/usr/share/ncurses4/terminfo/p/pe6300 +/usr/share/ncurses4/terminfo/p/pe6312 +/usr/share/ncurses4/terminfo/p/pe7000c +/usr/share/ncurses4/terminfo/p/pe7000m +/usr/share/ncurses4/terminfo/p/pilot +/usr/share/ncurses4/terminfo/p/printer +/usr/share/ncurses4/terminfo/p/prism12 +/usr/share/ncurses4/terminfo/p/prism12-m +/usr/share/ncurses4/terminfo/p/prism12-m-w +/usr/share/ncurses4/terminfo/p/prism12-w +/usr/share/ncurses4/terminfo/p/prism14 +/usr/share/ncurses4/terminfo/p/prism14-m +/usr/share/ncurses4/terminfo/p/prism14-m-w +/usr/share/ncurses4/terminfo/p/prism14-w +/usr/share/ncurses4/terminfo/p/prism2 +/usr/share/ncurses4/terminfo/p/prism4 +/usr/share/ncurses4/terminfo/p/prism5 +/usr/share/ncurses4/terminfo/p/prism7 +/usr/share/ncurses4/terminfo/p/prism8 +/usr/share/ncurses4/terminfo/p/prism8-w +/usr/share/ncurses4/terminfo/p/prism8gl +/usr/share/ncurses4/terminfo/p/prism9 +/usr/share/ncurses4/terminfo/p/prism9-8 +/usr/share/ncurses4/terminfo/p/prism9-8-w +/usr/share/ncurses4/terminfo/p/prism9-w +/usr/share/ncurses4/terminfo/p/pro350 +/usr/share/ncurses4/terminfo/p/ps300 +/usr/share/ncurses4/terminfo/p/psterm +/usr/share/ncurses4/terminfo/p/psterm-80x24 +/usr/share/ncurses4/terminfo/p/psterm-90x28 +/usr/share/ncurses4/terminfo/p/psterm-96x48 +/usr/share/ncurses4/terminfo/p/psterm-basic +/usr/share/ncurses4/terminfo/p/psterm-fast +/usr/share/ncurses4/terminfo/p/psx_ansi +/usr/share/ncurses4/terminfo/p/pt100 +/usr/share/ncurses4/terminfo/p/pt100w +/usr/share/ncurses4/terminfo/p/pt200 +/usr/share/ncurses4/terminfo/p/pt200w +/usr/share/ncurses4/terminfo/p/pt210 +/usr/share/ncurses4/terminfo/p/pt250 +/usr/share/ncurses4/terminfo/p/pt250w +/usr/share/ncurses4/terminfo/p/pt505 +/usr/share/ncurses4/terminfo/p/pt505-22 +/usr/share/ncurses4/terminfo/p/pt505-24 +/usr/share/ncurses4/terminfo/p/pty +/usr/share/ncurses4/terminfo/q +/usr/share/ncurses4/terminfo/q/qdcons +/usr/share/ncurses4/terminfo/q/qdss +/usr/share/ncurses4/terminfo/q/qnx +/usr/share/ncurses4/terminfo/q/qnx4 +/usr/share/ncurses4/terminfo/q/qume +/usr/share/ncurses4/terminfo/q/qume5 +/usr/share/ncurses4/terminfo/q/qvt101 +/usr/share/ncurses4/terminfo/q/qvt101+ +/usr/share/ncurses4/terminfo/q/qvt101p +/usr/share/ncurses4/terminfo/q/qvt102 +/usr/share/ncurses4/terminfo/q/qvt103 +/usr/share/ncurses4/terminfo/q/qvt103-w +/usr/share/ncurses4/terminfo/q/qvt108 +/usr/share/ncurses4/terminfo/q/qvt119 +/usr/share/ncurses4/terminfo/q/qvt119+ +/usr/share/ncurses4/terminfo/q/qvt119+-25 +/usr/share/ncurses4/terminfo/q/qvt119+-25-w +/usr/share/ncurses4/terminfo/q/qvt119+-w +/usr/share/ncurses4/terminfo/q/qvt119-25-w +/usr/share/ncurses4/terminfo/q/qvt119-w +/usr/share/ncurses4/terminfo/q/qvt119p +/usr/share/ncurses4/terminfo/q/qvt119p-25 +/usr/share/ncurses4/terminfo/q/qvt119p-25-w +/usr/share/ncurses4/terminfo/q/qvt119p-w +/usr/share/ncurses4/terminfo/q/qvt203 +/usr/share/ncurses4/terminfo/q/qvt203+ +/usr/share/ncurses4/terminfo/q/qvt203-25 +/usr/share/ncurses4/terminfo/q/qvt203-25-w +/usr/share/ncurses4/terminfo/q/qvt203-w +/usr/share/ncurses4/terminfo/q/qvt203-w-am +/usr/share/ncurses4/terminfo/r +/usr/share/ncurses4/terminfo/r/rbcomm +/usr/share/ncurses4/terminfo/r/rbcomm-nam +/usr/share/ncurses4/terminfo/r/rbcomm-w +/usr/share/ncurses4/terminfo/r/rca +/usr/share/ncurses4/terminfo/r/rebus3180 +/usr/share/ncurses4/terminfo/r/regent +/usr/share/ncurses4/terminfo/r/regent100 +/usr/share/ncurses4/terminfo/r/regent20 +/usr/share/ncurses4/terminfo/r/regent200 +/usr/share/ncurses4/terminfo/r/regent25 +/usr/share/ncurses4/terminfo/r/regent40 +/usr/share/ncurses4/terminfo/r/regent40+ +/usr/share/ncurses4/terminfo/r/regent60 +/usr/share/ncurses4/terminfo/r/rt6221 +/usr/share/ncurses4/terminfo/r/rt6221-w +/usr/share/ncurses4/terminfo/r/rtpc +/usr/share/ncurses4/terminfo/r/rxvt +/usr/share/ncurses4/terminfo/r/rxvt-basic +/usr/share/ncurses4/terminfo/s +/usr/share/ncurses4/terminfo/s/s +/usr/share/ncurses4/terminfo/s/s4 +/usr/share/ncurses4/terminfo/s/sb1 +/usr/share/ncurses4/terminfo/s/sb2 +/usr/share/ncurses4/terminfo/s/sb3 +/usr/share/ncurses4/terminfo/s/sbi +/usr/share/ncurses4/terminfo/s/sbobcat +/usr/share/ncurses4/terminfo/s/sc410 +/usr/share/ncurses4/terminfo/s/sc415 +/usr/share/ncurses4/terminfo/s/scanset +/usr/share/ncurses4/terminfo/s/scoansi +/usr/share/ncurses4/terminfo/s/screen +/usr/share/ncurses4/terminfo/s/screen-w +/usr/share/ncurses4/terminfo/s/screen2 +/usr/share/ncurses4/terminfo/s/screen3 +/usr/share/ncurses4/terminfo/s/screwpoint +/usr/share/ncurses4/terminfo/s/scrhp +/usr/share/ncurses4/terminfo/s/simterm +/usr/share/ncurses4/terminfo/s/soroc +/usr/share/ncurses4/terminfo/s/soroc120 +/usr/share/ncurses4/terminfo/s/soroc140 +/usr/share/ncurses4/terminfo/s/spinwriter +/usr/share/ncurses4/terminfo/s/st52 +/usr/share/ncurses4/terminfo/s/sun +/usr/share/ncurses4/terminfo/s/sun-1 +/usr/share/ncurses4/terminfo/s/sun-12 +/usr/share/ncurses4/terminfo/s/sun-17 +/usr/share/ncurses4/terminfo/s/sun-24 +/usr/share/ncurses4/terminfo/s/sun-34 +/usr/share/ncurses4/terminfo/s/sun-48 +/usr/share/ncurses4/terminfo/s/sun-c +/usr/share/ncurses4/terminfo/s/sun-cmd +/usr/share/ncurses4/terminfo/s/sun-e +/usr/share/ncurses4/terminfo/s/sun-e-s +/usr/share/ncurses4/terminfo/s/sun-il +/usr/share/ncurses4/terminfo/s/sun-nic +/usr/share/ncurses4/terminfo/s/sun-s +/usr/share/ncurses4/terminfo/s/sun-s-e +/usr/share/ncurses4/terminfo/s/sun-ss5 +/usr/share/ncurses4/terminfo/s/sun1 +/usr/share/ncurses4/terminfo/s/sun2 +/usr/share/ncurses4/terminfo/s/sune +/usr/share/ncurses4/terminfo/s/superbee +/usr/share/ncurses4/terminfo/s/superbee-xsb +/usr/share/ncurses4/terminfo/s/superbeeic +/usr/share/ncurses4/terminfo/s/superbrain +/usr/share/ncurses4/terminfo/s/sv80 +/usr/share/ncurses4/terminfo/s/swtp +/usr/share/ncurses4/terminfo/s/synertek +/usr/share/ncurses4/terminfo/s/synertek380 +/usr/share/ncurses4/terminfo/s/system1 +/usr/share/ncurses4/terminfo/t +/usr/share/ncurses4/terminfo/t/t10 +/usr/share/ncurses4/terminfo/t/t1061 +/usr/share/ncurses4/terminfo/t/t1061f +/usr/share/ncurses4/terminfo/t/t16 +/usr/share/ncurses4/terminfo/t/t3700 +/usr/share/ncurses4/terminfo/t/t3800 +/usr/share/ncurses4/terminfo/t/t653x +/usr/share/ncurses4/terminfo/t/tab +/usr/share/ncurses4/terminfo/t/tab132 +/usr/share/ncurses4/terminfo/t/tab132-15 +/usr/share/ncurses4/terminfo/t/tab132-rv +/usr/share/ncurses4/terminfo/t/tab132-w +/usr/share/ncurses4/terminfo/t/tab132-w-rv +/usr/share/ncurses4/terminfo/t/tandem6510 +/usr/share/ncurses4/terminfo/t/tandem653 +/usr/share/ncurses4/terminfo/t/tek +/usr/share/ncurses4/terminfo/t/tek4012 +/usr/share/ncurses4/terminfo/t/tek4013 +/usr/share/ncurses4/terminfo/t/tek4014 +/usr/share/ncurses4/terminfo/t/tek4014-sm +/usr/share/ncurses4/terminfo/t/tek4015 +/usr/share/ncurses4/terminfo/t/tek4015-sm +/usr/share/ncurses4/terminfo/t/tek4023 +/usr/share/ncurses4/terminfo/t/tek4024 +/usr/share/ncurses4/terminfo/t/tek4025 +/usr/share/ncurses4/terminfo/t/tek4025-17 +/usr/share/ncurses4/terminfo/t/tek4025-17-ws +/usr/share/ncurses4/terminfo/t/tek4025-cr +/usr/share/ncurses4/terminfo/t/tek4025-ex +/usr/share/ncurses4/terminfo/t/tek4025a +/usr/share/ncurses4/terminfo/t/tek4025ex +/usr/share/ncurses4/terminfo/t/tek4027 +/usr/share/ncurses4/terminfo/t/tek4027-ex +/usr/share/ncurses4/terminfo/t/tek4105 +/usr/share/ncurses4/terminfo/t/tek4105-30 +/usr/share/ncurses4/terminfo/t/tek4105a +/usr/share/ncurses4/terminfo/t/tek4106brl +/usr/share/ncurses4/terminfo/t/tek4107 +/usr/share/ncurses4/terminfo/t/tek4107brl +/usr/share/ncurses4/terminfo/t/tek4109 +/usr/share/ncurses4/terminfo/t/tek4109brl +/usr/share/ncurses4/terminfo/t/tek4112 +/usr/share/ncurses4/terminfo/t/tek4112-5 +/usr/share/ncurses4/terminfo/t/tek4112-nd +/usr/share/ncurses4/terminfo/t/tek4113 +/usr/share/ncurses4/terminfo/t/tek4113-34 +/usr/share/ncurses4/terminfo/t/tek4113-nd +/usr/share/ncurses4/terminfo/t/tek4114 +/usr/share/ncurses4/terminfo/t/tek4115 +/usr/share/ncurses4/terminfo/t/tek4125 +/usr/share/ncurses4/terminfo/t/tek4205 +/usr/share/ncurses4/terminfo/t/tek4207 +/usr/share/ncurses4/terminfo/t/tek4207-s +/usr/share/ncurses4/terminfo/t/tek4404 +/usr/share/ncurses4/terminfo/t/teleray +/usr/share/ncurses4/terminfo/t/teletec +/usr/share/ncurses4/terminfo/t/terminet +/usr/share/ncurses4/terminfo/t/terminet1200 +/usr/share/ncurses4/terminfo/t/terminet300 +/usr/share/ncurses4/terminfo/t/tgtelnet +/usr/share/ncurses4/terminfo/t/ti700 +/usr/share/ncurses4/terminfo/t/ti733 +/usr/share/ncurses4/terminfo/t/ti735 +/usr/share/ncurses4/terminfo/t/ti745 +/usr/share/ncurses4/terminfo/t/ti800 +/usr/share/ncurses4/terminfo/t/ti916 +/usr/share/ncurses4/terminfo/t/ti916-132 +/usr/share/ncurses4/terminfo/t/ti916-220-7 +/usr/share/ncurses4/terminfo/t/ti916-220-8 +/usr/share/ncurses4/terminfo/t/ti916-8 +/usr/share/ncurses4/terminfo/t/ti916-8-132 +/usr/share/ncurses4/terminfo/t/ti924 +/usr/share/ncurses4/terminfo/t/ti924-8 +/usr/share/ncurses4/terminfo/t/ti924-8w +/usr/share/ncurses4/terminfo/t/ti924w +/usr/share/ncurses4/terminfo/t/ti926 +/usr/share/ncurses4/terminfo/t/ti926-8 +/usr/share/ncurses4/terminfo/t/ti928 +/usr/share/ncurses4/terminfo/t/ti928-8 +/usr/share/ncurses4/terminfo/t/ti931 +/usr/share/ncurses4/terminfo/t/ti_ansi +/usr/share/ncurses4/terminfo/t/tn1200 +/usr/share/ncurses4/terminfo/t/tn300 +/usr/share/ncurses4/terminfo/t/trs16 +/usr/share/ncurses4/terminfo/t/trs2 +/usr/share/ncurses4/terminfo/t/trs80II +/usr/share/ncurses4/terminfo/t/trsII +/usr/share/ncurses4/terminfo/t/ts-1 +/usr/share/ncurses4/terminfo/t/ts-1p +/usr/share/ncurses4/terminfo/t/ts1 +/usr/share/ncurses4/terminfo/t/ts100 +/usr/share/ncurses4/terminfo/t/ts100-ctxt +/usr/share/ncurses4/terminfo/t/ts100-sp +/usr/share/ncurses4/terminfo/t/ts1p +/usr/share/ncurses4/terminfo/t/tt505-22 +/usr/share/ncurses4/terminfo/t/tty33 +/usr/share/ncurses4/terminfo/t/tty35 +/usr/share/ncurses4/terminfo/t/tty37 +/usr/share/ncurses4/terminfo/t/tty40 +/usr/share/ncurses4/terminfo/t/tty43 +/usr/share/ncurses4/terminfo/t/tty4420 +/usr/share/ncurses4/terminfo/t/tty4424 +/usr/share/ncurses4/terminfo/t/tty4424-1 +/usr/share/ncurses4/terminfo/t/tty4424m +/usr/share/ncurses4/terminfo/t/tty4426 +/usr/share/ncurses4/terminfo/t/tty5410 +/usr/share/ncurses4/terminfo/t/tty5410-w +/usr/share/ncurses4/terminfo/t/tty5410v1 +/usr/share/ncurses4/terminfo/t/tty5410v1-w +/usr/share/ncurses4/terminfo/t/tty5420 +/usr/share/ncurses4/terminfo/t/tty5420+nl +/usr/share/ncurses4/terminfo/t/tty5420-nl +/usr/share/ncurses4/terminfo/t/tty5420-rv +/usr/share/ncurses4/terminfo/t/tty5420-rv-nl +/usr/share/ncurses4/terminfo/t/tty5420-w +/usr/share/ncurses4/terminfo/t/tty5420-w-nl +/usr/share/ncurses4/terminfo/t/tty5420-w-rv +/usr/share/ncurses4/terminfo/t/tty5420-w-rv-n +/usr/share/ncurses4/terminfo/t/tty5425 +/usr/share/ncurses4/terminfo/t/tty5425-nl +/usr/share/ncurses4/terminfo/t/tty5425-w +/usr/share/ncurses4/terminfo/t/tty5620 +/usr/share/ncurses4/terminfo/t/tty5620-1 +/usr/share/ncurses4/terminfo/t/tty5620-24 +/usr/share/ncurses4/terminfo/t/tty5620-34 +/usr/share/ncurses4/terminfo/t/tty5620-s +/usr/share/ncurses4/terminfo/t/ttydmd +/usr/share/ncurses4/terminfo/t/tvi-2p +/usr/share/ncurses4/terminfo/t/tvi803 +/usr/share/ncurses4/terminfo/t/tvi9065 +/usr/share/ncurses4/terminfo/t/tvi910 +/usr/share/ncurses4/terminfo/t/tvi910+ +/usr/share/ncurses4/terminfo/t/tvi912 +/usr/share/ncurses4/terminfo/t/tvi912-2p +/usr/share/ncurses4/terminfo/t/tvi912b +/usr/share/ncurses4/terminfo/t/tvi912c +/usr/share/ncurses4/terminfo/t/tvi912cc +/usr/share/ncurses4/terminfo/t/tvi914 +/usr/share/ncurses4/terminfo/t/tvi920 +/usr/share/ncurses4/terminfo/t/tvi920-2p +/usr/share/ncurses4/terminfo/t/tvi920b +/usr/share/ncurses4/terminfo/t/tvi920c +/usr/share/ncurses4/terminfo/t/tvi921 +/usr/share/ncurses4/terminfo/t/tvi924 +/usr/share/ncurses4/terminfo/t/tvi925 +/usr/share/ncurses4/terminfo/t/tvi925-hi +/usr/share/ncurses4/terminfo/t/tvi92B +/usr/share/ncurses4/terminfo/t/tvi92D +/usr/share/ncurses4/terminfo/t/tvi950 +/usr/share/ncurses4/terminfo/t/tvi950-2p +/usr/share/ncurses4/terminfo/t/tvi950-4p +/usr/share/ncurses4/terminfo/t/tvi950-rv +/usr/share/ncurses4/terminfo/t/tvi950-rv-2p +/usr/share/ncurses4/terminfo/t/tvi950-rv-4p +/usr/share/ncurses4/terminfo/t/tvi955 +/usr/share/ncurses4/terminfo/t/tvi955-hb +/usr/share/ncurses4/terminfo/t/tvi955-w +/usr/share/ncurses4/terminfo/t/tvi970 +/usr/share/ncurses4/terminfo/t/tvi970-2p +/usr/share/ncurses4/terminfo/t/tvi970-vb +/usr/share/ncurses4/terminfo/t/tvipt +/usr/share/ncurses4/terminfo/u +/usr/share/ncurses4/terminfo/u/ultima2 +/usr/share/ncurses4/terminfo/u/ultimaII +/usr/share/ncurses4/terminfo/u/uniterm +/usr/share/ncurses4/terminfo/u/uniterm49 +/usr/share/ncurses4/terminfo/u/unixpc +/usr/share/ncurses4/terminfo/u/unknown +/usr/share/ncurses4/terminfo/u/uts30 +/usr/share/ncurses4/terminfo/v +/usr/share/ncurses4/terminfo/v/v200-nam +/usr/share/ncurses4/terminfo/v/v320n +/usr/share/ncurses4/terminfo/v/v3220 +/usr/share/ncurses4/terminfo/v/v5410 +/usr/share/ncurses4/terminfo/v/vapple +/usr/share/ncurses4/terminfo/v/vc103 +/usr/share/ncurses4/terminfo/v/vc203 +/usr/share/ncurses4/terminfo/v/vc303 +/usr/share/ncurses4/terminfo/v/vc303a +/usr/share/ncurses4/terminfo/v/vc403a +/usr/share/ncurses4/terminfo/v/vc404 +/usr/share/ncurses4/terminfo/v/vc404-s +/usr/share/ncurses4/terminfo/v/vc414 +/usr/share/ncurses4/terminfo/v/vc414h +/usr/share/ncurses4/terminfo/v/vc415 +/usr/share/ncurses4/terminfo/v/venix +/usr/share/ncurses4/terminfo/v/versaterm +/usr/share/ncurses4/terminfo/v/vi200 +/usr/share/ncurses4/terminfo/v/vi200-f +/usr/share/ncurses4/terminfo/v/vi200-rv +/usr/share/ncurses4/terminfo/v/vi300 +/usr/share/ncurses4/terminfo/v/vi300-old +/usr/share/ncurses4/terminfo/v/vi50 +/usr/share/ncurses4/terminfo/v/vi500 +/usr/share/ncurses4/terminfo/v/vi50adm +/usr/share/ncurses4/terminfo/v/vi55 +/usr/share/ncurses4/terminfo/v/vi550 +/usr/share/ncurses4/terminfo/v/vi603 +/usr/share/ncurses4/terminfo/v/viewpoint +/usr/share/ncurses4/terminfo/v/viewpoint3a+ +/usr/share/ncurses4/terminfo/v/viewpoint60 +/usr/share/ncurses4/terminfo/v/viewpoint90 +/usr/share/ncurses4/terminfo/v/visa50 +/usr/share/ncurses4/terminfo/v/visual603 +/usr/share/ncurses4/terminfo/v/vitty +/usr/share/ncurses4/terminfo/v/vk100 +/usr/share/ncurses4/terminfo/v/vp3a+ +/usr/share/ncurses4/terminfo/v/vp60 +/usr/share/ncurses4/terminfo/v/vp90 +/usr/share/ncurses4/terminfo/v/vremote +/usr/share/ncurses4/terminfo/v/vs100 +/usr/share/ncurses4/terminfo/v/vs100-x10 +/usr/share/ncurses4/terminfo/v/vsc +/usr/share/ncurses4/terminfo/v/vt-61 +/usr/share/ncurses4/terminfo/v/vt100 +/usr/share/ncurses4/terminfo/v/vt100-am +/usr/share/ncurses4/terminfo/v/vt100-bm +/usr/share/ncurses4/terminfo/v/vt100-bm-o +/usr/share/ncurses4/terminfo/v/vt100-bot-s +/usr/share/ncurses4/terminfo/v/vt100-nam +/usr/share/ncurses4/terminfo/v/vt100-nam-w +/usr/share/ncurses4/terminfo/v/vt100-nav +/usr/share/ncurses4/terminfo/v/vt100-nav-w +/usr/share/ncurses4/terminfo/v/vt100-s +/usr/share/ncurses4/terminfo/v/vt100-s-bot +/usr/share/ncurses4/terminfo/v/vt100-s-top +/usr/share/ncurses4/terminfo/v/vt100-top-s +/usr/share/ncurses4/terminfo/v/vt100-vb +/usr/share/ncurses4/terminfo/v/vt100-w +/usr/share/ncurses4/terminfo/v/vt100-w-am +/usr/share/ncurses4/terminfo/v/vt100-w-nam +/usr/share/ncurses4/terminfo/v/vt100-w-nav +/usr/share/ncurses4/terminfo/v/vt100nam +/usr/share/ncurses4/terminfo/v/vt102 +/usr/share/ncurses4/terminfo/v/vt102-nsgr +/usr/share/ncurses4/terminfo/v/vt102-w +/usr/share/ncurses4/terminfo/v/vt125 +/usr/share/ncurses4/terminfo/v/vt131 +/usr/share/ncurses4/terminfo/v/vt132 +/usr/share/ncurses4/terminfo/v/vt200 +/usr/share/ncurses4/terminfo/v/vt200-js +/usr/share/ncurses4/terminfo/v/vt200-w +/usr/share/ncurses4/terminfo/v/vt220 +/usr/share/ncurses4/terminfo/v/vt220-8 +/usr/share/ncurses4/terminfo/v/vt220-js +/usr/share/ncurses4/terminfo/v/vt220-nam +/usr/share/ncurses4/terminfo/v/vt220-w +/usr/share/ncurses4/terminfo/v/vt220d +/usr/share/ncurses4/terminfo/v/vt300 +/usr/share/ncurses4/terminfo/v/vt300-nam +/usr/share/ncurses4/terminfo/v/vt300-w +/usr/share/ncurses4/terminfo/v/vt300-w-nam +/usr/share/ncurses4/terminfo/v/vt320 +/usr/share/ncurses4/terminfo/v/vt320-k3 +/usr/share/ncurses4/terminfo/v/vt320-k311 +/usr/share/ncurses4/terminfo/v/vt320-nam +/usr/share/ncurses4/terminfo/v/vt320-w +/usr/share/ncurses4/terminfo/v/vt320-w-nam +/usr/share/ncurses4/terminfo/v/vt320nam +/usr/share/ncurses4/terminfo/v/vt330 +/usr/share/ncurses4/terminfo/v/vt340 +/usr/share/ncurses4/terminfo/v/vt400 +/usr/share/ncurses4/terminfo/v/vt400-24 +/usr/share/ncurses4/terminfo/v/vt420 +/usr/share/ncurses4/terminfo/v/vt420f +/usr/share/ncurses4/terminfo/v/vt420pc +/usr/share/ncurses4/terminfo/v/vt420pcdos +/usr/share/ncurses4/terminfo/v/vt50 +/usr/share/ncurses4/terminfo/v/vt50h +/usr/share/ncurses4/terminfo/v/vt510 +/usr/share/ncurses4/terminfo/v/vt510pc +/usr/share/ncurses4/terminfo/v/vt510pcdos +/usr/share/ncurses4/terminfo/v/vt52 +/usr/share/ncurses4/terminfo/v/vt520 +/usr/share/ncurses4/terminfo/v/vt525 +/usr/share/ncurses4/terminfo/v/vt61 +/usr/share/ncurses4/terminfo/v/vt61.5 +/usr/share/ncurses4/terminfo/w +/usr/share/ncurses4/terminfo/w/wren +/usr/share/ncurses4/terminfo/w/wrenw +/usr/share/ncurses4/terminfo/w/wsiris +/usr/share/ncurses4/terminfo/w/wy-75ap +/usr/share/ncurses4/terminfo/w/wy100 +/usr/share/ncurses4/terminfo/w/wy100q +/usr/share/ncurses4/terminfo/w/wy120 +/usr/share/ncurses4/terminfo/w/wy120-25 +/usr/share/ncurses4/terminfo/w/wy120-25-w +/usr/share/ncurses4/terminfo/w/wy120-vb +/usr/share/ncurses4/terminfo/w/wy120-w +/usr/share/ncurses4/terminfo/w/wy120-w-vb +/usr/share/ncurses4/terminfo/w/wy120-wvb +/usr/share/ncurses4/terminfo/w/wy150 +/usr/share/ncurses4/terminfo/w/wy150-25 +/usr/share/ncurses4/terminfo/w/wy150-25-w +/usr/share/ncurses4/terminfo/w/wy150-vb +/usr/share/ncurses4/terminfo/w/wy150-w +/usr/share/ncurses4/terminfo/w/wy150-w-vb +/usr/share/ncurses4/terminfo/w/wy160 +/usr/share/ncurses4/terminfo/w/wy160-25 +/usr/share/ncurses4/terminfo/w/wy160-25-w +/usr/share/ncurses4/terminfo/w/wy160-42 +/usr/share/ncurses4/terminfo/w/wy160-42-w +/usr/share/ncurses4/terminfo/w/wy160-43 +/usr/share/ncurses4/terminfo/w/wy160-43-w +/usr/share/ncurses4/terminfo/w/wy160-tek +/usr/share/ncurses4/terminfo/w/wy160-vb +/usr/share/ncurses4/terminfo/w/wy160-w +/usr/share/ncurses4/terminfo/w/wy160-w-vb +/usr/share/ncurses4/terminfo/w/wy160-wvb +/usr/share/ncurses4/terminfo/w/wy185 +/usr/share/ncurses4/terminfo/w/wy185-24 +/usr/share/ncurses4/terminfo/w/wy185-vb +/usr/share/ncurses4/terminfo/w/wy185-w +/usr/share/ncurses4/terminfo/w/wy185-wvb +/usr/share/ncurses4/terminfo/w/wy30 +/usr/share/ncurses4/terminfo/w/wy30-mc +/usr/share/ncurses4/terminfo/w/wy30-vb +/usr/share/ncurses4/terminfo/w/wy325 +/usr/share/ncurses4/terminfo/w/wy325-25 +/usr/share/ncurses4/terminfo/w/wy325-25w +/usr/share/ncurses4/terminfo/w/wy325-42 +/usr/share/ncurses4/terminfo/w/wy325-42w +/usr/share/ncurses4/terminfo/w/wy325-42w-vb +/usr/share/ncurses4/terminfo/w/wy325-42wvb +/usr/share/ncurses4/terminfo/w/wy325-43 +/usr/share/ncurses4/terminfo/w/wy325-43w +/usr/share/ncurses4/terminfo/w/wy325-43w-vb +/usr/share/ncurses4/terminfo/w/wy325-43wvb +/usr/share/ncurses4/terminfo/w/wy325-80 +/usr/share/ncurses4/terminfo/w/wy325-vb +/usr/share/ncurses4/terminfo/w/wy325-w +/usr/share/ncurses4/terminfo/w/wy325-w-vb +/usr/share/ncurses4/terminfo/w/wy325-wvb +/usr/share/ncurses4/terminfo/w/wy325w-24 +/usr/share/ncurses4/terminfo/w/wy350 +/usr/share/ncurses4/terminfo/w/wy350-vb +/usr/share/ncurses4/terminfo/w/wy350-w +/usr/share/ncurses4/terminfo/w/wy350-wvb +/usr/share/ncurses4/terminfo/w/wy370 +/usr/share/ncurses4/terminfo/w/wy370-101k +/usr/share/ncurses4/terminfo/w/wy370-105k +/usr/share/ncurses4/terminfo/w/wy370-EPC +/usr/share/ncurses4/terminfo/w/wy370-nk +/usr/share/ncurses4/terminfo/w/wy370-rv +/usr/share/ncurses4/terminfo/w/wy370-tek +/usr/share/ncurses4/terminfo/w/wy370-vb +/usr/share/ncurses4/terminfo/w/wy370-w +/usr/share/ncurses4/terminfo/w/wy370-wvb +/usr/share/ncurses4/terminfo/w/wy50 +/usr/share/ncurses4/terminfo/w/wy50-mc +/usr/share/ncurses4/terminfo/w/wy50-vb +/usr/share/ncurses4/terminfo/w/wy50-w +/usr/share/ncurses4/terminfo/w/wy50-wvb +/usr/share/ncurses4/terminfo/w/wy520 +/usr/share/ncurses4/terminfo/w/wy520-24 +/usr/share/ncurses4/terminfo/w/wy520-36 +/usr/share/ncurses4/terminfo/w/wy520-36pc +/usr/share/ncurses4/terminfo/w/wy520-36w +/usr/share/ncurses4/terminfo/w/wy520-36wpc +/usr/share/ncurses4/terminfo/w/wy520-48 +/usr/share/ncurses4/terminfo/w/wy520-48pc +/usr/share/ncurses4/terminfo/w/wy520-48w +/usr/share/ncurses4/terminfo/w/wy520-48wpc +/usr/share/ncurses4/terminfo/w/wy520-epc +/usr/share/ncurses4/terminfo/w/wy520-epc-24 +/usr/share/ncurses4/terminfo/w/wy520-epc-vb +/usr/share/ncurses4/terminfo/w/wy520-epc-w +/usr/share/ncurses4/terminfo/w/wy520-epc-wvb +/usr/share/ncurses4/terminfo/w/wy520-vb +/usr/share/ncurses4/terminfo/w/wy520-w +/usr/share/ncurses4/terminfo/w/wy520-wvb +/usr/share/ncurses4/terminfo/w/wy60 +/usr/share/ncurses4/terminfo/w/wy60-25 +/usr/share/ncurses4/terminfo/w/wy60-25-w +/usr/share/ncurses4/terminfo/w/wy60-316X +/usr/share/ncurses4/terminfo/w/wy60-42 +/usr/share/ncurses4/terminfo/w/wy60-42-w +/usr/share/ncurses4/terminfo/w/wy60-43 +/usr/share/ncurses4/terminfo/w/wy60-43-w +/usr/share/ncurses4/terminfo/w/wy60-vb +/usr/share/ncurses4/terminfo/w/wy60-w +/usr/share/ncurses4/terminfo/w/wy60-w-vb +/usr/share/ncurses4/terminfo/w/wy60-wvb +/usr/share/ncurses4/terminfo/w/wy75 +/usr/share/ncurses4/terminfo/w/wy75-mc +/usr/share/ncurses4/terminfo/w/wy75-vb +/usr/share/ncurses4/terminfo/w/wy75-w +/usr/share/ncurses4/terminfo/w/wy75-wvb +/usr/share/ncurses4/terminfo/w/wy75ap +/usr/share/ncurses4/terminfo/w/wy85 +/usr/share/ncurses4/terminfo/w/wy85-vb +/usr/share/ncurses4/terminfo/w/wy85-w +/usr/share/ncurses4/terminfo/w/wy85-wvb +/usr/share/ncurses4/terminfo/w/wy99gt +/usr/share/ncurses4/terminfo/w/wy99gt-25 +/usr/share/ncurses4/terminfo/w/wy99gt-25-w +/usr/share/ncurses4/terminfo/w/wy99gt-tek +/usr/share/ncurses4/terminfo/w/wy99gt-vb +/usr/share/ncurses4/terminfo/w/wy99gt-w +/usr/share/ncurses4/terminfo/w/wy99gt-w-vb +/usr/share/ncurses4/terminfo/w/wy99gt-wvb +/usr/share/ncurses4/terminfo/w/wyse-325 +/usr/share/ncurses4/terminfo/w/wyse-75ap +/usr/share/ncurses4/terminfo/w/wyse-vp +/usr/share/ncurses4/terminfo/w/wyse120 +/usr/share/ncurses4/terminfo/w/wyse120-25 +/usr/share/ncurses4/terminfo/w/wyse120-25-w +/usr/share/ncurses4/terminfo/w/wyse120-vb +/usr/share/ncurses4/terminfo/w/wyse120-w +/usr/share/ncurses4/terminfo/w/wyse120-wvb +/usr/share/ncurses4/terminfo/w/wyse150 +/usr/share/ncurses4/terminfo/w/wyse150-25 +/usr/share/ncurses4/terminfo/w/wyse150-25-w +/usr/share/ncurses4/terminfo/w/wyse150-vb +/usr/share/ncurses4/terminfo/w/wyse150-w +/usr/share/ncurses4/terminfo/w/wyse150-w-vb +/usr/share/ncurses4/terminfo/w/wyse160 +/usr/share/ncurses4/terminfo/w/wyse160-25 +/usr/share/ncurses4/terminfo/w/wyse160-25-w +/usr/share/ncurses4/terminfo/w/wyse160-42 +/usr/share/ncurses4/terminfo/w/wyse160-42-w +/usr/share/ncurses4/terminfo/w/wyse160-43 +/usr/share/ncurses4/terminfo/w/wyse160-43-w +/usr/share/ncurses4/terminfo/w/wyse160-vb +/usr/share/ncurses4/terminfo/w/wyse160-w +/usr/share/ncurses4/terminfo/w/wyse160-wvb +/usr/share/ncurses4/terminfo/w/wyse185 +/usr/share/ncurses4/terminfo/w/wyse185-24 +/usr/share/ncurses4/terminfo/w/wyse185-vb +/usr/share/ncurses4/terminfo/w/wyse185-w +/usr/share/ncurses4/terminfo/w/wyse185-wvb +/usr/share/ncurses4/terminfo/w/wyse30 +/usr/share/ncurses4/terminfo/w/wyse30-mc +/usr/share/ncurses4/terminfo/w/wyse30-vb +/usr/share/ncurses4/terminfo/w/wyse325 +/usr/share/ncurses4/terminfo/w/wyse325-25 +/usr/share/ncurses4/terminfo/w/wyse325-25w +/usr/share/ncurses4/terminfo/w/wyse325-42 +/usr/share/ncurses4/terminfo/w/wyse325-42w +/usr/share/ncurses4/terminfo/w/wyse325-43 +/usr/share/ncurses4/terminfo/w/wyse325-43w +/usr/share/ncurses4/terminfo/w/wyse325-vb +/usr/share/ncurses4/terminfo/w/wyse325-w +/usr/share/ncurses4/terminfo/w/wyse325-wvb +/usr/share/ncurses4/terminfo/w/wyse350 +/usr/share/ncurses4/terminfo/w/wyse350-vb +/usr/share/ncurses4/terminfo/w/wyse350-w +/usr/share/ncurses4/terminfo/w/wyse350-wvb +/usr/share/ncurses4/terminfo/w/wyse370 +/usr/share/ncurses4/terminfo/w/wyse50 +/usr/share/ncurses4/terminfo/w/wyse50-mc +/usr/share/ncurses4/terminfo/w/wyse50-vb +/usr/share/ncurses4/terminfo/w/wyse50-w +/usr/share/ncurses4/terminfo/w/wyse50-wvb +/usr/share/ncurses4/terminfo/w/wyse520 +/usr/share/ncurses4/terminfo/w/wyse520-24 +/usr/share/ncurses4/terminfo/w/wyse520-36 +/usr/share/ncurses4/terminfo/w/wyse520-36pc +/usr/share/ncurses4/terminfo/w/wyse520-36w +/usr/share/ncurses4/terminfo/w/wyse520-36wpc +/usr/share/ncurses4/terminfo/w/wyse520-48 +/usr/share/ncurses4/terminfo/w/wyse520-48pc +/usr/share/ncurses4/terminfo/w/wyse520-48w +/usr/share/ncurses4/terminfo/w/wyse520-48wpc +/usr/share/ncurses4/terminfo/w/wyse520-epc +/usr/share/ncurses4/terminfo/w/wyse520-epc-w +/usr/share/ncurses4/terminfo/w/wyse520-p-wvb +/usr/share/ncurses4/terminfo/w/wyse520-pc-24 +/usr/share/ncurses4/terminfo/w/wyse520-pc-vb +/usr/share/ncurses4/terminfo/w/wyse520-vb +/usr/share/ncurses4/terminfo/w/wyse520-w +/usr/share/ncurses4/terminfo/w/wyse520-wvb +/usr/share/ncurses4/terminfo/w/wyse60 +/usr/share/ncurses4/terminfo/w/wyse60-25 +/usr/share/ncurses4/terminfo/w/wyse60-25-w +/usr/share/ncurses4/terminfo/w/wyse60-316X +/usr/share/ncurses4/terminfo/w/wyse60-42 +/usr/share/ncurses4/terminfo/w/wyse60-42-w +/usr/share/ncurses4/terminfo/w/wyse60-43 +/usr/share/ncurses4/terminfo/w/wyse60-43-w +/usr/share/ncurses4/terminfo/w/wyse60-vb +/usr/share/ncurses4/terminfo/w/wyse60-w +/usr/share/ncurses4/terminfo/w/wyse60-wvb +/usr/share/ncurses4/terminfo/w/wyse75 +/usr/share/ncurses4/terminfo/w/wyse75-mc +/usr/share/ncurses4/terminfo/w/wyse75-vb +/usr/share/ncurses4/terminfo/w/wyse75-w +/usr/share/ncurses4/terminfo/w/wyse75-wvb +/usr/share/ncurses4/terminfo/w/wyse75ap +/usr/share/ncurses4/terminfo/w/wyse85 +/usr/share/ncurses4/terminfo/w/wyse85-vb +/usr/share/ncurses4/terminfo/w/wyse85-w +/usr/share/ncurses4/terminfo/w/wyse85-wvb +/usr/share/ncurses4/terminfo/w/wyse99gt +/usr/share/ncurses4/terminfo/w/wyse99gt-25 +/usr/share/ncurses4/terminfo/w/wyse99gt-25-w +/usr/share/ncurses4/terminfo/w/wyse99gt-vb +/usr/share/ncurses4/terminfo/w/wyse99gt-w +/usr/share/ncurses4/terminfo/w/wyse99gt-wvb +/usr/share/ncurses4/terminfo/x +/usr/share/ncurses4/terminfo/x/x10term +/usr/share/ncurses4/terminfo/x/x1700 +/usr/share/ncurses4/terminfo/x/x1700-lm +/usr/share/ncurses4/terminfo/x/x1720 +/usr/share/ncurses4/terminfo/x/x1750 +/usr/share/ncurses4/terminfo/x/x68k +/usr/share/ncurses4/terminfo/x/x68k-ite +/usr/share/ncurses4/terminfo/x/x820 +/usr/share/ncurses4/terminfo/x/xenix +/usr/share/ncurses4/terminfo/x/xerox +/usr/share/ncurses4/terminfo/x/xerox-lm +/usr/share/ncurses4/terminfo/x/xerox1720 +/usr/share/ncurses4/terminfo/x/xerox820 +/usr/share/ncurses4/terminfo/x/xl83 +/usr/share/ncurses4/terminfo/x/xtalk +/usr/share/ncurses4/terminfo/x/xterm +/usr/share/ncurses4/terminfo/x/xterm+sl +/usr/share/ncurses4/terminfo/x/xterm+sl-twm +/usr/share/ncurses4/terminfo/x/xterm-16color +/usr/share/ncurses4/terminfo/x/xterm-8bit +/usr/share/ncurses4/terminfo/x/xterm-bold +/usr/share/ncurses4/terminfo/x/xterm-nic +/usr/share/ncurses4/terminfo/x/xterm-old +/usr/share/ncurses4/terminfo/x/xterm-pcolor +/usr/share/ncurses4/terminfo/x/xterm-r5 +/usr/share/ncurses4/terminfo/x/xterm-r6 +/usr/share/ncurses4/terminfo/x/xterm-sun +/usr/share/ncurses4/terminfo/x/xterm-xf86-v32 +/usr/share/ncurses4/terminfo/x/xterm-xf86-v33 +/usr/share/ncurses4/terminfo/x/xterm-xf86-v40 +/usr/share/ncurses4/terminfo/x/xterm-xi +/usr/share/ncurses4/terminfo/x/xterm1 +/usr/share/ncurses4/terminfo/x/xterms +/usr/share/ncurses4/terminfo/x/xterms-sun +/usr/share/ncurses4/terminfo/x/xwsh +/usr/share/ncurses4/terminfo/z +/usr/share/ncurses4/terminfo/z/z-100 +/usr/share/ncurses4/terminfo/z/z-100bw +/usr/share/ncurses4/terminfo/z/z100 +/usr/share/ncurses4/terminfo/z/z100bw +/usr/share/ncurses4/terminfo/z/z110 +/usr/share/ncurses4/terminfo/z/z110bw +/usr/share/ncurses4/terminfo/z/z19 +/usr/share/ncurses4/terminfo/z/z29 +/usr/share/ncurses4/terminfo/z/z29a +/usr/share/ncurses4/terminfo/z/z29a-kc-bc +/usr/share/ncurses4/terminfo/z/z29a-kc-uc +/usr/share/ncurses4/terminfo/z/z29a-nkc-bc +/usr/share/ncurses4/terminfo/z/z29a-nkc-uc +/usr/share/ncurses4/terminfo/z/z29b +/usr/share/ncurses4/terminfo/z/z30 +/usr/share/ncurses4/terminfo/z/z340 +/usr/share/ncurses4/terminfo/z/z340-nam +/usr/share/ncurses4/terminfo/z/z39-a +/usr/share/ncurses4/terminfo/z/z39a +/usr/share/ncurses4/terminfo/z/z50 +/usr/share/ncurses4/terminfo/z/z8001 +/usr/share/ncurses4/terminfo/z/zen30 +/usr/share/ncurses4/terminfo/z/zen50 +/usr/share/ncurses4/terminfo/z/zen8001 +/usr/share/ncurses4/terminfo/z/zenith +/usr/share/ncurses4/terminfo/z/zenith29 +/usr/share/ncurses4/terminfo/z/zenith39-a +/usr/share/ncurses4/terminfo/z/zenith39-ansi +/usr/share/ncurses4/terminfo/z/zt-1 +/usr/share/ncurses4/terminfo/z/ztx +/usr/share/ncurses4/terminfo/z/ztx-1-a +/usr/share/ncurses4/terminfo/z/ztx11 + + + diff --git a/libxml2/result/rdf2.rde b/libxml2/result/rdf2.rde new file mode 100644 index 0000000..15e5e97 --- /dev/null +++ b/libxml2/result/rdf2.rde @@ -0,0 +1,2008 @@ +0 1 RDF:RDF 0 0 +1 14 #text 0 1 + +1 1 RDF:Description 0 0 +2 14 #text 0 1 + +2 1 RPM:Name 0 0 +3 3 #text 0 1 ncurses4 +2 15 RPM:Name 0 0 +2 14 #text 0 1 + +2 1 RPM:Version 0 0 +3 3 #text 0 1 4.2 +2 15 RPM:Version 0 0 +2 14 #text 0 1 + +2 1 RPM:Release 0 0 +3 3 #text 0 1 3 +2 15 RPM:Release 0 0 +2 14 #text 0 1 + +2 1 RPM:Arch 0 0 +3 3 #text 0 1 i386 +2 15 RPM:Arch 0 0 +2 14 #text 0 1 + +2 1 RPM:Os 0 0 +3 3 #text 0 1 Linux +2 15 RPM:Os 0 0 +2 14 #text 0 1 + +2 1 RPM:Distribution 0 0 +3 3 #text 0 1 DLD +2 15 RPM:Distribution 0 0 +2 14 #text 0 1 + +2 1 RPM:Vendor 0 0 +3 3 #text 0 1 delix Computer GmbH +2 15 RPM:Vendor 0 0 +2 14 #text 0 1 + +2 1 RPM:Packager 0 0 +3 3 #text 0 1 Till Bubeck , Ngo Than +2 15 RPM:Packager 0 0 +2 14 #text 0 1 + +2 1 RPM:Group 0 0 +3 3 #text 0 1 Libraries +2 15 RPM:Group 0 0 +2 14 #text 0 1 + +2 1 RPM:Summary 0 0 +3 3 #text 0 1 Bibliothek zur Ansteuerung von Terminals +2 15 RPM:Summary 0 0 +2 14 #text 0 1 + +2 1 RPM:Description 0 0 +3 3 #text 0 1 Diese Library stellt dem Programmierer vom Terminal unabhängige +Routinen zur Ansteuerung Ihres Bildschirms zur Verfügung, die +speziell optimiert sind. +Diese Version ist die 'new curses' (ncurses) Variante und ist der +anerkannte Ersatz für die klassische Curses-Library, die nicht mehr +weiterentwickelt wird. +2 15 RPM:Description 0 0 +2 14 #text 0 1 + +2 1 RPM:Copyright 0 0 +3 3 #text 0 1 GPL +2 15 RPM:Copyright 0 0 +2 14 #text 0 1 + +2 1 RPM:Sources 0 0 +3 3 #text 0 1 ncurses4-4.2-3.src.rpm +2 15 RPM:Sources 0 0 +2 14 #text 0 1 + +2 1 RPM:BuildDate 0 0 +3 3 #text 0 1 Tue May 12 19:30:26 1998 +2 15 RPM:BuildDate 0 0 +2 14 #text 0 1 + +2 1 RPM:Date 0 0 +3 3 #text 0 1 895015826 +2 15 RPM:Date 0 0 +2 14 #text 0 1 + +2 1 RPM:Size 0 0 +3 3 #text 0 1 1373513 +2 15 RPM:Size 0 0 +2 14 #text 0 1 + +2 1 RPM:BuildHost 0 0 +3 3 #text 0 1 erdbeere.delix.de +2 15 RPM:BuildHost 0 0 +2 14 #text 0 1 + +2 1 RPM:Provides 0 0 +3 14 #text 0 1 + +3 1 RDF:Bag 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 ncurses4 +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 libpanel.so.4 +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 libncurses.so.4 +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 libmenu.so.4 +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 libform.so.4 +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 ncurses +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +3 15 RDF:Bag 0 0 +3 14 #text 0 1 + +2 15 RPM:Provides 0 0 +2 14 #text 0 1 + +2 1 RPM:Files 0 0 +3 3 #text 0 1 /lib/libncurses.so.4 +/lib/libncurses.so.4.2 +/usr/doc/ncurses4-4.2-3 +/usr/doc/ncurses4-4.2-3/ANNOUNCE.gz +/usr/doc/ncurses4-4.2-3/NEWS.gz +/usr/doc/ncurses4-4.2-3/README.gz +/usr/doc/ncurses4-4.2-3/TO-DO.gz +/usr/lib/libform.so.4 +/usr/lib/libform.so.4.2 +/usr/lib/libmenu.so.4 +/usr/lib/libmenu.so.4.2 +/usr/lib/libpanel.so.4 +/usr/lib/libpanel.so.4.2 +/usr/share/ncurses4 +/usr/share/ncurses4/tabset +/usr/share/ncurses4/tabset/std +/usr/share/ncurses4/tabset/stdcrt +/usr/share/ncurses4/tabset/vt100 +/usr/share/ncurses4/tabset/vt300 +/usr/share/ncurses4/terminfo +/usr/share/ncurses4/terminfo/1 +/usr/share/ncurses4/terminfo/1/1178 +/usr/share/ncurses4/terminfo/1/1730-lm +/usr/share/ncurses4/terminfo/2 +/usr/share/ncurses4/terminfo/2/2621 +/usr/share/ncurses4/terminfo/2/2621-wl +/usr/share/ncurses4/terminfo/2/2621A +/usr/share/ncurses4/terminfo/2/2621a +/usr/share/ncurses4/terminfo/3 +/usr/share/ncurses4/terminfo/3/386at +/usr/share/ncurses4/terminfo/3/3b1 +/usr/share/ncurses4/terminfo/4 +/usr/share/ncurses4/terminfo/4/4025ex +/usr/share/ncurses4/terminfo/4/4027ex +/usr/share/ncurses4/terminfo/4/4410-w +/usr/share/ncurses4/terminfo/5 +/usr/share/ncurses4/terminfo/5/5051 +/usr/share/ncurses4/terminfo/5/5410-w +/usr/share/ncurses4/terminfo/5/5620 +/usr/share/ncurses4/terminfo/5/5630-24 +/usr/share/ncurses4/terminfo/5/5630DMD-24 +/usr/share/ncurses4/terminfo/6 +/usr/share/ncurses4/terminfo/6/630-lm +/usr/share/ncurses4/terminfo/6/630MTG-24 +/usr/share/ncurses4/terminfo/7 +/usr/share/ncurses4/terminfo/7/730MTG-24 +/usr/share/ncurses4/terminfo/7/730MTG-41 +/usr/share/ncurses4/terminfo/7/730MTG-41r +/usr/share/ncurses4/terminfo/7/730MTGr +/usr/share/ncurses4/terminfo/7/730MTGr-24 +/usr/share/ncurses4/terminfo/8 +/usr/share/ncurses4/terminfo/8/8510 +/usr/share/ncurses4/terminfo/9 +/usr/share/ncurses4/terminfo/9/955-hb +/usr/share/ncurses4/terminfo/9/955-w +/usr/share/ncurses4/terminfo/P +/usr/share/ncurses4/terminfo/P/P12 +/usr/share/ncurses4/terminfo/P/P12-M +/usr/share/ncurses4/terminfo/P/P12-M-W +/usr/share/ncurses4/terminfo/P/P12-W +/usr/share/ncurses4/terminfo/P/P14 +/usr/share/ncurses4/terminfo/P/P14-M +/usr/share/ncurses4/terminfo/P/P14-M-W +/usr/share/ncurses4/terminfo/P/P14-W +/usr/share/ncurses4/terminfo/P/P4 +/usr/share/ncurses4/terminfo/P/P5 +/usr/share/ncurses4/terminfo/P/P7 +/usr/share/ncurses4/terminfo/P/P8 +/usr/share/ncurses4/terminfo/P/P8-W +/usr/share/ncurses4/terminfo/P/P9 +/usr/share/ncurses4/terminfo/P/P9-8 +/usr/share/ncurses4/terminfo/P/P9-8-W +/usr/share/ncurses4/terminfo/P/P9-W +/usr/share/ncurses4/terminfo/X +/usr/share/ncurses4/terminfo/X/X-hpterm +/usr/share/ncurses4/terminfo/a +/usr/share/ncurses4/terminfo/a/a210 +/usr/share/ncurses4/terminfo/a/a80 +/usr/share/ncurses4/terminfo/a/a980 +/usr/share/ncurses4/terminfo/a/aa4080 +/usr/share/ncurses4/terminfo/a/aaa +/usr/share/ncurses4/terminfo/a/aaa+dec +/usr/share/ncurses4/terminfo/a/aaa+rv +/usr/share/ncurses4/terminfo/a/aaa+unk +/usr/share/ncurses4/terminfo/a/aaa-18 +/usr/share/ncurses4/terminfo/a/aaa-18-rv +/usr/share/ncurses4/terminfo/a/aaa-20 +/usr/share/ncurses4/terminfo/a/aaa-22 +/usr/share/ncurses4/terminfo/a/aaa-24 +/usr/share/ncurses4/terminfo/a/aaa-24-rv +/usr/share/ncurses4/terminfo/a/aaa-26 +/usr/share/ncurses4/terminfo/a/aaa-28 +/usr/share/ncurses4/terminfo/a/aaa-30 +/usr/share/ncurses4/terminfo/a/aaa-30-ctxt +/usr/share/ncurses4/terminfo/a/aaa-30-rv +/usr/share/ncurses4/terminfo/a/aaa-30-rv-ctxt +/usr/share/ncurses4/terminfo/a/aaa-30-s +/usr/share/ncurses4/terminfo/a/aaa-30-s-ctxt +/usr/share/ncurses4/terminfo/a/aaa-30-s-rv +/usr/share/ncurses4/terminfo/a/aaa-30-s-rv-ct +/usr/share/ncurses4/terminfo/a/aaa-36 +/usr/share/ncurses4/terminfo/a/aaa-36-rv +/usr/share/ncurses4/terminfo/a/aaa-40 +/usr/share/ncurses4/terminfo/a/aaa-40-rv +/usr/share/ncurses4/terminfo/a/aaa-48 +/usr/share/ncurses4/terminfo/a/aaa-48-rv +/usr/share/ncurses4/terminfo/a/aaa-60 +/usr/share/ncurses4/terminfo/a/aaa-60-dec-rv +/usr/share/ncurses4/terminfo/a/aaa-60-rv +/usr/share/ncurses4/terminfo/a/aaa-60-s +/usr/share/ncurses4/terminfo/a/aaa-60-s-rv +/usr/share/ncurses4/terminfo/a/aaa-ctxt +/usr/share/ncurses4/terminfo/a/aaa-db +/usr/share/ncurses4/terminfo/a/aaa-rv +/usr/share/ncurses4/terminfo/a/aaa-rv-ctxt +/usr/share/ncurses4/terminfo/a/aaa-rv-unk +/usr/share/ncurses4/terminfo/a/aaa-s +/usr/share/ncurses4/terminfo/a/aaa-s-ctxt +/usr/share/ncurses4/terminfo/a/aaa-s-rv +/usr/share/ncurses4/terminfo/a/aaa-s-rv-ctxt +/usr/share/ncurses4/terminfo/a/aaa-unk +/usr/share/ncurses4/terminfo/a/aas1901 +/usr/share/ncurses4/terminfo/a/abm80 +/usr/share/ncurses4/terminfo/a/abm85 +/usr/share/ncurses4/terminfo/a/abm85e +/usr/share/ncurses4/terminfo/a/abm85h +/usr/share/ncurses4/terminfo/a/abm85h-old +/usr/share/ncurses4/terminfo/a/act4 +/usr/share/ncurses4/terminfo/a/act5 +/usr/share/ncurses4/terminfo/a/addrinfo +/usr/share/ncurses4/terminfo/a/adds980 +/usr/share/ncurses4/terminfo/a/addsviewpoint +/usr/share/ncurses4/terminfo/a/addsvp60 +/usr/share/ncurses4/terminfo/a/adm+sgr +/usr/share/ncurses4/terminfo/a/adm1 +/usr/share/ncurses4/terminfo/a/adm11 +/usr/share/ncurses4/terminfo/a/adm1178 +/usr/share/ncurses4/terminfo/a/adm12 +/usr/share/ncurses4/terminfo/a/adm1a +/usr/share/ncurses4/terminfo/a/adm2 +/usr/share/ncurses4/terminfo/a/adm20 +/usr/share/ncurses4/terminfo/a/adm21 +/usr/share/ncurses4/terminfo/a/adm22 +/usr/share/ncurses4/terminfo/a/adm3 +/usr/share/ncurses4/terminfo/a/adm31 +/usr/share/ncurses4/terminfo/a/adm31-old +/usr/share/ncurses4/terminfo/a/adm36 +/usr/share/ncurses4/terminfo/a/adm3a +/usr/share/ncurses4/terminfo/a/adm3a+ +/usr/share/ncurses4/terminfo/a/adm42 +/usr/share/ncurses4/terminfo/a/adm42-ns +/usr/share/ncurses4/terminfo/a/adm5 +/usr/share/ncurses4/terminfo/a/aepro +/usr/share/ncurses4/terminfo/a/aixterm-m +/usr/share/ncurses4/terminfo/a/aixterm-m-old +/usr/share/ncurses4/terminfo/a/aj +/usr/share/ncurses4/terminfo/a/aj510 +/usr/share/ncurses4/terminfo/a/aj830 +/usr/share/ncurses4/terminfo/a/aj832 +/usr/share/ncurses4/terminfo/a/alt2 +/usr/share/ncurses4/terminfo/a/alt3 +/usr/share/ncurses4/terminfo/a/alt4 +/usr/share/ncurses4/terminfo/a/alt5 +/usr/share/ncurses4/terminfo/a/alt7 +/usr/share/ncurses4/terminfo/a/alt7pc +/usr/share/ncurses4/terminfo/a/alto-h19 +/usr/share/ncurses4/terminfo/a/alto-heath +/usr/share/ncurses4/terminfo/a/altoh19 +/usr/share/ncurses4/terminfo/a/altoheath +/usr/share/ncurses4/terminfo/a/altos-2 +/usr/share/ncurses4/terminfo/a/altos-3 +/usr/share/ncurses4/terminfo/a/altos-4 +/usr/share/ncurses4/terminfo/a/altos-5 +/usr/share/ncurses4/terminfo/a/altos2 +/usr/share/ncurses4/terminfo/a/altos3 +/usr/share/ncurses4/terminfo/a/altos4 +/usr/share/ncurses4/terminfo/a/altos5 +/usr/share/ncurses4/terminfo/a/altos7 +/usr/share/ncurses4/terminfo/a/altos7pc +/usr/share/ncurses4/terminfo/a/ambas +/usr/share/ncurses4/terminfo/a/ambassador +/usr/share/ncurses4/terminfo/a/amiga +/usr/share/ncurses4/terminfo/a/amiga-h +/usr/share/ncurses4/terminfo/a/amp219 +/usr/share/ncurses4/terminfo/a/amp219w +/usr/share/ncurses4/terminfo/a/ampex-219 +/usr/share/ncurses4/terminfo/a/ampex-219w +/usr/share/ncurses4/terminfo/a/ampex-232 +/usr/share/ncurses4/terminfo/a/ampex175 +/usr/share/ncurses4/terminfo/a/ampex175-b +/usr/share/ncurses4/terminfo/a/ampex210 +/usr/share/ncurses4/terminfo/a/ampex219 +/usr/share/ncurses4/terminfo/a/ampex219w +/usr/share/ncurses4/terminfo/a/ampex232 +/usr/share/ncurses4/terminfo/a/ampex232w +/usr/share/ncurses4/terminfo/a/ampex80 +/usr/share/ncurses4/terminfo/a/annarbor4080 +/usr/share/ncurses4/terminfo/a/ansi +/usr/share/ncurses4/terminfo/a/ansi-color-2-emx +/usr/share/ncurses4/terminfo/a/ansi-color-3-emx +/usr/share/ncurses4/terminfo/a/ansi-emx +/usr/share/ncurses4/terminfo/a/ansi-m +/usr/share/ncurses4/terminfo/a/ansi-mini +/usr/share/ncurses4/terminfo/a/ansi-mono +/usr/share/ncurses4/terminfo/a/ansi-nt +/usr/share/ncurses4/terminfo/a/ansi.sys +/usr/share/ncurses4/terminfo/a/ansi.sys-old +/usr/share/ncurses4/terminfo/a/ansi.sysk +/usr/share/ncurses4/terminfo/a/ansi43m +/usr/share/ncurses4/terminfo/a/ansi77 +/usr/share/ncurses4/terminfo/a/ansi80x25 +/usr/share/ncurses4/terminfo/a/ansi80x25-mono +/usr/share/ncurses4/terminfo/a/ansi80x25-raw +/usr/share/ncurses4/terminfo/a/ansi80x30 +/usr/share/ncurses4/terminfo/a/ansi80x30-mono +/usr/share/ncurses4/terminfo/a/ansi80x43 +/usr/share/ncurses4/terminfo/a/ansi80x43-mono +/usr/share/ncurses4/terminfo/a/ansi80x50 +/usr/share/ncurses4/terminfo/a/ansi80x50-mono +/usr/share/ncurses4/terminfo/a/ansi80x60 +/usr/share/ncurses4/terminfo/a/ansi80x60-mono +/usr/share/ncurses4/terminfo/a/ansil +/usr/share/ncurses4/terminfo/a/ansil-mono +/usr/share/ncurses4/terminfo/a/ansis +/usr/share/ncurses4/terminfo/a/ansis-mono +/usr/share/ncurses4/terminfo/a/ansisysk +/usr/share/ncurses4/terminfo/a/ansiw +/usr/share/ncurses4/terminfo/a/ap-vm80 +/usr/share/ncurses4/terminfo/a/apl +/usr/share/ncurses4/terminfo/a/apollo +/usr/share/ncurses4/terminfo/a/apollo_15P +/usr/share/ncurses4/terminfo/a/apollo_19L +/usr/share/ncurses4/terminfo/a/apollo_color +/usr/share/ncurses4/terminfo/a/apple-80 +/usr/share/ncurses4/terminfo/a/apple-ae +/usr/share/ncurses4/terminfo/a/apple-soroc +/usr/share/ncurses4/terminfo/a/apple-uterm +/usr/share/ncurses4/terminfo/a/apple-uterm-vb +/usr/share/ncurses4/terminfo/a/apple-videx +/usr/share/ncurses4/terminfo/a/apple-videx2 +/usr/share/ncurses4/terminfo/a/apple-videx3 +/usr/share/ncurses4/terminfo/a/apple-vm80 +/usr/share/ncurses4/terminfo/a/apple2e +/usr/share/ncurses4/terminfo/a/apple2e-p +/usr/share/ncurses4/terminfo/a/apple80p +/usr/share/ncurses4/terminfo/a/appleII +/usr/share/ncurses4/terminfo/a/appleIIc +/usr/share/ncurses4/terminfo/a/appleIIe +/usr/share/ncurses4/terminfo/a/appleIIgs +/usr/share/ncurses4/terminfo/a/at386 +/usr/share/ncurses4/terminfo/a/atari +/usr/share/ncurses4/terminfo/a/att2300 +/usr/share/ncurses4/terminfo/a/att2350 +/usr/share/ncurses4/terminfo/a/att4410 +/usr/share/ncurses4/terminfo/a/att4410-w +/usr/share/ncurses4/terminfo/a/att4410v1 +/usr/share/ncurses4/terminfo/a/att4410v1-w +/usr/share/ncurses4/terminfo/a/att4415 +/usr/share/ncurses4/terminfo/a/att4415+nl +/usr/share/ncurses4/terminfo/a/att4415-nl +/usr/share/ncurses4/terminfo/a/att4415-rv +/usr/share/ncurses4/terminfo/a/att4415-rv-nl +/usr/share/ncurses4/terminfo/a/att4415-w +/usr/share/ncurses4/terminfo/a/att4415-w-nl +/usr/share/ncurses4/terminfo/a/att4415-w-rv +/usr/share/ncurses4/terminfo/a/att4415-w-rv-n +/usr/share/ncurses4/terminfo/a/att4418 +/usr/share/ncurses4/terminfo/a/att4418-w +/usr/share/ncurses4/terminfo/a/att4420 +/usr/share/ncurses4/terminfo/a/att4424 +/usr/share/ncurses4/terminfo/a/att4424-1 +/usr/share/ncurses4/terminfo/a/att4424m +/usr/share/ncurses4/terminfo/a/att4425 +/usr/share/ncurses4/terminfo/a/att4425-nl +/usr/share/ncurses4/terminfo/a/att4425-w +/usr/share/ncurses4/terminfo/a/att4426 +/usr/share/ncurses4/terminfo/a/att500 +/usr/share/ncurses4/terminfo/a/att505 +/usr/share/ncurses4/terminfo/a/att505-24 +/usr/share/ncurses4/terminfo/a/att510a +/usr/share/ncurses4/terminfo/a/att510d +/usr/share/ncurses4/terminfo/a/att513 +/usr/share/ncurses4/terminfo/a/att5310 +/usr/share/ncurses4/terminfo/a/att5320 +/usr/share/ncurses4/terminfo/a/att5410 +/usr/share/ncurses4/terminfo/a/att5410-w +/usr/share/ncurses4/terminfo/a/att5410v1 +/usr/share/ncurses4/terminfo/a/att5410v1-w +/usr/share/ncurses4/terminfo/a/att5418 +/usr/share/ncurses4/terminfo/a/att5418-w +/usr/share/ncurses4/terminfo/a/att5420 +/usr/share/ncurses4/terminfo/a/att5420+nl +/usr/share/ncurses4/terminfo/a/att5420-nl +/usr/share/ncurses4/terminfo/a/att5420-rv +/usr/share/ncurses4/terminfo/a/att5420-rv-nl +/usr/share/ncurses4/terminfo/a/att5420-w +/usr/share/ncurses4/terminfo/a/att5420-w-nl +/usr/share/ncurses4/terminfo/a/att5420-w-rv +/usr/share/ncurses4/terminfo/a/att5420-w-rv-n +/usr/share/ncurses4/terminfo/a/att5420_2 +/usr/share/ncurses4/terminfo/a/att5420_2-w +/usr/share/ncurses4/terminfo/a/att5425 +/usr/share/ncurses4/terminfo/a/att5425-nl +/usr/share/ncurses4/terminfo/a/att5425-w +/usr/share/ncurses4/terminfo/a/att5430 +/usr/share/ncurses4/terminfo/a/att5620 +/usr/share/ncurses4/terminfo/a/att5620-1 +/usr/share/ncurses4/terminfo/a/att5620-24 +/usr/share/ncurses4/terminfo/a/att5620-34 +/usr/share/ncurses4/terminfo/a/att5620-s +/usr/share/ncurses4/terminfo/a/att605 +/usr/share/ncurses4/terminfo/a/att605-pc +/usr/share/ncurses4/terminfo/a/att605-w +/usr/share/ncurses4/terminfo/a/att610 +/usr/share/ncurses4/terminfo/a/att610-103k +/usr/share/ncurses4/terminfo/a/att610-103k-w +/usr/share/ncurses4/terminfo/a/att610-w +/usr/share/ncurses4/terminfo/a/att615 +/usr/share/ncurses4/terminfo/a/att615-103k +/usr/share/ncurses4/terminfo/a/att615-103k-w +/usr/share/ncurses4/terminfo/a/att615-w +/usr/share/ncurses4/terminfo/a/att620 +/usr/share/ncurses4/terminfo/a/att620-103k +/usr/share/ncurses4/terminfo/a/att620-103k-w +/usr/share/ncurses4/terminfo/a/att620-w +/usr/share/ncurses4/terminfo/a/att630 +/usr/share/ncurses4/terminfo/a/att630-24 +/usr/share/ncurses4/terminfo/a/att6386 +/usr/share/ncurses4/terminfo/a/att730 +/usr/share/ncurses4/terminfo/a/att730-24 +/usr/share/ncurses4/terminfo/a/att730-41 +/usr/share/ncurses4/terminfo/a/att7300 +/usr/share/ncurses4/terminfo/a/att730r +/usr/share/ncurses4/terminfo/a/att730r-24 +/usr/share/ncurses4/terminfo/a/att730r-41 +/usr/share/ncurses4/terminfo/a/avatar +/usr/share/ncurses4/terminfo/a/avatar0 +/usr/share/ncurses4/terminfo/a/avatar0+ +/usr/share/ncurses4/terminfo/a/avatar1 +/usr/share/ncurses4/terminfo/a/avt +/usr/share/ncurses4/terminfo/a/avt+s +/usr/share/ncurses4/terminfo/a/avt-ns +/usr/share/ncurses4/terminfo/a/avt-rv +/usr/share/ncurses4/terminfo/a/avt-rv-ns +/usr/share/ncurses4/terminfo/a/avt-rv-s +/usr/share/ncurses4/terminfo/a/avt-s +/usr/share/ncurses4/terminfo/a/avt-w +/usr/share/ncurses4/terminfo/a/avt-w-ns +/usr/share/ncurses4/terminfo/a/avt-w-rv +/usr/share/ncurses4/terminfo/a/avt-w-rv-ns +/usr/share/ncurses4/terminfo/a/avt-w-rv-s +/usr/share/ncurses4/terminfo/a/avt-w-s +/usr/share/ncurses4/terminfo/a/aws +/usr/share/ncurses4/terminfo/a/awsc +/usr/share/ncurses4/terminfo/b +/usr/share/ncurses4/terminfo/b/b-128 +/usr/share/ncurses4/terminfo/b/bantam +/usr/share/ncurses4/terminfo/b/basic4 +/usr/share/ncurses4/terminfo/b/basis +/usr/share/ncurses4/terminfo/b/bct510a +/usr/share/ncurses4/terminfo/b/bct510d +/usr/share/ncurses4/terminfo/b/beacon +/usr/share/ncurses4/terminfo/b/bee +/usr/share/ncurses4/terminfo/b/beehive +/usr/share/ncurses4/terminfo/b/beehive3 +/usr/share/ncurses4/terminfo/b/beehive4 +/usr/share/ncurses4/terminfo/b/beehiveIIIm +/usr/share/ncurses4/terminfo/b/beterm +/usr/share/ncurses4/terminfo/b/bg1.25 +/usr/share/ncurses4/terminfo/b/bg1.25nv +/usr/share/ncurses4/terminfo/b/bg1.25rv +/usr/share/ncurses4/terminfo/b/bg2.0 +/usr/share/ncurses4/terminfo/b/bg2.0nv +/usr/share/ncurses4/terminfo/b/bg2.0rv +/usr/share/ncurses4/terminfo/b/bg3.10 +/usr/share/ncurses4/terminfo/b/bg3.10nv +/usr/share/ncurses4/terminfo/b/bg3.10rv +/usr/share/ncurses4/terminfo/b/bh3m +/usr/share/ncurses4/terminfo/b/bh4 +/usr/share/ncurses4/terminfo/b/bitgraph +/usr/share/ncurses4/terminfo/b/blit +/usr/share/ncurses4/terminfo/b/bobcat +/usr/share/ncurses4/terminfo/b/bsdos +/usr/share/ncurses4/terminfo/b/bsdos-bold +/usr/share/ncurses4/terminfo/c +/usr/share/ncurses4/terminfo/c/c100 +/usr/share/ncurses4/terminfo/c/c100-1p +/usr/share/ncurses4/terminfo/c/c100-4p +/usr/share/ncurses4/terminfo/c/c100-rv +/usr/share/ncurses4/terminfo/c/c100-rv-4p +/usr/share/ncurses4/terminfo/c/c104 +/usr/share/ncurses4/terminfo/c/c108 +/usr/share/ncurses4/terminfo/c/c108-4p +/usr/share/ncurses4/terminfo/c/c108-8p +/usr/share/ncurses4/terminfo/c/c108-rv +/usr/share/ncurses4/terminfo/c/c108-rv-4p +/usr/share/ncurses4/terminfo/c/c108-rv-8p +/usr/share/ncurses4/terminfo/c/c108-w +/usr/share/ncurses4/terminfo/c/c108-w-8p +/usr/share/ncurses4/terminfo/c/c300 +/usr/share/ncurses4/terminfo/c/c301 +/usr/share/ncurses4/terminfo/c/c321 +/usr/share/ncurses4/terminfo/c/ca22851 +/usr/share/ncurses4/terminfo/c/cad68-2 +/usr/share/ncurses4/terminfo/c/cad68-3 +/usr/share/ncurses4/terminfo/c/cbblit +/usr/share/ncurses4/terminfo/c/cbunix +/usr/share/ncurses4/terminfo/c/cci +/usr/share/ncurses4/terminfo/c/cci1 +/usr/share/ncurses4/terminfo/c/cdc456 +/usr/share/ncurses4/terminfo/c/cdc721 +/usr/share/ncurses4/terminfo/c/cdc721-esc +/usr/share/ncurses4/terminfo/c/cdc721ll +/usr/share/ncurses4/terminfo/c/cdc752 +/usr/share/ncurses4/terminfo/c/cdc756 +/usr/share/ncurses4/terminfo/c/cg7900 +/usr/share/ncurses4/terminfo/c/cgc2 +/usr/share/ncurses4/terminfo/c/cgc3 +/usr/share/ncurses4/terminfo/c/chromatics +/usr/share/ncurses4/terminfo/c/ci8510 +/usr/share/ncurses4/terminfo/c/cit-80 +/usr/share/ncurses4/terminfo/c/cit101 +/usr/share/ncurses4/terminfo/c/cit101e +/usr/share/ncurses4/terminfo/c/cit101e-132 +/usr/share/ncurses4/terminfo/c/cit101e-n +/usr/share/ncurses4/terminfo/c/cit101e-n132 +/usr/share/ncurses4/terminfo/c/cit101e-rv +/usr/share/ncurses4/terminfo/c/cit500 +/usr/share/ncurses4/terminfo/c/cit80 +/usr/share/ncurses4/terminfo/c/citc +/usr/share/ncurses4/terminfo/c/citoh +/usr/share/ncurses4/terminfo/c/citoh-6lpi +/usr/share/ncurses4/terminfo/c/citoh-8lpi +/usr/share/ncurses4/terminfo/c/citoh-comp +/usr/share/ncurses4/terminfo/c/citoh-elite +/usr/share/ncurses4/terminfo/c/citoh-pica +/usr/share/ncurses4/terminfo/c/citoh-prop +/usr/share/ncurses4/terminfo/c/citoh-ps +/usr/share/ncurses4/terminfo/c/coco3 +/usr/share/ncurses4/terminfo/c/coherent +/usr/share/ncurses4/terminfo/c/color_xterm +/usr/share/ncurses4/terminfo/c/colorscan +/usr/share/ncurses4/terminfo/c/commodore +/usr/share/ncurses4/terminfo/c/concept +/usr/share/ncurses4/terminfo/c/concept-avt +/usr/share/ncurses4/terminfo/c/concept100 +/usr/share/ncurses4/terminfo/c/concept100-rv +/usr/share/ncurses4/terminfo/c/concept108 +/usr/share/ncurses4/terminfo/c/concept108-4p +/usr/share/ncurses4/terminfo/c/concept108-8p +/usr/share/ncurses4/terminfo/c/concept108-w-8 +/usr/share/ncurses4/terminfo/c/concept108-w8p +/usr/share/ncurses4/terminfo/c/concept108rv4p +/usr/share/ncurses4/terminfo/c/cons25 +/usr/share/ncurses4/terminfo/c/cons25-iso-m +/usr/share/ncurses4/terminfo/c/cons25-iso8859 +/usr/share/ncurses4/terminfo/c/cons25-koi8-r +/usr/share/ncurses4/terminfo/c/cons25-koi8r-m +/usr/share/ncurses4/terminfo/c/cons25-m +/usr/share/ncurses4/terminfo/c/cons25l1 +/usr/share/ncurses4/terminfo/c/cons25l1-m +/usr/share/ncurses4/terminfo/c/cons25r +/usr/share/ncurses4/terminfo/c/cons25r-m +/usr/share/ncurses4/terminfo/c/cons25w +/usr/share/ncurses4/terminfo/c/cons30 +/usr/share/ncurses4/terminfo/c/cons30-m +/usr/share/ncurses4/terminfo/c/cons43 +/usr/share/ncurses4/terminfo/c/cons43-m +/usr/share/ncurses4/terminfo/c/cons50 +/usr/share/ncurses4/terminfo/c/cons50-iso-m +/usr/share/ncurses4/terminfo/c/cons50-iso8859 +/usr/share/ncurses4/terminfo/c/cons50-koi8r +/usr/share/ncurses4/terminfo/c/cons50-koi8r-m +/usr/share/ncurses4/terminfo/c/cons50-m +/usr/share/ncurses4/terminfo/c/cons50l1 +/usr/share/ncurses4/terminfo/c/cons50l1-m +/usr/share/ncurses4/terminfo/c/cons50r +/usr/share/ncurses4/terminfo/c/cons50r-m +/usr/share/ncurses4/terminfo/c/cons60 +/usr/share/ncurses4/terminfo/c/cons60-iso +/usr/share/ncurses4/terminfo/c/cons60-iso-m +/usr/share/ncurses4/terminfo/c/cons60-koi8r +/usr/share/ncurses4/terminfo/c/cons60-koi8r-m +/usr/share/ncurses4/terminfo/c/cons60-m +/usr/share/ncurses4/terminfo/c/cons60l1 +/usr/share/ncurses4/terminfo/c/cons60l1-m +/usr/share/ncurses4/terminfo/c/cons60r +/usr/share/ncurses4/terminfo/c/cons60r-m +/usr/share/ncurses4/terminfo/c/contel300 +/usr/share/ncurses4/terminfo/c/contel301 +/usr/share/ncurses4/terminfo/c/contel320 +/usr/share/ncurses4/terminfo/c/contel321 +/usr/share/ncurses4/terminfo/c/cops +/usr/share/ncurses4/terminfo/c/cops-10 +/usr/share/ncurses4/terminfo/c/cops10 +/usr/share/ncurses4/terminfo/c/cs10 +/usr/share/ncurses4/terminfo/c/cs10-w +/usr/share/ncurses4/terminfo/c/ct82 +/usr/share/ncurses4/terminfo/c/ct8500 +/usr/share/ncurses4/terminfo/c/ctrm +/usr/share/ncurses4/terminfo/c/cx +/usr/share/ncurses4/terminfo/c/cx100 +/usr/share/ncurses4/terminfo/c/cyb110 +/usr/share/ncurses4/terminfo/c/cyb83 +/usr/share/ncurses4/terminfo/d +/usr/share/ncurses4/terminfo/d/d132 +/usr/share/ncurses4/terminfo/d/d80 +/usr/share/ncurses4/terminfo/d/d800 +/usr/share/ncurses4/terminfo/d/datagraphix +/usr/share/ncurses4/terminfo/d/datamedia2500 +/usr/share/ncurses4/terminfo/d/datapoint +/usr/share/ncurses4/terminfo/d/dataspeed40 +/usr/share/ncurses4/terminfo/d/dd5000 +/usr/share/ncurses4/terminfo/d/ddr +/usr/share/ncurses4/terminfo/d/ddr3180 +/usr/share/ncurses4/terminfo/d/dec-vt100 +/usr/share/ncurses4/terminfo/d/dec-vt220 +/usr/share/ncurses4/terminfo/d/dec-vt330 +/usr/share/ncurses4/terminfo/d/dec-vt340 +/usr/share/ncurses4/terminfo/d/dec-vt400 +/usr/share/ncurses4/terminfo/d/decpro +/usr/share/ncurses4/terminfo/d/decwriter +/usr/share/ncurses4/terminfo/d/delta +/usr/share/ncurses4/terminfo/d/dg-ansi +/usr/share/ncurses4/terminfo/d/dg100 +/usr/share/ncurses4/terminfo/d/dg200 +/usr/share/ncurses4/terminfo/d/dg210 +/usr/share/ncurses4/terminfo/d/dg211 +/usr/share/ncurses4/terminfo/d/dg450 +/usr/share/ncurses4/terminfo/d/dg460-ansi +/usr/share/ncurses4/terminfo/d/dg6053 +/usr/share/ncurses4/terminfo/d/dg6134 +/usr/share/ncurses4/terminfo/d/diablo +/usr/share/ncurses4/terminfo/d/diablo-lm +/usr/share/ncurses4/terminfo/d/diablo1620 +/usr/share/ncurses4/terminfo/d/diablo1620-m8 +/usr/share/ncurses4/terminfo/d/diablo1640 +/usr/share/ncurses4/terminfo/d/diablo1640-lm +/usr/share/ncurses4/terminfo/d/diablo1640-m8 +/usr/share/ncurses4/terminfo/d/diablo1720 +/usr/share/ncurses4/terminfo/d/diablo1730 +/usr/share/ncurses4/terminfo/d/diablo1740 +/usr/share/ncurses4/terminfo/d/diablo1740-lm +/usr/share/ncurses4/terminfo/d/diablo450 +/usr/share/ncurses4/terminfo/d/diablo630 +/usr/share/ncurses4/terminfo/d/dialogue +/usr/share/ncurses4/terminfo/d/dialogue80 +/usr/share/ncurses4/terminfo/d/digilog +/usr/share/ncurses4/terminfo/d/dku7003 +/usr/share/ncurses4/terminfo/d/dku7003-dumb +/usr/share/ncurses4/terminfo/d/dm1520 +/usr/share/ncurses4/terminfo/d/dm1521 +/usr/share/ncurses4/terminfo/d/dm2500 +/usr/share/ncurses4/terminfo/d/dm3025 +/usr/share/ncurses4/terminfo/d/dm3045 +/usr/share/ncurses4/terminfo/d/dm80 +/usr/share/ncurses4/terminfo/d/dm80w +/usr/share/ncurses4/terminfo/d/dmchat +/usr/share/ncurses4/terminfo/d/dmd +/usr/share/ncurses4/terminfo/d/dmd-24 +/usr/share/ncurses4/terminfo/d/dmd-34 +/usr/share/ncurses4/terminfo/d/dmd1 +/usr/share/ncurses4/terminfo/d/dmdt80 +/usr/share/ncurses4/terminfo/d/dmdt80w +/usr/share/ncurses4/terminfo/d/dmterm +/usr/share/ncurses4/terminfo/d/dp3360 +/usr/share/ncurses4/terminfo/d/dp8242 +/usr/share/ncurses4/terminfo/d/ds40 +/usr/share/ncurses4/terminfo/d/ds40-2 +/usr/share/ncurses4/terminfo/d/dt-100 +/usr/share/ncurses4/terminfo/d/dt-100w +/usr/share/ncurses4/terminfo/d/dt100 +/usr/share/ncurses4/terminfo/d/dt100w +/usr/share/ncurses4/terminfo/d/dt110 +/usr/share/ncurses4/terminfo/d/dt80 +/usr/share/ncurses4/terminfo/d/dt80-sas +/usr/share/ncurses4/terminfo/d/dt80w +/usr/share/ncurses4/terminfo/d/dtc300s +/usr/share/ncurses4/terminfo/d/dtc382 +/usr/share/ncurses4/terminfo/d/dtterm +/usr/share/ncurses4/terminfo/d/dumb +/usr/share/ncurses4/terminfo/d/dw +/usr/share/ncurses4/terminfo/d/dw1 +/usr/share/ncurses4/terminfo/d/dw2 +/usr/share/ncurses4/terminfo/d/dw3 +/usr/share/ncurses4/terminfo/d/dw4 +/usr/share/ncurses4/terminfo/d/dwk +/usr/share/ncurses4/terminfo/d/dwk-vt +/usr/share/ncurses4/terminfo/e +/usr/share/ncurses4/terminfo/e/ecma+color +/usr/share/ncurses4/terminfo/e/ecma+sgr +/usr/share/ncurses4/terminfo/e/emots +/usr/share/ncurses4/terminfo/e/emu +/usr/share/ncurses4/terminfo/e/env230 +/usr/share/ncurses4/terminfo/e/envision230 +/usr/share/ncurses4/terminfo/e/ep40 +/usr/share/ncurses4/terminfo/e/ep4000 +/usr/share/ncurses4/terminfo/e/ep4080 +/usr/share/ncurses4/terminfo/e/ep48 +/usr/share/ncurses4/terminfo/e/ergo4000 +/usr/share/ncurses4/terminfo/e/esprit +/usr/share/ncurses4/terminfo/e/esprit-am +/usr/share/ncurses4/terminfo/e/eterm +/usr/share/ncurses4/terminfo/e/ex155 +/usr/share/ncurses4/terminfo/e/excel62 +/usr/share/ncurses4/terminfo/e/excel62-rv +/usr/share/ncurses4/terminfo/e/excel62-w +/usr/share/ncurses4/terminfo/e/excel64 +/usr/share/ncurses4/terminfo/e/excel64-rv +/usr/share/ncurses4/terminfo/e/excel64-w +/usr/share/ncurses4/terminfo/e/exec80 +/usr/share/ncurses4/terminfo/f +/usr/share/ncurses4/terminfo/f/f100 +/usr/share/ncurses4/terminfo/f/f100-rv +/usr/share/ncurses4/terminfo/f/f110 +/usr/share/ncurses4/terminfo/f/f110-14 +/usr/share/ncurses4/terminfo/f/f110-14w +/usr/share/ncurses4/terminfo/f/f110-w +/usr/share/ncurses4/terminfo/f/f1720 +/usr/share/ncurses4/terminfo/f/f1720a +/usr/share/ncurses4/terminfo/f/f200 +/usr/share/ncurses4/terminfo/f/f200-w +/usr/share/ncurses4/terminfo/f/f200vi +/usr/share/ncurses4/terminfo/f/f200vi-w +/usr/share/ncurses4/terminfo/f/falco +/usr/share/ncurses4/terminfo/f/falco-p +/usr/share/ncurses4/terminfo/f/fenix +/usr/share/ncurses4/terminfo/f/fenixw +/usr/share/ncurses4/terminfo/f/fixterm +/usr/share/ncurses4/terminfo/f/fortune +/usr/share/ncurses4/terminfo/f/fos +/usr/share/ncurses4/terminfo/f/fox +/usr/share/ncurses4/terminfo/f/freedom +/usr/share/ncurses4/terminfo/f/freedom-rv +/usr/share/ncurses4/terminfo/f/freedom100 +/usr/share/ncurses4/terminfo/f/freedom110 +/usr/share/ncurses4/terminfo/f/freedom200 +/usr/share/ncurses4/terminfo/g +/usr/share/ncurses4/terminfo/g/gator +/usr/share/ncurses4/terminfo/g/gator-52 +/usr/share/ncurses4/terminfo/g/gator-52t +/usr/share/ncurses4/terminfo/g/gator-t +/usr/share/ncurses4/terminfo/g/gigi +/usr/share/ncurses4/terminfo/g/glasstty +/usr/share/ncurses4/terminfo/g/go-225 +/usr/share/ncurses4/terminfo/g/go140 +/usr/share/ncurses4/terminfo/g/go140w +/usr/share/ncurses4/terminfo/g/go225 +/usr/share/ncurses4/terminfo/g/graphos +/usr/share/ncurses4/terminfo/g/graphos-30 +/usr/share/ncurses4/terminfo/g/gs5430 +/usr/share/ncurses4/terminfo/g/gs5430-22 +/usr/share/ncurses4/terminfo/g/gs5430-24 +/usr/share/ncurses4/terminfo/g/gs6300 +/usr/share/ncurses4/terminfo/g/gsi +/usr/share/ncurses4/terminfo/g/gt100 +/usr/share/ncurses4/terminfo/g/gt100a +/usr/share/ncurses4/terminfo/g/gt40 +/usr/share/ncurses4/terminfo/g/gt42 +/usr/share/ncurses4/terminfo/g/guru +/usr/share/ncurses4/terminfo/g/guru+rv +/usr/share/ncurses4/terminfo/g/guru+s +/usr/share/ncurses4/terminfo/g/guru+unk +/usr/share/ncurses4/terminfo/g/guru-24 +/usr/share/ncurses4/terminfo/g/guru-33 +/usr/share/ncurses4/terminfo/g/guru-33-rv +/usr/share/ncurses4/terminfo/g/guru-33-s +/usr/share/ncurses4/terminfo/g/guru-44 +/usr/share/ncurses4/terminfo/g/guru-44-s +/usr/share/ncurses4/terminfo/g/guru-76 +/usr/share/ncurses4/terminfo/g/guru-76-lp +/usr/share/ncurses4/terminfo/g/guru-76-s +/usr/share/ncurses4/terminfo/g/guru-76-w +/usr/share/ncurses4/terminfo/g/guru-76-w-s +/usr/share/ncurses4/terminfo/g/guru-76-wm +/usr/share/ncurses4/terminfo/g/guru-lp +/usr/share/ncurses4/terminfo/g/guru-nctxt +/usr/share/ncurses4/terminfo/g/guru-rv +/usr/share/ncurses4/terminfo/g/guru-s +/usr/share/ncurses4/terminfo/h +/usr/share/ncurses4/terminfo/h/h-100 +/usr/share/ncurses4/terminfo/h/h-100bw +/usr/share/ncurses4/terminfo/h/h100 +/usr/share/ncurses4/terminfo/h/h100bw +/usr/share/ncurses4/terminfo/h/h19 +/usr/share/ncurses4/terminfo/h/h19-a +/usr/share/ncurses4/terminfo/h/h19-b +/usr/share/ncurses4/terminfo/h/h19-bs +/usr/share/ncurses4/terminfo/h/h19-g +/usr/share/ncurses4/terminfo/h/h19-smul +/usr/share/ncurses4/terminfo/h/h19-u +/usr/share/ncurses4/terminfo/h/h19-us +/usr/share/ncurses4/terminfo/h/h19a +/usr/share/ncurses4/terminfo/h/h19g +/usr/share/ncurses4/terminfo/h/h19k +/usr/share/ncurses4/terminfo/h/h19kermit +/usr/share/ncurses4/terminfo/h/h19us +/usr/share/ncurses4/terminfo/h/h29a-kc-bc +/usr/share/ncurses4/terminfo/h/h29a-kc-uc +/usr/share/ncurses4/terminfo/h/h29a-nkc-bc +/usr/share/ncurses4/terminfo/h/h29a-nkc-uc +/usr/share/ncurses4/terminfo/h/h80 +/usr/share/ncurses4/terminfo/h/ha8675 +/usr/share/ncurses4/terminfo/h/ha8686 +/usr/share/ncurses4/terminfo/h/hazel +/usr/share/ncurses4/terminfo/h/hds200 +/usr/share/ncurses4/terminfo/h/he80 +/usr/share/ncurses4/terminfo/h/heath +/usr/share/ncurses4/terminfo/h/heath-19 +/usr/share/ncurses4/terminfo/h/heath-ansi +/usr/share/ncurses4/terminfo/h/heathkit +/usr/share/ncurses4/terminfo/h/heathkit-a +/usr/share/ncurses4/terminfo/h/hft +/usr/share/ncurses4/terminfo/h/hft-c +/usr/share/ncurses4/terminfo/h/hirez100 +/usr/share/ncurses4/terminfo/h/hirez100-w +/usr/share/ncurses4/terminfo/h/hmod1 +/usr/share/ncurses4/terminfo/h/hp +/usr/share/ncurses4/terminfo/h/hp+arrows +/usr/share/ncurses4/terminfo/h/hp+color +/usr/share/ncurses4/terminfo/h/hp+labels +/usr/share/ncurses4/terminfo/h/hp+pfk+arrows +/usr/share/ncurses4/terminfo/h/hp+pfk+cr +/usr/share/ncurses4/terminfo/h/hp+pfk-cr +/usr/share/ncurses4/terminfo/h/hp+printer +/usr/share/ncurses4/terminfo/h/hp110 +/usr/share/ncurses4/terminfo/h/hp150 +/usr/share/ncurses4/terminfo/h/hp2 +/usr/share/ncurses4/terminfo/h/hp236 +/usr/share/ncurses4/terminfo/h/hp2382 +/usr/share/ncurses4/terminfo/h/hp2382a +/usr/share/ncurses4/terminfo/h/hp2392 +/usr/share/ncurses4/terminfo/h/hp2397 +/usr/share/ncurses4/terminfo/h/hp2397a +/usr/share/ncurses4/terminfo/h/hp2621 +/usr/share/ncurses4/terminfo/h/hp2621-48 +/usr/share/ncurses4/terminfo/h/hp2621-a +/usr/share/ncurses4/terminfo/h/hp2621-ba +/usr/share/ncurses4/terminfo/h/hp2621-fl +/usr/share/ncurses4/terminfo/h/hp2621-k45 +/usr/share/ncurses4/terminfo/h/hp2621-nl +/usr/share/ncurses4/terminfo/h/hp2621-nt +/usr/share/ncurses4/terminfo/h/hp2621-wl +/usr/share/ncurses4/terminfo/h/hp2621A +/usr/share/ncurses4/terminfo/h/hp2621a +/usr/share/ncurses4/terminfo/h/hp2621a-a +/usr/share/ncurses4/terminfo/h/hp2621b +/usr/share/ncurses4/terminfo/h/hp2621b-kx +/usr/share/ncurses4/terminfo/h/hp2621b-kx-p +/usr/share/ncurses4/terminfo/h/hp2621b-p +/usr/share/ncurses4/terminfo/h/hp2621k45 +/usr/share/ncurses4/terminfo/h/hp2621p +/usr/share/ncurses4/terminfo/h/hp2621p-a +/usr/share/ncurses4/terminfo/h/hp2622 +/usr/share/ncurses4/terminfo/h/hp2622a +/usr/share/ncurses4/terminfo/h/hp2623 +/usr/share/ncurses4/terminfo/h/hp2623a +/usr/share/ncurses4/terminfo/h/hp2624 +/usr/share/ncurses4/terminfo/h/hp2624-10p +/usr/share/ncurses4/terminfo/h/hp2624a +/usr/share/ncurses4/terminfo/h/hp2624a-10p +/usr/share/ncurses4/terminfo/h/hp2624b +/usr/share/ncurses4/terminfo/h/hp2624b-10p +/usr/share/ncurses4/terminfo/h/hp2624b-10p-p +/usr/share/ncurses4/terminfo/h/hp2624b-4p +/usr/share/ncurses4/terminfo/h/hp2624b-4p-p +/usr/share/ncurses4/terminfo/h/hp2624b-p +/usr/share/ncurses4/terminfo/h/hp2626 +/usr/share/ncurses4/terminfo/h/hp2626-12 +/usr/share/ncurses4/terminfo/h/hp2626-12-s +/usr/share/ncurses4/terminfo/h/hp2626-12x40 +/usr/share/ncurses4/terminfo/h/hp2626-ns +/usr/share/ncurses4/terminfo/h/hp2626-s +/usr/share/ncurses4/terminfo/h/hp2626-x40 +/usr/share/ncurses4/terminfo/h/hp2626a +/usr/share/ncurses4/terminfo/h/hp2626p +/usr/share/ncurses4/terminfo/h/hp2627a +/usr/share/ncurses4/terminfo/h/hp2627a-rev +/usr/share/ncurses4/terminfo/h/hp2627c +/usr/share/ncurses4/terminfo/h/hp262x +/usr/share/ncurses4/terminfo/h/hp2640a +/usr/share/ncurses4/terminfo/h/hp2640b +/usr/share/ncurses4/terminfo/h/hp2641a +/usr/share/ncurses4/terminfo/h/hp2644a +/usr/share/ncurses4/terminfo/h/hp2645 +/usr/share/ncurses4/terminfo/h/hp2645a +/usr/share/ncurses4/terminfo/h/hp2647a +/usr/share/ncurses4/terminfo/h/hp2648 +/usr/share/ncurses4/terminfo/h/hp2648a +/usr/share/ncurses4/terminfo/h/hp300h +/usr/share/ncurses4/terminfo/h/hp45 +/usr/share/ncurses4/terminfo/h/hp700 +/usr/share/ncurses4/terminfo/h/hp700-wy +/usr/share/ncurses4/terminfo/h/hp70092 +/usr/share/ncurses4/terminfo/h/hp70092A +/usr/share/ncurses4/terminfo/h/hp70092a +/usr/share/ncurses4/terminfo/h/hp9837 +/usr/share/ncurses4/terminfo/h/hp9845 +/usr/share/ncurses4/terminfo/h/hp98550 +/usr/share/ncurses4/terminfo/h/hp98550a +/usr/share/ncurses4/terminfo/h/hp98720 +/usr/share/ncurses4/terminfo/h/hp98721 +/usr/share/ncurses4/terminfo/h/hpansi +/usr/share/ncurses4/terminfo/h/hpex +/usr/share/ncurses4/terminfo/h/hpex2 +/usr/share/ncurses4/terminfo/h/hpgeneric +/usr/share/ncurses4/terminfo/h/hpsub +/usr/share/ncurses4/terminfo/h/hpterm +/usr/share/ncurses4/terminfo/h/htx11 +/usr/share/ncurses4/terminfo/h/hz1000 +/usr/share/ncurses4/terminfo/h/hz1420 +/usr/share/ncurses4/terminfo/h/hz1500 +/usr/share/ncurses4/terminfo/h/hz1510 +/usr/share/ncurses4/terminfo/h/hz1520 +/usr/share/ncurses4/terminfo/h/hz1520-noesc +/usr/share/ncurses4/terminfo/h/hz1552 +/usr/share/ncurses4/terminfo/h/hz1552-rv +/usr/share/ncurses4/terminfo/h/hz2000 +/usr/share/ncurses4/terminfo/i +/usr/share/ncurses4/terminfo/i/i100 +/usr/share/ncurses4/terminfo/i/i3101 +/usr/share/ncurses4/terminfo/i/i3151 +/usr/share/ncurses4/terminfo/i/i3164 +/usr/share/ncurses4/terminfo/i/i400 +/usr/share/ncurses4/terminfo/i/ibcs2 +/usr/share/ncurses4/terminfo/i/ibm-apl +/usr/share/ncurses4/terminfo/i/ibm-pc +/usr/share/ncurses4/terminfo/i/ibm-system1 +/usr/share/ncurses4/terminfo/i/ibm3101 +/usr/share/ncurses4/terminfo/i/ibm3151 +/usr/share/ncurses4/terminfo/i/ibm3161 +/usr/share/ncurses4/terminfo/i/ibm3163 +/usr/share/ncurses4/terminfo/i/ibm3164 +/usr/share/ncurses4/terminfo/i/ibm327x +/usr/share/ncurses4/terminfo/i/ibm5051 +/usr/share/ncurses4/terminfo/i/ibm5081 +/usr/share/ncurses4/terminfo/i/ibm5081-c +/usr/share/ncurses4/terminfo/i/ibm5151 +/usr/share/ncurses4/terminfo/i/ibm5154 +/usr/share/ncurses4/terminfo/i/ibm5154-c +/usr/share/ncurses4/terminfo/i/ibm6153 +/usr/share/ncurses4/terminfo/i/ibm6154 +/usr/share/ncurses4/terminfo/i/ibm6154-c +/usr/share/ncurses4/terminfo/i/ibm6155 +/usr/share/ncurses4/terminfo/i/ibm8512 +/usr/share/ncurses4/terminfo/i/ibm8513 +/usr/share/ncurses4/terminfo/i/ibm8514 +/usr/share/ncurses4/terminfo/i/ibm8514-c +/usr/share/ncurses4/terminfo/i/ibmaed +/usr/share/ncurses4/terminfo/i/ibmapa16 +/usr/share/ncurses4/terminfo/i/ibmapa8 +/usr/share/ncurses4/terminfo/i/ibmapa8c +/usr/share/ncurses4/terminfo/i/ibmapa8c-c +/usr/share/ncurses4/terminfo/i/ibmega +/usr/share/ncurses4/terminfo/i/ibmega-c +/usr/share/ncurses4/terminfo/i/ibmmono +/usr/share/ncurses4/terminfo/i/ibmmpel +/usr/share/ncurses4/terminfo/i/ibmmpel-c +/usr/share/ncurses4/terminfo/i/ibmpc +/usr/share/ncurses4/terminfo/i/ibmpc3 +/usr/share/ncurses4/terminfo/i/ibmpc3r +/usr/share/ncurses4/terminfo/i/ibmpc3r-mono +/usr/share/ncurses4/terminfo/i/ibmpcx +/usr/share/ncurses4/terminfo/i/ibmvga +/usr/share/ncurses4/terminfo/i/ibmvga-c +/usr/share/ncurses4/terminfo/i/ibmx +/usr/share/ncurses4/terminfo/i/ifmr +/usr/share/ncurses4/terminfo/i/ims-ansi +/usr/share/ncurses4/terminfo/i/ims950 +/usr/share/ncurses4/terminfo/i/ims950-b +/usr/share/ncurses4/terminfo/i/ims950-rv +/usr/share/ncurses4/terminfo/i/infoton +/usr/share/ncurses4/terminfo/i/intertec +/usr/share/ncurses4/terminfo/i/intertube +/usr/share/ncurses4/terminfo/i/intertube2 +/usr/share/ncurses4/terminfo/i/intext +/usr/share/ncurses4/terminfo/i/intext2 +/usr/share/ncurses4/terminfo/i/intextii +/usr/share/ncurses4/terminfo/i/ips +/usr/share/ncurses4/terminfo/i/ipsi +/usr/share/ncurses4/terminfo/i/iq120 +/usr/share/ncurses4/terminfo/i/iq140 +/usr/share/ncurses4/terminfo/i/iris-ansi +/usr/share/ncurses4/terminfo/i/iris-ansi-ap +/usr/share/ncurses4/terminfo/i/iris-color +/usr/share/ncurses4/terminfo/i/iris40 +/usr/share/ncurses4/terminfo/j +/usr/share/ncurses4/terminfo/j/jaixterm-m +/usr/share/ncurses4/terminfo/j/jerq +/usr/share/ncurses4/terminfo/k +/usr/share/ncurses4/terminfo/k/k45 +/usr/share/ncurses4/terminfo/k/kaypro +/usr/share/ncurses4/terminfo/k/kaypro2 +/usr/share/ncurses4/terminfo/k/kermit +/usr/share/ncurses4/terminfo/k/kermit-am +/usr/share/ncurses4/terminfo/k/klone+acs +/usr/share/ncurses4/terminfo/k/klone+color +/usr/share/ncurses4/terminfo/k/klone+koi8acs +/usr/share/ncurses4/terminfo/k/klone+sgr +/usr/share/ncurses4/terminfo/k/klone+sgr-dumb +/usr/share/ncurses4/terminfo/k/kt7 +/usr/share/ncurses4/terminfo/k/kt7ix +/usr/share/ncurses4/terminfo/k/kterm +/usr/share/ncurses4/terminfo/k/ktm +/usr/share/ncurses4/terminfo/l +/usr/share/ncurses4/terminfo/l/la120 +/usr/share/ncurses4/terminfo/l/layer +/usr/share/ncurses4/terminfo/l/linux +/usr/share/ncurses4/terminfo/l/linux-c +/usr/share/ncurses4/terminfo/l/linux-c-nc +/usr/share/ncurses4/terminfo/l/linux-koi8 +/usr/share/ncurses4/terminfo/l/linux-koi8r +/usr/share/ncurses4/terminfo/l/linux-m +/usr/share/ncurses4/terminfo/l/linux-nic +/usr/share/ncurses4/terminfo/l/lisa +/usr/share/ncurses4/terminfo/l/lisaterm +/usr/share/ncurses4/terminfo/l/lisaterm-w +/usr/share/ncurses4/terminfo/l/liswb +/usr/share/ncurses4/terminfo/l/ln03 +/usr/share/ncurses4/terminfo/l/ln03-w +/usr/share/ncurses4/terminfo/l/lpr +/usr/share/ncurses4/terminfo/l/luna +/usr/share/ncurses4/terminfo/l/luna68k +/usr/share/ncurses4/terminfo/m +/usr/share/ncurses4/terminfo/m/m2-nam +/usr/share/ncurses4/terminfo/m/mac +/usr/share/ncurses4/terminfo/m/mac-w +/usr/share/ncurses4/terminfo/m/macintosh +/usr/share/ncurses4/terminfo/m/macterminal-w +/usr/share/ncurses4/terminfo/m/mai +/usr/share/ncurses4/terminfo/m/masscomp +/usr/share/ncurses4/terminfo/m/masscomp1 +/usr/share/ncurses4/terminfo/m/masscomp2 +/usr/share/ncurses4/terminfo/m/mdl110 +/usr/share/ncurses4/terminfo/m/megatek +/usr/share/ncurses4/terminfo/m/memhp +/usr/share/ncurses4/terminfo/m/mgr +/usr/share/ncurses4/terminfo/m/mgr-linux +/usr/share/ncurses4/terminfo/m/mgr-sun +/usr/share/ncurses4/terminfo/m/microb +/usr/share/ncurses4/terminfo/m/microbee +/usr/share/ncurses4/terminfo/m/microterm +/usr/share/ncurses4/terminfo/m/microterm5 +/usr/share/ncurses4/terminfo/m/mime +/usr/share/ncurses4/terminfo/m/mime-3ax +/usr/share/ncurses4/terminfo/m/mime-fb +/usr/share/ncurses4/terminfo/m/mime-hb +/usr/share/ncurses4/terminfo/m/mime1 +/usr/share/ncurses4/terminfo/m/mime2 +/usr/share/ncurses4/terminfo/m/mime2a +/usr/share/ncurses4/terminfo/m/mime2a-s +/usr/share/ncurses4/terminfo/m/mime2a-v +/usr/share/ncurses4/terminfo/m/mime314 +/usr/share/ncurses4/terminfo/m/mime340 +/usr/share/ncurses4/terminfo/m/mime3a +/usr/share/ncurses4/terminfo/m/mime3ax +/usr/share/ncurses4/terminfo/m/mimei +/usr/share/ncurses4/terminfo/m/mimeii +/usr/share/ncurses4/terminfo/m/minitel +/usr/share/ncurses4/terminfo/m/minitel-2 +/usr/share/ncurses4/terminfo/m/minitel-2-nam +/usr/share/ncurses4/terminfo/m/minix +/usr/share/ncurses4/terminfo/m/minix-old +/usr/share/ncurses4/terminfo/m/minix-old-am +/usr/share/ncurses4/terminfo/m/mm314 +/usr/share/ncurses4/terminfo/m/mm340 +/usr/share/ncurses4/terminfo/m/mod +/usr/share/ncurses4/terminfo/m/mod24 +/usr/share/ncurses4/terminfo/m/modgraph +/usr/share/ncurses4/terminfo/m/modgraph2 +/usr/share/ncurses4/terminfo/m/modgraph48 +/usr/share/ncurses4/terminfo/m/mono-emx +/usr/share/ncurses4/terminfo/m/msk227 +/usr/share/ncurses4/terminfo/m/msk22714 +/usr/share/ncurses4/terminfo/m/msk227am +/usr/share/ncurses4/terminfo/m/mskermit227 +/usr/share/ncurses4/terminfo/m/mskermit22714 +/usr/share/ncurses4/terminfo/m/mskermit227am +/usr/share/ncurses4/terminfo/m/mt-70 +/usr/share/ncurses4/terminfo/m/mt4520-rv +/usr/share/ncurses4/terminfo/m/mt70 +/usr/share/ncurses4/terminfo/n +/usr/share/ncurses4/terminfo/n/nansi.sys +/usr/share/ncurses4/terminfo/n/nansi.sysk +/usr/share/ncurses4/terminfo/n/nansisys +/usr/share/ncurses4/terminfo/n/nansisysk +/usr/share/ncurses4/terminfo/n/ncr7900 +/usr/share/ncurses4/terminfo/n/ncr7900i +/usr/share/ncurses4/terminfo/n/ncr7900iv +/usr/share/ncurses4/terminfo/n/ncr7901 +/usr/share/ncurses4/terminfo/n/nec +/usr/share/ncurses4/terminfo/n/nec5520 +/usr/share/ncurses4/terminfo/n/newhp +/usr/share/ncurses4/terminfo/n/newhpkeyboard +/usr/share/ncurses4/terminfo/n/news +/usr/share/ncurses4/terminfo/n/news-29 +/usr/share/ncurses4/terminfo/n/news-29-euc +/usr/share/ncurses4/terminfo/n/news-29-sjis +/usr/share/ncurses4/terminfo/n/news-33 +/usr/share/ncurses4/terminfo/n/news-33-euc +/usr/share/ncurses4/terminfo/n/news-33-sjis +/usr/share/ncurses4/terminfo/n/news-42 +/usr/share/ncurses4/terminfo/n/news-42-euc +/usr/share/ncurses4/terminfo/n/news-42-sjis +/usr/share/ncurses4/terminfo/n/news-a +/usr/share/ncurses4/terminfo/n/news-o +/usr/share/ncurses4/terminfo/n/news-old-unk +/usr/share/ncurses4/terminfo/n/news-unk +/usr/share/ncurses4/terminfo/n/news28 +/usr/share/ncurses4/terminfo/n/news28-a +/usr/share/ncurses4/terminfo/n/news29 +/usr/share/ncurses4/terminfo/n/news31 +/usr/share/ncurses4/terminfo/n/news31-a +/usr/share/ncurses4/terminfo/n/news31-o +/usr/share/ncurses4/terminfo/n/news33 +/usr/share/ncurses4/terminfo/n/news40 +/usr/share/ncurses4/terminfo/n/news40-a +/usr/share/ncurses4/terminfo/n/news40-o +/usr/share/ncurses4/terminfo/n/news42 +/usr/share/ncurses4/terminfo/n/newscbm +/usr/share/ncurses4/terminfo/n/newscbm-a +/usr/share/ncurses4/terminfo/n/newscbm-o +/usr/share/ncurses4/terminfo/n/newscbm33 +/usr/share/ncurses4/terminfo/n/next +/usr/share/ncurses4/terminfo/n/nextshell +/usr/share/ncurses4/terminfo/n/northstar +/usr/share/ncurses4/terminfo/n/nwe501 +/usr/share/ncurses4/terminfo/n/nwe501-a +/usr/share/ncurses4/terminfo/n/nwe501-o +/usr/share/ncurses4/terminfo/n/nwp-511 +/usr/share/ncurses4/terminfo/n/nwp-517 +/usr/share/ncurses4/terminfo/n/nwp-517-w +/usr/share/ncurses4/terminfo/n/nwp251-a +/usr/share/ncurses4/terminfo/n/nwp251-o +/usr/share/ncurses4/terminfo/n/nwp511 +/usr/share/ncurses4/terminfo/n/nwp512 +/usr/share/ncurses4/terminfo/n/nwp512-a +/usr/share/ncurses4/terminfo/n/nwp512-o +/usr/share/ncurses4/terminfo/n/nwp513 +/usr/share/ncurses4/terminfo/n/nwp513-a +/usr/share/ncurses4/terminfo/n/nwp513-o +/usr/share/ncurses4/terminfo/n/nwp514 +/usr/share/ncurses4/terminfo/n/nwp514-a +/usr/share/ncurses4/terminfo/n/nwp514-o +/usr/share/ncurses4/terminfo/n/nwp517 +/usr/share/ncurses4/terminfo/n/nwp517-w +/usr/share/ncurses4/terminfo/n/nwp518 +/usr/share/ncurses4/terminfo/n/nwp518-a +/usr/share/ncurses4/terminfo/n/nwp518-o +/usr/share/ncurses4/terminfo/o +/usr/share/ncurses4/terminfo/o/o31 +/usr/share/ncurses4/terminfo/o/o4112-nd +/usr/share/ncurses4/terminfo/o/o85h +/usr/share/ncurses4/terminfo/o/oabm85h +/usr/share/ncurses4/terminfo/o/oblit +/usr/share/ncurses4/terminfo/o/oc100 +/usr/share/ncurses4/terminfo/o/oconcept +/usr/share/ncurses4/terminfo/o/ojerq +/usr/share/ncurses4/terminfo/o/oldibmpc3 +/usr/share/ncurses4/terminfo/o/oldpc3 +/usr/share/ncurses4/terminfo/o/oldsun +/usr/share/ncurses4/terminfo/o/omron +/usr/share/ncurses4/terminfo/o/opus3n1+ +/usr/share/ncurses4/terminfo/o/origibmpc3 +/usr/share/ncurses4/terminfo/o/origpc3 +/usr/share/ncurses4/terminfo/o/os9LII +/usr/share/ncurses4/terminfo/o/osborne +/usr/share/ncurses4/terminfo/o/osborne-w +/usr/share/ncurses4/terminfo/o/osborne1 +/usr/share/ncurses4/terminfo/o/osborne1-w +/usr/share/ncurses4/terminfo/o/osexec +/usr/share/ncurses4/terminfo/o/otek4112 +/usr/share/ncurses4/terminfo/o/otek4113 +/usr/share/ncurses4/terminfo/o/otek4114 +/usr/share/ncurses4/terminfo/o/otek4115 +/usr/share/ncurses4/terminfo/o/owl +/usr/share/ncurses4/terminfo/p +/usr/share/ncurses4/terminfo/p/p12 +/usr/share/ncurses4/terminfo/p/p12-m +/usr/share/ncurses4/terminfo/p/p12-m-w +/usr/share/ncurses4/terminfo/p/p12-w +/usr/share/ncurses4/terminfo/p/p14 +/usr/share/ncurses4/terminfo/p/p14-m +/usr/share/ncurses4/terminfo/p/p14-m-w +/usr/share/ncurses4/terminfo/p/p14-w +/usr/share/ncurses4/terminfo/p/p19 +/usr/share/ncurses4/terminfo/p/p4 +/usr/share/ncurses4/terminfo/p/p5 +/usr/share/ncurses4/terminfo/p/p7 +/usr/share/ncurses4/terminfo/p/p8 +/usr/share/ncurses4/terminfo/p/p8-w +/usr/share/ncurses4/terminfo/p/p8gl +/usr/share/ncurses4/terminfo/p/p9 +/usr/share/ncurses4/terminfo/p/p9-8 +/usr/share/ncurses4/terminfo/p/p9-8-w +/usr/share/ncurses4/terminfo/p/p9-w +/usr/share/ncurses4/terminfo/p/pc-coherent +/usr/share/ncurses4/terminfo/p/pc-minix +/usr/share/ncurses4/terminfo/p/pc-venix +/usr/share/ncurses4/terminfo/p/pc3 +/usr/share/ncurses4/terminfo/p/pc3-bold +/usr/share/ncurses4/terminfo/p/pc3r +/usr/share/ncurses4/terminfo/p/pc3r-m +/usr/share/ncurses4/terminfo/p/pc6300plus +/usr/share/ncurses4/terminfo/p/pc7300 +/usr/share/ncurses4/terminfo/p/pcansi +/usr/share/ncurses4/terminfo/p/pcansi-25 +/usr/share/ncurses4/terminfo/p/pcansi-25-m +/usr/share/ncurses4/terminfo/p/pcansi-33 +/usr/share/ncurses4/terminfo/p/pcansi-33-m +/usr/share/ncurses4/terminfo/p/pcansi-43 +/usr/share/ncurses4/terminfo/p/pcansi-43-m +/usr/share/ncurses4/terminfo/p/pcansi-m +/usr/share/ncurses4/terminfo/p/pcansi-mono +/usr/share/ncurses4/terminfo/p/pcansi25 +/usr/share/ncurses4/terminfo/p/pcansi25m +/usr/share/ncurses4/terminfo/p/pcansi33 +/usr/share/ncurses4/terminfo/p/pcansi33m +/usr/share/ncurses4/terminfo/p/pcansi43 +/usr/share/ncurses4/terminfo/p/pccons +/usr/share/ncurses4/terminfo/p/pcconsole +/usr/share/ncurses4/terminfo/p/pcix +/usr/share/ncurses4/terminfo/p/pckermit +/usr/share/ncurses4/terminfo/p/pckermit12 +/usr/share/ncurses4/terminfo/p/pckermit120 +/usr/share/ncurses4/terminfo/p/pcplot +/usr/share/ncurses4/terminfo/p/pcvt25 +/usr/share/ncurses4/terminfo/p/pcvt25w +/usr/share/ncurses4/terminfo/p/pcvt28 +/usr/share/ncurses4/terminfo/p/pcvt28w +/usr/share/ncurses4/terminfo/p/pcvt35 +/usr/share/ncurses4/terminfo/p/pcvt35w +/usr/share/ncurses4/terminfo/p/pcvt40 +/usr/share/ncurses4/terminfo/p/pcvt40w +/usr/share/ncurses4/terminfo/p/pcvt43 +/usr/share/ncurses4/terminfo/p/pcvt43w +/usr/share/ncurses4/terminfo/p/pcvt50 +/usr/share/ncurses4/terminfo/p/pcvt50w +/usr/share/ncurses4/terminfo/p/pcvtXX +/usr/share/ncurses4/terminfo/p/pcz19 +/usr/share/ncurses4/terminfo/p/pe1100 +/usr/share/ncurses4/terminfo/p/pe1200 +/usr/share/ncurses4/terminfo/p/pe1251 +/usr/share/ncurses4/terminfo/p/pe550 +/usr/share/ncurses4/terminfo/p/pe6100 +/usr/share/ncurses4/terminfo/p/pe6300 +/usr/share/ncurses4/terminfo/p/pe6312 +/usr/share/ncurses4/terminfo/p/pe7000c +/usr/share/ncurses4/terminfo/p/pe7000m +/usr/share/ncurses4/terminfo/p/pilot +/usr/share/ncurses4/terminfo/p/printer +/usr/share/ncurses4/terminfo/p/prism12 +/usr/share/ncurses4/terminfo/p/prism12-m +/usr/share/ncurses4/terminfo/p/prism12-m-w +/usr/share/ncurses4/terminfo/p/prism12-w +/usr/share/ncurses4/terminfo/p/prism14 +/usr/share/ncurses4/terminfo/p/prism14-m +/usr/share/ncurses4/terminfo/p/prism14-m-w +/usr/share/ncurses4/terminfo/p/prism14-w +/usr/share/ncurses4/terminfo/p/prism2 +/usr/share/ncurses4/terminfo/p/prism4 +/usr/share/ncurses4/terminfo/p/prism5 +/usr/share/ncurses4/terminfo/p/prism7 +/usr/share/ncurses4/terminfo/p/prism8 +/usr/share/ncurses4/terminfo/p/prism8-w +/usr/share/ncurses4/terminfo/p/prism8gl +/usr/share/ncurses4/terminfo/p/prism9 +/usr/share/ncurses4/terminfo/p/prism9-8 +/usr/share/ncurses4/terminfo/p/prism9-8-w +/usr/share/ncurses4/terminfo/p/prism9-w +/usr/share/ncurses4/terminfo/p/pro350 +/usr/share/ncurses4/terminfo/p/ps300 +/usr/share/ncurses4/terminfo/p/psterm +/usr/share/ncurses4/terminfo/p/psterm-80x24 +/usr/share/ncurses4/terminfo/p/psterm-90x28 +/usr/share/ncurses4/terminfo/p/psterm-96x48 +/usr/share/ncurses4/terminfo/p/psterm-basic +/usr/share/ncurses4/terminfo/p/psterm-fast +/usr/share/ncurses4/terminfo/p/psx_ansi +/usr/share/ncurses4/terminfo/p/pt100 +/usr/share/ncurses4/terminfo/p/pt100w +/usr/share/ncurses4/terminfo/p/pt200 +/usr/share/ncurses4/terminfo/p/pt200w +/usr/share/ncurses4/terminfo/p/pt210 +/usr/share/ncurses4/terminfo/p/pt250 +/usr/share/ncurses4/terminfo/p/pt250w +/usr/share/ncurses4/terminfo/p/pt505 +/usr/share/ncurses4/terminfo/p/pt505-22 +/usr/share/ncurses4/terminfo/p/pt505-24 +/usr/share/ncurses4/terminfo/p/pty +/usr/share/ncurses4/terminfo/q +/usr/share/ncurses4/terminfo/q/qdcons +/usr/share/ncurses4/terminfo/q/qdss +/usr/share/ncurses4/terminfo/q/qnx +/usr/share/ncurses4/terminfo/q/qnx4 +/usr/share/ncurses4/terminfo/q/qume +/usr/share/ncurses4/terminfo/q/qume5 +/usr/share/ncurses4/terminfo/q/qvt101 +/usr/share/ncurses4/terminfo/q/qvt101+ +/usr/share/ncurses4/terminfo/q/qvt101p +/usr/share/ncurses4/terminfo/q/qvt102 +/usr/share/ncurses4/terminfo/q/qvt103 +/usr/share/ncurses4/terminfo/q/qvt103-w +/usr/share/ncurses4/terminfo/q/qvt108 +/usr/share/ncurses4/terminfo/q/qvt119 +/usr/share/ncurses4/terminfo/q/qvt119+ +/usr/share/ncurses4/terminfo/q/qvt119+-25 +/usr/share/ncurses4/terminfo/q/qvt119+-25-w +/usr/share/ncurses4/terminfo/q/qvt119+-w +/usr/share/ncurses4/terminfo/q/qvt119-25-w +/usr/share/ncurses4/terminfo/q/qvt119-w +/usr/share/ncurses4/terminfo/q/qvt119p +/usr/share/ncurses4/terminfo/q/qvt119p-25 +/usr/share/ncurses4/terminfo/q/qvt119p-25-w +/usr/share/ncurses4/terminfo/q/qvt119p-w +/usr/share/ncurses4/terminfo/q/qvt203 +/usr/share/ncurses4/terminfo/q/qvt203+ +/usr/share/ncurses4/terminfo/q/qvt203-25 +/usr/share/ncurses4/terminfo/q/qvt203-25-w +/usr/share/ncurses4/terminfo/q/qvt203-w +/usr/share/ncurses4/terminfo/q/qvt203-w-am +/usr/share/ncurses4/terminfo/r +/usr/share/ncurses4/terminfo/r/rbcomm +/usr/share/ncurses4/terminfo/r/rbcomm-nam +/usr/share/ncurses4/terminfo/r/rbcomm-w +/usr/share/ncurses4/terminfo/r/rca +/usr/share/ncurses4/terminfo/r/rebus3180 +/usr/share/ncurses4/terminfo/r/regent +/usr/share/ncurses4/terminfo/r/regent100 +/usr/share/ncurses4/terminfo/r/regent20 +/usr/share/ncurses4/terminfo/r/regent200 +/usr/share/ncurses4/terminfo/r/regent25 +/usr/share/ncurses4/terminfo/r/regent40 +/usr/share/ncurses4/terminfo/r/regent40+ +/usr/share/ncurses4/terminfo/r/regent60 +/usr/share/ncurses4/terminfo/r/rt6221 +/usr/share/ncurses4/terminfo/r/rt6221-w +/usr/share/ncurses4/terminfo/r/rtpc +/usr/share/ncurses4/terminfo/r/rxvt +/usr/share/ncurses4/terminfo/r/rxvt-basic +/usr/share/ncurses4/terminfo/s +/usr/share/ncurses4/terminfo/s/s +/usr/share/ncurses4/terminfo/s/s4 +/usr/share/ncurses4/terminfo/s/sb1 +/usr/share/ncurses4/terminfo/s/sb2 +/usr/share/ncurses4/terminfo/s/sb3 +/usr/share/ncurses4/terminfo/s/sbi +/usr/share/ncurses4/terminfo/s/sbobcat +/usr/share/ncurses4/terminfo/s/sc410 +/usr/share/ncurses4/terminfo/s/sc415 +/usr/share/ncurses4/terminfo/s/scanset +/usr/share/ncurses4/terminfo/s/scoansi +/usr/share/ncurses4/terminfo/s/screen +/usr/share/ncurses4/terminfo/s/screen-w +/usr/share/ncurses4/terminfo/s/screen2 +/usr/share/ncurses4/terminfo/s/screen3 +/usr/share/ncurses4/terminfo/s/screwpoint +/usr/share/ncurses4/terminfo/s/scrhp +/usr/share/ncurses4/terminfo/s/simterm +/usr/share/ncurses4/terminfo/s/soroc +/usr/share/ncurses4/terminfo/s/soroc120 +/usr/share/ncurses4/terminfo/s/soroc140 +/usr/share/ncurses4/terminfo/s/spinwriter +/usr/share/ncurses4/terminfo/s/st52 +/usr/share/ncurses4/terminfo/s/sun +/usr/share/ncurses4/terminfo/s/sun-1 +/usr/share/ncurses4/terminfo/s/sun-12 +/usr/share/ncurses4/terminfo/s/sun-17 +/usr/share/ncurses4/terminfo/s/sun-24 +/usr/share/ncurses4/terminfo/s/sun-34 +/usr/share/ncurses4/terminfo/s/sun-48 +/usr/share/ncurses4/terminfo/s/sun-c +/usr/share/ncurses4/terminfo/s/sun-cmd +/usr/share/ncurses4/terminfo/s/sun-e +/usr/share/ncurses4/terminfo/s/sun-e-s +/usr/share/ncurses4/terminfo/s/sun-il +/usr/share/ncurses4/terminfo/s/sun-nic +/usr/share/ncurses4/terminfo/s/sun-s +/usr/share/ncurses4/terminfo/s/sun-s-e +/usr/share/ncurses4/terminfo/s/sun-ss5 +/usr/share/ncurses4/terminfo/s/sun1 +/usr/share/ncurses4/terminfo/s/sun2 +/usr/share/ncurses4/terminfo/s/sune +/usr/share/ncurses4/terminfo/s/superbee +/usr/share/ncurses4/terminfo/s/superbee-xsb +/usr/share/ncurses4/terminfo/s/superbeeic +/usr/share/ncurses4/terminfo/s/superbrain +/usr/share/ncurses4/terminfo/s/sv80 +/usr/share/ncurses4/terminfo/s/swtp +/usr/share/ncurses4/terminfo/s/synertek +/usr/share/ncurses4/terminfo/s/synertek380 +/usr/share/ncurses4/terminfo/s/system1 +/usr/share/ncurses4/terminfo/t +/usr/share/ncurses4/terminfo/t/t10 +/usr/share/ncurses4/terminfo/t/t1061 +/usr/share/ncurses4/terminfo/t/t1061f +/usr/share/ncurses4/terminfo/t/t16 +/usr/share/ncurses4/terminfo/t/t3700 +/usr/share/ncurses4/terminfo/t/t3800 +/usr/share/ncurses4/terminfo/t/t653x +/usr/share/ncurses4/terminfo/t/tab +/usr/share/ncurses4/terminfo/t/tab132 +/usr/share/ncurses4/terminfo/t/tab132-15 +/usr/share/ncurses4/terminfo/t/tab132-rv +/usr/share/ncurses4/terminfo/t/tab132-w +/usr/share/ncurses4/terminfo/t/tab132-w-rv +/usr/share/ncurses4/terminfo/t/tandem6510 +/usr/share/ncurses4/terminfo/t/tandem653 +/usr/share/ncurses4/terminfo/t/tek +/usr/share/ncurses4/terminfo/t/tek4012 +/usr/share/ncurses4/terminfo/t/tek4013 +/usr/share/ncurses4/terminfo/t/tek4014 +/usr/share/ncurses4/terminfo/t/tek4014-sm +/usr/share/ncurses4/terminfo/t/tek4015 +/usr/share/ncurses4/terminfo/t/tek4015-sm +/usr/share/ncurses4/terminfo/t/tek4023 +/usr/share/ncurses4/terminfo/t/tek4024 +/usr/share/ncurses4/terminfo/t/tek4025 +/usr/share/ncurses4/terminfo/t/tek4025-17 +/usr/share/ncurses4/terminfo/t/tek4025-17-ws +/usr/share/ncurses4/terminfo/t/tek4025-cr +/usr/share/ncurses4/terminfo/t/tek4025-ex +/usr/share/ncurses4/terminfo/t/tek4025a +/usr/share/ncurses4/terminfo/t/tek4025ex +/usr/share/ncurses4/terminfo/t/tek4027 +/usr/share/ncurses4/terminfo/t/tek4027-ex +/usr/share/ncurses4/terminfo/t/tek4105 +/usr/share/ncurses4/terminfo/t/tek4105-30 +/usr/share/ncurses4/terminfo/t/tek4105a +/usr/share/ncurses4/terminfo/t/tek4106brl +/usr/share/ncurses4/terminfo/t/tek4107 +/usr/share/ncurses4/terminfo/t/tek4107brl +/usr/share/ncurses4/terminfo/t/tek4109 +/usr/share/ncurses4/terminfo/t/tek4109brl +/usr/share/ncurses4/terminfo/t/tek4112 +/usr/share/ncurses4/terminfo/t/tek4112-5 +/usr/share/ncurses4/terminfo/t/tek4112-nd +/usr/share/ncurses4/terminfo/t/tek4113 +/usr/share/ncurses4/terminfo/t/tek4113-34 +/usr/share/ncurses4/terminfo/t/tek4113-nd +/usr/share/ncurses4/terminfo/t/tek4114 +/usr/share/ncurses4/terminfo/t/tek4115 +/usr/share/ncurses4/terminfo/t/tek4125 +/usr/share/ncurses4/terminfo/t/tek4205 +/usr/share/ncurses4/terminfo/t/tek4207 +/usr/share/ncurses4/terminfo/t/tek4207-s +/usr/share/ncurses4/terminfo/t/tek4404 +/usr/share/ncurses4/terminfo/t/teleray +/usr/share/ncurses4/terminfo/t/teletec +/usr/share/ncurses4/terminfo/t/terminet +/usr/share/ncurses4/terminfo/t/terminet1200 +/usr/share/ncurses4/terminfo/t/terminet300 +/usr/share/ncurses4/terminfo/t/tgtelnet +/usr/share/ncurses4/terminfo/t/ti700 +/usr/share/ncurses4/terminfo/t/ti733 +/usr/share/ncurses4/terminfo/t/ti735 +/usr/share/ncurses4/terminfo/t/ti745 +/usr/share/ncurses4/terminfo/t/ti800 +/usr/share/ncurses4/terminfo/t/ti916 +/usr/share/ncurses4/terminfo/t/ti916-132 +/usr/share/ncurses4/terminfo/t/ti916-220-7 +/usr/share/ncurses4/terminfo/t/ti916-220-8 +/usr/share/ncurses4/terminfo/t/ti916-8 +/usr/share/ncurses4/terminfo/t/ti916-8-132 +/usr/share/ncurses4/terminfo/t/ti924 +/usr/share/ncurses4/terminfo/t/ti924-8 +/usr/share/ncurses4/terminfo/t/ti924-8w +/usr/share/ncurses4/terminfo/t/ti924w +/usr/share/ncurses4/terminfo/t/ti926 +/usr/share/ncurses4/terminfo/t/ti926-8 +/usr/share/ncurses4/terminfo/t/ti928 +/usr/share/ncurses4/terminfo/t/ti928-8 +/usr/share/ncurses4/terminfo/t/ti931 +/usr/share/ncurses4/terminfo/t/ti_ansi +/usr/share/ncurses4/terminfo/t/tn1200 +/usr/share/ncurses4/terminfo/t/tn300 +/usr/share/ncurses4/terminfo/t/trs16 +/usr/share/ncurses4/terminfo/t/trs2 +/usr/share/ncurses4/terminfo/t/trs80II +/usr/share/ncurses4/terminfo/t/trsII +/usr/share/ncurses4/terminfo/t/ts-1 +/usr/share/ncurses4/terminfo/t/ts-1p +/usr/share/ncurses4/terminfo/t/ts1 +/usr/share/ncurses4/terminfo/t/ts100 +/usr/share/ncurses4/terminfo/t/ts100-ctxt +/usr/share/ncurses4/terminfo/t/ts100-sp +/usr/share/ncurses4/terminfo/t/ts1p +/usr/share/ncurses4/terminfo/t/tt505-22 +/usr/share/ncurses4/terminfo/t/tty33 +/usr/share/ncurses4/terminfo/t/tty35 +/usr/share/ncurses4/terminfo/t/tty37 +/usr/share/ncurses4/terminfo/t/tty40 +/usr/share/ncurses4/terminfo/t/tty43 +/usr/share/ncurses4/terminfo/t/tty4420 +/usr/share/ncurses4/terminfo/t/tty4424 +/usr/share/ncurses4/terminfo/t/tty4424-1 +/usr/share/ncurses4/terminfo/t/tty4424m +/usr/share/ncurses4/terminfo/t/tty4426 +/usr/share/ncurses4/terminfo/t/tty5410 +/usr/share/ncurses4/terminfo/t/tty5410-w +/usr/share/ncurses4/terminfo/t/tty5410v1 +/usr/share/ncurses4/terminfo/t/tty5410v1-w +/usr/share/ncurses4/terminfo/t/tty5420 +/usr/share/ncurses4/terminfo/t/tty5420+nl +/usr/share/ncurses4/terminfo/t/tty5420-nl +/usr/share/ncurses4/terminfo/t/tty5420-rv +/usr/share/ncurses4/terminfo/t/tty5420-rv-nl +/usr/share/ncurses4/terminfo/t/tty5420-w +/usr/share/ncurses4/terminfo/t/tty5420-w-nl +/usr/share/ncurses4/terminfo/t/tty5420-w-rv +/usr/share/ncurses4/terminfo/t/tty5420-w-rv-n +/usr/share/ncurses4/terminfo/t/tty5425 +/usr/share/ncurses4/terminfo/t/tty5425-nl +/usr/share/ncurses4/terminfo/t/tty5425-w +/usr/share/ncurses4/terminfo/t/tty5620 +/usr/share/ncurses4/terminfo/t/tty5620-1 +/usr/share/ncurses4/terminfo/t/tty5620-24 +/usr/share/ncurses4/terminfo/t/tty5620-34 +/usr/share/ncurses4/terminfo/t/tty5620-s +/usr/share/ncurses4/terminfo/t/ttydmd +/usr/share/ncurses4/terminfo/t/tvi-2p +/usr/share/ncurses4/terminfo/t/tvi803 +/usr/share/ncurses4/terminfo/t/tvi9065 +/usr/share/ncurses4/terminfo/t/tvi910 +/usr/share/ncurses4/terminfo/t/tvi910+ +/usr/share/ncurses4/terminfo/t/tvi912 +/usr/share/ncurses4/terminfo/t/tvi912-2p +/usr/share/ncurses4/terminfo/t/tvi912b +/usr/share/ncurses4/terminfo/t/tvi912c +/usr/share/ncurses4/terminfo/t/tvi912cc +/usr/share/ncurses4/terminfo/t/tvi914 +/usr/share/ncurses4/terminfo/t/tvi920 +/usr/share/ncurses4/terminfo/t/tvi920-2p +/usr/share/ncurses4/terminfo/t/tvi920b +/usr/share/ncurses4/terminfo/t/tvi920c +/usr/share/ncurses4/terminfo/t/tvi921 +/usr/share/ncurses4/terminfo/t/tvi924 +/usr/share/ncurses4/terminfo/t/tvi925 +/usr/share/ncurses4/terminfo/t/tvi925-hi +/usr/share/ncurses4/terminfo/t/tvi92B +/usr/share/ncurses4/terminfo/t/tvi92D +/usr/share/ncurses4/terminfo/t/tvi950 +/usr/share/ncurses4/terminfo/t/tvi950-2p +/usr/share/ncurses4/terminfo/t/tvi950-4p +/usr/share/ncurses4/terminfo/t/tvi950-rv +/usr/share/ncurses4/terminfo/t/tvi950-rv-2p +/usr/share/ncurses4/terminfo/t/tvi950-rv-4p +/usr/share/ncurses4/terminfo/t/tvi955 +/usr/share/ncurses4/terminfo/t/tvi955-hb +/usr/share/ncurses4/terminfo/t/tvi955-w +/usr/share/ncurses4/terminfo/t/tvi970 +/usr/share/ncurses4/terminfo/t/tvi970-2p +/usr/share/ncurses4/terminfo/t/tvi970-vb +/usr/share/ncurses4/terminfo/t/tvipt +/usr/share/ncurses4/terminfo/u +/usr/share/ncurses4/terminfo/u/ultima2 +/usr/share/ncurses4/terminfo/u/ultimaII +/usr/share/ncurses4/terminfo/u/uniterm +/usr/share/ncurses4/terminfo/u/uniterm49 +/usr/share/ncurses4/terminfo/u/unixpc +/usr/share/ncurses4/terminfo/u/unknown +/usr/share/ncurses4/terminfo/u/uts30 +/usr/share/ncurses4/terminfo/v +/usr/share/ncurses4/terminfo/v/v200-nam +/usr/share/ncurses4/terminfo/v/v320n +/usr/share/ncurses4/terminfo/v/v3220 +/usr/share/ncurses4/terminfo/v/v5410 +/usr/share/ncurses4/terminfo/v/vapple +/usr/share/ncurses4/terminfo/v/vc103 +/usr/share/ncurses4/terminfo/v/vc203 +/usr/share/ncurses4/terminfo/v/vc303 +/usr/share/ncurses4/terminfo/v/vc303a +/usr/share/ncurses4/terminfo/v/vc403a +/usr/share/ncurses4/terminfo/v/vc404 +/usr/share/ncurses4/terminfo/v/vc404-s +/usr/share/ncurses4/terminfo/v/vc414 +/usr/share/ncurses4/terminfo/v/vc414h +/usr/share/ncurses4/terminfo/v/vc415 +/usr/share/ncurses4/terminfo/v/venix +/usr/share/ncurses4/terminfo/v/versaterm +/usr/share/ncurses4/terminfo/v/vi200 +/usr/share/ncurses4/terminfo/v/vi200-f +/usr/share/ncurses4/terminfo/v/vi200-rv +/usr/share/ncurses4/terminfo/v/vi300 +/usr/share/ncurses4/terminfo/v/vi300-old +/usr/share/ncurses4/terminfo/v/vi50 +/usr/share/ncurses4/terminfo/v/vi500 +/usr/share/ncurses4/terminfo/v/vi50adm +/usr/share/ncurses4/terminfo/v/vi55 +/usr/share/ncurses4/terminfo/v/vi550 +/usr/share/ncurses4/terminfo/v/vi603 +/usr/share/ncurses4/terminfo/v/viewpoint +/usr/share/ncurses4/terminfo/v/viewpoint3a+ +/usr/share/ncurses4/terminfo/v/viewpoint60 +/usr/share/ncurses4/terminfo/v/viewpoint90 +/usr/share/ncurses4/terminfo/v/visa50 +/usr/share/ncurses4/terminfo/v/visual603 +/usr/share/ncurses4/terminfo/v/vitty +/usr/share/ncurses4/terminfo/v/vk100 +/usr/share/ncurses4/terminfo/v/vp3a+ +/usr/share/ncurses4/terminfo/v/vp60 +/usr/share/ncurses4/terminfo/v/vp90 +/usr/share/ncurses4/terminfo/v/vremote +/usr/share/ncurses4/terminfo/v/vs100 +/usr/share/ncurses4/terminfo/v/vs100-x10 +/usr/share/ncurses4/terminfo/v/vsc +/usr/share/ncurses4/terminfo/v/vt-61 +/usr/share/ncurses4/terminfo/v/vt100 +/usr/share/ncurses4/terminfo/v/vt100-am +/usr/share/ncurses4/terminfo/v/vt100-bm +/usr/share/ncurses4/terminfo/v/vt100-bm-o +/usr/share/ncurses4/terminfo/v/vt100-bot-s +/usr/share/ncurses4/terminfo/v/vt100-nam +/usr/share/ncurses4/terminfo/v/vt100-nam-w +/usr/share/ncurses4/terminfo/v/vt100-nav +/usr/share/ncurses4/terminfo/v/vt100-nav-w +/usr/share/ncurses4/terminfo/v/vt100-s +/usr/share/ncurses4/terminfo/v/vt100-s-bot +/usr/share/ncurses4/terminfo/v/vt100-s-top +/usr/share/ncurses4/terminfo/v/vt100-top-s +/usr/share/ncurses4/terminfo/v/vt100-vb +/usr/share/ncurses4/terminfo/v/vt100-w +/usr/share/ncurses4/terminfo/v/vt100-w-am +/usr/share/ncurses4/terminfo/v/vt100-w-nam +/usr/share/ncurses4/terminfo/v/vt100-w-nav +/usr/share/ncurses4/terminfo/v/vt100nam +/usr/share/ncurses4/terminfo/v/vt102 +/usr/share/ncurses4/terminfo/v/vt102-nsgr +/usr/share/ncurses4/terminfo/v/vt102-w +/usr/share/ncurses4/terminfo/v/vt125 +/usr/share/ncurses4/terminfo/v/vt131 +/usr/share/ncurses4/terminfo/v/vt132 +/usr/share/ncurses4/terminfo/v/vt200 +/usr/share/ncurses4/terminfo/v/vt200-js +/usr/share/ncurses4/terminfo/v/vt200-w +/usr/share/ncurses4/terminfo/v/vt220 +/usr/share/ncurses4/terminfo/v/vt220-8 +/usr/share/ncurses4/terminfo/v/vt220-js +/usr/share/ncurses4/terminfo/v/vt220-nam +/usr/share/ncurses4/terminfo/v/vt220-w +/usr/share/ncurses4/terminfo/v/vt220d +/usr/share/ncurses4/terminfo/v/vt300 +/usr/share/ncurses4/terminfo/v/vt300-nam +/usr/share/ncurses4/terminfo/v/vt300-w +/usr/share/ncurses4/terminfo/v/vt300-w-nam +/usr/share/ncurses4/terminfo/v/vt320 +/usr/share/ncurses4/terminfo/v/vt320-k3 +/usr/share/ncurses4/terminfo/v/vt320-k311 +/usr/share/ncurses4/terminfo/v/vt320-nam +/usr/share/ncurses4/terminfo/v/vt320-w +/usr/share/ncurses4/terminfo/v/vt320-w-nam +/usr/share/ncurses4/terminfo/v/vt320nam +/usr/share/ncurses4/terminfo/v/vt330 +/usr/share/ncurses4/terminfo/v/vt340 +/usr/share/ncurses4/terminfo/v/vt400 +/usr/share/ncurses4/terminfo/v/vt400-24 +/usr/share/ncurses4/terminfo/v/vt420 +/usr/share/ncurses4/terminfo/v/vt420f +/usr/share/ncurses4/terminfo/v/vt420pc +/usr/share/ncurses4/terminfo/v/vt420pcdos +/usr/share/ncurses4/terminfo/v/vt50 +/usr/share/ncurses4/terminfo/v/vt50h +/usr/share/ncurses4/terminfo/v/vt510 +/usr/share/ncurses4/terminfo/v/vt510pc +/usr/share/ncurses4/terminfo/v/vt510pcdos +/usr/share/ncurses4/terminfo/v/vt52 +/usr/share/ncurses4/terminfo/v/vt520 +/usr/share/ncurses4/terminfo/v/vt525 +/usr/share/ncurses4/terminfo/v/vt61 +/usr/share/ncurses4/terminfo/v/vt61.5 +/usr/share/ncurses4/terminfo/w +/usr/share/ncurses4/terminfo/w/wren +/usr/share/ncurses4/terminfo/w/wrenw +/usr/share/ncurses4/terminfo/w/wsiris +/usr/share/ncurses4/terminfo/w/wy-75ap +/usr/share/ncurses4/terminfo/w/wy100 +/usr/share/ncurses4/terminfo/w/wy100q +/usr/share/ncurses4/terminfo/w/wy120 +/usr/share/ncurses4/terminfo/w/wy120-25 +/usr/share/ncurses4/terminfo/w/wy120-25-w +/usr/share/ncurses4/terminfo/w/wy120-vb +/usr/share/ncurses4/terminfo/w/wy120-w +/usr/share/ncurses4/terminfo/w/wy120-w-vb +/usr/share/ncurses4/terminfo/w/wy120-wvb +/usr/share/ncurses4/terminfo/w/wy150 +/usr/share/ncurses4/terminfo/w/wy150-25 +/usr/share/ncurses4/terminfo/w/wy150-25-w +/usr/share/ncurses4/terminfo/w/wy150-vb +/usr/share/ncurses4/terminfo/w/wy150-w +/usr/share/ncurses4/terminfo/w/wy150-w-vb +/usr/share/ncurses4/terminfo/w/wy160 +/usr/share/ncurses4/terminfo/w/wy160-25 +/usr/share/ncurses4/terminfo/w/wy160-25-w +/usr/share/ncurses4/terminfo/w/wy160-42 +/usr/share/ncurses4/terminfo/w/wy160-42-w +/usr/share/ncurses4/terminfo/w/wy160-43 +/usr/share/ncurses4/terminfo/w/wy160-43-w +/usr/share/ncurses4/terminfo/w/wy160-tek +/usr/share/ncurses4/terminfo/w/wy160-vb +/usr/share/ncurses4/terminfo/w/wy160-w +/usr/share/ncurses4/terminfo/w/wy160-w-vb +/usr/share/ncurses4/terminfo/w/wy160-wvb +/usr/share/ncurses4/terminfo/w/wy185 +/usr/share/ncurses4/terminfo/w/wy185-24 +/usr/share/ncurses4/terminfo/w/wy185-vb +/usr/share/ncurses4/terminfo/w/wy185-w +/usr/share/ncurses4/terminfo/w/wy185-wvb +/usr/share/ncurses4/terminfo/w/wy30 +/usr/share/ncurses4/terminfo/w/wy30-mc +/usr/share/ncurses4/terminfo/w/wy30-vb +/usr/share/ncurses4/terminfo/w/wy325 +/usr/share/ncurses4/terminfo/w/wy325-25 +/usr/share/ncurses4/terminfo/w/wy325-25w +/usr/share/ncurses4/terminfo/w/wy325-42 +/usr/share/ncurses4/terminfo/w/wy325-42w +/usr/share/ncurses4/terminfo/w/wy325-42w-vb +/usr/share/ncurses4/terminfo/w/wy325-42wvb +/usr/share/ncurses4/terminfo/w/wy325-43 +/usr/share/ncurses4/terminfo/w/wy325-43w +/usr/share/ncurses4/terminfo/w/wy325-43w-vb +/usr/share/ncurses4/terminfo/w/wy325-43wvb +/usr/share/ncurses4/terminfo/w/wy325-80 +/usr/share/ncurses4/terminfo/w/wy325-vb +/usr/share/ncurses4/terminfo/w/wy325-w +/usr/share/ncurses4/terminfo/w/wy325-w-vb +/usr/share/ncurses4/terminfo/w/wy325-wvb +/usr/share/ncurses4/terminfo/w/wy325w-24 +/usr/share/ncurses4/terminfo/w/wy350 +/usr/share/ncurses4/terminfo/w/wy350-vb +/usr/share/ncurses4/terminfo/w/wy350-w +/usr/share/ncurses4/terminfo/w/wy350-wvb +/usr/share/ncurses4/terminfo/w/wy370 +/usr/share/ncurses4/terminfo/w/wy370-101k +/usr/share/ncurses4/terminfo/w/wy370-105k +/usr/share/ncurses4/terminfo/w/wy370-EPC +/usr/share/ncurses4/terminfo/w/wy370-nk +/usr/share/ncurses4/terminfo/w/wy370-rv +/usr/share/ncurses4/terminfo/w/wy370-tek +/usr/share/ncurses4/terminfo/w/wy370-vb +/usr/share/ncurses4/terminfo/w/wy370-w +/usr/share/ncurses4/terminfo/w/wy370-wvb +/usr/share/ncurses4/terminfo/w/wy50 +/usr/share/ncurses4/terminfo/w/wy50-mc +/usr/share/ncurses4/terminfo/w/wy50-vb +/usr/share/ncurses4/terminfo/w/wy50-w +/usr/share/ncurses4/terminfo/w/wy50-wvb +/usr/share/ncurses4/terminfo/w/wy520 +/usr/share/ncurses4/terminfo/w/wy520-24 +/usr/share/ncurses4/terminfo/w/wy520-36 +/usr/share/ncurses4/terminfo/w/wy520-36pc +/usr/share/ncurses4/terminfo/w/wy520-36w +/usr/share/ncurses4/terminfo/w/wy520-36wpc +/usr/share/ncurses4/terminfo/w/wy520-48 +/usr/share/ncurses4/terminfo/w/wy520-48pc +/usr/share/ncurses4/terminfo/w/wy520-48w +/usr/share/ncurses4/terminfo/w/wy520-48wpc +/usr/share/ncurses4/terminfo/w/wy520-epc +/usr/share/ncurses4/terminfo/w/wy520-epc-24 +/usr/share/ncurses4/terminfo/w/wy520-epc-vb +/usr/share/ncurses4/terminfo/w/wy520-epc-w +/usr/share/ncurses4/terminfo/w/wy520-epc-wvb +/usr/share/ncurses4/terminfo/w/wy520-vb +/usr/share/ncurses4/terminfo/w/wy520-w +/usr/share/ncurses4/terminfo/w/wy520-wvb +/usr/share/ncurses4/terminfo/w/wy60 +/usr/share/ncurses4/terminfo/w/wy60-25 +/usr/share/ncurses4/terminfo/w/wy60-25-w +/usr/share/ncurses4/terminfo/w/wy60-316X +/usr/share/ncurses4/terminfo/w/wy60-42 +/usr/share/ncurses4/terminfo/w/wy60-42-w +/usr/share/ncurses4/terminfo/w/wy60-43 +/usr/share/ncurses4/terminfo/w/wy60-43-w +/usr/share/ncurses4/terminfo/w/wy60-vb +/usr/share/ncurses4/terminfo/w/wy60-w +/usr/share/ncurses4/terminfo/w/wy60-w-vb +/usr/share/ncurses4/terminfo/w/wy60-wvb +/usr/share/ncurses4/terminfo/w/wy75 +/usr/share/ncurses4/terminfo/w/wy75-mc +/usr/share/ncurses4/terminfo/w/wy75-vb +/usr/share/ncurses4/terminfo/w/wy75-w +/usr/share/ncurses4/terminfo/w/wy75-wvb +/usr/share/ncurses4/terminfo/w/wy75ap +/usr/share/ncurses4/terminfo/w/wy85 +/usr/share/ncurses4/terminfo/w/wy85-vb +/usr/share/ncurses4/terminfo/w/wy85-w +/usr/share/ncurses4/terminfo/w/wy85-wvb +/usr/share/ncurses4/terminfo/w/wy99gt +/usr/share/ncurses4/terminfo/w/wy99gt-25 +/usr/share/ncurses4/terminfo/w/wy99gt-25-w +/usr/share/ncurses4/terminfo/w/wy99gt-tek +/usr/share/ncurses4/terminfo/w/wy99gt-vb +/usr/share/ncurses4/terminfo/w/wy99gt-w +/usr/share/ncurses4/terminfo/w/wy99gt-w-vb +/usr/share/ncurses4/terminfo/w/wy99gt-wvb +/usr/share/ncurses4/terminfo/w/wyse-325 +/usr/share/ncurses4/terminfo/w/wyse-75ap +/usr/share/ncurses4/terminfo/w/wyse-vp +/usr/share/ncurses4/terminfo/w/wyse120 +/usr/share/ncurses4/terminfo/w/wyse120-25 +/usr/share/ncurses4/terminfo/w/wyse120-25-w +/usr/share/ncurses4/terminfo/w/wyse120-vb +/usr/share/ncurses4/terminfo/w/wyse120-w +/usr/share/ncurses4/terminfo/w/wyse120-wvb +/usr/share/ncurses4/terminfo/w/wyse150 +/usr/share/ncurses4/terminfo/w/wyse150-25 +/usr/share/ncurses4/terminfo/w/wyse150-25-w +/usr/share/ncurses4/terminfo/w/wyse150-vb +/usr/share/ncurses4/terminfo/w/wyse150-w +/usr/share/ncurses4/terminfo/w/wyse150-w-vb +/usr/share/ncurses4/terminfo/w/wyse160 +/usr/share/ncurses4/terminfo/w/wyse160-25 +/usr/share/ncurses4/terminfo/w/wyse160-25-w +/usr/share/ncurses4/terminfo/w/wyse160-42 +/usr/share/ncurses4/terminfo/w/wyse160-42-w +/usr/share/ncurses4/terminfo/w/wyse160-43 +/usr/share/ncurses4/terminfo/w/wyse160-43-w +/usr/share/ncurses4/terminfo/w/wyse160-vb +/usr/share/ncurses4/terminfo/w/wyse160-w +/usr/share/ncurses4/terminfo/w/wyse160-wvb +/usr/share/ncurses4/terminfo/w/wyse185 +/usr/share/ncurses4/terminfo/w/wyse185-24 +/usr/share/ncurses4/terminfo/w/wyse185-vb +/usr/share/ncurses4/terminfo/w/wyse185-w +/usr/share/ncurses4/terminfo/w/wyse185-wvb +/usr/share/ncurses4/terminfo/w/wyse30 +/usr/share/ncurses4/terminfo/w/wyse30-mc +/usr/share/ncurses4/terminfo/w/wyse30-vb +/usr/share/ncurses4/terminfo/w/wyse325 +/usr/share/ncurses4/terminfo/w/wyse325-25 +/usr/share/ncurses4/terminfo/w/wyse325-25w +/usr/share/ncurses4/terminfo/w/wyse325-42 +/usr/share/ncurses4/terminfo/w/wyse325-42w +/usr/share/ncurses4/terminfo/w/wyse325-43 +/usr/share/ncurses4/terminfo/w/wyse325-43w +/usr/share/ncurses4/terminfo/w/wyse325-vb +/usr/share/ncurses4/terminfo/w/wyse325-w +/usr/share/ncurses4/terminfo/w/wyse325-wvb +/usr/share/ncurses4/terminfo/w/wyse350 +/usr/share/ncurses4/terminfo/w/wyse350-vb +/usr/share/ncurses4/terminfo/w/wyse350-w +/usr/share/ncurses4/terminfo/w/wyse350-wvb +/usr/share/ncurses4/terminfo/w/wyse370 +/usr/share/ncurses4/terminfo/w/wyse50 +/usr/share/ncurses4/terminfo/w/wyse50-mc +/usr/share/ncurses4/terminfo/w/wyse50-vb +/usr/share/ncurses4/terminfo/w/wyse50-w +/usr/share/ncurses4/terminfo/w/wyse50-wvb +/usr/share/ncurses4/terminfo/w/wyse520 +/usr/share/ncurses4/terminfo/w/wyse520-24 +/usr/share/ncurses4/terminfo/w/wyse520-36 +/usr/share/ncurses4/terminfo/w/wyse520-36pc +/usr/share/ncurses4/terminfo/w/wyse520-36w +/usr/share/ncurses4/terminfo/w/wyse520-36wpc +/usr/share/ncurses4/terminfo/w/wyse520-48 +/usr/share/ncurses4/terminfo/w/wyse520-48pc +/usr/share/ncurses4/terminfo/w/wyse520-48w +/usr/share/ncurses4/terminfo/w/wyse520-48wpc +/usr/share/ncurses4/terminfo/w/wyse520-epc +/usr/share/ncurses4/terminfo/w/wyse520-epc-w +/usr/share/ncurses4/terminfo/w/wyse520-p-wvb +/usr/share/ncurses4/terminfo/w/wyse520-pc-24 +/usr/share/ncurses4/terminfo/w/wyse520-pc-vb +/usr/share/ncurses4/terminfo/w/wyse520-vb +/usr/share/ncurses4/terminfo/w/wyse520-w +/usr/share/ncurses4/terminfo/w/wyse520-wvb +/usr/share/ncurses4/terminfo/w/wyse60 +/usr/share/ncurses4/terminfo/w/wyse60-25 +/usr/share/ncurses4/terminfo/w/wyse60-25-w +/usr/share/ncurses4/terminfo/w/wyse60-316X +/usr/share/ncurses4/terminfo/w/wyse60-42 +/usr/share/ncurses4/terminfo/w/wyse60-42-w +/usr/share/ncurses4/terminfo/w/wyse60-43 +/usr/share/ncurses4/terminfo/w/wyse60-43-w +/usr/share/ncurses4/terminfo/w/wyse60-vb +/usr/share/ncurses4/terminfo/w/wyse60-w +/usr/share/ncurses4/terminfo/w/wyse60-wvb +/usr/share/ncurses4/terminfo/w/wyse75 +/usr/share/ncurses4/terminfo/w/wyse75-mc +/usr/share/ncurses4/terminfo/w/wyse75-vb +/usr/share/ncurses4/terminfo/w/wyse75-w +/usr/share/ncurses4/terminfo/w/wyse75-wvb +/usr/share/ncurses4/terminfo/w/wyse75ap +/usr/share/ncurses4/terminfo/w/wyse85 +/usr/share/ncurses4/terminfo/w/wyse85-vb +/usr/share/ncurses4/terminfo/w/wyse85-w +/usr/share/ncurses4/terminfo/w/wyse85-wvb +/usr/share/ncurses4/terminfo/w/wyse99gt +/usr/share/ncurses4/terminfo/w/wyse99gt-25 +/usr/share/ncurses4/terminfo/w/wyse99gt-25-w +/usr/share/ncurses4/terminfo/w/wyse99gt-vb +/usr/share/ncurses4/terminfo/w/wyse99gt-w +/usr/share/ncurses4/terminfo/w/wyse99gt-wvb +/usr/share/ncurses4/terminfo/x +/usr/share/ncurses4/terminfo/x/x10term +/usr/share/ncurses4/terminfo/x/x1700 +/usr/share/ncurses4/terminfo/x/x1700-lm +/usr/share/ncurses4/terminfo/x/x1720 +/usr/share/ncurses4/terminfo/x/x1750 +/usr/share/ncurses4/terminfo/x/x68k +/usr/share/ncurses4/terminfo/x/x68k-ite +/usr/share/ncurses4/terminfo/x/x820 +/usr/share/ncurses4/terminfo/x/xenix +/usr/share/ncurses4/terminfo/x/xerox +/usr/share/ncurses4/terminfo/x/xerox-lm +/usr/share/ncurses4/terminfo/x/xerox1720 +/usr/share/ncurses4/terminfo/x/xerox820 +/usr/share/ncurses4/terminfo/x/xl83 +/usr/share/ncurses4/terminfo/x/xtalk +/usr/share/ncurses4/terminfo/x/xterm +/usr/share/ncurses4/terminfo/x/xterm+sl +/usr/share/ncurses4/terminfo/x/xterm+sl-twm +/usr/share/ncurses4/terminfo/x/xterm-16color +/usr/share/ncurses4/terminfo/x/xterm-8bit +/usr/share/ncurses4/terminfo/x/xterm-bold +/usr/share/ncurses4/terminfo/x/xterm-nic +/usr/share/ncurses4/terminfo/x/xterm-old +/usr/share/ncurses4/terminfo/x/xterm-pcolor +/usr/share/ncurses4/terminfo/x/xterm-r5 +/usr/share/ncurses4/terminfo/x/xterm-r6 +/usr/share/ncurses4/terminfo/x/xterm-sun +/usr/share/ncurses4/terminfo/x/xterm-xf86-v32 +/usr/share/ncurses4/terminfo/x/xterm-xf86-v33 +/usr/share/ncurses4/terminfo/x/xterm-xf86-v40 +/usr/share/ncurses4/terminfo/x/xterm-xi +/usr/share/ncurses4/terminfo/x/xterm1 +/usr/share/ncurses4/terminfo/x/xterms +/usr/share/ncurses4/terminfo/x/xterms-sun +/usr/share/ncurses4/terminfo/x/xwsh +/usr/share/ncurses4/terminfo/z +/usr/share/ncurses4/terminfo/z/z-100 +/usr/share/ncurses4/terminfo/z/z-100bw +/usr/share/ncurses4/terminfo/z/z100 +/usr/share/ncurses4/terminfo/z/z100bw +/usr/share/ncurses4/terminfo/z/z110 +/usr/share/ncurses4/terminfo/z/z110bw +/usr/share/ncurses4/terminfo/z/z19 +/usr/share/ncurses4/terminfo/z/z29 +/usr/share/ncurses4/terminfo/z/z29a +/usr/share/ncurses4/terminfo/z/z29a-kc-bc +/usr/share/ncurses4/terminfo/z/z29a-kc-uc +/usr/share/ncurses4/terminfo/z/z29a-nkc-bc +/usr/share/ncurses4/terminfo/z/z29a-nkc-uc +/usr/share/ncurses4/terminfo/z/z29b +/usr/share/ncurses4/terminfo/z/z30 +/usr/share/ncurses4/terminfo/z/z340 +/usr/share/ncurses4/terminfo/z/z340-nam +/usr/share/ncurses4/terminfo/z/z39-a +/usr/share/ncurses4/terminfo/z/z39a +/usr/share/ncurses4/terminfo/z/z50 +/usr/share/ncurses4/terminfo/z/z8001 +/usr/share/ncurses4/terminfo/z/zen30 +/usr/share/ncurses4/terminfo/z/zen50 +/usr/share/ncurses4/terminfo/z/zen8001 +/usr/share/ncurses4/terminfo/z/zenith +/usr/share/ncurses4/terminfo/z/zenith29 +/usr/share/ncurses4/terminfo/z/zenith39-a +/usr/share/ncurses4/terminfo/z/zenith39-ansi +/usr/share/ncurses4/terminfo/z/zt-1 +/usr/share/ncurses4/terminfo/z/ztx +/usr/share/ncurses4/terminfo/z/ztx-1-a +/usr/share/ncurses4/terminfo/z/ztx11 + +2 15 RPM:Files 0 0 +2 14 #text 0 1 + +1 15 RDF:Description 0 0 +1 14 #text 0 1 + +0 15 RDF:RDF 0 0 diff --git a/libxml2/result/rdf2.rdr b/libxml2/result/rdf2.rdr new file mode 100644 index 0000000..15e5e97 --- /dev/null +++ b/libxml2/result/rdf2.rdr @@ -0,0 +1,2008 @@ +0 1 RDF:RDF 0 0 +1 14 #text 0 1 + +1 1 RDF:Description 0 0 +2 14 #text 0 1 + +2 1 RPM:Name 0 0 +3 3 #text 0 1 ncurses4 +2 15 RPM:Name 0 0 +2 14 #text 0 1 + +2 1 RPM:Version 0 0 +3 3 #text 0 1 4.2 +2 15 RPM:Version 0 0 +2 14 #text 0 1 + +2 1 RPM:Release 0 0 +3 3 #text 0 1 3 +2 15 RPM:Release 0 0 +2 14 #text 0 1 + +2 1 RPM:Arch 0 0 +3 3 #text 0 1 i386 +2 15 RPM:Arch 0 0 +2 14 #text 0 1 + +2 1 RPM:Os 0 0 +3 3 #text 0 1 Linux +2 15 RPM:Os 0 0 +2 14 #text 0 1 + +2 1 RPM:Distribution 0 0 +3 3 #text 0 1 DLD +2 15 RPM:Distribution 0 0 +2 14 #text 0 1 + +2 1 RPM:Vendor 0 0 +3 3 #text 0 1 delix Computer GmbH +2 15 RPM:Vendor 0 0 +2 14 #text 0 1 + +2 1 RPM:Packager 0 0 +3 3 #text 0 1 Till Bubeck , Ngo Than +2 15 RPM:Packager 0 0 +2 14 #text 0 1 + +2 1 RPM:Group 0 0 +3 3 #text 0 1 Libraries +2 15 RPM:Group 0 0 +2 14 #text 0 1 + +2 1 RPM:Summary 0 0 +3 3 #text 0 1 Bibliothek zur Ansteuerung von Terminals +2 15 RPM:Summary 0 0 +2 14 #text 0 1 + +2 1 RPM:Description 0 0 +3 3 #text 0 1 Diese Library stellt dem Programmierer vom Terminal unabhängige +Routinen zur Ansteuerung Ihres Bildschirms zur Verfügung, die +speziell optimiert sind. +Diese Version ist die 'new curses' (ncurses) Variante und ist der +anerkannte Ersatz für die klassische Curses-Library, die nicht mehr +weiterentwickelt wird. +2 15 RPM:Description 0 0 +2 14 #text 0 1 + +2 1 RPM:Copyright 0 0 +3 3 #text 0 1 GPL +2 15 RPM:Copyright 0 0 +2 14 #text 0 1 + +2 1 RPM:Sources 0 0 +3 3 #text 0 1 ncurses4-4.2-3.src.rpm +2 15 RPM:Sources 0 0 +2 14 #text 0 1 + +2 1 RPM:BuildDate 0 0 +3 3 #text 0 1 Tue May 12 19:30:26 1998 +2 15 RPM:BuildDate 0 0 +2 14 #text 0 1 + +2 1 RPM:Date 0 0 +3 3 #text 0 1 895015826 +2 15 RPM:Date 0 0 +2 14 #text 0 1 + +2 1 RPM:Size 0 0 +3 3 #text 0 1 1373513 +2 15 RPM:Size 0 0 +2 14 #text 0 1 + +2 1 RPM:BuildHost 0 0 +3 3 #text 0 1 erdbeere.delix.de +2 15 RPM:BuildHost 0 0 +2 14 #text 0 1 + +2 1 RPM:Provides 0 0 +3 14 #text 0 1 + +3 1 RDF:Bag 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 ncurses4 +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 libpanel.so.4 +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 libncurses.so.4 +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 libmenu.so.4 +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 libform.so.4 +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 ncurses +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +3 15 RDF:Bag 0 0 +3 14 #text 0 1 + +2 15 RPM:Provides 0 0 +2 14 #text 0 1 + +2 1 RPM:Files 0 0 +3 3 #text 0 1 /lib/libncurses.so.4 +/lib/libncurses.so.4.2 +/usr/doc/ncurses4-4.2-3 +/usr/doc/ncurses4-4.2-3/ANNOUNCE.gz +/usr/doc/ncurses4-4.2-3/NEWS.gz +/usr/doc/ncurses4-4.2-3/README.gz +/usr/doc/ncurses4-4.2-3/TO-DO.gz +/usr/lib/libform.so.4 +/usr/lib/libform.so.4.2 +/usr/lib/libmenu.so.4 +/usr/lib/libmenu.so.4.2 +/usr/lib/libpanel.so.4 +/usr/lib/libpanel.so.4.2 +/usr/share/ncurses4 +/usr/share/ncurses4/tabset +/usr/share/ncurses4/tabset/std +/usr/share/ncurses4/tabset/stdcrt +/usr/share/ncurses4/tabset/vt100 +/usr/share/ncurses4/tabset/vt300 +/usr/share/ncurses4/terminfo +/usr/share/ncurses4/terminfo/1 +/usr/share/ncurses4/terminfo/1/1178 +/usr/share/ncurses4/terminfo/1/1730-lm +/usr/share/ncurses4/terminfo/2 +/usr/share/ncurses4/terminfo/2/2621 +/usr/share/ncurses4/terminfo/2/2621-wl +/usr/share/ncurses4/terminfo/2/2621A +/usr/share/ncurses4/terminfo/2/2621a +/usr/share/ncurses4/terminfo/3 +/usr/share/ncurses4/terminfo/3/386at +/usr/share/ncurses4/terminfo/3/3b1 +/usr/share/ncurses4/terminfo/4 +/usr/share/ncurses4/terminfo/4/4025ex +/usr/share/ncurses4/terminfo/4/4027ex +/usr/share/ncurses4/terminfo/4/4410-w +/usr/share/ncurses4/terminfo/5 +/usr/share/ncurses4/terminfo/5/5051 +/usr/share/ncurses4/terminfo/5/5410-w +/usr/share/ncurses4/terminfo/5/5620 +/usr/share/ncurses4/terminfo/5/5630-24 +/usr/share/ncurses4/terminfo/5/5630DMD-24 +/usr/share/ncurses4/terminfo/6 +/usr/share/ncurses4/terminfo/6/630-lm +/usr/share/ncurses4/terminfo/6/630MTG-24 +/usr/share/ncurses4/terminfo/7 +/usr/share/ncurses4/terminfo/7/730MTG-24 +/usr/share/ncurses4/terminfo/7/730MTG-41 +/usr/share/ncurses4/terminfo/7/730MTG-41r +/usr/share/ncurses4/terminfo/7/730MTGr +/usr/share/ncurses4/terminfo/7/730MTGr-24 +/usr/share/ncurses4/terminfo/8 +/usr/share/ncurses4/terminfo/8/8510 +/usr/share/ncurses4/terminfo/9 +/usr/share/ncurses4/terminfo/9/955-hb +/usr/share/ncurses4/terminfo/9/955-w +/usr/share/ncurses4/terminfo/P +/usr/share/ncurses4/terminfo/P/P12 +/usr/share/ncurses4/terminfo/P/P12-M +/usr/share/ncurses4/terminfo/P/P12-M-W +/usr/share/ncurses4/terminfo/P/P12-W +/usr/share/ncurses4/terminfo/P/P14 +/usr/share/ncurses4/terminfo/P/P14-M +/usr/share/ncurses4/terminfo/P/P14-M-W +/usr/share/ncurses4/terminfo/P/P14-W +/usr/share/ncurses4/terminfo/P/P4 +/usr/share/ncurses4/terminfo/P/P5 +/usr/share/ncurses4/terminfo/P/P7 +/usr/share/ncurses4/terminfo/P/P8 +/usr/share/ncurses4/terminfo/P/P8-W +/usr/share/ncurses4/terminfo/P/P9 +/usr/share/ncurses4/terminfo/P/P9-8 +/usr/share/ncurses4/terminfo/P/P9-8-W +/usr/share/ncurses4/terminfo/P/P9-W +/usr/share/ncurses4/terminfo/X +/usr/share/ncurses4/terminfo/X/X-hpterm +/usr/share/ncurses4/terminfo/a +/usr/share/ncurses4/terminfo/a/a210 +/usr/share/ncurses4/terminfo/a/a80 +/usr/share/ncurses4/terminfo/a/a980 +/usr/share/ncurses4/terminfo/a/aa4080 +/usr/share/ncurses4/terminfo/a/aaa +/usr/share/ncurses4/terminfo/a/aaa+dec +/usr/share/ncurses4/terminfo/a/aaa+rv +/usr/share/ncurses4/terminfo/a/aaa+unk +/usr/share/ncurses4/terminfo/a/aaa-18 +/usr/share/ncurses4/terminfo/a/aaa-18-rv +/usr/share/ncurses4/terminfo/a/aaa-20 +/usr/share/ncurses4/terminfo/a/aaa-22 +/usr/share/ncurses4/terminfo/a/aaa-24 +/usr/share/ncurses4/terminfo/a/aaa-24-rv +/usr/share/ncurses4/terminfo/a/aaa-26 +/usr/share/ncurses4/terminfo/a/aaa-28 +/usr/share/ncurses4/terminfo/a/aaa-30 +/usr/share/ncurses4/terminfo/a/aaa-30-ctxt +/usr/share/ncurses4/terminfo/a/aaa-30-rv +/usr/share/ncurses4/terminfo/a/aaa-30-rv-ctxt +/usr/share/ncurses4/terminfo/a/aaa-30-s +/usr/share/ncurses4/terminfo/a/aaa-30-s-ctxt +/usr/share/ncurses4/terminfo/a/aaa-30-s-rv +/usr/share/ncurses4/terminfo/a/aaa-30-s-rv-ct +/usr/share/ncurses4/terminfo/a/aaa-36 +/usr/share/ncurses4/terminfo/a/aaa-36-rv +/usr/share/ncurses4/terminfo/a/aaa-40 +/usr/share/ncurses4/terminfo/a/aaa-40-rv +/usr/share/ncurses4/terminfo/a/aaa-48 +/usr/share/ncurses4/terminfo/a/aaa-48-rv +/usr/share/ncurses4/terminfo/a/aaa-60 +/usr/share/ncurses4/terminfo/a/aaa-60-dec-rv +/usr/share/ncurses4/terminfo/a/aaa-60-rv +/usr/share/ncurses4/terminfo/a/aaa-60-s +/usr/share/ncurses4/terminfo/a/aaa-60-s-rv +/usr/share/ncurses4/terminfo/a/aaa-ctxt +/usr/share/ncurses4/terminfo/a/aaa-db +/usr/share/ncurses4/terminfo/a/aaa-rv +/usr/share/ncurses4/terminfo/a/aaa-rv-ctxt +/usr/share/ncurses4/terminfo/a/aaa-rv-unk +/usr/share/ncurses4/terminfo/a/aaa-s +/usr/share/ncurses4/terminfo/a/aaa-s-ctxt +/usr/share/ncurses4/terminfo/a/aaa-s-rv +/usr/share/ncurses4/terminfo/a/aaa-s-rv-ctxt +/usr/share/ncurses4/terminfo/a/aaa-unk +/usr/share/ncurses4/terminfo/a/aas1901 +/usr/share/ncurses4/terminfo/a/abm80 +/usr/share/ncurses4/terminfo/a/abm85 +/usr/share/ncurses4/terminfo/a/abm85e +/usr/share/ncurses4/terminfo/a/abm85h +/usr/share/ncurses4/terminfo/a/abm85h-old +/usr/share/ncurses4/terminfo/a/act4 +/usr/share/ncurses4/terminfo/a/act5 +/usr/share/ncurses4/terminfo/a/addrinfo +/usr/share/ncurses4/terminfo/a/adds980 +/usr/share/ncurses4/terminfo/a/addsviewpoint +/usr/share/ncurses4/terminfo/a/addsvp60 +/usr/share/ncurses4/terminfo/a/adm+sgr +/usr/share/ncurses4/terminfo/a/adm1 +/usr/share/ncurses4/terminfo/a/adm11 +/usr/share/ncurses4/terminfo/a/adm1178 +/usr/share/ncurses4/terminfo/a/adm12 +/usr/share/ncurses4/terminfo/a/adm1a +/usr/share/ncurses4/terminfo/a/adm2 +/usr/share/ncurses4/terminfo/a/adm20 +/usr/share/ncurses4/terminfo/a/adm21 +/usr/share/ncurses4/terminfo/a/adm22 +/usr/share/ncurses4/terminfo/a/adm3 +/usr/share/ncurses4/terminfo/a/adm31 +/usr/share/ncurses4/terminfo/a/adm31-old +/usr/share/ncurses4/terminfo/a/adm36 +/usr/share/ncurses4/terminfo/a/adm3a +/usr/share/ncurses4/terminfo/a/adm3a+ +/usr/share/ncurses4/terminfo/a/adm42 +/usr/share/ncurses4/terminfo/a/adm42-ns +/usr/share/ncurses4/terminfo/a/adm5 +/usr/share/ncurses4/terminfo/a/aepro +/usr/share/ncurses4/terminfo/a/aixterm-m +/usr/share/ncurses4/terminfo/a/aixterm-m-old +/usr/share/ncurses4/terminfo/a/aj +/usr/share/ncurses4/terminfo/a/aj510 +/usr/share/ncurses4/terminfo/a/aj830 +/usr/share/ncurses4/terminfo/a/aj832 +/usr/share/ncurses4/terminfo/a/alt2 +/usr/share/ncurses4/terminfo/a/alt3 +/usr/share/ncurses4/terminfo/a/alt4 +/usr/share/ncurses4/terminfo/a/alt5 +/usr/share/ncurses4/terminfo/a/alt7 +/usr/share/ncurses4/terminfo/a/alt7pc +/usr/share/ncurses4/terminfo/a/alto-h19 +/usr/share/ncurses4/terminfo/a/alto-heath +/usr/share/ncurses4/terminfo/a/altoh19 +/usr/share/ncurses4/terminfo/a/altoheath +/usr/share/ncurses4/terminfo/a/altos-2 +/usr/share/ncurses4/terminfo/a/altos-3 +/usr/share/ncurses4/terminfo/a/altos-4 +/usr/share/ncurses4/terminfo/a/altos-5 +/usr/share/ncurses4/terminfo/a/altos2 +/usr/share/ncurses4/terminfo/a/altos3 +/usr/share/ncurses4/terminfo/a/altos4 +/usr/share/ncurses4/terminfo/a/altos5 +/usr/share/ncurses4/terminfo/a/altos7 +/usr/share/ncurses4/terminfo/a/altos7pc +/usr/share/ncurses4/terminfo/a/ambas +/usr/share/ncurses4/terminfo/a/ambassador +/usr/share/ncurses4/terminfo/a/amiga +/usr/share/ncurses4/terminfo/a/amiga-h +/usr/share/ncurses4/terminfo/a/amp219 +/usr/share/ncurses4/terminfo/a/amp219w +/usr/share/ncurses4/terminfo/a/ampex-219 +/usr/share/ncurses4/terminfo/a/ampex-219w +/usr/share/ncurses4/terminfo/a/ampex-232 +/usr/share/ncurses4/terminfo/a/ampex175 +/usr/share/ncurses4/terminfo/a/ampex175-b +/usr/share/ncurses4/terminfo/a/ampex210 +/usr/share/ncurses4/terminfo/a/ampex219 +/usr/share/ncurses4/terminfo/a/ampex219w +/usr/share/ncurses4/terminfo/a/ampex232 +/usr/share/ncurses4/terminfo/a/ampex232w +/usr/share/ncurses4/terminfo/a/ampex80 +/usr/share/ncurses4/terminfo/a/annarbor4080 +/usr/share/ncurses4/terminfo/a/ansi +/usr/share/ncurses4/terminfo/a/ansi-color-2-emx +/usr/share/ncurses4/terminfo/a/ansi-color-3-emx +/usr/share/ncurses4/terminfo/a/ansi-emx +/usr/share/ncurses4/terminfo/a/ansi-m +/usr/share/ncurses4/terminfo/a/ansi-mini +/usr/share/ncurses4/terminfo/a/ansi-mono +/usr/share/ncurses4/terminfo/a/ansi-nt +/usr/share/ncurses4/terminfo/a/ansi.sys +/usr/share/ncurses4/terminfo/a/ansi.sys-old +/usr/share/ncurses4/terminfo/a/ansi.sysk +/usr/share/ncurses4/terminfo/a/ansi43m +/usr/share/ncurses4/terminfo/a/ansi77 +/usr/share/ncurses4/terminfo/a/ansi80x25 +/usr/share/ncurses4/terminfo/a/ansi80x25-mono +/usr/share/ncurses4/terminfo/a/ansi80x25-raw +/usr/share/ncurses4/terminfo/a/ansi80x30 +/usr/share/ncurses4/terminfo/a/ansi80x30-mono +/usr/share/ncurses4/terminfo/a/ansi80x43 +/usr/share/ncurses4/terminfo/a/ansi80x43-mono +/usr/share/ncurses4/terminfo/a/ansi80x50 +/usr/share/ncurses4/terminfo/a/ansi80x50-mono +/usr/share/ncurses4/terminfo/a/ansi80x60 +/usr/share/ncurses4/terminfo/a/ansi80x60-mono +/usr/share/ncurses4/terminfo/a/ansil +/usr/share/ncurses4/terminfo/a/ansil-mono +/usr/share/ncurses4/terminfo/a/ansis +/usr/share/ncurses4/terminfo/a/ansis-mono +/usr/share/ncurses4/terminfo/a/ansisysk +/usr/share/ncurses4/terminfo/a/ansiw +/usr/share/ncurses4/terminfo/a/ap-vm80 +/usr/share/ncurses4/terminfo/a/apl +/usr/share/ncurses4/terminfo/a/apollo +/usr/share/ncurses4/terminfo/a/apollo_15P +/usr/share/ncurses4/terminfo/a/apollo_19L +/usr/share/ncurses4/terminfo/a/apollo_color +/usr/share/ncurses4/terminfo/a/apple-80 +/usr/share/ncurses4/terminfo/a/apple-ae +/usr/share/ncurses4/terminfo/a/apple-soroc +/usr/share/ncurses4/terminfo/a/apple-uterm +/usr/share/ncurses4/terminfo/a/apple-uterm-vb +/usr/share/ncurses4/terminfo/a/apple-videx +/usr/share/ncurses4/terminfo/a/apple-videx2 +/usr/share/ncurses4/terminfo/a/apple-videx3 +/usr/share/ncurses4/terminfo/a/apple-vm80 +/usr/share/ncurses4/terminfo/a/apple2e +/usr/share/ncurses4/terminfo/a/apple2e-p +/usr/share/ncurses4/terminfo/a/apple80p +/usr/share/ncurses4/terminfo/a/appleII +/usr/share/ncurses4/terminfo/a/appleIIc +/usr/share/ncurses4/terminfo/a/appleIIe +/usr/share/ncurses4/terminfo/a/appleIIgs +/usr/share/ncurses4/terminfo/a/at386 +/usr/share/ncurses4/terminfo/a/atari +/usr/share/ncurses4/terminfo/a/att2300 +/usr/share/ncurses4/terminfo/a/att2350 +/usr/share/ncurses4/terminfo/a/att4410 +/usr/share/ncurses4/terminfo/a/att4410-w +/usr/share/ncurses4/terminfo/a/att4410v1 +/usr/share/ncurses4/terminfo/a/att4410v1-w +/usr/share/ncurses4/terminfo/a/att4415 +/usr/share/ncurses4/terminfo/a/att4415+nl +/usr/share/ncurses4/terminfo/a/att4415-nl +/usr/share/ncurses4/terminfo/a/att4415-rv +/usr/share/ncurses4/terminfo/a/att4415-rv-nl +/usr/share/ncurses4/terminfo/a/att4415-w +/usr/share/ncurses4/terminfo/a/att4415-w-nl +/usr/share/ncurses4/terminfo/a/att4415-w-rv +/usr/share/ncurses4/terminfo/a/att4415-w-rv-n +/usr/share/ncurses4/terminfo/a/att4418 +/usr/share/ncurses4/terminfo/a/att4418-w +/usr/share/ncurses4/terminfo/a/att4420 +/usr/share/ncurses4/terminfo/a/att4424 +/usr/share/ncurses4/terminfo/a/att4424-1 +/usr/share/ncurses4/terminfo/a/att4424m +/usr/share/ncurses4/terminfo/a/att4425 +/usr/share/ncurses4/terminfo/a/att4425-nl +/usr/share/ncurses4/terminfo/a/att4425-w +/usr/share/ncurses4/terminfo/a/att4426 +/usr/share/ncurses4/terminfo/a/att500 +/usr/share/ncurses4/terminfo/a/att505 +/usr/share/ncurses4/terminfo/a/att505-24 +/usr/share/ncurses4/terminfo/a/att510a +/usr/share/ncurses4/terminfo/a/att510d +/usr/share/ncurses4/terminfo/a/att513 +/usr/share/ncurses4/terminfo/a/att5310 +/usr/share/ncurses4/terminfo/a/att5320 +/usr/share/ncurses4/terminfo/a/att5410 +/usr/share/ncurses4/terminfo/a/att5410-w +/usr/share/ncurses4/terminfo/a/att5410v1 +/usr/share/ncurses4/terminfo/a/att5410v1-w +/usr/share/ncurses4/terminfo/a/att5418 +/usr/share/ncurses4/terminfo/a/att5418-w +/usr/share/ncurses4/terminfo/a/att5420 +/usr/share/ncurses4/terminfo/a/att5420+nl +/usr/share/ncurses4/terminfo/a/att5420-nl +/usr/share/ncurses4/terminfo/a/att5420-rv +/usr/share/ncurses4/terminfo/a/att5420-rv-nl +/usr/share/ncurses4/terminfo/a/att5420-w +/usr/share/ncurses4/terminfo/a/att5420-w-nl +/usr/share/ncurses4/terminfo/a/att5420-w-rv +/usr/share/ncurses4/terminfo/a/att5420-w-rv-n +/usr/share/ncurses4/terminfo/a/att5420_2 +/usr/share/ncurses4/terminfo/a/att5420_2-w +/usr/share/ncurses4/terminfo/a/att5425 +/usr/share/ncurses4/terminfo/a/att5425-nl +/usr/share/ncurses4/terminfo/a/att5425-w +/usr/share/ncurses4/terminfo/a/att5430 +/usr/share/ncurses4/terminfo/a/att5620 +/usr/share/ncurses4/terminfo/a/att5620-1 +/usr/share/ncurses4/terminfo/a/att5620-24 +/usr/share/ncurses4/terminfo/a/att5620-34 +/usr/share/ncurses4/terminfo/a/att5620-s +/usr/share/ncurses4/terminfo/a/att605 +/usr/share/ncurses4/terminfo/a/att605-pc +/usr/share/ncurses4/terminfo/a/att605-w +/usr/share/ncurses4/terminfo/a/att610 +/usr/share/ncurses4/terminfo/a/att610-103k +/usr/share/ncurses4/terminfo/a/att610-103k-w +/usr/share/ncurses4/terminfo/a/att610-w +/usr/share/ncurses4/terminfo/a/att615 +/usr/share/ncurses4/terminfo/a/att615-103k +/usr/share/ncurses4/terminfo/a/att615-103k-w +/usr/share/ncurses4/terminfo/a/att615-w +/usr/share/ncurses4/terminfo/a/att620 +/usr/share/ncurses4/terminfo/a/att620-103k +/usr/share/ncurses4/terminfo/a/att620-103k-w +/usr/share/ncurses4/terminfo/a/att620-w +/usr/share/ncurses4/terminfo/a/att630 +/usr/share/ncurses4/terminfo/a/att630-24 +/usr/share/ncurses4/terminfo/a/att6386 +/usr/share/ncurses4/terminfo/a/att730 +/usr/share/ncurses4/terminfo/a/att730-24 +/usr/share/ncurses4/terminfo/a/att730-41 +/usr/share/ncurses4/terminfo/a/att7300 +/usr/share/ncurses4/terminfo/a/att730r +/usr/share/ncurses4/terminfo/a/att730r-24 +/usr/share/ncurses4/terminfo/a/att730r-41 +/usr/share/ncurses4/terminfo/a/avatar +/usr/share/ncurses4/terminfo/a/avatar0 +/usr/share/ncurses4/terminfo/a/avatar0+ +/usr/share/ncurses4/terminfo/a/avatar1 +/usr/share/ncurses4/terminfo/a/avt +/usr/share/ncurses4/terminfo/a/avt+s +/usr/share/ncurses4/terminfo/a/avt-ns +/usr/share/ncurses4/terminfo/a/avt-rv +/usr/share/ncurses4/terminfo/a/avt-rv-ns +/usr/share/ncurses4/terminfo/a/avt-rv-s +/usr/share/ncurses4/terminfo/a/avt-s +/usr/share/ncurses4/terminfo/a/avt-w +/usr/share/ncurses4/terminfo/a/avt-w-ns +/usr/share/ncurses4/terminfo/a/avt-w-rv +/usr/share/ncurses4/terminfo/a/avt-w-rv-ns +/usr/share/ncurses4/terminfo/a/avt-w-rv-s +/usr/share/ncurses4/terminfo/a/avt-w-s +/usr/share/ncurses4/terminfo/a/aws +/usr/share/ncurses4/terminfo/a/awsc +/usr/share/ncurses4/terminfo/b +/usr/share/ncurses4/terminfo/b/b-128 +/usr/share/ncurses4/terminfo/b/bantam +/usr/share/ncurses4/terminfo/b/basic4 +/usr/share/ncurses4/terminfo/b/basis +/usr/share/ncurses4/terminfo/b/bct510a +/usr/share/ncurses4/terminfo/b/bct510d +/usr/share/ncurses4/terminfo/b/beacon +/usr/share/ncurses4/terminfo/b/bee +/usr/share/ncurses4/terminfo/b/beehive +/usr/share/ncurses4/terminfo/b/beehive3 +/usr/share/ncurses4/terminfo/b/beehive4 +/usr/share/ncurses4/terminfo/b/beehiveIIIm +/usr/share/ncurses4/terminfo/b/beterm +/usr/share/ncurses4/terminfo/b/bg1.25 +/usr/share/ncurses4/terminfo/b/bg1.25nv +/usr/share/ncurses4/terminfo/b/bg1.25rv +/usr/share/ncurses4/terminfo/b/bg2.0 +/usr/share/ncurses4/terminfo/b/bg2.0nv +/usr/share/ncurses4/terminfo/b/bg2.0rv +/usr/share/ncurses4/terminfo/b/bg3.10 +/usr/share/ncurses4/terminfo/b/bg3.10nv +/usr/share/ncurses4/terminfo/b/bg3.10rv +/usr/share/ncurses4/terminfo/b/bh3m +/usr/share/ncurses4/terminfo/b/bh4 +/usr/share/ncurses4/terminfo/b/bitgraph +/usr/share/ncurses4/terminfo/b/blit +/usr/share/ncurses4/terminfo/b/bobcat +/usr/share/ncurses4/terminfo/b/bsdos +/usr/share/ncurses4/terminfo/b/bsdos-bold +/usr/share/ncurses4/terminfo/c +/usr/share/ncurses4/terminfo/c/c100 +/usr/share/ncurses4/terminfo/c/c100-1p +/usr/share/ncurses4/terminfo/c/c100-4p +/usr/share/ncurses4/terminfo/c/c100-rv +/usr/share/ncurses4/terminfo/c/c100-rv-4p +/usr/share/ncurses4/terminfo/c/c104 +/usr/share/ncurses4/terminfo/c/c108 +/usr/share/ncurses4/terminfo/c/c108-4p +/usr/share/ncurses4/terminfo/c/c108-8p +/usr/share/ncurses4/terminfo/c/c108-rv +/usr/share/ncurses4/terminfo/c/c108-rv-4p +/usr/share/ncurses4/terminfo/c/c108-rv-8p +/usr/share/ncurses4/terminfo/c/c108-w +/usr/share/ncurses4/terminfo/c/c108-w-8p +/usr/share/ncurses4/terminfo/c/c300 +/usr/share/ncurses4/terminfo/c/c301 +/usr/share/ncurses4/terminfo/c/c321 +/usr/share/ncurses4/terminfo/c/ca22851 +/usr/share/ncurses4/terminfo/c/cad68-2 +/usr/share/ncurses4/terminfo/c/cad68-3 +/usr/share/ncurses4/terminfo/c/cbblit +/usr/share/ncurses4/terminfo/c/cbunix +/usr/share/ncurses4/terminfo/c/cci +/usr/share/ncurses4/terminfo/c/cci1 +/usr/share/ncurses4/terminfo/c/cdc456 +/usr/share/ncurses4/terminfo/c/cdc721 +/usr/share/ncurses4/terminfo/c/cdc721-esc +/usr/share/ncurses4/terminfo/c/cdc721ll +/usr/share/ncurses4/terminfo/c/cdc752 +/usr/share/ncurses4/terminfo/c/cdc756 +/usr/share/ncurses4/terminfo/c/cg7900 +/usr/share/ncurses4/terminfo/c/cgc2 +/usr/share/ncurses4/terminfo/c/cgc3 +/usr/share/ncurses4/terminfo/c/chromatics +/usr/share/ncurses4/terminfo/c/ci8510 +/usr/share/ncurses4/terminfo/c/cit-80 +/usr/share/ncurses4/terminfo/c/cit101 +/usr/share/ncurses4/terminfo/c/cit101e +/usr/share/ncurses4/terminfo/c/cit101e-132 +/usr/share/ncurses4/terminfo/c/cit101e-n +/usr/share/ncurses4/terminfo/c/cit101e-n132 +/usr/share/ncurses4/terminfo/c/cit101e-rv +/usr/share/ncurses4/terminfo/c/cit500 +/usr/share/ncurses4/terminfo/c/cit80 +/usr/share/ncurses4/terminfo/c/citc +/usr/share/ncurses4/terminfo/c/citoh +/usr/share/ncurses4/terminfo/c/citoh-6lpi +/usr/share/ncurses4/terminfo/c/citoh-8lpi +/usr/share/ncurses4/terminfo/c/citoh-comp +/usr/share/ncurses4/terminfo/c/citoh-elite +/usr/share/ncurses4/terminfo/c/citoh-pica +/usr/share/ncurses4/terminfo/c/citoh-prop +/usr/share/ncurses4/terminfo/c/citoh-ps +/usr/share/ncurses4/terminfo/c/coco3 +/usr/share/ncurses4/terminfo/c/coherent +/usr/share/ncurses4/terminfo/c/color_xterm +/usr/share/ncurses4/terminfo/c/colorscan +/usr/share/ncurses4/terminfo/c/commodore +/usr/share/ncurses4/terminfo/c/concept +/usr/share/ncurses4/terminfo/c/concept-avt +/usr/share/ncurses4/terminfo/c/concept100 +/usr/share/ncurses4/terminfo/c/concept100-rv +/usr/share/ncurses4/terminfo/c/concept108 +/usr/share/ncurses4/terminfo/c/concept108-4p +/usr/share/ncurses4/terminfo/c/concept108-8p +/usr/share/ncurses4/terminfo/c/concept108-w-8 +/usr/share/ncurses4/terminfo/c/concept108-w8p +/usr/share/ncurses4/terminfo/c/concept108rv4p +/usr/share/ncurses4/terminfo/c/cons25 +/usr/share/ncurses4/terminfo/c/cons25-iso-m +/usr/share/ncurses4/terminfo/c/cons25-iso8859 +/usr/share/ncurses4/terminfo/c/cons25-koi8-r +/usr/share/ncurses4/terminfo/c/cons25-koi8r-m +/usr/share/ncurses4/terminfo/c/cons25-m +/usr/share/ncurses4/terminfo/c/cons25l1 +/usr/share/ncurses4/terminfo/c/cons25l1-m +/usr/share/ncurses4/terminfo/c/cons25r +/usr/share/ncurses4/terminfo/c/cons25r-m +/usr/share/ncurses4/terminfo/c/cons25w +/usr/share/ncurses4/terminfo/c/cons30 +/usr/share/ncurses4/terminfo/c/cons30-m +/usr/share/ncurses4/terminfo/c/cons43 +/usr/share/ncurses4/terminfo/c/cons43-m +/usr/share/ncurses4/terminfo/c/cons50 +/usr/share/ncurses4/terminfo/c/cons50-iso-m +/usr/share/ncurses4/terminfo/c/cons50-iso8859 +/usr/share/ncurses4/terminfo/c/cons50-koi8r +/usr/share/ncurses4/terminfo/c/cons50-koi8r-m +/usr/share/ncurses4/terminfo/c/cons50-m +/usr/share/ncurses4/terminfo/c/cons50l1 +/usr/share/ncurses4/terminfo/c/cons50l1-m +/usr/share/ncurses4/terminfo/c/cons50r +/usr/share/ncurses4/terminfo/c/cons50r-m +/usr/share/ncurses4/terminfo/c/cons60 +/usr/share/ncurses4/terminfo/c/cons60-iso +/usr/share/ncurses4/terminfo/c/cons60-iso-m +/usr/share/ncurses4/terminfo/c/cons60-koi8r +/usr/share/ncurses4/terminfo/c/cons60-koi8r-m +/usr/share/ncurses4/terminfo/c/cons60-m +/usr/share/ncurses4/terminfo/c/cons60l1 +/usr/share/ncurses4/terminfo/c/cons60l1-m +/usr/share/ncurses4/terminfo/c/cons60r +/usr/share/ncurses4/terminfo/c/cons60r-m +/usr/share/ncurses4/terminfo/c/contel300 +/usr/share/ncurses4/terminfo/c/contel301 +/usr/share/ncurses4/terminfo/c/contel320 +/usr/share/ncurses4/terminfo/c/contel321 +/usr/share/ncurses4/terminfo/c/cops +/usr/share/ncurses4/terminfo/c/cops-10 +/usr/share/ncurses4/terminfo/c/cops10 +/usr/share/ncurses4/terminfo/c/cs10 +/usr/share/ncurses4/terminfo/c/cs10-w +/usr/share/ncurses4/terminfo/c/ct82 +/usr/share/ncurses4/terminfo/c/ct8500 +/usr/share/ncurses4/terminfo/c/ctrm +/usr/share/ncurses4/terminfo/c/cx +/usr/share/ncurses4/terminfo/c/cx100 +/usr/share/ncurses4/terminfo/c/cyb110 +/usr/share/ncurses4/terminfo/c/cyb83 +/usr/share/ncurses4/terminfo/d +/usr/share/ncurses4/terminfo/d/d132 +/usr/share/ncurses4/terminfo/d/d80 +/usr/share/ncurses4/terminfo/d/d800 +/usr/share/ncurses4/terminfo/d/datagraphix +/usr/share/ncurses4/terminfo/d/datamedia2500 +/usr/share/ncurses4/terminfo/d/datapoint +/usr/share/ncurses4/terminfo/d/dataspeed40 +/usr/share/ncurses4/terminfo/d/dd5000 +/usr/share/ncurses4/terminfo/d/ddr +/usr/share/ncurses4/terminfo/d/ddr3180 +/usr/share/ncurses4/terminfo/d/dec-vt100 +/usr/share/ncurses4/terminfo/d/dec-vt220 +/usr/share/ncurses4/terminfo/d/dec-vt330 +/usr/share/ncurses4/terminfo/d/dec-vt340 +/usr/share/ncurses4/terminfo/d/dec-vt400 +/usr/share/ncurses4/terminfo/d/decpro +/usr/share/ncurses4/terminfo/d/decwriter +/usr/share/ncurses4/terminfo/d/delta +/usr/share/ncurses4/terminfo/d/dg-ansi +/usr/share/ncurses4/terminfo/d/dg100 +/usr/share/ncurses4/terminfo/d/dg200 +/usr/share/ncurses4/terminfo/d/dg210 +/usr/share/ncurses4/terminfo/d/dg211 +/usr/share/ncurses4/terminfo/d/dg450 +/usr/share/ncurses4/terminfo/d/dg460-ansi +/usr/share/ncurses4/terminfo/d/dg6053 +/usr/share/ncurses4/terminfo/d/dg6134 +/usr/share/ncurses4/terminfo/d/diablo +/usr/share/ncurses4/terminfo/d/diablo-lm +/usr/share/ncurses4/terminfo/d/diablo1620 +/usr/share/ncurses4/terminfo/d/diablo1620-m8 +/usr/share/ncurses4/terminfo/d/diablo1640 +/usr/share/ncurses4/terminfo/d/diablo1640-lm +/usr/share/ncurses4/terminfo/d/diablo1640-m8 +/usr/share/ncurses4/terminfo/d/diablo1720 +/usr/share/ncurses4/terminfo/d/diablo1730 +/usr/share/ncurses4/terminfo/d/diablo1740 +/usr/share/ncurses4/terminfo/d/diablo1740-lm +/usr/share/ncurses4/terminfo/d/diablo450 +/usr/share/ncurses4/terminfo/d/diablo630 +/usr/share/ncurses4/terminfo/d/dialogue +/usr/share/ncurses4/terminfo/d/dialogue80 +/usr/share/ncurses4/terminfo/d/digilog +/usr/share/ncurses4/terminfo/d/dku7003 +/usr/share/ncurses4/terminfo/d/dku7003-dumb +/usr/share/ncurses4/terminfo/d/dm1520 +/usr/share/ncurses4/terminfo/d/dm1521 +/usr/share/ncurses4/terminfo/d/dm2500 +/usr/share/ncurses4/terminfo/d/dm3025 +/usr/share/ncurses4/terminfo/d/dm3045 +/usr/share/ncurses4/terminfo/d/dm80 +/usr/share/ncurses4/terminfo/d/dm80w +/usr/share/ncurses4/terminfo/d/dmchat +/usr/share/ncurses4/terminfo/d/dmd +/usr/share/ncurses4/terminfo/d/dmd-24 +/usr/share/ncurses4/terminfo/d/dmd-34 +/usr/share/ncurses4/terminfo/d/dmd1 +/usr/share/ncurses4/terminfo/d/dmdt80 +/usr/share/ncurses4/terminfo/d/dmdt80w +/usr/share/ncurses4/terminfo/d/dmterm +/usr/share/ncurses4/terminfo/d/dp3360 +/usr/share/ncurses4/terminfo/d/dp8242 +/usr/share/ncurses4/terminfo/d/ds40 +/usr/share/ncurses4/terminfo/d/ds40-2 +/usr/share/ncurses4/terminfo/d/dt-100 +/usr/share/ncurses4/terminfo/d/dt-100w +/usr/share/ncurses4/terminfo/d/dt100 +/usr/share/ncurses4/terminfo/d/dt100w +/usr/share/ncurses4/terminfo/d/dt110 +/usr/share/ncurses4/terminfo/d/dt80 +/usr/share/ncurses4/terminfo/d/dt80-sas +/usr/share/ncurses4/terminfo/d/dt80w +/usr/share/ncurses4/terminfo/d/dtc300s +/usr/share/ncurses4/terminfo/d/dtc382 +/usr/share/ncurses4/terminfo/d/dtterm +/usr/share/ncurses4/terminfo/d/dumb +/usr/share/ncurses4/terminfo/d/dw +/usr/share/ncurses4/terminfo/d/dw1 +/usr/share/ncurses4/terminfo/d/dw2 +/usr/share/ncurses4/terminfo/d/dw3 +/usr/share/ncurses4/terminfo/d/dw4 +/usr/share/ncurses4/terminfo/d/dwk +/usr/share/ncurses4/terminfo/d/dwk-vt +/usr/share/ncurses4/terminfo/e +/usr/share/ncurses4/terminfo/e/ecma+color +/usr/share/ncurses4/terminfo/e/ecma+sgr +/usr/share/ncurses4/terminfo/e/emots +/usr/share/ncurses4/terminfo/e/emu +/usr/share/ncurses4/terminfo/e/env230 +/usr/share/ncurses4/terminfo/e/envision230 +/usr/share/ncurses4/terminfo/e/ep40 +/usr/share/ncurses4/terminfo/e/ep4000 +/usr/share/ncurses4/terminfo/e/ep4080 +/usr/share/ncurses4/terminfo/e/ep48 +/usr/share/ncurses4/terminfo/e/ergo4000 +/usr/share/ncurses4/terminfo/e/esprit +/usr/share/ncurses4/terminfo/e/esprit-am +/usr/share/ncurses4/terminfo/e/eterm +/usr/share/ncurses4/terminfo/e/ex155 +/usr/share/ncurses4/terminfo/e/excel62 +/usr/share/ncurses4/terminfo/e/excel62-rv +/usr/share/ncurses4/terminfo/e/excel62-w +/usr/share/ncurses4/terminfo/e/excel64 +/usr/share/ncurses4/terminfo/e/excel64-rv +/usr/share/ncurses4/terminfo/e/excel64-w +/usr/share/ncurses4/terminfo/e/exec80 +/usr/share/ncurses4/terminfo/f +/usr/share/ncurses4/terminfo/f/f100 +/usr/share/ncurses4/terminfo/f/f100-rv +/usr/share/ncurses4/terminfo/f/f110 +/usr/share/ncurses4/terminfo/f/f110-14 +/usr/share/ncurses4/terminfo/f/f110-14w +/usr/share/ncurses4/terminfo/f/f110-w +/usr/share/ncurses4/terminfo/f/f1720 +/usr/share/ncurses4/terminfo/f/f1720a +/usr/share/ncurses4/terminfo/f/f200 +/usr/share/ncurses4/terminfo/f/f200-w +/usr/share/ncurses4/terminfo/f/f200vi +/usr/share/ncurses4/terminfo/f/f200vi-w +/usr/share/ncurses4/terminfo/f/falco +/usr/share/ncurses4/terminfo/f/falco-p +/usr/share/ncurses4/terminfo/f/fenix +/usr/share/ncurses4/terminfo/f/fenixw +/usr/share/ncurses4/terminfo/f/fixterm +/usr/share/ncurses4/terminfo/f/fortune +/usr/share/ncurses4/terminfo/f/fos +/usr/share/ncurses4/terminfo/f/fox +/usr/share/ncurses4/terminfo/f/freedom +/usr/share/ncurses4/terminfo/f/freedom-rv +/usr/share/ncurses4/terminfo/f/freedom100 +/usr/share/ncurses4/terminfo/f/freedom110 +/usr/share/ncurses4/terminfo/f/freedom200 +/usr/share/ncurses4/terminfo/g +/usr/share/ncurses4/terminfo/g/gator +/usr/share/ncurses4/terminfo/g/gator-52 +/usr/share/ncurses4/terminfo/g/gator-52t +/usr/share/ncurses4/terminfo/g/gator-t +/usr/share/ncurses4/terminfo/g/gigi +/usr/share/ncurses4/terminfo/g/glasstty +/usr/share/ncurses4/terminfo/g/go-225 +/usr/share/ncurses4/terminfo/g/go140 +/usr/share/ncurses4/terminfo/g/go140w +/usr/share/ncurses4/terminfo/g/go225 +/usr/share/ncurses4/terminfo/g/graphos +/usr/share/ncurses4/terminfo/g/graphos-30 +/usr/share/ncurses4/terminfo/g/gs5430 +/usr/share/ncurses4/terminfo/g/gs5430-22 +/usr/share/ncurses4/terminfo/g/gs5430-24 +/usr/share/ncurses4/terminfo/g/gs6300 +/usr/share/ncurses4/terminfo/g/gsi +/usr/share/ncurses4/terminfo/g/gt100 +/usr/share/ncurses4/terminfo/g/gt100a +/usr/share/ncurses4/terminfo/g/gt40 +/usr/share/ncurses4/terminfo/g/gt42 +/usr/share/ncurses4/terminfo/g/guru +/usr/share/ncurses4/terminfo/g/guru+rv +/usr/share/ncurses4/terminfo/g/guru+s +/usr/share/ncurses4/terminfo/g/guru+unk +/usr/share/ncurses4/terminfo/g/guru-24 +/usr/share/ncurses4/terminfo/g/guru-33 +/usr/share/ncurses4/terminfo/g/guru-33-rv +/usr/share/ncurses4/terminfo/g/guru-33-s +/usr/share/ncurses4/terminfo/g/guru-44 +/usr/share/ncurses4/terminfo/g/guru-44-s +/usr/share/ncurses4/terminfo/g/guru-76 +/usr/share/ncurses4/terminfo/g/guru-76-lp +/usr/share/ncurses4/terminfo/g/guru-76-s +/usr/share/ncurses4/terminfo/g/guru-76-w +/usr/share/ncurses4/terminfo/g/guru-76-w-s +/usr/share/ncurses4/terminfo/g/guru-76-wm +/usr/share/ncurses4/terminfo/g/guru-lp +/usr/share/ncurses4/terminfo/g/guru-nctxt +/usr/share/ncurses4/terminfo/g/guru-rv +/usr/share/ncurses4/terminfo/g/guru-s +/usr/share/ncurses4/terminfo/h +/usr/share/ncurses4/terminfo/h/h-100 +/usr/share/ncurses4/terminfo/h/h-100bw +/usr/share/ncurses4/terminfo/h/h100 +/usr/share/ncurses4/terminfo/h/h100bw +/usr/share/ncurses4/terminfo/h/h19 +/usr/share/ncurses4/terminfo/h/h19-a +/usr/share/ncurses4/terminfo/h/h19-b +/usr/share/ncurses4/terminfo/h/h19-bs +/usr/share/ncurses4/terminfo/h/h19-g +/usr/share/ncurses4/terminfo/h/h19-smul +/usr/share/ncurses4/terminfo/h/h19-u +/usr/share/ncurses4/terminfo/h/h19-us +/usr/share/ncurses4/terminfo/h/h19a +/usr/share/ncurses4/terminfo/h/h19g +/usr/share/ncurses4/terminfo/h/h19k +/usr/share/ncurses4/terminfo/h/h19kermit +/usr/share/ncurses4/terminfo/h/h19us +/usr/share/ncurses4/terminfo/h/h29a-kc-bc +/usr/share/ncurses4/terminfo/h/h29a-kc-uc +/usr/share/ncurses4/terminfo/h/h29a-nkc-bc +/usr/share/ncurses4/terminfo/h/h29a-nkc-uc +/usr/share/ncurses4/terminfo/h/h80 +/usr/share/ncurses4/terminfo/h/ha8675 +/usr/share/ncurses4/terminfo/h/ha8686 +/usr/share/ncurses4/terminfo/h/hazel +/usr/share/ncurses4/terminfo/h/hds200 +/usr/share/ncurses4/terminfo/h/he80 +/usr/share/ncurses4/terminfo/h/heath +/usr/share/ncurses4/terminfo/h/heath-19 +/usr/share/ncurses4/terminfo/h/heath-ansi +/usr/share/ncurses4/terminfo/h/heathkit +/usr/share/ncurses4/terminfo/h/heathkit-a +/usr/share/ncurses4/terminfo/h/hft +/usr/share/ncurses4/terminfo/h/hft-c +/usr/share/ncurses4/terminfo/h/hirez100 +/usr/share/ncurses4/terminfo/h/hirez100-w +/usr/share/ncurses4/terminfo/h/hmod1 +/usr/share/ncurses4/terminfo/h/hp +/usr/share/ncurses4/terminfo/h/hp+arrows +/usr/share/ncurses4/terminfo/h/hp+color +/usr/share/ncurses4/terminfo/h/hp+labels +/usr/share/ncurses4/terminfo/h/hp+pfk+arrows +/usr/share/ncurses4/terminfo/h/hp+pfk+cr +/usr/share/ncurses4/terminfo/h/hp+pfk-cr +/usr/share/ncurses4/terminfo/h/hp+printer +/usr/share/ncurses4/terminfo/h/hp110 +/usr/share/ncurses4/terminfo/h/hp150 +/usr/share/ncurses4/terminfo/h/hp2 +/usr/share/ncurses4/terminfo/h/hp236 +/usr/share/ncurses4/terminfo/h/hp2382 +/usr/share/ncurses4/terminfo/h/hp2382a +/usr/share/ncurses4/terminfo/h/hp2392 +/usr/share/ncurses4/terminfo/h/hp2397 +/usr/share/ncurses4/terminfo/h/hp2397a +/usr/share/ncurses4/terminfo/h/hp2621 +/usr/share/ncurses4/terminfo/h/hp2621-48 +/usr/share/ncurses4/terminfo/h/hp2621-a +/usr/share/ncurses4/terminfo/h/hp2621-ba +/usr/share/ncurses4/terminfo/h/hp2621-fl +/usr/share/ncurses4/terminfo/h/hp2621-k45 +/usr/share/ncurses4/terminfo/h/hp2621-nl +/usr/share/ncurses4/terminfo/h/hp2621-nt +/usr/share/ncurses4/terminfo/h/hp2621-wl +/usr/share/ncurses4/terminfo/h/hp2621A +/usr/share/ncurses4/terminfo/h/hp2621a +/usr/share/ncurses4/terminfo/h/hp2621a-a +/usr/share/ncurses4/terminfo/h/hp2621b +/usr/share/ncurses4/terminfo/h/hp2621b-kx +/usr/share/ncurses4/terminfo/h/hp2621b-kx-p +/usr/share/ncurses4/terminfo/h/hp2621b-p +/usr/share/ncurses4/terminfo/h/hp2621k45 +/usr/share/ncurses4/terminfo/h/hp2621p +/usr/share/ncurses4/terminfo/h/hp2621p-a +/usr/share/ncurses4/terminfo/h/hp2622 +/usr/share/ncurses4/terminfo/h/hp2622a +/usr/share/ncurses4/terminfo/h/hp2623 +/usr/share/ncurses4/terminfo/h/hp2623a +/usr/share/ncurses4/terminfo/h/hp2624 +/usr/share/ncurses4/terminfo/h/hp2624-10p +/usr/share/ncurses4/terminfo/h/hp2624a +/usr/share/ncurses4/terminfo/h/hp2624a-10p +/usr/share/ncurses4/terminfo/h/hp2624b +/usr/share/ncurses4/terminfo/h/hp2624b-10p +/usr/share/ncurses4/terminfo/h/hp2624b-10p-p +/usr/share/ncurses4/terminfo/h/hp2624b-4p +/usr/share/ncurses4/terminfo/h/hp2624b-4p-p +/usr/share/ncurses4/terminfo/h/hp2624b-p +/usr/share/ncurses4/terminfo/h/hp2626 +/usr/share/ncurses4/terminfo/h/hp2626-12 +/usr/share/ncurses4/terminfo/h/hp2626-12-s +/usr/share/ncurses4/terminfo/h/hp2626-12x40 +/usr/share/ncurses4/terminfo/h/hp2626-ns +/usr/share/ncurses4/terminfo/h/hp2626-s +/usr/share/ncurses4/terminfo/h/hp2626-x40 +/usr/share/ncurses4/terminfo/h/hp2626a +/usr/share/ncurses4/terminfo/h/hp2626p +/usr/share/ncurses4/terminfo/h/hp2627a +/usr/share/ncurses4/terminfo/h/hp2627a-rev +/usr/share/ncurses4/terminfo/h/hp2627c +/usr/share/ncurses4/terminfo/h/hp262x +/usr/share/ncurses4/terminfo/h/hp2640a +/usr/share/ncurses4/terminfo/h/hp2640b +/usr/share/ncurses4/terminfo/h/hp2641a +/usr/share/ncurses4/terminfo/h/hp2644a +/usr/share/ncurses4/terminfo/h/hp2645 +/usr/share/ncurses4/terminfo/h/hp2645a +/usr/share/ncurses4/terminfo/h/hp2647a +/usr/share/ncurses4/terminfo/h/hp2648 +/usr/share/ncurses4/terminfo/h/hp2648a +/usr/share/ncurses4/terminfo/h/hp300h +/usr/share/ncurses4/terminfo/h/hp45 +/usr/share/ncurses4/terminfo/h/hp700 +/usr/share/ncurses4/terminfo/h/hp700-wy +/usr/share/ncurses4/terminfo/h/hp70092 +/usr/share/ncurses4/terminfo/h/hp70092A +/usr/share/ncurses4/terminfo/h/hp70092a +/usr/share/ncurses4/terminfo/h/hp9837 +/usr/share/ncurses4/terminfo/h/hp9845 +/usr/share/ncurses4/terminfo/h/hp98550 +/usr/share/ncurses4/terminfo/h/hp98550a +/usr/share/ncurses4/terminfo/h/hp98720 +/usr/share/ncurses4/terminfo/h/hp98721 +/usr/share/ncurses4/terminfo/h/hpansi +/usr/share/ncurses4/terminfo/h/hpex +/usr/share/ncurses4/terminfo/h/hpex2 +/usr/share/ncurses4/terminfo/h/hpgeneric +/usr/share/ncurses4/terminfo/h/hpsub +/usr/share/ncurses4/terminfo/h/hpterm +/usr/share/ncurses4/terminfo/h/htx11 +/usr/share/ncurses4/terminfo/h/hz1000 +/usr/share/ncurses4/terminfo/h/hz1420 +/usr/share/ncurses4/terminfo/h/hz1500 +/usr/share/ncurses4/terminfo/h/hz1510 +/usr/share/ncurses4/terminfo/h/hz1520 +/usr/share/ncurses4/terminfo/h/hz1520-noesc +/usr/share/ncurses4/terminfo/h/hz1552 +/usr/share/ncurses4/terminfo/h/hz1552-rv +/usr/share/ncurses4/terminfo/h/hz2000 +/usr/share/ncurses4/terminfo/i +/usr/share/ncurses4/terminfo/i/i100 +/usr/share/ncurses4/terminfo/i/i3101 +/usr/share/ncurses4/terminfo/i/i3151 +/usr/share/ncurses4/terminfo/i/i3164 +/usr/share/ncurses4/terminfo/i/i400 +/usr/share/ncurses4/terminfo/i/ibcs2 +/usr/share/ncurses4/terminfo/i/ibm-apl +/usr/share/ncurses4/terminfo/i/ibm-pc +/usr/share/ncurses4/terminfo/i/ibm-system1 +/usr/share/ncurses4/terminfo/i/ibm3101 +/usr/share/ncurses4/terminfo/i/ibm3151 +/usr/share/ncurses4/terminfo/i/ibm3161 +/usr/share/ncurses4/terminfo/i/ibm3163 +/usr/share/ncurses4/terminfo/i/ibm3164 +/usr/share/ncurses4/terminfo/i/ibm327x +/usr/share/ncurses4/terminfo/i/ibm5051 +/usr/share/ncurses4/terminfo/i/ibm5081 +/usr/share/ncurses4/terminfo/i/ibm5081-c +/usr/share/ncurses4/terminfo/i/ibm5151 +/usr/share/ncurses4/terminfo/i/ibm5154 +/usr/share/ncurses4/terminfo/i/ibm5154-c +/usr/share/ncurses4/terminfo/i/ibm6153 +/usr/share/ncurses4/terminfo/i/ibm6154 +/usr/share/ncurses4/terminfo/i/ibm6154-c +/usr/share/ncurses4/terminfo/i/ibm6155 +/usr/share/ncurses4/terminfo/i/ibm8512 +/usr/share/ncurses4/terminfo/i/ibm8513 +/usr/share/ncurses4/terminfo/i/ibm8514 +/usr/share/ncurses4/terminfo/i/ibm8514-c +/usr/share/ncurses4/terminfo/i/ibmaed +/usr/share/ncurses4/terminfo/i/ibmapa16 +/usr/share/ncurses4/terminfo/i/ibmapa8 +/usr/share/ncurses4/terminfo/i/ibmapa8c +/usr/share/ncurses4/terminfo/i/ibmapa8c-c +/usr/share/ncurses4/terminfo/i/ibmega +/usr/share/ncurses4/terminfo/i/ibmega-c +/usr/share/ncurses4/terminfo/i/ibmmono +/usr/share/ncurses4/terminfo/i/ibmmpel +/usr/share/ncurses4/terminfo/i/ibmmpel-c +/usr/share/ncurses4/terminfo/i/ibmpc +/usr/share/ncurses4/terminfo/i/ibmpc3 +/usr/share/ncurses4/terminfo/i/ibmpc3r +/usr/share/ncurses4/terminfo/i/ibmpc3r-mono +/usr/share/ncurses4/terminfo/i/ibmpcx +/usr/share/ncurses4/terminfo/i/ibmvga +/usr/share/ncurses4/terminfo/i/ibmvga-c +/usr/share/ncurses4/terminfo/i/ibmx +/usr/share/ncurses4/terminfo/i/ifmr +/usr/share/ncurses4/terminfo/i/ims-ansi +/usr/share/ncurses4/terminfo/i/ims950 +/usr/share/ncurses4/terminfo/i/ims950-b +/usr/share/ncurses4/terminfo/i/ims950-rv +/usr/share/ncurses4/terminfo/i/infoton +/usr/share/ncurses4/terminfo/i/intertec +/usr/share/ncurses4/terminfo/i/intertube +/usr/share/ncurses4/terminfo/i/intertube2 +/usr/share/ncurses4/terminfo/i/intext +/usr/share/ncurses4/terminfo/i/intext2 +/usr/share/ncurses4/terminfo/i/intextii +/usr/share/ncurses4/terminfo/i/ips +/usr/share/ncurses4/terminfo/i/ipsi +/usr/share/ncurses4/terminfo/i/iq120 +/usr/share/ncurses4/terminfo/i/iq140 +/usr/share/ncurses4/terminfo/i/iris-ansi +/usr/share/ncurses4/terminfo/i/iris-ansi-ap +/usr/share/ncurses4/terminfo/i/iris-color +/usr/share/ncurses4/terminfo/i/iris40 +/usr/share/ncurses4/terminfo/j +/usr/share/ncurses4/terminfo/j/jaixterm-m +/usr/share/ncurses4/terminfo/j/jerq +/usr/share/ncurses4/terminfo/k +/usr/share/ncurses4/terminfo/k/k45 +/usr/share/ncurses4/terminfo/k/kaypro +/usr/share/ncurses4/terminfo/k/kaypro2 +/usr/share/ncurses4/terminfo/k/kermit +/usr/share/ncurses4/terminfo/k/kermit-am +/usr/share/ncurses4/terminfo/k/klone+acs +/usr/share/ncurses4/terminfo/k/klone+color +/usr/share/ncurses4/terminfo/k/klone+koi8acs +/usr/share/ncurses4/terminfo/k/klone+sgr +/usr/share/ncurses4/terminfo/k/klone+sgr-dumb +/usr/share/ncurses4/terminfo/k/kt7 +/usr/share/ncurses4/terminfo/k/kt7ix +/usr/share/ncurses4/terminfo/k/kterm +/usr/share/ncurses4/terminfo/k/ktm +/usr/share/ncurses4/terminfo/l +/usr/share/ncurses4/terminfo/l/la120 +/usr/share/ncurses4/terminfo/l/layer +/usr/share/ncurses4/terminfo/l/linux +/usr/share/ncurses4/terminfo/l/linux-c +/usr/share/ncurses4/terminfo/l/linux-c-nc +/usr/share/ncurses4/terminfo/l/linux-koi8 +/usr/share/ncurses4/terminfo/l/linux-koi8r +/usr/share/ncurses4/terminfo/l/linux-m +/usr/share/ncurses4/terminfo/l/linux-nic +/usr/share/ncurses4/terminfo/l/lisa +/usr/share/ncurses4/terminfo/l/lisaterm +/usr/share/ncurses4/terminfo/l/lisaterm-w +/usr/share/ncurses4/terminfo/l/liswb +/usr/share/ncurses4/terminfo/l/ln03 +/usr/share/ncurses4/terminfo/l/ln03-w +/usr/share/ncurses4/terminfo/l/lpr +/usr/share/ncurses4/terminfo/l/luna +/usr/share/ncurses4/terminfo/l/luna68k +/usr/share/ncurses4/terminfo/m +/usr/share/ncurses4/terminfo/m/m2-nam +/usr/share/ncurses4/terminfo/m/mac +/usr/share/ncurses4/terminfo/m/mac-w +/usr/share/ncurses4/terminfo/m/macintosh +/usr/share/ncurses4/terminfo/m/macterminal-w +/usr/share/ncurses4/terminfo/m/mai +/usr/share/ncurses4/terminfo/m/masscomp +/usr/share/ncurses4/terminfo/m/masscomp1 +/usr/share/ncurses4/terminfo/m/masscomp2 +/usr/share/ncurses4/terminfo/m/mdl110 +/usr/share/ncurses4/terminfo/m/megatek +/usr/share/ncurses4/terminfo/m/memhp +/usr/share/ncurses4/terminfo/m/mgr +/usr/share/ncurses4/terminfo/m/mgr-linux +/usr/share/ncurses4/terminfo/m/mgr-sun +/usr/share/ncurses4/terminfo/m/microb +/usr/share/ncurses4/terminfo/m/microbee +/usr/share/ncurses4/terminfo/m/microterm +/usr/share/ncurses4/terminfo/m/microterm5 +/usr/share/ncurses4/terminfo/m/mime +/usr/share/ncurses4/terminfo/m/mime-3ax +/usr/share/ncurses4/terminfo/m/mime-fb +/usr/share/ncurses4/terminfo/m/mime-hb +/usr/share/ncurses4/terminfo/m/mime1 +/usr/share/ncurses4/terminfo/m/mime2 +/usr/share/ncurses4/terminfo/m/mime2a +/usr/share/ncurses4/terminfo/m/mime2a-s +/usr/share/ncurses4/terminfo/m/mime2a-v +/usr/share/ncurses4/terminfo/m/mime314 +/usr/share/ncurses4/terminfo/m/mime340 +/usr/share/ncurses4/terminfo/m/mime3a +/usr/share/ncurses4/terminfo/m/mime3ax +/usr/share/ncurses4/terminfo/m/mimei +/usr/share/ncurses4/terminfo/m/mimeii +/usr/share/ncurses4/terminfo/m/minitel +/usr/share/ncurses4/terminfo/m/minitel-2 +/usr/share/ncurses4/terminfo/m/minitel-2-nam +/usr/share/ncurses4/terminfo/m/minix +/usr/share/ncurses4/terminfo/m/minix-old +/usr/share/ncurses4/terminfo/m/minix-old-am +/usr/share/ncurses4/terminfo/m/mm314 +/usr/share/ncurses4/terminfo/m/mm340 +/usr/share/ncurses4/terminfo/m/mod +/usr/share/ncurses4/terminfo/m/mod24 +/usr/share/ncurses4/terminfo/m/modgraph +/usr/share/ncurses4/terminfo/m/modgraph2 +/usr/share/ncurses4/terminfo/m/modgraph48 +/usr/share/ncurses4/terminfo/m/mono-emx +/usr/share/ncurses4/terminfo/m/msk227 +/usr/share/ncurses4/terminfo/m/msk22714 +/usr/share/ncurses4/terminfo/m/msk227am +/usr/share/ncurses4/terminfo/m/mskermit227 +/usr/share/ncurses4/terminfo/m/mskermit22714 +/usr/share/ncurses4/terminfo/m/mskermit227am +/usr/share/ncurses4/terminfo/m/mt-70 +/usr/share/ncurses4/terminfo/m/mt4520-rv +/usr/share/ncurses4/terminfo/m/mt70 +/usr/share/ncurses4/terminfo/n +/usr/share/ncurses4/terminfo/n/nansi.sys +/usr/share/ncurses4/terminfo/n/nansi.sysk +/usr/share/ncurses4/terminfo/n/nansisys +/usr/share/ncurses4/terminfo/n/nansisysk +/usr/share/ncurses4/terminfo/n/ncr7900 +/usr/share/ncurses4/terminfo/n/ncr7900i +/usr/share/ncurses4/terminfo/n/ncr7900iv +/usr/share/ncurses4/terminfo/n/ncr7901 +/usr/share/ncurses4/terminfo/n/nec +/usr/share/ncurses4/terminfo/n/nec5520 +/usr/share/ncurses4/terminfo/n/newhp +/usr/share/ncurses4/terminfo/n/newhpkeyboard +/usr/share/ncurses4/terminfo/n/news +/usr/share/ncurses4/terminfo/n/news-29 +/usr/share/ncurses4/terminfo/n/news-29-euc +/usr/share/ncurses4/terminfo/n/news-29-sjis +/usr/share/ncurses4/terminfo/n/news-33 +/usr/share/ncurses4/terminfo/n/news-33-euc +/usr/share/ncurses4/terminfo/n/news-33-sjis +/usr/share/ncurses4/terminfo/n/news-42 +/usr/share/ncurses4/terminfo/n/news-42-euc +/usr/share/ncurses4/terminfo/n/news-42-sjis +/usr/share/ncurses4/terminfo/n/news-a +/usr/share/ncurses4/terminfo/n/news-o +/usr/share/ncurses4/terminfo/n/news-old-unk +/usr/share/ncurses4/terminfo/n/news-unk +/usr/share/ncurses4/terminfo/n/news28 +/usr/share/ncurses4/terminfo/n/news28-a +/usr/share/ncurses4/terminfo/n/news29 +/usr/share/ncurses4/terminfo/n/news31 +/usr/share/ncurses4/terminfo/n/news31-a +/usr/share/ncurses4/terminfo/n/news31-o +/usr/share/ncurses4/terminfo/n/news33 +/usr/share/ncurses4/terminfo/n/news40 +/usr/share/ncurses4/terminfo/n/news40-a +/usr/share/ncurses4/terminfo/n/news40-o +/usr/share/ncurses4/terminfo/n/news42 +/usr/share/ncurses4/terminfo/n/newscbm +/usr/share/ncurses4/terminfo/n/newscbm-a +/usr/share/ncurses4/terminfo/n/newscbm-o +/usr/share/ncurses4/terminfo/n/newscbm33 +/usr/share/ncurses4/terminfo/n/next +/usr/share/ncurses4/terminfo/n/nextshell +/usr/share/ncurses4/terminfo/n/northstar +/usr/share/ncurses4/terminfo/n/nwe501 +/usr/share/ncurses4/terminfo/n/nwe501-a +/usr/share/ncurses4/terminfo/n/nwe501-o +/usr/share/ncurses4/terminfo/n/nwp-511 +/usr/share/ncurses4/terminfo/n/nwp-517 +/usr/share/ncurses4/terminfo/n/nwp-517-w +/usr/share/ncurses4/terminfo/n/nwp251-a +/usr/share/ncurses4/terminfo/n/nwp251-o +/usr/share/ncurses4/terminfo/n/nwp511 +/usr/share/ncurses4/terminfo/n/nwp512 +/usr/share/ncurses4/terminfo/n/nwp512-a +/usr/share/ncurses4/terminfo/n/nwp512-o +/usr/share/ncurses4/terminfo/n/nwp513 +/usr/share/ncurses4/terminfo/n/nwp513-a +/usr/share/ncurses4/terminfo/n/nwp513-o +/usr/share/ncurses4/terminfo/n/nwp514 +/usr/share/ncurses4/terminfo/n/nwp514-a +/usr/share/ncurses4/terminfo/n/nwp514-o +/usr/share/ncurses4/terminfo/n/nwp517 +/usr/share/ncurses4/terminfo/n/nwp517-w +/usr/share/ncurses4/terminfo/n/nwp518 +/usr/share/ncurses4/terminfo/n/nwp518-a +/usr/share/ncurses4/terminfo/n/nwp518-o +/usr/share/ncurses4/terminfo/o +/usr/share/ncurses4/terminfo/o/o31 +/usr/share/ncurses4/terminfo/o/o4112-nd +/usr/share/ncurses4/terminfo/o/o85h +/usr/share/ncurses4/terminfo/o/oabm85h +/usr/share/ncurses4/terminfo/o/oblit +/usr/share/ncurses4/terminfo/o/oc100 +/usr/share/ncurses4/terminfo/o/oconcept +/usr/share/ncurses4/terminfo/o/ojerq +/usr/share/ncurses4/terminfo/o/oldibmpc3 +/usr/share/ncurses4/terminfo/o/oldpc3 +/usr/share/ncurses4/terminfo/o/oldsun +/usr/share/ncurses4/terminfo/o/omron +/usr/share/ncurses4/terminfo/o/opus3n1+ +/usr/share/ncurses4/terminfo/o/origibmpc3 +/usr/share/ncurses4/terminfo/o/origpc3 +/usr/share/ncurses4/terminfo/o/os9LII +/usr/share/ncurses4/terminfo/o/osborne +/usr/share/ncurses4/terminfo/o/osborne-w +/usr/share/ncurses4/terminfo/o/osborne1 +/usr/share/ncurses4/terminfo/o/osborne1-w +/usr/share/ncurses4/terminfo/o/osexec +/usr/share/ncurses4/terminfo/o/otek4112 +/usr/share/ncurses4/terminfo/o/otek4113 +/usr/share/ncurses4/terminfo/o/otek4114 +/usr/share/ncurses4/terminfo/o/otek4115 +/usr/share/ncurses4/terminfo/o/owl +/usr/share/ncurses4/terminfo/p +/usr/share/ncurses4/terminfo/p/p12 +/usr/share/ncurses4/terminfo/p/p12-m +/usr/share/ncurses4/terminfo/p/p12-m-w +/usr/share/ncurses4/terminfo/p/p12-w +/usr/share/ncurses4/terminfo/p/p14 +/usr/share/ncurses4/terminfo/p/p14-m +/usr/share/ncurses4/terminfo/p/p14-m-w +/usr/share/ncurses4/terminfo/p/p14-w +/usr/share/ncurses4/terminfo/p/p19 +/usr/share/ncurses4/terminfo/p/p4 +/usr/share/ncurses4/terminfo/p/p5 +/usr/share/ncurses4/terminfo/p/p7 +/usr/share/ncurses4/terminfo/p/p8 +/usr/share/ncurses4/terminfo/p/p8-w +/usr/share/ncurses4/terminfo/p/p8gl +/usr/share/ncurses4/terminfo/p/p9 +/usr/share/ncurses4/terminfo/p/p9-8 +/usr/share/ncurses4/terminfo/p/p9-8-w +/usr/share/ncurses4/terminfo/p/p9-w +/usr/share/ncurses4/terminfo/p/pc-coherent +/usr/share/ncurses4/terminfo/p/pc-minix +/usr/share/ncurses4/terminfo/p/pc-venix +/usr/share/ncurses4/terminfo/p/pc3 +/usr/share/ncurses4/terminfo/p/pc3-bold +/usr/share/ncurses4/terminfo/p/pc3r +/usr/share/ncurses4/terminfo/p/pc3r-m +/usr/share/ncurses4/terminfo/p/pc6300plus +/usr/share/ncurses4/terminfo/p/pc7300 +/usr/share/ncurses4/terminfo/p/pcansi +/usr/share/ncurses4/terminfo/p/pcansi-25 +/usr/share/ncurses4/terminfo/p/pcansi-25-m +/usr/share/ncurses4/terminfo/p/pcansi-33 +/usr/share/ncurses4/terminfo/p/pcansi-33-m +/usr/share/ncurses4/terminfo/p/pcansi-43 +/usr/share/ncurses4/terminfo/p/pcansi-43-m +/usr/share/ncurses4/terminfo/p/pcansi-m +/usr/share/ncurses4/terminfo/p/pcansi-mono +/usr/share/ncurses4/terminfo/p/pcansi25 +/usr/share/ncurses4/terminfo/p/pcansi25m +/usr/share/ncurses4/terminfo/p/pcansi33 +/usr/share/ncurses4/terminfo/p/pcansi33m +/usr/share/ncurses4/terminfo/p/pcansi43 +/usr/share/ncurses4/terminfo/p/pccons +/usr/share/ncurses4/terminfo/p/pcconsole +/usr/share/ncurses4/terminfo/p/pcix +/usr/share/ncurses4/terminfo/p/pckermit +/usr/share/ncurses4/terminfo/p/pckermit12 +/usr/share/ncurses4/terminfo/p/pckermit120 +/usr/share/ncurses4/terminfo/p/pcplot +/usr/share/ncurses4/terminfo/p/pcvt25 +/usr/share/ncurses4/terminfo/p/pcvt25w +/usr/share/ncurses4/terminfo/p/pcvt28 +/usr/share/ncurses4/terminfo/p/pcvt28w +/usr/share/ncurses4/terminfo/p/pcvt35 +/usr/share/ncurses4/terminfo/p/pcvt35w +/usr/share/ncurses4/terminfo/p/pcvt40 +/usr/share/ncurses4/terminfo/p/pcvt40w +/usr/share/ncurses4/terminfo/p/pcvt43 +/usr/share/ncurses4/terminfo/p/pcvt43w +/usr/share/ncurses4/terminfo/p/pcvt50 +/usr/share/ncurses4/terminfo/p/pcvt50w +/usr/share/ncurses4/terminfo/p/pcvtXX +/usr/share/ncurses4/terminfo/p/pcz19 +/usr/share/ncurses4/terminfo/p/pe1100 +/usr/share/ncurses4/terminfo/p/pe1200 +/usr/share/ncurses4/terminfo/p/pe1251 +/usr/share/ncurses4/terminfo/p/pe550 +/usr/share/ncurses4/terminfo/p/pe6100 +/usr/share/ncurses4/terminfo/p/pe6300 +/usr/share/ncurses4/terminfo/p/pe6312 +/usr/share/ncurses4/terminfo/p/pe7000c +/usr/share/ncurses4/terminfo/p/pe7000m +/usr/share/ncurses4/terminfo/p/pilot +/usr/share/ncurses4/terminfo/p/printer +/usr/share/ncurses4/terminfo/p/prism12 +/usr/share/ncurses4/terminfo/p/prism12-m +/usr/share/ncurses4/terminfo/p/prism12-m-w +/usr/share/ncurses4/terminfo/p/prism12-w +/usr/share/ncurses4/terminfo/p/prism14 +/usr/share/ncurses4/terminfo/p/prism14-m +/usr/share/ncurses4/terminfo/p/prism14-m-w +/usr/share/ncurses4/terminfo/p/prism14-w +/usr/share/ncurses4/terminfo/p/prism2 +/usr/share/ncurses4/terminfo/p/prism4 +/usr/share/ncurses4/terminfo/p/prism5 +/usr/share/ncurses4/terminfo/p/prism7 +/usr/share/ncurses4/terminfo/p/prism8 +/usr/share/ncurses4/terminfo/p/prism8-w +/usr/share/ncurses4/terminfo/p/prism8gl +/usr/share/ncurses4/terminfo/p/prism9 +/usr/share/ncurses4/terminfo/p/prism9-8 +/usr/share/ncurses4/terminfo/p/prism9-8-w +/usr/share/ncurses4/terminfo/p/prism9-w +/usr/share/ncurses4/terminfo/p/pro350 +/usr/share/ncurses4/terminfo/p/ps300 +/usr/share/ncurses4/terminfo/p/psterm +/usr/share/ncurses4/terminfo/p/psterm-80x24 +/usr/share/ncurses4/terminfo/p/psterm-90x28 +/usr/share/ncurses4/terminfo/p/psterm-96x48 +/usr/share/ncurses4/terminfo/p/psterm-basic +/usr/share/ncurses4/terminfo/p/psterm-fast +/usr/share/ncurses4/terminfo/p/psx_ansi +/usr/share/ncurses4/terminfo/p/pt100 +/usr/share/ncurses4/terminfo/p/pt100w +/usr/share/ncurses4/terminfo/p/pt200 +/usr/share/ncurses4/terminfo/p/pt200w +/usr/share/ncurses4/terminfo/p/pt210 +/usr/share/ncurses4/terminfo/p/pt250 +/usr/share/ncurses4/terminfo/p/pt250w +/usr/share/ncurses4/terminfo/p/pt505 +/usr/share/ncurses4/terminfo/p/pt505-22 +/usr/share/ncurses4/terminfo/p/pt505-24 +/usr/share/ncurses4/terminfo/p/pty +/usr/share/ncurses4/terminfo/q +/usr/share/ncurses4/terminfo/q/qdcons +/usr/share/ncurses4/terminfo/q/qdss +/usr/share/ncurses4/terminfo/q/qnx +/usr/share/ncurses4/terminfo/q/qnx4 +/usr/share/ncurses4/terminfo/q/qume +/usr/share/ncurses4/terminfo/q/qume5 +/usr/share/ncurses4/terminfo/q/qvt101 +/usr/share/ncurses4/terminfo/q/qvt101+ +/usr/share/ncurses4/terminfo/q/qvt101p +/usr/share/ncurses4/terminfo/q/qvt102 +/usr/share/ncurses4/terminfo/q/qvt103 +/usr/share/ncurses4/terminfo/q/qvt103-w +/usr/share/ncurses4/terminfo/q/qvt108 +/usr/share/ncurses4/terminfo/q/qvt119 +/usr/share/ncurses4/terminfo/q/qvt119+ +/usr/share/ncurses4/terminfo/q/qvt119+-25 +/usr/share/ncurses4/terminfo/q/qvt119+-25-w +/usr/share/ncurses4/terminfo/q/qvt119+-w +/usr/share/ncurses4/terminfo/q/qvt119-25-w +/usr/share/ncurses4/terminfo/q/qvt119-w +/usr/share/ncurses4/terminfo/q/qvt119p +/usr/share/ncurses4/terminfo/q/qvt119p-25 +/usr/share/ncurses4/terminfo/q/qvt119p-25-w +/usr/share/ncurses4/terminfo/q/qvt119p-w +/usr/share/ncurses4/terminfo/q/qvt203 +/usr/share/ncurses4/terminfo/q/qvt203+ +/usr/share/ncurses4/terminfo/q/qvt203-25 +/usr/share/ncurses4/terminfo/q/qvt203-25-w +/usr/share/ncurses4/terminfo/q/qvt203-w +/usr/share/ncurses4/terminfo/q/qvt203-w-am +/usr/share/ncurses4/terminfo/r +/usr/share/ncurses4/terminfo/r/rbcomm +/usr/share/ncurses4/terminfo/r/rbcomm-nam +/usr/share/ncurses4/terminfo/r/rbcomm-w +/usr/share/ncurses4/terminfo/r/rca +/usr/share/ncurses4/terminfo/r/rebus3180 +/usr/share/ncurses4/terminfo/r/regent +/usr/share/ncurses4/terminfo/r/regent100 +/usr/share/ncurses4/terminfo/r/regent20 +/usr/share/ncurses4/terminfo/r/regent200 +/usr/share/ncurses4/terminfo/r/regent25 +/usr/share/ncurses4/terminfo/r/regent40 +/usr/share/ncurses4/terminfo/r/regent40+ +/usr/share/ncurses4/terminfo/r/regent60 +/usr/share/ncurses4/terminfo/r/rt6221 +/usr/share/ncurses4/terminfo/r/rt6221-w +/usr/share/ncurses4/terminfo/r/rtpc +/usr/share/ncurses4/terminfo/r/rxvt +/usr/share/ncurses4/terminfo/r/rxvt-basic +/usr/share/ncurses4/terminfo/s +/usr/share/ncurses4/terminfo/s/s +/usr/share/ncurses4/terminfo/s/s4 +/usr/share/ncurses4/terminfo/s/sb1 +/usr/share/ncurses4/terminfo/s/sb2 +/usr/share/ncurses4/terminfo/s/sb3 +/usr/share/ncurses4/terminfo/s/sbi +/usr/share/ncurses4/terminfo/s/sbobcat +/usr/share/ncurses4/terminfo/s/sc410 +/usr/share/ncurses4/terminfo/s/sc415 +/usr/share/ncurses4/terminfo/s/scanset +/usr/share/ncurses4/terminfo/s/scoansi +/usr/share/ncurses4/terminfo/s/screen +/usr/share/ncurses4/terminfo/s/screen-w +/usr/share/ncurses4/terminfo/s/screen2 +/usr/share/ncurses4/terminfo/s/screen3 +/usr/share/ncurses4/terminfo/s/screwpoint +/usr/share/ncurses4/terminfo/s/scrhp +/usr/share/ncurses4/terminfo/s/simterm +/usr/share/ncurses4/terminfo/s/soroc +/usr/share/ncurses4/terminfo/s/soroc120 +/usr/share/ncurses4/terminfo/s/soroc140 +/usr/share/ncurses4/terminfo/s/spinwriter +/usr/share/ncurses4/terminfo/s/st52 +/usr/share/ncurses4/terminfo/s/sun +/usr/share/ncurses4/terminfo/s/sun-1 +/usr/share/ncurses4/terminfo/s/sun-12 +/usr/share/ncurses4/terminfo/s/sun-17 +/usr/share/ncurses4/terminfo/s/sun-24 +/usr/share/ncurses4/terminfo/s/sun-34 +/usr/share/ncurses4/terminfo/s/sun-48 +/usr/share/ncurses4/terminfo/s/sun-c +/usr/share/ncurses4/terminfo/s/sun-cmd +/usr/share/ncurses4/terminfo/s/sun-e +/usr/share/ncurses4/terminfo/s/sun-e-s +/usr/share/ncurses4/terminfo/s/sun-il +/usr/share/ncurses4/terminfo/s/sun-nic +/usr/share/ncurses4/terminfo/s/sun-s +/usr/share/ncurses4/terminfo/s/sun-s-e +/usr/share/ncurses4/terminfo/s/sun-ss5 +/usr/share/ncurses4/terminfo/s/sun1 +/usr/share/ncurses4/terminfo/s/sun2 +/usr/share/ncurses4/terminfo/s/sune +/usr/share/ncurses4/terminfo/s/superbee +/usr/share/ncurses4/terminfo/s/superbee-xsb +/usr/share/ncurses4/terminfo/s/superbeeic +/usr/share/ncurses4/terminfo/s/superbrain +/usr/share/ncurses4/terminfo/s/sv80 +/usr/share/ncurses4/terminfo/s/swtp +/usr/share/ncurses4/terminfo/s/synertek +/usr/share/ncurses4/terminfo/s/synertek380 +/usr/share/ncurses4/terminfo/s/system1 +/usr/share/ncurses4/terminfo/t +/usr/share/ncurses4/terminfo/t/t10 +/usr/share/ncurses4/terminfo/t/t1061 +/usr/share/ncurses4/terminfo/t/t1061f +/usr/share/ncurses4/terminfo/t/t16 +/usr/share/ncurses4/terminfo/t/t3700 +/usr/share/ncurses4/terminfo/t/t3800 +/usr/share/ncurses4/terminfo/t/t653x +/usr/share/ncurses4/terminfo/t/tab +/usr/share/ncurses4/terminfo/t/tab132 +/usr/share/ncurses4/terminfo/t/tab132-15 +/usr/share/ncurses4/terminfo/t/tab132-rv +/usr/share/ncurses4/terminfo/t/tab132-w +/usr/share/ncurses4/terminfo/t/tab132-w-rv +/usr/share/ncurses4/terminfo/t/tandem6510 +/usr/share/ncurses4/terminfo/t/tandem653 +/usr/share/ncurses4/terminfo/t/tek +/usr/share/ncurses4/terminfo/t/tek4012 +/usr/share/ncurses4/terminfo/t/tek4013 +/usr/share/ncurses4/terminfo/t/tek4014 +/usr/share/ncurses4/terminfo/t/tek4014-sm +/usr/share/ncurses4/terminfo/t/tek4015 +/usr/share/ncurses4/terminfo/t/tek4015-sm +/usr/share/ncurses4/terminfo/t/tek4023 +/usr/share/ncurses4/terminfo/t/tek4024 +/usr/share/ncurses4/terminfo/t/tek4025 +/usr/share/ncurses4/terminfo/t/tek4025-17 +/usr/share/ncurses4/terminfo/t/tek4025-17-ws +/usr/share/ncurses4/terminfo/t/tek4025-cr +/usr/share/ncurses4/terminfo/t/tek4025-ex +/usr/share/ncurses4/terminfo/t/tek4025a +/usr/share/ncurses4/terminfo/t/tek4025ex +/usr/share/ncurses4/terminfo/t/tek4027 +/usr/share/ncurses4/terminfo/t/tek4027-ex +/usr/share/ncurses4/terminfo/t/tek4105 +/usr/share/ncurses4/terminfo/t/tek4105-30 +/usr/share/ncurses4/terminfo/t/tek4105a +/usr/share/ncurses4/terminfo/t/tek4106brl +/usr/share/ncurses4/terminfo/t/tek4107 +/usr/share/ncurses4/terminfo/t/tek4107brl +/usr/share/ncurses4/terminfo/t/tek4109 +/usr/share/ncurses4/terminfo/t/tek4109brl +/usr/share/ncurses4/terminfo/t/tek4112 +/usr/share/ncurses4/terminfo/t/tek4112-5 +/usr/share/ncurses4/terminfo/t/tek4112-nd +/usr/share/ncurses4/terminfo/t/tek4113 +/usr/share/ncurses4/terminfo/t/tek4113-34 +/usr/share/ncurses4/terminfo/t/tek4113-nd +/usr/share/ncurses4/terminfo/t/tek4114 +/usr/share/ncurses4/terminfo/t/tek4115 +/usr/share/ncurses4/terminfo/t/tek4125 +/usr/share/ncurses4/terminfo/t/tek4205 +/usr/share/ncurses4/terminfo/t/tek4207 +/usr/share/ncurses4/terminfo/t/tek4207-s +/usr/share/ncurses4/terminfo/t/tek4404 +/usr/share/ncurses4/terminfo/t/teleray +/usr/share/ncurses4/terminfo/t/teletec +/usr/share/ncurses4/terminfo/t/terminet +/usr/share/ncurses4/terminfo/t/terminet1200 +/usr/share/ncurses4/terminfo/t/terminet300 +/usr/share/ncurses4/terminfo/t/tgtelnet +/usr/share/ncurses4/terminfo/t/ti700 +/usr/share/ncurses4/terminfo/t/ti733 +/usr/share/ncurses4/terminfo/t/ti735 +/usr/share/ncurses4/terminfo/t/ti745 +/usr/share/ncurses4/terminfo/t/ti800 +/usr/share/ncurses4/terminfo/t/ti916 +/usr/share/ncurses4/terminfo/t/ti916-132 +/usr/share/ncurses4/terminfo/t/ti916-220-7 +/usr/share/ncurses4/terminfo/t/ti916-220-8 +/usr/share/ncurses4/terminfo/t/ti916-8 +/usr/share/ncurses4/terminfo/t/ti916-8-132 +/usr/share/ncurses4/terminfo/t/ti924 +/usr/share/ncurses4/terminfo/t/ti924-8 +/usr/share/ncurses4/terminfo/t/ti924-8w +/usr/share/ncurses4/terminfo/t/ti924w +/usr/share/ncurses4/terminfo/t/ti926 +/usr/share/ncurses4/terminfo/t/ti926-8 +/usr/share/ncurses4/terminfo/t/ti928 +/usr/share/ncurses4/terminfo/t/ti928-8 +/usr/share/ncurses4/terminfo/t/ti931 +/usr/share/ncurses4/terminfo/t/ti_ansi +/usr/share/ncurses4/terminfo/t/tn1200 +/usr/share/ncurses4/terminfo/t/tn300 +/usr/share/ncurses4/terminfo/t/trs16 +/usr/share/ncurses4/terminfo/t/trs2 +/usr/share/ncurses4/terminfo/t/trs80II +/usr/share/ncurses4/terminfo/t/trsII +/usr/share/ncurses4/terminfo/t/ts-1 +/usr/share/ncurses4/terminfo/t/ts-1p +/usr/share/ncurses4/terminfo/t/ts1 +/usr/share/ncurses4/terminfo/t/ts100 +/usr/share/ncurses4/terminfo/t/ts100-ctxt +/usr/share/ncurses4/terminfo/t/ts100-sp +/usr/share/ncurses4/terminfo/t/ts1p +/usr/share/ncurses4/terminfo/t/tt505-22 +/usr/share/ncurses4/terminfo/t/tty33 +/usr/share/ncurses4/terminfo/t/tty35 +/usr/share/ncurses4/terminfo/t/tty37 +/usr/share/ncurses4/terminfo/t/tty40 +/usr/share/ncurses4/terminfo/t/tty43 +/usr/share/ncurses4/terminfo/t/tty4420 +/usr/share/ncurses4/terminfo/t/tty4424 +/usr/share/ncurses4/terminfo/t/tty4424-1 +/usr/share/ncurses4/terminfo/t/tty4424m +/usr/share/ncurses4/terminfo/t/tty4426 +/usr/share/ncurses4/terminfo/t/tty5410 +/usr/share/ncurses4/terminfo/t/tty5410-w +/usr/share/ncurses4/terminfo/t/tty5410v1 +/usr/share/ncurses4/terminfo/t/tty5410v1-w +/usr/share/ncurses4/terminfo/t/tty5420 +/usr/share/ncurses4/terminfo/t/tty5420+nl +/usr/share/ncurses4/terminfo/t/tty5420-nl +/usr/share/ncurses4/terminfo/t/tty5420-rv +/usr/share/ncurses4/terminfo/t/tty5420-rv-nl +/usr/share/ncurses4/terminfo/t/tty5420-w +/usr/share/ncurses4/terminfo/t/tty5420-w-nl +/usr/share/ncurses4/terminfo/t/tty5420-w-rv +/usr/share/ncurses4/terminfo/t/tty5420-w-rv-n +/usr/share/ncurses4/terminfo/t/tty5425 +/usr/share/ncurses4/terminfo/t/tty5425-nl +/usr/share/ncurses4/terminfo/t/tty5425-w +/usr/share/ncurses4/terminfo/t/tty5620 +/usr/share/ncurses4/terminfo/t/tty5620-1 +/usr/share/ncurses4/terminfo/t/tty5620-24 +/usr/share/ncurses4/terminfo/t/tty5620-34 +/usr/share/ncurses4/terminfo/t/tty5620-s +/usr/share/ncurses4/terminfo/t/ttydmd +/usr/share/ncurses4/terminfo/t/tvi-2p +/usr/share/ncurses4/terminfo/t/tvi803 +/usr/share/ncurses4/terminfo/t/tvi9065 +/usr/share/ncurses4/terminfo/t/tvi910 +/usr/share/ncurses4/terminfo/t/tvi910+ +/usr/share/ncurses4/terminfo/t/tvi912 +/usr/share/ncurses4/terminfo/t/tvi912-2p +/usr/share/ncurses4/terminfo/t/tvi912b +/usr/share/ncurses4/terminfo/t/tvi912c +/usr/share/ncurses4/terminfo/t/tvi912cc +/usr/share/ncurses4/terminfo/t/tvi914 +/usr/share/ncurses4/terminfo/t/tvi920 +/usr/share/ncurses4/terminfo/t/tvi920-2p +/usr/share/ncurses4/terminfo/t/tvi920b +/usr/share/ncurses4/terminfo/t/tvi920c +/usr/share/ncurses4/terminfo/t/tvi921 +/usr/share/ncurses4/terminfo/t/tvi924 +/usr/share/ncurses4/terminfo/t/tvi925 +/usr/share/ncurses4/terminfo/t/tvi925-hi +/usr/share/ncurses4/terminfo/t/tvi92B +/usr/share/ncurses4/terminfo/t/tvi92D +/usr/share/ncurses4/terminfo/t/tvi950 +/usr/share/ncurses4/terminfo/t/tvi950-2p +/usr/share/ncurses4/terminfo/t/tvi950-4p +/usr/share/ncurses4/terminfo/t/tvi950-rv +/usr/share/ncurses4/terminfo/t/tvi950-rv-2p +/usr/share/ncurses4/terminfo/t/tvi950-rv-4p +/usr/share/ncurses4/terminfo/t/tvi955 +/usr/share/ncurses4/terminfo/t/tvi955-hb +/usr/share/ncurses4/terminfo/t/tvi955-w +/usr/share/ncurses4/terminfo/t/tvi970 +/usr/share/ncurses4/terminfo/t/tvi970-2p +/usr/share/ncurses4/terminfo/t/tvi970-vb +/usr/share/ncurses4/terminfo/t/tvipt +/usr/share/ncurses4/terminfo/u +/usr/share/ncurses4/terminfo/u/ultima2 +/usr/share/ncurses4/terminfo/u/ultimaII +/usr/share/ncurses4/terminfo/u/uniterm +/usr/share/ncurses4/terminfo/u/uniterm49 +/usr/share/ncurses4/terminfo/u/unixpc +/usr/share/ncurses4/terminfo/u/unknown +/usr/share/ncurses4/terminfo/u/uts30 +/usr/share/ncurses4/terminfo/v +/usr/share/ncurses4/terminfo/v/v200-nam +/usr/share/ncurses4/terminfo/v/v320n +/usr/share/ncurses4/terminfo/v/v3220 +/usr/share/ncurses4/terminfo/v/v5410 +/usr/share/ncurses4/terminfo/v/vapple +/usr/share/ncurses4/terminfo/v/vc103 +/usr/share/ncurses4/terminfo/v/vc203 +/usr/share/ncurses4/terminfo/v/vc303 +/usr/share/ncurses4/terminfo/v/vc303a +/usr/share/ncurses4/terminfo/v/vc403a +/usr/share/ncurses4/terminfo/v/vc404 +/usr/share/ncurses4/terminfo/v/vc404-s +/usr/share/ncurses4/terminfo/v/vc414 +/usr/share/ncurses4/terminfo/v/vc414h +/usr/share/ncurses4/terminfo/v/vc415 +/usr/share/ncurses4/terminfo/v/venix +/usr/share/ncurses4/terminfo/v/versaterm +/usr/share/ncurses4/terminfo/v/vi200 +/usr/share/ncurses4/terminfo/v/vi200-f +/usr/share/ncurses4/terminfo/v/vi200-rv +/usr/share/ncurses4/terminfo/v/vi300 +/usr/share/ncurses4/terminfo/v/vi300-old +/usr/share/ncurses4/terminfo/v/vi50 +/usr/share/ncurses4/terminfo/v/vi500 +/usr/share/ncurses4/terminfo/v/vi50adm +/usr/share/ncurses4/terminfo/v/vi55 +/usr/share/ncurses4/terminfo/v/vi550 +/usr/share/ncurses4/terminfo/v/vi603 +/usr/share/ncurses4/terminfo/v/viewpoint +/usr/share/ncurses4/terminfo/v/viewpoint3a+ +/usr/share/ncurses4/terminfo/v/viewpoint60 +/usr/share/ncurses4/terminfo/v/viewpoint90 +/usr/share/ncurses4/terminfo/v/visa50 +/usr/share/ncurses4/terminfo/v/visual603 +/usr/share/ncurses4/terminfo/v/vitty +/usr/share/ncurses4/terminfo/v/vk100 +/usr/share/ncurses4/terminfo/v/vp3a+ +/usr/share/ncurses4/terminfo/v/vp60 +/usr/share/ncurses4/terminfo/v/vp90 +/usr/share/ncurses4/terminfo/v/vremote +/usr/share/ncurses4/terminfo/v/vs100 +/usr/share/ncurses4/terminfo/v/vs100-x10 +/usr/share/ncurses4/terminfo/v/vsc +/usr/share/ncurses4/terminfo/v/vt-61 +/usr/share/ncurses4/terminfo/v/vt100 +/usr/share/ncurses4/terminfo/v/vt100-am +/usr/share/ncurses4/terminfo/v/vt100-bm +/usr/share/ncurses4/terminfo/v/vt100-bm-o +/usr/share/ncurses4/terminfo/v/vt100-bot-s +/usr/share/ncurses4/terminfo/v/vt100-nam +/usr/share/ncurses4/terminfo/v/vt100-nam-w +/usr/share/ncurses4/terminfo/v/vt100-nav +/usr/share/ncurses4/terminfo/v/vt100-nav-w +/usr/share/ncurses4/terminfo/v/vt100-s +/usr/share/ncurses4/terminfo/v/vt100-s-bot +/usr/share/ncurses4/terminfo/v/vt100-s-top +/usr/share/ncurses4/terminfo/v/vt100-top-s +/usr/share/ncurses4/terminfo/v/vt100-vb +/usr/share/ncurses4/terminfo/v/vt100-w +/usr/share/ncurses4/terminfo/v/vt100-w-am +/usr/share/ncurses4/terminfo/v/vt100-w-nam +/usr/share/ncurses4/terminfo/v/vt100-w-nav +/usr/share/ncurses4/terminfo/v/vt100nam +/usr/share/ncurses4/terminfo/v/vt102 +/usr/share/ncurses4/terminfo/v/vt102-nsgr +/usr/share/ncurses4/terminfo/v/vt102-w +/usr/share/ncurses4/terminfo/v/vt125 +/usr/share/ncurses4/terminfo/v/vt131 +/usr/share/ncurses4/terminfo/v/vt132 +/usr/share/ncurses4/terminfo/v/vt200 +/usr/share/ncurses4/terminfo/v/vt200-js +/usr/share/ncurses4/terminfo/v/vt200-w +/usr/share/ncurses4/terminfo/v/vt220 +/usr/share/ncurses4/terminfo/v/vt220-8 +/usr/share/ncurses4/terminfo/v/vt220-js +/usr/share/ncurses4/terminfo/v/vt220-nam +/usr/share/ncurses4/terminfo/v/vt220-w +/usr/share/ncurses4/terminfo/v/vt220d +/usr/share/ncurses4/terminfo/v/vt300 +/usr/share/ncurses4/terminfo/v/vt300-nam +/usr/share/ncurses4/terminfo/v/vt300-w +/usr/share/ncurses4/terminfo/v/vt300-w-nam +/usr/share/ncurses4/terminfo/v/vt320 +/usr/share/ncurses4/terminfo/v/vt320-k3 +/usr/share/ncurses4/terminfo/v/vt320-k311 +/usr/share/ncurses4/terminfo/v/vt320-nam +/usr/share/ncurses4/terminfo/v/vt320-w +/usr/share/ncurses4/terminfo/v/vt320-w-nam +/usr/share/ncurses4/terminfo/v/vt320nam +/usr/share/ncurses4/terminfo/v/vt330 +/usr/share/ncurses4/terminfo/v/vt340 +/usr/share/ncurses4/terminfo/v/vt400 +/usr/share/ncurses4/terminfo/v/vt400-24 +/usr/share/ncurses4/terminfo/v/vt420 +/usr/share/ncurses4/terminfo/v/vt420f +/usr/share/ncurses4/terminfo/v/vt420pc +/usr/share/ncurses4/terminfo/v/vt420pcdos +/usr/share/ncurses4/terminfo/v/vt50 +/usr/share/ncurses4/terminfo/v/vt50h +/usr/share/ncurses4/terminfo/v/vt510 +/usr/share/ncurses4/terminfo/v/vt510pc +/usr/share/ncurses4/terminfo/v/vt510pcdos +/usr/share/ncurses4/terminfo/v/vt52 +/usr/share/ncurses4/terminfo/v/vt520 +/usr/share/ncurses4/terminfo/v/vt525 +/usr/share/ncurses4/terminfo/v/vt61 +/usr/share/ncurses4/terminfo/v/vt61.5 +/usr/share/ncurses4/terminfo/w +/usr/share/ncurses4/terminfo/w/wren +/usr/share/ncurses4/terminfo/w/wrenw +/usr/share/ncurses4/terminfo/w/wsiris +/usr/share/ncurses4/terminfo/w/wy-75ap +/usr/share/ncurses4/terminfo/w/wy100 +/usr/share/ncurses4/terminfo/w/wy100q +/usr/share/ncurses4/terminfo/w/wy120 +/usr/share/ncurses4/terminfo/w/wy120-25 +/usr/share/ncurses4/terminfo/w/wy120-25-w +/usr/share/ncurses4/terminfo/w/wy120-vb +/usr/share/ncurses4/terminfo/w/wy120-w +/usr/share/ncurses4/terminfo/w/wy120-w-vb +/usr/share/ncurses4/terminfo/w/wy120-wvb +/usr/share/ncurses4/terminfo/w/wy150 +/usr/share/ncurses4/terminfo/w/wy150-25 +/usr/share/ncurses4/terminfo/w/wy150-25-w +/usr/share/ncurses4/terminfo/w/wy150-vb +/usr/share/ncurses4/terminfo/w/wy150-w +/usr/share/ncurses4/terminfo/w/wy150-w-vb +/usr/share/ncurses4/terminfo/w/wy160 +/usr/share/ncurses4/terminfo/w/wy160-25 +/usr/share/ncurses4/terminfo/w/wy160-25-w +/usr/share/ncurses4/terminfo/w/wy160-42 +/usr/share/ncurses4/terminfo/w/wy160-42-w +/usr/share/ncurses4/terminfo/w/wy160-43 +/usr/share/ncurses4/terminfo/w/wy160-43-w +/usr/share/ncurses4/terminfo/w/wy160-tek +/usr/share/ncurses4/terminfo/w/wy160-vb +/usr/share/ncurses4/terminfo/w/wy160-w +/usr/share/ncurses4/terminfo/w/wy160-w-vb +/usr/share/ncurses4/terminfo/w/wy160-wvb +/usr/share/ncurses4/terminfo/w/wy185 +/usr/share/ncurses4/terminfo/w/wy185-24 +/usr/share/ncurses4/terminfo/w/wy185-vb +/usr/share/ncurses4/terminfo/w/wy185-w +/usr/share/ncurses4/terminfo/w/wy185-wvb +/usr/share/ncurses4/terminfo/w/wy30 +/usr/share/ncurses4/terminfo/w/wy30-mc +/usr/share/ncurses4/terminfo/w/wy30-vb +/usr/share/ncurses4/terminfo/w/wy325 +/usr/share/ncurses4/terminfo/w/wy325-25 +/usr/share/ncurses4/terminfo/w/wy325-25w +/usr/share/ncurses4/terminfo/w/wy325-42 +/usr/share/ncurses4/terminfo/w/wy325-42w +/usr/share/ncurses4/terminfo/w/wy325-42w-vb +/usr/share/ncurses4/terminfo/w/wy325-42wvb +/usr/share/ncurses4/terminfo/w/wy325-43 +/usr/share/ncurses4/terminfo/w/wy325-43w +/usr/share/ncurses4/terminfo/w/wy325-43w-vb +/usr/share/ncurses4/terminfo/w/wy325-43wvb +/usr/share/ncurses4/terminfo/w/wy325-80 +/usr/share/ncurses4/terminfo/w/wy325-vb +/usr/share/ncurses4/terminfo/w/wy325-w +/usr/share/ncurses4/terminfo/w/wy325-w-vb +/usr/share/ncurses4/terminfo/w/wy325-wvb +/usr/share/ncurses4/terminfo/w/wy325w-24 +/usr/share/ncurses4/terminfo/w/wy350 +/usr/share/ncurses4/terminfo/w/wy350-vb +/usr/share/ncurses4/terminfo/w/wy350-w +/usr/share/ncurses4/terminfo/w/wy350-wvb +/usr/share/ncurses4/terminfo/w/wy370 +/usr/share/ncurses4/terminfo/w/wy370-101k +/usr/share/ncurses4/terminfo/w/wy370-105k +/usr/share/ncurses4/terminfo/w/wy370-EPC +/usr/share/ncurses4/terminfo/w/wy370-nk +/usr/share/ncurses4/terminfo/w/wy370-rv +/usr/share/ncurses4/terminfo/w/wy370-tek +/usr/share/ncurses4/terminfo/w/wy370-vb +/usr/share/ncurses4/terminfo/w/wy370-w +/usr/share/ncurses4/terminfo/w/wy370-wvb +/usr/share/ncurses4/terminfo/w/wy50 +/usr/share/ncurses4/terminfo/w/wy50-mc +/usr/share/ncurses4/terminfo/w/wy50-vb +/usr/share/ncurses4/terminfo/w/wy50-w +/usr/share/ncurses4/terminfo/w/wy50-wvb +/usr/share/ncurses4/terminfo/w/wy520 +/usr/share/ncurses4/terminfo/w/wy520-24 +/usr/share/ncurses4/terminfo/w/wy520-36 +/usr/share/ncurses4/terminfo/w/wy520-36pc +/usr/share/ncurses4/terminfo/w/wy520-36w +/usr/share/ncurses4/terminfo/w/wy520-36wpc +/usr/share/ncurses4/terminfo/w/wy520-48 +/usr/share/ncurses4/terminfo/w/wy520-48pc +/usr/share/ncurses4/terminfo/w/wy520-48w +/usr/share/ncurses4/terminfo/w/wy520-48wpc +/usr/share/ncurses4/terminfo/w/wy520-epc +/usr/share/ncurses4/terminfo/w/wy520-epc-24 +/usr/share/ncurses4/terminfo/w/wy520-epc-vb +/usr/share/ncurses4/terminfo/w/wy520-epc-w +/usr/share/ncurses4/terminfo/w/wy520-epc-wvb +/usr/share/ncurses4/terminfo/w/wy520-vb +/usr/share/ncurses4/terminfo/w/wy520-w +/usr/share/ncurses4/terminfo/w/wy520-wvb +/usr/share/ncurses4/terminfo/w/wy60 +/usr/share/ncurses4/terminfo/w/wy60-25 +/usr/share/ncurses4/terminfo/w/wy60-25-w +/usr/share/ncurses4/terminfo/w/wy60-316X +/usr/share/ncurses4/terminfo/w/wy60-42 +/usr/share/ncurses4/terminfo/w/wy60-42-w +/usr/share/ncurses4/terminfo/w/wy60-43 +/usr/share/ncurses4/terminfo/w/wy60-43-w +/usr/share/ncurses4/terminfo/w/wy60-vb +/usr/share/ncurses4/terminfo/w/wy60-w +/usr/share/ncurses4/terminfo/w/wy60-w-vb +/usr/share/ncurses4/terminfo/w/wy60-wvb +/usr/share/ncurses4/terminfo/w/wy75 +/usr/share/ncurses4/terminfo/w/wy75-mc +/usr/share/ncurses4/terminfo/w/wy75-vb +/usr/share/ncurses4/terminfo/w/wy75-w +/usr/share/ncurses4/terminfo/w/wy75-wvb +/usr/share/ncurses4/terminfo/w/wy75ap +/usr/share/ncurses4/terminfo/w/wy85 +/usr/share/ncurses4/terminfo/w/wy85-vb +/usr/share/ncurses4/terminfo/w/wy85-w +/usr/share/ncurses4/terminfo/w/wy85-wvb +/usr/share/ncurses4/terminfo/w/wy99gt +/usr/share/ncurses4/terminfo/w/wy99gt-25 +/usr/share/ncurses4/terminfo/w/wy99gt-25-w +/usr/share/ncurses4/terminfo/w/wy99gt-tek +/usr/share/ncurses4/terminfo/w/wy99gt-vb +/usr/share/ncurses4/terminfo/w/wy99gt-w +/usr/share/ncurses4/terminfo/w/wy99gt-w-vb +/usr/share/ncurses4/terminfo/w/wy99gt-wvb +/usr/share/ncurses4/terminfo/w/wyse-325 +/usr/share/ncurses4/terminfo/w/wyse-75ap +/usr/share/ncurses4/terminfo/w/wyse-vp +/usr/share/ncurses4/terminfo/w/wyse120 +/usr/share/ncurses4/terminfo/w/wyse120-25 +/usr/share/ncurses4/terminfo/w/wyse120-25-w +/usr/share/ncurses4/terminfo/w/wyse120-vb +/usr/share/ncurses4/terminfo/w/wyse120-w +/usr/share/ncurses4/terminfo/w/wyse120-wvb +/usr/share/ncurses4/terminfo/w/wyse150 +/usr/share/ncurses4/terminfo/w/wyse150-25 +/usr/share/ncurses4/terminfo/w/wyse150-25-w +/usr/share/ncurses4/terminfo/w/wyse150-vb +/usr/share/ncurses4/terminfo/w/wyse150-w +/usr/share/ncurses4/terminfo/w/wyse150-w-vb +/usr/share/ncurses4/terminfo/w/wyse160 +/usr/share/ncurses4/terminfo/w/wyse160-25 +/usr/share/ncurses4/terminfo/w/wyse160-25-w +/usr/share/ncurses4/terminfo/w/wyse160-42 +/usr/share/ncurses4/terminfo/w/wyse160-42-w +/usr/share/ncurses4/terminfo/w/wyse160-43 +/usr/share/ncurses4/terminfo/w/wyse160-43-w +/usr/share/ncurses4/terminfo/w/wyse160-vb +/usr/share/ncurses4/terminfo/w/wyse160-w +/usr/share/ncurses4/terminfo/w/wyse160-wvb +/usr/share/ncurses4/terminfo/w/wyse185 +/usr/share/ncurses4/terminfo/w/wyse185-24 +/usr/share/ncurses4/terminfo/w/wyse185-vb +/usr/share/ncurses4/terminfo/w/wyse185-w +/usr/share/ncurses4/terminfo/w/wyse185-wvb +/usr/share/ncurses4/terminfo/w/wyse30 +/usr/share/ncurses4/terminfo/w/wyse30-mc +/usr/share/ncurses4/terminfo/w/wyse30-vb +/usr/share/ncurses4/terminfo/w/wyse325 +/usr/share/ncurses4/terminfo/w/wyse325-25 +/usr/share/ncurses4/terminfo/w/wyse325-25w +/usr/share/ncurses4/terminfo/w/wyse325-42 +/usr/share/ncurses4/terminfo/w/wyse325-42w +/usr/share/ncurses4/terminfo/w/wyse325-43 +/usr/share/ncurses4/terminfo/w/wyse325-43w +/usr/share/ncurses4/terminfo/w/wyse325-vb +/usr/share/ncurses4/terminfo/w/wyse325-w +/usr/share/ncurses4/terminfo/w/wyse325-wvb +/usr/share/ncurses4/terminfo/w/wyse350 +/usr/share/ncurses4/terminfo/w/wyse350-vb +/usr/share/ncurses4/terminfo/w/wyse350-w +/usr/share/ncurses4/terminfo/w/wyse350-wvb +/usr/share/ncurses4/terminfo/w/wyse370 +/usr/share/ncurses4/terminfo/w/wyse50 +/usr/share/ncurses4/terminfo/w/wyse50-mc +/usr/share/ncurses4/terminfo/w/wyse50-vb +/usr/share/ncurses4/terminfo/w/wyse50-w +/usr/share/ncurses4/terminfo/w/wyse50-wvb +/usr/share/ncurses4/terminfo/w/wyse520 +/usr/share/ncurses4/terminfo/w/wyse520-24 +/usr/share/ncurses4/terminfo/w/wyse520-36 +/usr/share/ncurses4/terminfo/w/wyse520-36pc +/usr/share/ncurses4/terminfo/w/wyse520-36w +/usr/share/ncurses4/terminfo/w/wyse520-36wpc +/usr/share/ncurses4/terminfo/w/wyse520-48 +/usr/share/ncurses4/terminfo/w/wyse520-48pc +/usr/share/ncurses4/terminfo/w/wyse520-48w +/usr/share/ncurses4/terminfo/w/wyse520-48wpc +/usr/share/ncurses4/terminfo/w/wyse520-epc +/usr/share/ncurses4/terminfo/w/wyse520-epc-w +/usr/share/ncurses4/terminfo/w/wyse520-p-wvb +/usr/share/ncurses4/terminfo/w/wyse520-pc-24 +/usr/share/ncurses4/terminfo/w/wyse520-pc-vb +/usr/share/ncurses4/terminfo/w/wyse520-vb +/usr/share/ncurses4/terminfo/w/wyse520-w +/usr/share/ncurses4/terminfo/w/wyse520-wvb +/usr/share/ncurses4/terminfo/w/wyse60 +/usr/share/ncurses4/terminfo/w/wyse60-25 +/usr/share/ncurses4/terminfo/w/wyse60-25-w +/usr/share/ncurses4/terminfo/w/wyse60-316X +/usr/share/ncurses4/terminfo/w/wyse60-42 +/usr/share/ncurses4/terminfo/w/wyse60-42-w +/usr/share/ncurses4/terminfo/w/wyse60-43 +/usr/share/ncurses4/terminfo/w/wyse60-43-w +/usr/share/ncurses4/terminfo/w/wyse60-vb +/usr/share/ncurses4/terminfo/w/wyse60-w +/usr/share/ncurses4/terminfo/w/wyse60-wvb +/usr/share/ncurses4/terminfo/w/wyse75 +/usr/share/ncurses4/terminfo/w/wyse75-mc +/usr/share/ncurses4/terminfo/w/wyse75-vb +/usr/share/ncurses4/terminfo/w/wyse75-w +/usr/share/ncurses4/terminfo/w/wyse75-wvb +/usr/share/ncurses4/terminfo/w/wyse75ap +/usr/share/ncurses4/terminfo/w/wyse85 +/usr/share/ncurses4/terminfo/w/wyse85-vb +/usr/share/ncurses4/terminfo/w/wyse85-w +/usr/share/ncurses4/terminfo/w/wyse85-wvb +/usr/share/ncurses4/terminfo/w/wyse99gt +/usr/share/ncurses4/terminfo/w/wyse99gt-25 +/usr/share/ncurses4/terminfo/w/wyse99gt-25-w +/usr/share/ncurses4/terminfo/w/wyse99gt-vb +/usr/share/ncurses4/terminfo/w/wyse99gt-w +/usr/share/ncurses4/terminfo/w/wyse99gt-wvb +/usr/share/ncurses4/terminfo/x +/usr/share/ncurses4/terminfo/x/x10term +/usr/share/ncurses4/terminfo/x/x1700 +/usr/share/ncurses4/terminfo/x/x1700-lm +/usr/share/ncurses4/terminfo/x/x1720 +/usr/share/ncurses4/terminfo/x/x1750 +/usr/share/ncurses4/terminfo/x/x68k +/usr/share/ncurses4/terminfo/x/x68k-ite +/usr/share/ncurses4/terminfo/x/x820 +/usr/share/ncurses4/terminfo/x/xenix +/usr/share/ncurses4/terminfo/x/xerox +/usr/share/ncurses4/terminfo/x/xerox-lm +/usr/share/ncurses4/terminfo/x/xerox1720 +/usr/share/ncurses4/terminfo/x/xerox820 +/usr/share/ncurses4/terminfo/x/xl83 +/usr/share/ncurses4/terminfo/x/xtalk +/usr/share/ncurses4/terminfo/x/xterm +/usr/share/ncurses4/terminfo/x/xterm+sl +/usr/share/ncurses4/terminfo/x/xterm+sl-twm +/usr/share/ncurses4/terminfo/x/xterm-16color +/usr/share/ncurses4/terminfo/x/xterm-8bit +/usr/share/ncurses4/terminfo/x/xterm-bold +/usr/share/ncurses4/terminfo/x/xterm-nic +/usr/share/ncurses4/terminfo/x/xterm-old +/usr/share/ncurses4/terminfo/x/xterm-pcolor +/usr/share/ncurses4/terminfo/x/xterm-r5 +/usr/share/ncurses4/terminfo/x/xterm-r6 +/usr/share/ncurses4/terminfo/x/xterm-sun +/usr/share/ncurses4/terminfo/x/xterm-xf86-v32 +/usr/share/ncurses4/terminfo/x/xterm-xf86-v33 +/usr/share/ncurses4/terminfo/x/xterm-xf86-v40 +/usr/share/ncurses4/terminfo/x/xterm-xi +/usr/share/ncurses4/terminfo/x/xterm1 +/usr/share/ncurses4/terminfo/x/xterms +/usr/share/ncurses4/terminfo/x/xterms-sun +/usr/share/ncurses4/terminfo/x/xwsh +/usr/share/ncurses4/terminfo/z +/usr/share/ncurses4/terminfo/z/z-100 +/usr/share/ncurses4/terminfo/z/z-100bw +/usr/share/ncurses4/terminfo/z/z100 +/usr/share/ncurses4/terminfo/z/z100bw +/usr/share/ncurses4/terminfo/z/z110 +/usr/share/ncurses4/terminfo/z/z110bw +/usr/share/ncurses4/terminfo/z/z19 +/usr/share/ncurses4/terminfo/z/z29 +/usr/share/ncurses4/terminfo/z/z29a +/usr/share/ncurses4/terminfo/z/z29a-kc-bc +/usr/share/ncurses4/terminfo/z/z29a-kc-uc +/usr/share/ncurses4/terminfo/z/z29a-nkc-bc +/usr/share/ncurses4/terminfo/z/z29a-nkc-uc +/usr/share/ncurses4/terminfo/z/z29b +/usr/share/ncurses4/terminfo/z/z30 +/usr/share/ncurses4/terminfo/z/z340 +/usr/share/ncurses4/terminfo/z/z340-nam +/usr/share/ncurses4/terminfo/z/z39-a +/usr/share/ncurses4/terminfo/z/z39a +/usr/share/ncurses4/terminfo/z/z50 +/usr/share/ncurses4/terminfo/z/z8001 +/usr/share/ncurses4/terminfo/z/zen30 +/usr/share/ncurses4/terminfo/z/zen50 +/usr/share/ncurses4/terminfo/z/zen8001 +/usr/share/ncurses4/terminfo/z/zenith +/usr/share/ncurses4/terminfo/z/zenith29 +/usr/share/ncurses4/terminfo/z/zenith39-a +/usr/share/ncurses4/terminfo/z/zenith39-ansi +/usr/share/ncurses4/terminfo/z/zt-1 +/usr/share/ncurses4/terminfo/z/ztx +/usr/share/ncurses4/terminfo/z/ztx-1-a +/usr/share/ncurses4/terminfo/z/ztx11 + +2 15 RPM:Files 0 0 +2 14 #text 0 1 + +1 15 RDF:Description 0 0 +1 14 #text 0 1 + +0 15 RDF:RDF 0 0 diff --git a/libxml2/result/rdf2.sax b/libxml2/result/rdf2.sax new file mode 100644 index 0000000..f6686c1 --- /dev/null +++ b/libxml2/result/rdf2.sax @@ -0,0 +1,191 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(RDF:RDF, xmlns:RDF='http://www.w3.org/TR/WD-rdf-syntax#', xmlns:RPM='http://www.rpm.org/') +SAX.characters( + , 3) +SAX.startElement(RDF:Description, about='ftp://rufus.w3.org/linux/dld/5.4/i386/RPMS/i386/ncurses4-4.2-3.i386.rpm') +SAX.characters( + , 5) +SAX.startElement(RPM:Name) +SAX.characters(ncurses4, 8) +SAX.endElement(RPM:Name) +SAX.characters( + , 5) +SAX.startElement(RPM:Version) +SAX.characters(4.2, 3) +SAX.endElement(RPM:Version) +SAX.characters( + , 5) +SAX.startElement(RPM:Release) +SAX.characters(3, 1) +SAX.endElement(RPM:Release) +SAX.characters( + , 5) +SAX.startElement(RPM:Arch) +SAX.characters(i386, 4) +SAX.endElement(RPM:Arch) +SAX.characters( + , 5) +SAX.startElement(RPM:Os) +SAX.characters(Linux, 5) +SAX.endElement(RPM:Os) +SAX.characters( + , 5) +SAX.startElement(RPM:Distribution) +SAX.characters(DLD, 3) +SAX.endElement(RPM:Distribution) +SAX.characters( + , 5) +SAX.startElement(RPM:Vendor) +SAX.characters(delix Computer GmbH, 19) +SAX.endElement(RPM:Vendor) +SAX.characters( + , 5) +SAX.startElement(RPM:Packager) +SAX.characters(Till Bubeck , 12) +SAX.characters(<, 1) +SAX.characters(bubeck@delix.de, 15) +SAX.characters(>, 1) +SAX.characters(, Ngo Than , 11) +SAX.characters(<, 1) +SAX.characters(than@delix.de, 13) +SAX.characters(>, 1) +SAX.endElement(RPM:Packager) +SAX.characters( + , 5) +SAX.startElement(RPM:Group) +SAX.characters(Libraries, 9) +SAX.endElement(RPM:Group) +SAX.characters( + , 5) +SAX.startElement(RPM:Summary) +SAX.characters(Bibliothek zur Ansteuerung von, 40) +SAX.endElement(RPM:Summary) +SAX.characters( + , 5) +SAX.startElement(RPM:Description) +SAX.characters(Diese Library stellt dem Progr, 57) +SAX.characters(ä, 2) +SAX.characters(ngige +Routinen zur Ansteuerung, 57) +SAX.characters(ü, 2) +SAX.characters(gung, die +speziell optimiert s, 57) +SAX.characters(', 1) +SAX.characters(new curses, 10) +SAX.characters(', 1) +SAX.characters( (ncurses) Variante und ist de, 51) +SAX.characters(ü, 2) +SAX.characters(r die klassische Curses-Librar, 70) +SAX.endElement(RPM:Description) +SAX.characters( + , 5) +SAX.startElement(RPM:Copyright) +SAX.characters(GPL, 3) +SAX.endElement(RPM:Copyright) +SAX.characters( + , 5) +SAX.startElement(RPM:Sources) +SAX.characters(ncurses4-4.2-3.src.rpm, 22) +SAX.endElement(RPM:Sources) +SAX.characters( + , 5) +SAX.startElement(RPM:BuildDate) +SAX.characters(Tue May 12 19:30:26 1998, 24) +SAX.endElement(RPM:BuildDate) +SAX.characters( + , 5) +SAX.startElement(RPM:Date) +SAX.characters(895015826, 9) +SAX.endElement(RPM:Date) +SAX.characters( + , 5) +SAX.startElement(RPM:Size) +SAX.characters(1373513, 7) +SAX.endElement(RPM:Size) +SAX.characters( + , 5) +SAX.startElement(RPM:BuildHost) +SAX.characters(erdbeere.delix.de, 17) +SAX.endElement(RPM:BuildHost) +SAX.characters( + , 5) +SAX.startElement(RPM:Provides) +SAX.characters( + , 7) +SAX.startElement(RDF:Bag) +SAX.characters( + , 9) +SAX.startElement(RPM:Resource, href='../../../../../resources/ncurses4.rdf') +SAX.characters(ncurses4, 8) +SAX.endElement(RPM:Resource) +SAX.characters( + , 9) +SAX.startElement(RPM:Resource, href='../../../../../resources/libpanel.so.4.rdf') +SAX.characters(libpanel.so.4, 13) +SAX.endElement(RPM:Resource) +SAX.characters( + , 9) +SAX.startElement(RPM:Resource, href='../../../../../resources/libncurses.so.4.rdf') +SAX.characters(libncurses.so.4, 15) +SAX.endElement(RPM:Resource) +SAX.characters( + , 9) +SAX.startElement(RPM:Resource, href='../../../../../resources/libmenu.so.4.rdf') +SAX.characters(libmenu.so.4, 12) +SAX.endElement(RPM:Resource) +SAX.characters( + , 9) +SAX.startElement(RPM:Resource, href='../../../../../resources/libform.so.4.rdf') +SAX.characters(libform.so.4, 12) +SAX.endElement(RPM:Resource) +SAX.characters( + , 9) +SAX.startElement(RPM:Resource, href='../../../../../resources/ncurses.rdf') +SAX.characters(ncurses, 7) +SAX.endElement(RPM:Resource) +SAX.characters( + , 7) +SAX.endElement(RDF:Bag) +SAX.characters( + , 5) +SAX.endElement(RPM:Provides) +SAX.characters( + , 5) +SAX.startElement(RPM:Files) +SAX.characters(/lib/libncurses.so.4 +/lib/libn, 2008) +SAX.characters(/share/ncurses4/terminfo/P/P14, 4000) +SAX.characters(es4/terminfo/a/alt7pc +/usr/sha, 4000) +SAX.characters(/a/att4415-w +/usr/share/ncurse, 4000) +SAX.characters(ses4/terminfo/b/bee +/usr/share, 4000) +SAX.characters(r/share/ncurses4/terminfo/c/co, 4000) +SAX.characters(/usr/share/ncurses4/terminfo/d, 4000) +SAX.characters(sr/share/ncurses4/terminfo/g/g, 4000) +SAX.characters(/terminfo/h/hp2626-12x40 +/usr/, 4000) +SAX.characters(e/ncurses4/terminfo/i/intertub, 4000) +SAX.characters(rses4/terminfo/m/mskermit22714, 4000) +SAX.characters(are/ncurses4/terminfo/p/p12-m +, 4000) +SAX.characters(pt100w +/usr/share/ncurses4/ter, 4000) +SAX.characters(sr/share/ncurses4/terminfo/s/s, 4000) +SAX.characters(usr/share/ncurses4/terminfo/t/, 4000) +SAX.characters(share/ncurses4/terminfo/v/vi55, 4000) +SAX.characters(are/ncurses4/terminfo/w/wy160-, 4000) +SAX.characters(/wy99gt-vb +/usr/share/ncurses4, 4000) +SAX.characters(/w/wyse99gt +/usr/share/ncurses, 2907) +SAX.endElement(RPM:Files) +SAX.characters( + , 3) +SAX.endElement(RDF:Description) +SAX.characters( +, 1) +SAX.endElement(RDF:RDF) +SAX.endDocument() diff --git a/libxml2/result/rdf2.sax2 b/libxml2/result/rdf2.sax2 new file mode 100644 index 0000000..388174f --- /dev/null +++ b/libxml2/result/rdf2.sax2 @@ -0,0 +1,191 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(RDF, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 2, xmlns:RDF='http://www.w3.org/TR/WD-rdf-syntax#', xmlns:RPM='http://www.rpm.org/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(Description, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 0, 1, 0, about='ftp:...', 71) +SAX.characters( + , 5) +SAX.startElementNs(Name, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(ncurses4, 8) +SAX.endElementNs(Name, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Version, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(4.2, 3) +SAX.endElementNs(Version, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Release, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(3, 1) +SAX.endElementNs(Release, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Arch, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(i386, 4) +SAX.endElementNs(Arch, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Os, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Linux, 5) +SAX.endElementNs(Os, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Distribution, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(DLD, 3) +SAX.endElementNs(Distribution, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Vendor, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(delix Computer GmbH, 19) +SAX.endElementNs(Vendor, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Packager, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Till Bubeck , 12) +SAX.characters(<, 1) +SAX.characters(bubeck@delix.de, 15) +SAX.characters(>, 1) +SAX.characters(, Ngo Than , 11) +SAX.characters(<, 1) +SAX.characters(than@delix.de, 13) +SAX.characters(>, 1) +SAX.endElementNs(Packager, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Group, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Libraries, 9) +SAX.endElementNs(Group, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Summary, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Bibliothek zur Ansteuerung von, 40) +SAX.endElementNs(Summary, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Description, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Diese Library stellt dem Progr, 57) +SAX.characters(ä, 2) +SAX.characters(ngige +Routinen zur Ansteuerung, 57) +SAX.characters(ü, 2) +SAX.characters(gung, die +speziell optimiert s, 57) +SAX.characters(', 1) +SAX.characters(new curses, 10) +SAX.characters(', 1) +SAX.characters( (ncurses) Variante und ist de, 51) +SAX.characters(ü, 2) +SAX.characters(r die klassische Curses-Librar, 70) +SAX.endElementNs(Description, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Copyright, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(GPL, 3) +SAX.endElementNs(Copyright, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Sources, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(ncurses4-4.2-3.src.rpm, 22) +SAX.endElementNs(Sources, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(BuildDate, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Tue May 12 19:30:26 1998, 24) +SAX.endElementNs(BuildDate, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Date, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(895015826, 9) +SAX.endElementNs(Date, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Size, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(1373513, 7) +SAX.endElementNs(Size, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(BuildHost, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(erdbeere.delix.de, 17) +SAX.endElementNs(BuildHost, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Provides, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(Bag, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 1, 0, href='../....', 37) +SAX.characters(ncurses4, 8) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 1, 0, href='../....', 42) +SAX.characters(libpanel.so.4, 13) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 1, 0, href='../....', 44) +SAX.characters(libncurses.so.4, 15) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 1, 0, href='../....', 41) +SAX.characters(libmenu.so.4, 12) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 1, 0, href='../....', 41) +SAX.characters(libform.so.4, 12) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 1, 0, href='../....', 36) +SAX.characters(ncurses, 7) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 7) +SAX.endElementNs(Bag, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#') +SAX.characters( + , 5) +SAX.endElementNs(Provides, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Files, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(/lib/libncurses.so.4 +/lib/libn, 2008) +SAX.characters(/share/ncurses4/terminfo/P/P14, 4000) +SAX.characters(es4/terminfo/a/alt7pc +/usr/sha, 4000) +SAX.characters(/a/att4415-w +/usr/share/ncurse, 4000) +SAX.characters(ses4/terminfo/b/bee +/usr/share, 4000) +SAX.characters(r/share/ncurses4/terminfo/c/co, 4000) +SAX.characters(/usr/share/ncurses4/terminfo/d, 4000) +SAX.characters(sr/share/ncurses4/terminfo/g/g, 4000) +SAX.characters(/terminfo/h/hp2626-12x40 +/usr/, 4000) +SAX.characters(e/ncurses4/terminfo/i/intertub, 4000) +SAX.characters(rses4/terminfo/m/mskermit22714, 4000) +SAX.characters(are/ncurses4/terminfo/p/p12-m +, 4000) +SAX.characters(pt100w +/usr/share/ncurses4/ter, 4000) +SAX.characters(sr/share/ncurses4/terminfo/s/s, 4000) +SAX.characters(usr/share/ncurses4/terminfo/t/, 4000) +SAX.characters(share/ncurses4/terminfo/v/vi55, 4000) +SAX.characters(are/ncurses4/terminfo/w/wy160-, 4000) +SAX.characters(/wy99gt-vb +/usr/share/ncurses4, 4000) +SAX.characters(/w/wyse99gt +/usr/share/ncurses, 2907) +SAX.endElementNs(Files, RPM, 'http://www.rpm.org/') +SAX.characters( + , 3) +SAX.endElementNs(Description, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#') +SAX.characters( +, 1) +SAX.endElementNs(RDF, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#') +SAX.endDocument() diff --git a/libxml2/result/regexp/branch b/libxml2/result/regexp/branch new file mode 100644 index 0000000..dd703ac --- /dev/null +++ b/libxml2/result/regexp/branch @@ -0,0 +1,14 @@ +Regexp: a|b(d|e(g|h|i)|f)|c +a: Ok +c: Ok +bd: Ok +bf: Ok +beg: Ok +beh: Ok +bei: Ok +b: Fail +be: Fail +bi: Fail +f: Fail +ab: Fail +ac: Fail diff --git a/libxml2/result/regexp/bug316338 b/libxml2/result/regexp/bug316338 new file mode 100644 index 0000000..fcf1480 --- /dev/null +++ b/libxml2/result/regexp/bug316338 @@ -0,0 +1,20 @@ +Regexp: (((C|c)(([\s]*\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?){3})+[\s]*))+ +C 433: Ok +C 433 12: Ok +C 433 123: Ok +C 433 123 456: Ok +C 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12: Fail +Regexp: (((C|c)(([\s]+\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?){3})+[\s]*))+ +C 433: Fail +C 433 12: Fail +C 433 123: Fail +C 433 123 456: Ok +C 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12: Fail +Regexp: (((C|c)(([\s]+\-?[0-9]+(\.[0-9]+)?[\s]*,[\s]*\-?[0-9]+(\.[0-9]+)?){3})+[\s]*))+ +C 433: Fail +C 433 12: Fail +C 433 123: Fail +C 433 123 456: Fail +C 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12: Fail +Regexp: (((M|m)([\s]+\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?[\s]*,[\s]*\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?)[\s]*)|((L|l)([\s]+\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?[\s]*,[\s]*\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?)+[\s]*)|((H|h)([\s]+\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?)+[\s]*)|((V|v)([\s]+\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?)+[\s]*)|((C|c)(([\s]+\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?[\s]*,[\s]*\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?){3})+[\s]*)|((Q|q)(([\s]+\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?[\s]*,[\s]*\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?){2})+[\s]*)|((S|s)(([\s]+\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?[\s]*,[\s]*\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?){2})+[\s]*)|((A|a)([\s]+\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?[\s]*,[\s]*\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?[\s]*\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?[\s]+[0-1][\s]+[0-1][\s]+\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?[\s]*,[\s]*\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?)+[\s]*)|((Z|z)[\s]*))* +M 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12: Fail diff --git a/libxml2/result/regexp/bug420596 b/libxml2/result/regexp/bug420596 new file mode 100644 index 0000000..d23b303 --- /dev/null +++ b/libxml2/result/regexp/bug420596 @@ -0,0 +1,10 @@ +Regexp: (\+|-)(0[0-9]|1[0-1]) ++01: Ok +-01: Ok ++10: Ok +-10: Ok +Regexp: [+-](0[0-9]|1[0-1]) ++01: Ok +-01: Ok ++10: Ok +-10: Ok diff --git a/libxml2/result/regexp/bug649244 b/libxml2/result/regexp/bug649244 new file mode 100644 index 0000000..886ca2c --- /dev/null +++ b/libxml2/result/regexp/bug649244 @@ -0,0 +1,9 @@ +Regexp: S(a|)E +SE: Ok +SxE: Fail +Regexp: S(|b)E +SE: Ok +SxE: Fail +Regexp: S(a||b)E +SE: Ok +SxE: Fail diff --git a/libxml2/result/regexp/bug757711 b/libxml2/result/regexp/bug757711 new file mode 100644 index 0000000..0991e4e --- /dev/null +++ b/libxml2/result/regexp/bug757711 @@ -0,0 +1,2 @@ +Regexp: [;^((- + failed to compile diff --git a/libxml2/result/regexp/bug757711.err b/libxml2/result/regexp/bug757711.err new file mode 100644 index 0000000..f1cae80 --- /dev/null +++ b/libxml2/result/regexp/bug757711.err @@ -0,0 +1,2 @@ +regexp error : failed to compile: Expecting the end of a char range +regexp error : failed to compile: xmlFAParseCharClass: ']' expected diff --git a/libxml2/result/regexp/bug783015 b/libxml2/result/regexp/bug783015 new file mode 100644 index 0000000..653f6f0 --- /dev/null +++ b/libxml2/result/regexp/bug783015 @@ -0,0 +1,4 @@ +Regexp: .{2147483647} +input: Fail +Regexp: .{2147483648} + failed to compile diff --git a/libxml2/result/regexp/bug783015.err b/libxml2/result/regexp/bug783015.err new file mode 100644 index 0000000..a00edc9 --- /dev/null +++ b/libxml2/result/regexp/bug783015.err @@ -0,0 +1 @@ +regexp error : failed to compile: Improper quantifier diff --git a/libxml2/result/regexp/content b/libxml2/result/regexp/content new file mode 100644 index 0000000..220fd47 --- /dev/null +++ b/libxml2/result/regexp/content @@ -0,0 +1,12 @@ +Regexp: ((a|b|c)def) +adef: Ok +bdef: Ok +adefg: Fail +aaef: Fail +Regexp: ((a|b|c|d|e|f)?(g|h|i)+(k|l)*) +g: Ok +gi: Ok +fil: Ok +gikl: Ok +cghhhiill: Ok +ak: Fail diff --git a/libxml2/result/regexp/hard b/libxml2/result/regexp/hard new file mode 100644 index 0000000..28d6164 --- /dev/null +++ b/libxml2/result/regexp/hard @@ -0,0 +1,12 @@ +Regexp: ((a|b|\p{Nd}){1,2}|aaa|bbbb){1,2} +bab: Ok +aaca: Fail +aaabbbb: Ok +a0b: Ok +aa0aaa: Fail +b0aaa: Ok +Regexp: (\d{1,3}\.){3}\d{1,3} +1.2.3.4: Ok +1.22.333.44: Ok +1.2.3: Fail +1..2.3: Fail diff --git a/libxml2/result/regexp/issue301 b/libxml2/result/regexp/issue301 new file mode 100644 index 0000000..90e7c4c --- /dev/null +++ b/libxml2/result/regexp/issue301 @@ -0,0 +1,4 @@ +Regexp: (a{1,2}|ab){2} +abab: Ok +Regexp: ((1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])\.){3}(1?[0-9]{1,2}|2[0-4][0-9]|25[0-5]) +192.168.254.0: Ok diff --git a/libxml2/result/regexp/issue370 b/libxml2/result/regexp/issue370 new file mode 100644 index 0000000..42a74ec --- /dev/null +++ b/libxml2/result/regexp/issue370 @@ -0,0 +1,3 @@ +Regexp: [A-Za-[G]] +G: Fail +a: Ok diff --git a/libxml2/result/regexp/issue65 b/libxml2/result/regexp/issue65 new file mode 100644 index 0000000..46bacd3 --- /dev/null +++ b/libxml2/result/regexp/issue65 @@ -0,0 +1,2 @@ +Regexp: ( (a|bc{0,2})){0,2} d + b d: Ok diff --git a/libxml2/result/regexp/ncname b/libxml2/result/regexp/ncname new file mode 100644 index 0000000..3f16d95 --- /dev/null +++ b/libxml2/result/regexp/ncname @@ -0,0 +1,6 @@ +Regexp: [\i-[:]][\c-[:]]* +a: Ok +abc: Ok +abc1d: Ok +1ac: Fail +a1b:c: Fail diff --git a/libxml2/result/regexp/ranges b/libxml2/result/regexp/ranges new file mode 100644 index 0000000..4cbf298 --- /dev/null +++ b/libxml2/result/regexp/ranges @@ -0,0 +1,15 @@ +Regexp: a{2,3} +a: Fail +aa: Ok +aaa: Ok +aaaa: Fail +Regexp: ba{2,3}c +bac: Fail +baac: Ok +baaac: Ok +baaaac: Fail +Regexp: a(b|c){2,3}d +abcd: Ok +acccd: Ok +abd: Fail +accccd: Fail diff --git a/libxml2/result/regexp/ranges2 b/libxml2/result/regexp/ranges2 new file mode 100644 index 0000000..8305732 --- /dev/null +++ b/libxml2/result/regexp/ranges2 @@ -0,0 +1,14 @@ +Regexp: (a|b{0,3}){0,1} +a: Ok +aa: Fail +b: Ok +bb: Ok +bbb: Ok +bbbb: Fail +ab: Fail +ba: Fail +Regexp: ([0-9]{0,3}|([0-9]{0}|[0-9]{0,3})){0,3} +0: Ok +00: Ok +123: Ok +abc: Fail diff --git a/libxml2/result/regexp/xpath b/libxml2/result/regexp/xpath new file mode 100644 index 0000000..4f6b13c --- /dev/null +++ b/libxml2/result/regexp/xpath @@ -0,0 +1,32 @@ +Regexp: (\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*(\|(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*)* +a: Ok +a12/b312/b312/b312/b312/b312/b312/b312/b312/b312/b312/b312/b3: Ok +*: Ok +a|b: Ok +.//a:b: Ok +a/b/c: Ok +a/*/b: Ok +a:*/b:*/c:*: Ok +child::a/child::b:*: Ok +child::a/child::b:*|a/*/b|.//a:b: Ok +1: Fail +1ab: Fail +a:1: Ok +@a: Fail +ancestor::a: Ok +Regexp: (\.//)?(((child::)?(([\i-[:]][\c-[:]]*:)?([\i-[:]][\c-[:]]*|\*)))|\.)(/(((child::)?(([\i-[:]][\c-[:]]*:)?([\i-[:]][\c-[:]]*|\*)))|\.))*(\|(\.//)?(((child::)?(([\i-[:]][\c-[:]]*:)?([\i-[:]][\c-[:]]*|\*)))|\.)(/(((child::)?(([\i-[:]][\c-[:]]*:)?([\i-[:]][\c-[:]]*|\*)))|\.))*)* +a: Ok +a12/b312/b312/b312/b312/b312/b312/b312/b312/b312/b312/b312/b3: Ok +*: Ok +a|b: Ok +.//a:b: Ok +a/b/c: Ok +a/*/b: Ok +a:*/b:*/c:*: Ok +child::a/child::b:*: Ok +child::a/child::b:*|a/*/b|.//a:b: Ok +1: Fail +1ab: Fail +a:1: Fail +@a: Fail +ancestor::a: Fail diff --git a/libxml2/result/relaxng/302836_0.err b/libxml2/result/relaxng/302836_0.err new file mode 100644 index 0000000..46ae43c --- /dev/null +++ b/libxml2/result/relaxng/302836_0.err @@ -0,0 +1 @@ +./test/relaxng/302836_0.xml validates diff --git a/libxml2/result/relaxng/307377_0.err b/libxml2/result/relaxng/307377_0.err new file mode 100644 index 0000000..1f465bb --- /dev/null +++ b/libxml2/result/relaxng/307377_0.err @@ -0,0 +1,2 @@ +./test/relaxng/307377_0.xml:1: element number: Relax-NG validity error : Element number failed to validate attributes +./test/relaxng/307377_0.xml fails to validate diff --git a/libxml2/result/relaxng/307377_1.err b/libxml2/result/relaxng/307377_1.err new file mode 100644 index 0000000..abfb533 --- /dev/null +++ b/libxml2/result/relaxng/307377_1.err @@ -0,0 +1,3 @@ +./test/relaxng/307377_1.xml:1: element number: Relax-NG validity error : Extra data in list: a +./test/relaxng/307377_1.xml:1: element number: Relax-NG validity error : Element number failed to validate attributes +./test/relaxng/307377_1.xml fails to validate diff --git a/libxml2/result/relaxng/307377_2.err b/libxml2/result/relaxng/307377_2.err new file mode 100644 index 0000000..158ea42 --- /dev/null +++ b/libxml2/result/relaxng/307377_2.err @@ -0,0 +1 @@ +./test/relaxng/307377_2.xml validates diff --git a/libxml2/result/relaxng/492317_0.err b/libxml2/result/relaxng/492317_0.err new file mode 100644 index 0000000..9b8db15 --- /dev/null +++ b/libxml2/result/relaxng/492317_0.err @@ -0,0 +1 @@ +./test/relaxng/492317_0.xml validates diff --git a/libxml2/result/relaxng/492317_1.err b/libxml2/result/relaxng/492317_1.err new file mode 100644 index 0000000..177ee7b --- /dev/null +++ b/libxml2/result/relaxng/492317_1.err @@ -0,0 +1 @@ +./test/relaxng/492317_1.xml validates diff --git a/libxml2/result/relaxng/492317_2.err b/libxml2/result/relaxng/492317_2.err new file mode 100644 index 0000000..e8b22e7 --- /dev/null +++ b/libxml2/result/relaxng/492317_2.err @@ -0,0 +1,3 @@ +./test/relaxng/492317_2.xml:2: element child: Relax-NG validity error : Element child failed to validate attributes +./test/relaxng/492317_2.xml:1: element root: Relax-NG validity error : Element root failed to validate content +./test/relaxng/492317_2.xml fails to validate diff --git a/libxml2/result/relaxng/558452_0.err b/libxml2/result/relaxng/558452_0.err new file mode 100644 index 0000000..fecc3e9 --- /dev/null +++ b/libxml2/result/relaxng/558452_0.err @@ -0,0 +1 @@ +./test/relaxng/558452_0.xml validates diff --git a/libxml2/result/relaxng/558452_1.err b/libxml2/result/relaxng/558452_1.err new file mode 100644 index 0000000..1e225be --- /dev/null +++ b/libxml2/result/relaxng/558452_1.err @@ -0,0 +1,2 @@ +./test/relaxng/558452_1.xml:2: element doc: Relax-NG validity error : Expecting an element , got nothing +./test/relaxng/558452_1.xml fails to validate diff --git a/libxml2/result/relaxng/558452_2.err b/libxml2/result/relaxng/558452_2.err new file mode 100644 index 0000000..d48287c --- /dev/null +++ b/libxml2/result/relaxng/558452_2.err @@ -0,0 +1 @@ +./test/relaxng/558452_2.xml validates diff --git a/libxml2/result/relaxng/558452_3.err b/libxml2/result/relaxng/558452_3.err new file mode 100644 index 0000000..0d33cdb --- /dev/null +++ b/libxml2/result/relaxng/558452_3.err @@ -0,0 +1 @@ +./test/relaxng/558452_3.xml validates diff --git a/libxml2/result/relaxng/558452_4.err b/libxml2/result/relaxng/558452_4.err new file mode 100644 index 0000000..22e12fa --- /dev/null +++ b/libxml2/result/relaxng/558452_4.err @@ -0,0 +1,2 @@ +./test/relaxng/558452_4.xml:6: element elem: Relax-NG validity error : Did not expect element elem there +./test/relaxng/558452_4.xml fails to validate diff --git a/libxml2/result/relaxng/565219_0.err b/libxml2/result/relaxng/565219_0.err new file mode 100644 index 0000000..e3f73fa --- /dev/null +++ b/libxml2/result/relaxng/565219_0.err @@ -0,0 +1,2 @@ +./test/relaxng/565219_0.xml:1: element foo: Relax-NG validity error : Element foo has wrong namespace: expecting http://bar.com/ +./test/relaxng/565219_0.xml fails to validate diff --git a/libxml2/result/relaxng/565219_1.err b/libxml2/result/relaxng/565219_1.err new file mode 100644 index 0000000..2999bba --- /dev/null +++ b/libxml2/result/relaxng/565219_1.err @@ -0,0 +1 @@ +./test/relaxng/565219_1.xml validates diff --git a/libxml2/result/relaxng/565219_2.err b/libxml2/result/relaxng/565219_2.err new file mode 100644 index 0000000..7a997d3 --- /dev/null +++ b/libxml2/result/relaxng/565219_2.err @@ -0,0 +1,2 @@ +./test/relaxng/565219_2.xml:1: element foo: Relax-NG validity error : Element foo has wrong namespace: expecting http://bar.com/ +./test/relaxng/565219_2.xml fails to validate diff --git a/libxml2/result/relaxng/595792_0.err b/libxml2/result/relaxng/595792_0.err new file mode 100644 index 0000000..abd73cd --- /dev/null +++ b/libxml2/result/relaxng/595792_0.err @@ -0,0 +1 @@ +./test/relaxng/595792_0.xml validates diff --git a/libxml2/result/relaxng/710744_1.err b/libxml2/result/relaxng/710744_1.err new file mode 100644 index 0000000..77437eb --- /dev/null +++ b/libxml2/result/relaxng/710744_1.err @@ -0,0 +1 @@ +./test/relaxng/710744_1.xml validates diff --git a/libxml2/result/relaxng/710744_2.err b/libxml2/result/relaxng/710744_2.err new file mode 100644 index 0000000..ee8d8ac --- /dev/null +++ b/libxml2/result/relaxng/710744_2.err @@ -0,0 +1,2 @@ +./test/relaxng/710744_2.xml:3: element test: Relax-NG validity error : Invalid attribute foo for element test +./test/relaxng/710744_2.xml fails to validate diff --git a/libxml2/result/relaxng/OpenDocumentSub_0.err b/libxml2/result/relaxng/OpenDocumentSub_0.err new file mode 100644 index 0000000..d1c6917 --- /dev/null +++ b/libxml2/result/relaxng/OpenDocumentSub_0.err @@ -0,0 +1 @@ +./test/relaxng/OpenDocumentSub_0.xml validates diff --git a/libxml2/result/relaxng/ambig_name-class_0.err b/libxml2/result/relaxng/ambig_name-class_0.err new file mode 100644 index 0000000..5b180a4 --- /dev/null +++ b/libxml2/result/relaxng/ambig_name-class_0.err @@ -0,0 +1 @@ +./test/relaxng/ambig_name-class_0.xml validates diff --git a/libxml2/result/relaxng/anyName0_0.err b/libxml2/result/relaxng/anyName0_0.err new file mode 100644 index 0000000..f660c26 --- /dev/null +++ b/libxml2/result/relaxng/anyName0_0.err @@ -0,0 +1 @@ +./test/relaxng/anyName0_0.xml validates diff --git a/libxml2/result/relaxng/anyName1_0.err b/libxml2/result/relaxng/anyName1_0.err new file mode 100644 index 0000000..20ab315 --- /dev/null +++ b/libxml2/result/relaxng/anyName1_0.err @@ -0,0 +1 @@ +./test/relaxng/anyName1_0.xml validates diff --git a/libxml2/result/relaxng/broken-xml_0.err b/libxml2/result/relaxng/broken-xml_0.err new file mode 100644 index 0000000..e20c402 --- /dev/null +++ b/libxml2/result/relaxng/broken-xml_0.err @@ -0,0 +1,5 @@ +./test/relaxng/broken-xml.rng:2: parser error : Couldn't find end of Start Tag foo line 1 + +^ +Relax-NG parser error : xmlRelaxNGParse: could not load ./test/relaxng/broken-xml.rng +Relax-NG schema ./test/relaxng/broken-xml.rng failed to compile diff --git a/libxml2/result/relaxng/choice0_0.err b/libxml2/result/relaxng/choice0_0.err new file mode 100644 index 0000000..5198fa7 --- /dev/null +++ b/libxml2/result/relaxng/choice0_0.err @@ -0,0 +1 @@ +./test/relaxng/choice0_0.xml validates diff --git a/libxml2/result/relaxng/choice0_1.err b/libxml2/result/relaxng/choice0_1.err new file mode 100644 index 0000000..51214ba --- /dev/null +++ b/libxml2/result/relaxng/choice0_1.err @@ -0,0 +1 @@ +./test/relaxng/choice0_1.xml validates diff --git a/libxml2/result/relaxng/choice0_2.err b/libxml2/result/relaxng/choice0_2.err new file mode 100644 index 0000000..19bd3cc --- /dev/null +++ b/libxml2/result/relaxng/choice0_2.err @@ -0,0 +1 @@ +./test/relaxng/choice0_2.xml validates diff --git a/libxml2/result/relaxng/choice0_3.err b/libxml2/result/relaxng/choice0_3.err new file mode 100644 index 0000000..c82345f --- /dev/null +++ b/libxml2/result/relaxng/choice0_3.err @@ -0,0 +1 @@ +./test/relaxng/choice0_3.xml validates diff --git a/libxml2/result/relaxng/choice0_4.err b/libxml2/result/relaxng/choice0_4.err new file mode 100644 index 0000000..dca145b --- /dev/null +++ b/libxml2/result/relaxng/choice0_4.err @@ -0,0 +1,2 @@ +./test/relaxng/choice0_4.xml:1: element device: Relax-NG validity error : Element device failed to validate content +./test/relaxng/choice0_4.xml fails to validate diff --git a/libxml2/result/relaxng/choice0_5.err b/libxml2/result/relaxng/choice0_5.err new file mode 100644 index 0000000..a8dd1c9 --- /dev/null +++ b/libxml2/result/relaxng/choice0_5.err @@ -0,0 +1,2 @@ +./test/relaxng/choice0_5.xml:1: element device: Relax-NG validity error : Element device failed to validate content +./test/relaxng/choice0_5.xml fails to validate diff --git a/libxml2/result/relaxng/choice0_6.err b/libxml2/result/relaxng/choice0_6.err new file mode 100644 index 0000000..4facb03 --- /dev/null +++ b/libxml2/result/relaxng/choice0_6.err @@ -0,0 +1,2 @@ +./test/relaxng/choice0_6.xml:1: element device: Relax-NG validity error : Element device failed to validate content +./test/relaxng/choice0_6.xml fails to validate diff --git a/libxml2/result/relaxng/choice0_7.err b/libxml2/result/relaxng/choice0_7.err new file mode 100644 index 0000000..89b9e32 --- /dev/null +++ b/libxml2/result/relaxng/choice0_7.err @@ -0,0 +1,3 @@ +./test/relaxng/choice0_7.xml:1: element device: Relax-NG validity error : Did not expect element unknown-element there +./test/relaxng/choice0_7.xml:1: element device: Relax-NG validity error : Element device failed to validate content +./test/relaxng/choice0_7.xml fails to validate diff --git a/libxml2/result/relaxng/choice0_8.err b/libxml2/result/relaxng/choice0_8.err new file mode 100644 index 0000000..7094ecc --- /dev/null +++ b/libxml2/result/relaxng/choice0_8.err @@ -0,0 +1,3 @@ +./test/relaxng/choice0_8.xml:1: element device: Relax-NG validity error : Did not expect element unknown-element there +./test/relaxng/choice0_8.xml:1: element device: Relax-NG validity error : Element device failed to validate content +./test/relaxng/choice0_8.xml fails to validate diff --git a/libxml2/result/relaxng/compare0_0.err b/libxml2/result/relaxng/compare0_0.err new file mode 100644 index 0000000..9328f27 --- /dev/null +++ b/libxml2/result/relaxng/compare0_0.err @@ -0,0 +1,3 @@ +./test/relaxng/compare0_0.xml:2: element number: Relax-NG validity error : failed to compare type integer +./test/relaxng/compare0_0.xml:2: element number: Relax-NG validity error : Element number failed to validate attributes +./test/relaxng/compare0_0.xml fails to validate diff --git a/libxml2/result/relaxng/comps_0.err b/libxml2/result/relaxng/comps_0.err new file mode 100644 index 0000000..cdefe63 --- /dev/null +++ b/libxml2/result/relaxng/comps_0.err @@ -0,0 +1 @@ +./test/relaxng/comps_0.xml validates diff --git a/libxml2/result/relaxng/docbook_0.err b/libxml2/result/relaxng/docbook_0.err new file mode 100644 index 0000000..98d1971 --- /dev/null +++ b/libxml2/result/relaxng/docbook_0.err @@ -0,0 +1 @@ +./test/relaxng/docbook_0.xml validates diff --git a/libxml2/result/relaxng/empty0_0.err b/libxml2/result/relaxng/empty0_0.err new file mode 100644 index 0000000..97d0c9d --- /dev/null +++ b/libxml2/result/relaxng/empty0_0.err @@ -0,0 +1 @@ +./test/relaxng/empty0_0.xml validates diff --git a/libxml2/result/relaxng/empty1_0.err b/libxml2/result/relaxng/empty1_0.err new file mode 100644 index 0000000..4c1a9af --- /dev/null +++ b/libxml2/result/relaxng/empty1_0.err @@ -0,0 +1 @@ +./test/relaxng/empty1_0.xml validates diff --git a/libxml2/result/relaxng/empty1_1.err b/libxml2/result/relaxng/empty1_1.err new file mode 100644 index 0000000..6a71bb0 --- /dev/null +++ b/libxml2/result/relaxng/empty1_1.err @@ -0,0 +1 @@ +./test/relaxng/empty1_1.xml validates diff --git a/libxml2/result/relaxng/include0_0.err b/libxml2/result/relaxng/include0_0.err new file mode 100644 index 0000000..24013bc --- /dev/null +++ b/libxml2/result/relaxng/include0_0.err @@ -0,0 +1 @@ +./test/relaxng/include0_0.xml validates diff --git a/libxml2/result/relaxng/include1_0.err b/libxml2/result/relaxng/include1_0.err new file mode 100644 index 0000000..8c13f4c --- /dev/null +++ b/libxml2/result/relaxng/include1_0.err @@ -0,0 +1 @@ +./test/relaxng/include1_0.xml validates diff --git a/libxml2/result/relaxng/libvirt_0.err b/libxml2/result/relaxng/libvirt_0.err new file mode 100644 index 0000000..29535b8 --- /dev/null +++ b/libxml2/result/relaxng/libvirt_0.err @@ -0,0 +1 @@ +./test/relaxng/libvirt_0.xml validates diff --git a/libxml2/result/relaxng/list_0.err b/libxml2/result/relaxng/list_0.err new file mode 100644 index 0000000..5c8ca7c --- /dev/null +++ b/libxml2/result/relaxng/list_0.err @@ -0,0 +1 @@ +./test/relaxng/list_0.xml validates diff --git a/libxml2/result/relaxng/list_1.err b/libxml2/result/relaxng/list_1.err new file mode 100644 index 0000000..3ae35ae --- /dev/null +++ b/libxml2/result/relaxng/list_1.err @@ -0,0 +1,2 @@ +./test/relaxng/list_1.xml:1: element elem1: Relax-NG validity error : Element elem1 failed to validate attributes +./test/relaxng/list_1.xml fails to validate diff --git a/libxml2/result/relaxng/pattern3_1.err b/libxml2/result/relaxng/pattern3_1.err new file mode 100644 index 0000000..b1a9803 --- /dev/null +++ b/libxml2/result/relaxng/pattern3_1.err @@ -0,0 +1 @@ +./test/relaxng/pattern3_1.xml validates diff --git a/libxml2/result/relaxng/simplifyChoiceNotAllowed_0.err b/libxml2/result/relaxng/simplifyChoiceNotAllowed_0.err new file mode 100644 index 0000000..1124036 --- /dev/null +++ b/libxml2/result/relaxng/simplifyChoiceNotAllowed_0.err @@ -0,0 +1,3 @@ +./test/relaxng/simplifyChoiceNotAllowed_0.xml:7: element notAllowed: Relax-NG validity error : Did not expect element notAllowed there +./test/relaxng/simplifyChoiceNotAllowed_0.xml:13: element notAllowed: Relax-NG validity error : Did not expect element notAllowed there +./test/relaxng/simplifyChoiceNotAllowed_0.xml fails to validate diff --git a/libxml2/result/relaxng/spec1_1.err b/libxml2/result/relaxng/spec1_1.err new file mode 100644 index 0000000..1e213a2 --- /dev/null +++ b/libxml2/result/relaxng/spec1_1.err @@ -0,0 +1 @@ +./test/relaxng/spec1_1.xml validates diff --git a/libxml2/result/relaxng/spec_0.err b/libxml2/result/relaxng/spec_0.err new file mode 100644 index 0000000..df30e8a --- /dev/null +++ b/libxml2/result/relaxng/spec_0.err @@ -0,0 +1 @@ +./test/relaxng/spec_0.xml validates diff --git a/libxml2/result/relaxng/tutor10_10_1.err b/libxml2/result/relaxng/tutor10_10_1.err new file mode 100644 index 0000000..2370ff2 --- /dev/null +++ b/libxml2/result/relaxng/tutor10_10_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor10_10_1.xml validates diff --git a/libxml2/result/relaxng/tutor10_1_1.err b/libxml2/result/relaxng/tutor10_1_1.err new file mode 100644 index 0000000..361e1e8 --- /dev/null +++ b/libxml2/result/relaxng/tutor10_1_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor10_1_1.xml validates diff --git a/libxml2/result/relaxng/tutor10_1_2.err b/libxml2/result/relaxng/tutor10_1_2.err new file mode 100644 index 0000000..6092d7e --- /dev/null +++ b/libxml2/result/relaxng/tutor10_1_2.err @@ -0,0 +1 @@ +./test/relaxng/tutor10_1_2.xml validates diff --git a/libxml2/result/relaxng/tutor10_1_3.err b/libxml2/result/relaxng/tutor10_1_3.err new file mode 100644 index 0000000..1c5b68d --- /dev/null +++ b/libxml2/result/relaxng/tutor10_1_3.err @@ -0,0 +1 @@ +./test/relaxng/tutor10_1_3.xml validates diff --git a/libxml2/result/relaxng/tutor10_1_4.err b/libxml2/result/relaxng/tutor10_1_4.err new file mode 100644 index 0000000..4030e14 --- /dev/null +++ b/libxml2/result/relaxng/tutor10_1_4.err @@ -0,0 +1,2 @@ +./test/relaxng/tutor10_1_4.xml:1: element foo: Relax-NG validity error : Expecting a namespace for element foo +./test/relaxng/tutor10_1_4.xml fails to validate diff --git a/libxml2/result/relaxng/tutor10_1_5.err b/libxml2/result/relaxng/tutor10_1_5.err new file mode 100644 index 0000000..2ab8d90 --- /dev/null +++ b/libxml2/result/relaxng/tutor10_1_5.err @@ -0,0 +1,2 @@ +./test/relaxng/tutor10_1_5.xml:1: element foo: Relax-NG validity error : Element foo has wrong namespace: expecting http://www.example.com +./test/relaxng/tutor10_1_5.xml fails to validate diff --git a/libxml2/result/relaxng/tutor10_1_6.err b/libxml2/result/relaxng/tutor10_1_6.err new file mode 100644 index 0000000..cafeb15 --- /dev/null +++ b/libxml2/result/relaxng/tutor10_1_6.err @@ -0,0 +1,2 @@ +./test/relaxng/tutor10_1_6.xml:1: element foo: Relax-NG validity error : Element foo has wrong namespace: expecting http://www.example.com +./test/relaxng/tutor10_1_6.xml fails to validate diff --git a/libxml2/result/relaxng/tutor10_2_1.err b/libxml2/result/relaxng/tutor10_2_1.err new file mode 100644 index 0000000..836dbf7 --- /dev/null +++ b/libxml2/result/relaxng/tutor10_2_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor10_2_1.xml validates diff --git a/libxml2/result/relaxng/tutor10_2_2.err b/libxml2/result/relaxng/tutor10_2_2.err new file mode 100644 index 0000000..7e6ce31 --- /dev/null +++ b/libxml2/result/relaxng/tutor10_2_2.err @@ -0,0 +1 @@ +./test/relaxng/tutor10_2_2.xml validates diff --git a/libxml2/result/relaxng/tutor10_2_3.err b/libxml2/result/relaxng/tutor10_2_3.err new file mode 100644 index 0000000..2ff2a82 --- /dev/null +++ b/libxml2/result/relaxng/tutor10_2_3.err @@ -0,0 +1,2 @@ +./test/relaxng/tutor10_2_3.xml:1: element foo: Relax-NG validity error : Expecting no namespace for element foo +./test/relaxng/tutor10_2_3.xml fails to validate diff --git a/libxml2/result/relaxng/tutor10_2_4.err b/libxml2/result/relaxng/tutor10_2_4.err new file mode 100644 index 0000000..d716b9b --- /dev/null +++ b/libxml2/result/relaxng/tutor10_2_4.err @@ -0,0 +1,2 @@ +./test/relaxng/tutor10_2_4.xml:1: element foo: Relax-NG validity error : Expecting no namespace for element foo +./test/relaxng/tutor10_2_4.xml fails to validate diff --git a/libxml2/result/relaxng/tutor10_3_1.err b/libxml2/result/relaxng/tutor10_3_1.err new file mode 100644 index 0000000..5f9a3b0 --- /dev/null +++ b/libxml2/result/relaxng/tutor10_3_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor10_3_1.xml validates diff --git a/libxml2/result/relaxng/tutor10_4_1.err b/libxml2/result/relaxng/tutor10_4_1.err new file mode 100644 index 0000000..833c5ee --- /dev/null +++ b/libxml2/result/relaxng/tutor10_4_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor10_4_1.xml validates diff --git a/libxml2/result/relaxng/tutor10_5_1.err b/libxml2/result/relaxng/tutor10_5_1.err new file mode 100644 index 0000000..fb0bd96 --- /dev/null +++ b/libxml2/result/relaxng/tutor10_5_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor10_5_1.xml validates diff --git a/libxml2/result/relaxng/tutor10_6_1.err b/libxml2/result/relaxng/tutor10_6_1.err new file mode 100644 index 0000000..4fed8f7 --- /dev/null +++ b/libxml2/result/relaxng/tutor10_6_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor10_6_1.xml validates diff --git a/libxml2/result/relaxng/tutor10_7_1.err b/libxml2/result/relaxng/tutor10_7_1.err new file mode 100644 index 0000000..bbaab53 --- /dev/null +++ b/libxml2/result/relaxng/tutor10_7_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor10_7_1.xml validates diff --git a/libxml2/result/relaxng/tutor10_7_2.err b/libxml2/result/relaxng/tutor10_7_2.err new file mode 100644 index 0000000..f618988 --- /dev/null +++ b/libxml2/result/relaxng/tutor10_7_2.err @@ -0,0 +1 @@ +./test/relaxng/tutor10_7_2.xml validates diff --git a/libxml2/result/relaxng/tutor10_7_3.err b/libxml2/result/relaxng/tutor10_7_3.err new file mode 100644 index 0000000..913dfaf --- /dev/null +++ b/libxml2/result/relaxng/tutor10_7_3.err @@ -0,0 +1,2 @@ +./test/relaxng/tutor10_7_3.xml:2: element card: Relax-NG validity error : Element card failed to validate attributes +./test/relaxng/tutor10_7_3.xml fails to validate diff --git a/libxml2/result/relaxng/tutor10_8_1.err b/libxml2/result/relaxng/tutor10_8_1.err new file mode 100644 index 0000000..2412108 --- /dev/null +++ b/libxml2/result/relaxng/tutor10_8_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor10_8_1.xml validates diff --git a/libxml2/result/relaxng/tutor10_8_2.err b/libxml2/result/relaxng/tutor10_8_2.err new file mode 100644 index 0000000..6becf86 --- /dev/null +++ b/libxml2/result/relaxng/tutor10_8_2.err @@ -0,0 +1 @@ +./test/relaxng/tutor10_8_2.xml validates diff --git a/libxml2/result/relaxng/tutor10_8_3.err b/libxml2/result/relaxng/tutor10_8_3.err new file mode 100644 index 0000000..ee0eb55 --- /dev/null +++ b/libxml2/result/relaxng/tutor10_8_3.err @@ -0,0 +1,2 @@ +./test/relaxng/tutor10_8_3.xml:2: element card: Relax-NG validity error : Element card failed to validate attributes +./test/relaxng/tutor10_8_3.xml fails to validate diff --git a/libxml2/result/relaxng/tutor10_9_1.err b/libxml2/result/relaxng/tutor10_9_1.err new file mode 100644 index 0000000..3e82887 --- /dev/null +++ b/libxml2/result/relaxng/tutor10_9_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor10_9_1.xml validates diff --git a/libxml2/result/relaxng/tutor11_1_1.err b/libxml2/result/relaxng/tutor11_1_1.err new file mode 100644 index 0000000..a8283fa --- /dev/null +++ b/libxml2/result/relaxng/tutor11_1_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor11_1_1.xml validates diff --git a/libxml2/result/relaxng/tutor11_1_2.err b/libxml2/result/relaxng/tutor11_1_2.err new file mode 100644 index 0000000..72a72fa --- /dev/null +++ b/libxml2/result/relaxng/tutor11_1_2.err @@ -0,0 +1 @@ +./test/relaxng/tutor11_1_2.xml validates diff --git a/libxml2/result/relaxng/tutor11_1_3.err b/libxml2/result/relaxng/tutor11_1_3.err new file mode 100644 index 0000000..4c19cc9 --- /dev/null +++ b/libxml2/result/relaxng/tutor11_1_3.err @@ -0,0 +1 @@ +./test/relaxng/tutor11_1_3.xml validates diff --git a/libxml2/result/relaxng/tutor11_2_1.err b/libxml2/result/relaxng/tutor11_2_1.err new file mode 100644 index 0000000..eec60ec --- /dev/null +++ b/libxml2/result/relaxng/tutor11_2_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor11_2_1.xml validates diff --git a/libxml2/result/relaxng/tutor11_2_2.err b/libxml2/result/relaxng/tutor11_2_2.err new file mode 100644 index 0000000..f0abba0 --- /dev/null +++ b/libxml2/result/relaxng/tutor11_2_2.err @@ -0,0 +1,2 @@ +./test/relaxng/tutor11_2_2.xml:3: element card: Relax-NG validity error : Invalid attribute foo for element card +./test/relaxng/tutor11_2_2.xml fails to validate diff --git a/libxml2/result/relaxng/tutor11_2_3.err b/libxml2/result/relaxng/tutor11_2_3.err new file mode 100644 index 0000000..f07ea78 --- /dev/null +++ b/libxml2/result/relaxng/tutor11_2_3.err @@ -0,0 +1,2 @@ +./test/relaxng/tutor11_2_3.xml:3: element card: Relax-NG validity error : Invalid attribute b for element card +./test/relaxng/tutor11_2_3.xml fails to validate diff --git a/libxml2/result/relaxng/tutor11_3_1.err b/libxml2/result/relaxng/tutor11_3_1.err new file mode 100644 index 0000000..de9db32 --- /dev/null +++ b/libxml2/result/relaxng/tutor11_3_1.err @@ -0,0 +1,2 @@ +./test/relaxng/tutor11_3.rng:1: element element: Relax-NG parser error : Attributes conflicts in group +Relax-NG schema ./test/relaxng/tutor11_3.rng failed to compile diff --git a/libxml2/result/relaxng/tutor11_4_1.err b/libxml2/result/relaxng/tutor11_4_1.err new file mode 100644 index 0000000..16aed5c --- /dev/null +++ b/libxml2/result/relaxng/tutor11_4_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor11_4_1.xml validates diff --git a/libxml2/result/relaxng/tutor12_1_1.err b/libxml2/result/relaxng/tutor12_1_1.err new file mode 100644 index 0000000..aab20d3 --- /dev/null +++ b/libxml2/result/relaxng/tutor12_1_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor12_1_1.xml validates diff --git a/libxml2/result/relaxng/tutor13_1_1.err b/libxml2/result/relaxng/tutor13_1_1.err new file mode 100644 index 0000000..3a3f2ae --- /dev/null +++ b/libxml2/result/relaxng/tutor13_1_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor13_1_1.xml validates diff --git a/libxml2/result/relaxng/tutor1_1_1.err b/libxml2/result/relaxng/tutor1_1_1.err new file mode 100644 index 0000000..b6767f2 --- /dev/null +++ b/libxml2/result/relaxng/tutor1_1_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor1_1_1.xml validates diff --git a/libxml2/result/relaxng/tutor1_2_1.err b/libxml2/result/relaxng/tutor1_2_1.err new file mode 100644 index 0000000..2dc3698 --- /dev/null +++ b/libxml2/result/relaxng/tutor1_2_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor1_2_1.xml validates diff --git a/libxml2/result/relaxng/tutor1_3_1.err b/libxml2/result/relaxng/tutor1_3_1.err new file mode 100644 index 0000000..9c116d8 --- /dev/null +++ b/libxml2/result/relaxng/tutor1_3_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor1_3_1.xml validates diff --git a/libxml2/result/relaxng/tutor1_4_1.err b/libxml2/result/relaxng/tutor1_4_1.err new file mode 100644 index 0000000..9dc35e6 --- /dev/null +++ b/libxml2/result/relaxng/tutor1_4_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor1_4_1.xml validates diff --git a/libxml2/result/relaxng/tutor2_1_1.err b/libxml2/result/relaxng/tutor2_1_1.err new file mode 100644 index 0000000..5da7633 --- /dev/null +++ b/libxml2/result/relaxng/tutor2_1_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor2_1_1.xml validates diff --git a/libxml2/result/relaxng/tutor3_1_1.err b/libxml2/result/relaxng/tutor3_1_1.err new file mode 100644 index 0000000..815f1f0 --- /dev/null +++ b/libxml2/result/relaxng/tutor3_1_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor3_1_1.xml validates diff --git a/libxml2/result/relaxng/tutor3_1_2.err b/libxml2/result/relaxng/tutor3_1_2.err new file mode 100644 index 0000000..e126430 --- /dev/null +++ b/libxml2/result/relaxng/tutor3_1_2.err @@ -0,0 +1 @@ +./test/relaxng/tutor3_1_2.xml validates diff --git a/libxml2/result/relaxng/tutor3_2_1.err b/libxml2/result/relaxng/tutor3_2_1.err new file mode 100644 index 0000000..380250a --- /dev/null +++ b/libxml2/result/relaxng/tutor3_2_1.err @@ -0,0 +1,2 @@ +./test/relaxng/tutor3_2_1.xml:1: element email: Relax-NG validity error : Did not expect element email there +./test/relaxng/tutor3_2_1.xml fails to validate diff --git a/libxml2/result/relaxng/tutor3_3_1.err b/libxml2/result/relaxng/tutor3_3_1.err new file mode 100644 index 0000000..3cd5e05 --- /dev/null +++ b/libxml2/result/relaxng/tutor3_3_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor3_3_1.xml validates diff --git a/libxml2/result/relaxng/tutor3_4_1.err b/libxml2/result/relaxng/tutor3_4_1.err new file mode 100644 index 0000000..62956f7 --- /dev/null +++ b/libxml2/result/relaxng/tutor3_4_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor3_4_1.xml validates diff --git a/libxml2/result/relaxng/tutor3_5_1.err b/libxml2/result/relaxng/tutor3_5_1.err new file mode 100644 index 0000000..715b160 --- /dev/null +++ b/libxml2/result/relaxng/tutor3_5_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor3_5_1.xml validates diff --git a/libxml2/result/relaxng/tutor3_5_2.err b/libxml2/result/relaxng/tutor3_5_2.err new file mode 100644 index 0000000..16e6627 --- /dev/null +++ b/libxml2/result/relaxng/tutor3_5_2.err @@ -0,0 +1,3 @@ +./test/relaxng/tutor3_5_2.xml:2: element email: Relax-NG validity error : Expecting element name, got email +./test/relaxng/tutor3_5_2.xml:2: element email: Relax-NG validity error : Element card failed to validate content +./test/relaxng/tutor3_5_2.xml fails to validate diff --git a/libxml2/result/relaxng/tutor3_6_1.err b/libxml2/result/relaxng/tutor3_6_1.err new file mode 100644 index 0000000..ba6456e --- /dev/null +++ b/libxml2/result/relaxng/tutor3_6_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor3_6_1.xml validates diff --git a/libxml2/result/relaxng/tutor3_7_1.err b/libxml2/result/relaxng/tutor3_7_1.err new file mode 100644 index 0000000..88b2132 --- /dev/null +++ b/libxml2/result/relaxng/tutor3_7_1.err @@ -0,0 +1,2 @@ +./test/relaxng/tutor3_7.rng:1: element element: Relax-NG parser error : xmlRelaxNGParseElement: element has no content +Relax-NG schema ./test/relaxng/tutor3_7.rng failed to compile diff --git a/libxml2/result/relaxng/tutor3_8_1.err b/libxml2/result/relaxng/tutor3_8_1.err new file mode 100644 index 0000000..89894a9 --- /dev/null +++ b/libxml2/result/relaxng/tutor3_8_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor3_8_1.xml validates diff --git a/libxml2/result/relaxng/tutor3_9_1.err b/libxml2/result/relaxng/tutor3_9_1.err new file mode 100644 index 0000000..1ee50c2 --- /dev/null +++ b/libxml2/result/relaxng/tutor3_9_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor3_9_1.xml validates diff --git a/libxml2/result/relaxng/tutor4_1_1.err b/libxml2/result/relaxng/tutor4_1_1.err new file mode 100644 index 0000000..d8f436d --- /dev/null +++ b/libxml2/result/relaxng/tutor4_1_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor4_1_1.xml validates diff --git a/libxml2/result/relaxng/tutor4_2_1.err b/libxml2/result/relaxng/tutor4_2_1.err new file mode 100644 index 0000000..d44dcb8 --- /dev/null +++ b/libxml2/result/relaxng/tutor4_2_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor4_2_1.xml validates diff --git a/libxml2/result/relaxng/tutor4_3_1.err b/libxml2/result/relaxng/tutor4_3_1.err new file mode 100644 index 0000000..7ff3afe --- /dev/null +++ b/libxml2/result/relaxng/tutor4_3_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor4_3_1.xml validates diff --git a/libxml2/result/relaxng/tutor4_3_2.err b/libxml2/result/relaxng/tutor4_3_2.err new file mode 100644 index 0000000..d3eeffd --- /dev/null +++ b/libxml2/result/relaxng/tutor4_3_2.err @@ -0,0 +1 @@ +./test/relaxng/tutor4_3_2.xml validates diff --git a/libxml2/result/relaxng/tutor4_3_3.err b/libxml2/result/relaxng/tutor4_3_3.err new file mode 100644 index 0000000..5ae9811 --- /dev/null +++ b/libxml2/result/relaxng/tutor4_3_3.err @@ -0,0 +1 @@ +./test/relaxng/tutor4_3_3.xml validates diff --git a/libxml2/result/relaxng/tutor4_3_4.err b/libxml2/result/relaxng/tutor4_3_4.err new file mode 100644 index 0000000..e550043 --- /dev/null +++ b/libxml2/result/relaxng/tutor4_3_4.err @@ -0,0 +1 @@ +./test/relaxng/tutor4_3_4.xml validates diff --git a/libxml2/result/relaxng/tutor4_3_5.err b/libxml2/result/relaxng/tutor4_3_5.err new file mode 100644 index 0000000..cf76480 --- /dev/null +++ b/libxml2/result/relaxng/tutor4_3_5.err @@ -0,0 +1 @@ +./test/relaxng/tutor4_3_5.xml validates diff --git a/libxml2/result/relaxng/tutor4_3_6.err b/libxml2/result/relaxng/tutor4_3_6.err new file mode 100644 index 0000000..df80a81 --- /dev/null +++ b/libxml2/result/relaxng/tutor4_3_6.err @@ -0,0 +1 @@ +./test/relaxng/tutor4_3_6.xml validates diff --git a/libxml2/result/relaxng/tutor4_4_1.err b/libxml2/result/relaxng/tutor4_4_1.err new file mode 100644 index 0000000..595bd6e --- /dev/null +++ b/libxml2/result/relaxng/tutor4_4_1.err @@ -0,0 +1,2 @@ +./test/relaxng/tutor4_4.rng:25: element ref: Relax-NG parser error : Detected a cycle in inline references +Relax-NG schema ./test/relaxng/tutor4_4.rng failed to compile diff --git a/libxml2/result/relaxng/tutor5_1_1.err b/libxml2/result/relaxng/tutor5_1_1.err new file mode 100644 index 0000000..e6c2842 --- /dev/null +++ b/libxml2/result/relaxng/tutor5_1_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor5_1_1.xml validates diff --git a/libxml2/result/relaxng/tutor5_2_1.err b/libxml2/result/relaxng/tutor5_2_1.err new file mode 100644 index 0000000..a64df3b --- /dev/null +++ b/libxml2/result/relaxng/tutor5_2_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor5_2_1.xml validates diff --git a/libxml2/result/relaxng/tutor5_3_1.err b/libxml2/result/relaxng/tutor5_3_1.err new file mode 100644 index 0000000..72f4379 --- /dev/null +++ b/libxml2/result/relaxng/tutor5_3_1.err @@ -0,0 +1,2 @@ +./test/relaxng/tutor5_3.rng:1: element element: Relax-NG parser error : Element bad has a content type error +Relax-NG schema ./test/relaxng/tutor5_3.rng failed to compile diff --git a/libxml2/result/relaxng/tutor5_4_1.err b/libxml2/result/relaxng/tutor5_4_1.err new file mode 100644 index 0000000..13ac9bc --- /dev/null +++ b/libxml2/result/relaxng/tutor5_4_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor5_4_1.xml validates diff --git a/libxml2/result/relaxng/tutor6_1_1.err b/libxml2/result/relaxng/tutor6_1_1.err new file mode 100644 index 0000000..3c44662 --- /dev/null +++ b/libxml2/result/relaxng/tutor6_1_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor6_1_1.xml validates diff --git a/libxml2/result/relaxng/tutor6_1_2.err b/libxml2/result/relaxng/tutor6_1_2.err new file mode 100644 index 0000000..6c70fed --- /dev/null +++ b/libxml2/result/relaxng/tutor6_1_2.err @@ -0,0 +1 @@ +./test/relaxng/tutor6_1_2.xml validates diff --git a/libxml2/result/relaxng/tutor6_1_3.err b/libxml2/result/relaxng/tutor6_1_3.err new file mode 100644 index 0000000..f0f6e7f --- /dev/null +++ b/libxml2/result/relaxng/tutor6_1_3.err @@ -0,0 +1,2 @@ +./test/relaxng/tutor6_1_3.xml:1: element card: Relax-NG validity error : Element card failed to validate attributes +./test/relaxng/tutor6_1_3.xml fails to validate diff --git a/libxml2/result/relaxng/tutor6_1_4.err b/libxml2/result/relaxng/tutor6_1_4.err new file mode 100644 index 0000000..d9b2291 --- /dev/null +++ b/libxml2/result/relaxng/tutor6_1_4.err @@ -0,0 +1 @@ +./test/relaxng/tutor6_1_4.xml validates diff --git a/libxml2/result/relaxng/tutor6_1_5.err b/libxml2/result/relaxng/tutor6_1_5.err new file mode 100644 index 0000000..f601d7e --- /dev/null +++ b/libxml2/result/relaxng/tutor6_1_5.err @@ -0,0 +1 @@ +./test/relaxng/tutor6_1_5.xml validates diff --git a/libxml2/result/relaxng/tutor6_2_1.err b/libxml2/result/relaxng/tutor6_2_1.err new file mode 100644 index 0000000..d07807b --- /dev/null +++ b/libxml2/result/relaxng/tutor6_2_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor6_2_1.xml validates diff --git a/libxml2/result/relaxng/tutor6_2_2.err b/libxml2/result/relaxng/tutor6_2_2.err new file mode 100644 index 0000000..df10075 --- /dev/null +++ b/libxml2/result/relaxng/tutor6_2_2.err @@ -0,0 +1 @@ +./test/relaxng/tutor6_2_2.xml validates diff --git a/libxml2/result/relaxng/tutor6_2_3.err b/libxml2/result/relaxng/tutor6_2_3.err new file mode 100644 index 0000000..17602d3 --- /dev/null +++ b/libxml2/result/relaxng/tutor6_2_3.err @@ -0,0 +1 @@ +./test/relaxng/tutor6_2_3.xml validates diff --git a/libxml2/result/relaxng/tutor6_2_4.err b/libxml2/result/relaxng/tutor6_2_4.err new file mode 100644 index 0000000..b28ac23 --- /dev/null +++ b/libxml2/result/relaxng/tutor6_2_4.err @@ -0,0 +1,3 @@ +./test/relaxng/tutor6_2_4.xml:4: element preferredFormat: Relax-NG validity error : Error validating value +./test/relaxng/tutor6_2_4.xml:4: element preferredFormat: Relax-NG validity error : Element preferredFormat failed to validate content +./test/relaxng/tutor6_2_4.xml fails to validate diff --git a/libxml2/result/relaxng/tutor6_3_1.err b/libxml2/result/relaxng/tutor6_3_1.err new file mode 100644 index 0000000..91f721a --- /dev/null +++ b/libxml2/result/relaxng/tutor6_3_1.err @@ -0,0 +1,2 @@ +./test/relaxng/tutor6_3_1.xml:1: element card: Relax-NG validity error : Element card failed to validate attributes +./test/relaxng/tutor6_3_1.xml fails to validate diff --git a/libxml2/result/relaxng/tutor7_1_1.err b/libxml2/result/relaxng/tutor7_1_1.err new file mode 100644 index 0000000..6cae548 --- /dev/null +++ b/libxml2/result/relaxng/tutor7_1_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor7_1_1.xml validates diff --git a/libxml2/result/relaxng/tutor7_1_2.err b/libxml2/result/relaxng/tutor7_1_2.err new file mode 100644 index 0000000..395f407 --- /dev/null +++ b/libxml2/result/relaxng/tutor7_1_2.err @@ -0,0 +1,4 @@ +./test/relaxng/tutor7_1_2.xml:1: element vector: Relax-NG validity error : failed to validate type float +./test/relaxng/tutor7_1_2.xml:1: element vector: Relax-NG validity error : Error validating list +./test/relaxng/tutor7_1_2.xml:1: element vector: Relax-NG validity error : Element vector failed to validate content +./test/relaxng/tutor7_1_2.xml fails to validate diff --git a/libxml2/result/relaxng/tutor7_1_3.err b/libxml2/result/relaxng/tutor7_1_3.err new file mode 100644 index 0000000..90fb8f9 --- /dev/null +++ b/libxml2/result/relaxng/tutor7_1_3.err @@ -0,0 +1,4 @@ +./test/relaxng/tutor7_1_3.xml:1: element vector: Relax-NG validity error : Extra data in list: 5.6 +./test/relaxng/tutor7_1_3.xml:1: element vector: Relax-NG validity error : Error validating list +./test/relaxng/tutor7_1_3.xml:1: element vector: Relax-NG validity error : Element vector failed to validate content +./test/relaxng/tutor7_1_3.xml fails to validate diff --git a/libxml2/result/relaxng/tutor7_1_4.err b/libxml2/result/relaxng/tutor7_1_4.err new file mode 100644 index 0000000..81b9f58 --- /dev/null +++ b/libxml2/result/relaxng/tutor7_1_4.err @@ -0,0 +1 @@ +./test/relaxng/tutor7_1_4.xml validates diff --git a/libxml2/result/relaxng/tutor7_2_1.err b/libxml2/result/relaxng/tutor7_2_1.err new file mode 100644 index 0000000..8673462 --- /dev/null +++ b/libxml2/result/relaxng/tutor7_2_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor7_2_1.xml validates diff --git a/libxml2/result/relaxng/tutor7_2_2.err b/libxml2/result/relaxng/tutor7_2_2.err new file mode 100644 index 0000000..d03cb32 --- /dev/null +++ b/libxml2/result/relaxng/tutor7_2_2.err @@ -0,0 +1 @@ +./test/relaxng/tutor7_2_2.xml validates diff --git a/libxml2/result/relaxng/tutor7_2_3.err b/libxml2/result/relaxng/tutor7_2_3.err new file mode 100644 index 0000000..baf1190 --- /dev/null +++ b/libxml2/result/relaxng/tutor7_2_3.err @@ -0,0 +1 @@ +./test/relaxng/tutor7_2_3.xml validates diff --git a/libxml2/result/relaxng/tutor7_2_4.err b/libxml2/result/relaxng/tutor7_2_4.err new file mode 100644 index 0000000..b1c22a8 --- /dev/null +++ b/libxml2/result/relaxng/tutor7_2_4.err @@ -0,0 +1,4 @@ +./test/relaxng/tutor7_2_4.xml:1: element vector: Relax-NG validity error : failed to validate type double +./test/relaxng/tutor7_2_4.xml:1: element vector: Relax-NG validity error : Error validating list +./test/relaxng/tutor7_2_4.xml:1: element vector: Relax-NG validity error : Element vector failed to validate content +./test/relaxng/tutor7_2_4.xml fails to validate diff --git a/libxml2/result/relaxng/tutor7_3_1.err b/libxml2/result/relaxng/tutor7_3_1.err new file mode 100644 index 0000000..e096b53 --- /dev/null +++ b/libxml2/result/relaxng/tutor7_3_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor7_3_1.xml validates diff --git a/libxml2/result/relaxng/tutor7_3_2.err b/libxml2/result/relaxng/tutor7_3_2.err new file mode 100644 index 0000000..24e394d --- /dev/null +++ b/libxml2/result/relaxng/tutor7_3_2.err @@ -0,0 +1 @@ +./test/relaxng/tutor7_3_2.xml validates diff --git a/libxml2/result/relaxng/tutor7_3_3.err b/libxml2/result/relaxng/tutor7_3_3.err new file mode 100644 index 0000000..4919675 --- /dev/null +++ b/libxml2/result/relaxng/tutor7_3_3.err @@ -0,0 +1 @@ +./test/relaxng/tutor7_3_3.xml validates diff --git a/libxml2/result/relaxng/tutor7_3_4.err b/libxml2/result/relaxng/tutor7_3_4.err new file mode 100644 index 0000000..70531e4 --- /dev/null +++ b/libxml2/result/relaxng/tutor7_3_4.err @@ -0,0 +1,4 @@ +./test/relaxng/tutor7_3_4.xml:1: element path: Relax-NG validity error : Extra data in list: 5.6 +./test/relaxng/tutor7_3_4.xml:1: element path: Relax-NG validity error : Error validating list +./test/relaxng/tutor7_3_4.xml:1: element path: Relax-NG validity error : Element path failed to validate content +./test/relaxng/tutor7_3_4.xml fails to validate diff --git a/libxml2/result/relaxng/tutor7_3_5.err b/libxml2/result/relaxng/tutor7_3_5.err new file mode 100644 index 0000000..601a68b --- /dev/null +++ b/libxml2/result/relaxng/tutor7_3_5.err @@ -0,0 +1,4 @@ +./test/relaxng/tutor7_3_5.xml:1: element path: Relax-NG validity error : failed to validate type double +./test/relaxng/tutor7_3_5.xml:1: element path: Relax-NG validity error : Error validating list +./test/relaxng/tutor7_3_5.xml:1: element path: Relax-NG validity error : Element path failed to validate content +./test/relaxng/tutor7_3_5.xml fails to validate diff --git a/libxml2/result/relaxng/tutor8_1_1.err b/libxml2/result/relaxng/tutor8_1_1.err new file mode 100644 index 0000000..578c396 --- /dev/null +++ b/libxml2/result/relaxng/tutor8_1_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor8_1_1.xml validates diff --git a/libxml2/result/relaxng/tutor8_1_2.err b/libxml2/result/relaxng/tutor8_1_2.err new file mode 100644 index 0000000..11c1611 --- /dev/null +++ b/libxml2/result/relaxng/tutor8_1_2.err @@ -0,0 +1 @@ +./test/relaxng/tutor8_1_2.xml validates diff --git a/libxml2/result/relaxng/tutor8_2_1.err b/libxml2/result/relaxng/tutor8_2_1.err new file mode 100644 index 0000000..4c6b3d4 --- /dev/null +++ b/libxml2/result/relaxng/tutor8_2_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor8_2_1.xml validates diff --git a/libxml2/result/relaxng/tutor8_2_2.err b/libxml2/result/relaxng/tutor8_2_2.err new file mode 100644 index 0000000..7f959b9 --- /dev/null +++ b/libxml2/result/relaxng/tutor8_2_2.err @@ -0,0 +1 @@ +./test/relaxng/tutor8_2_2.xml validates diff --git a/libxml2/result/relaxng/tutor8_2_3.err b/libxml2/result/relaxng/tutor8_2_3.err new file mode 100644 index 0000000..21abe93 --- /dev/null +++ b/libxml2/result/relaxng/tutor8_2_3.err @@ -0,0 +1 @@ +./test/relaxng/tutor8_2_3.xml validates diff --git a/libxml2/result/relaxng/tutor8_2_4.err b/libxml2/result/relaxng/tutor8_2_4.err new file mode 100644 index 0000000..40a08b4 --- /dev/null +++ b/libxml2/result/relaxng/tutor8_2_4.err @@ -0,0 +1,3 @@ +Relax-NG validity error : Extra element title in interleave +./test/relaxng/tutor8_2_4.xml:5: element title: Relax-NG validity error : Element head failed to validate content +./test/relaxng/tutor8_2_4.xml fails to validate diff --git a/libxml2/result/relaxng/tutor8_2_5.err b/libxml2/result/relaxng/tutor8_2_5.err new file mode 100644 index 0000000..c215d76 --- /dev/null +++ b/libxml2/result/relaxng/tutor8_2_5.err @@ -0,0 +1,4 @@ +./test/relaxng/tutor8_2_5.xml:1: element head: Relax-NG validity error : Expecting an element title, got nothing +./test/relaxng/tutor8_2_5.xml:1: element head: Relax-NG validity error : Invalid sequence in interleave +./test/relaxng/tutor8_2_5.xml:1: element head: Relax-NG validity error : Element head failed to validate content +./test/relaxng/tutor8_2_5.xml fails to validate diff --git a/libxml2/result/relaxng/tutor8_2_6.err b/libxml2/result/relaxng/tutor8_2_6.err new file mode 100644 index 0000000..b959768 --- /dev/null +++ b/libxml2/result/relaxng/tutor8_2_6.err @@ -0,0 +1,3 @@ +Relax-NG validity error : Extra element base in interleave +./test/relaxng/tutor8_2_6.xml:4: element base: Relax-NG validity error : Element head failed to validate content +./test/relaxng/tutor8_2_6.xml fails to validate diff --git a/libxml2/result/relaxng/tutor8_3_1.err b/libxml2/result/relaxng/tutor8_3_1.err new file mode 100644 index 0000000..9b637eb --- /dev/null +++ b/libxml2/result/relaxng/tutor8_3_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor8_3_1.xml validates diff --git a/libxml2/result/relaxng/tutor9_10_1.err b/libxml2/result/relaxng/tutor9_10_1.err new file mode 100644 index 0000000..7c6117f --- /dev/null +++ b/libxml2/result/relaxng/tutor9_10_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor9_10_1.xml validates diff --git a/libxml2/result/relaxng/tutor9_11_1.err b/libxml2/result/relaxng/tutor9_11_1.err new file mode 100644 index 0000000..02a1f2a --- /dev/null +++ b/libxml2/result/relaxng/tutor9_11_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor9_11_1.xml validates diff --git a/libxml2/result/relaxng/tutor9_12_1.err b/libxml2/result/relaxng/tutor9_12_1.err new file mode 100644 index 0000000..08f2a8a --- /dev/null +++ b/libxml2/result/relaxng/tutor9_12_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor9_12_1.xml validates diff --git a/libxml2/result/relaxng/tutor9_1_1.err b/libxml2/result/relaxng/tutor9_1_1.err new file mode 100644 index 0000000..42d03d1 --- /dev/null +++ b/libxml2/result/relaxng/tutor9_1_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor9_1_1.xml validates diff --git a/libxml2/result/relaxng/tutor9_2_1.err b/libxml2/result/relaxng/tutor9_2_1.err new file mode 100644 index 0000000..fc174ff --- /dev/null +++ b/libxml2/result/relaxng/tutor9_2_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor9_2_1.xml validates diff --git a/libxml2/result/relaxng/tutor9_2_2.err b/libxml2/result/relaxng/tutor9_2_2.err new file mode 100644 index 0000000..a07aa0d --- /dev/null +++ b/libxml2/result/relaxng/tutor9_2_2.err @@ -0,0 +1 @@ +./test/relaxng/tutor9_2_2.xml validates diff --git a/libxml2/result/relaxng/tutor9_3_1.err b/libxml2/result/relaxng/tutor9_3_1.err new file mode 100644 index 0000000..80ac24c --- /dev/null +++ b/libxml2/result/relaxng/tutor9_3_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor9_3_1.xml validates diff --git a/libxml2/result/relaxng/tutor9_3_2.err b/libxml2/result/relaxng/tutor9_3_2.err new file mode 100644 index 0000000..a361c93 --- /dev/null +++ b/libxml2/result/relaxng/tutor9_3_2.err @@ -0,0 +1 @@ +./test/relaxng/tutor9_3_2.xml validates diff --git a/libxml2/result/relaxng/tutor9_4_1.err b/libxml2/result/relaxng/tutor9_4_1.err new file mode 100644 index 0000000..514eb98 --- /dev/null +++ b/libxml2/result/relaxng/tutor9_4_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor9_4_1.xml validates diff --git a/libxml2/result/relaxng/tutor9_4_2.err b/libxml2/result/relaxng/tutor9_4_2.err new file mode 100644 index 0000000..ba780dc --- /dev/null +++ b/libxml2/result/relaxng/tutor9_4_2.err @@ -0,0 +1 @@ +./test/relaxng/tutor9_4_2.xml validates diff --git a/libxml2/result/relaxng/tutor9_5_1.err b/libxml2/result/relaxng/tutor9_5_1.err new file mode 100644 index 0000000..54f5d6a --- /dev/null +++ b/libxml2/result/relaxng/tutor9_5_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor9_5_1.xml validates diff --git a/libxml2/result/relaxng/tutor9_5_2.err b/libxml2/result/relaxng/tutor9_5_2.err new file mode 100644 index 0000000..1384617 --- /dev/null +++ b/libxml2/result/relaxng/tutor9_5_2.err @@ -0,0 +1,3 @@ +./test/relaxng/tutor9_5_2.xml:2: element card: Relax-NG validity error : Invalid sequence in interleave +./test/relaxng/tutor9_5_2.xml:2: element card: Relax-NG validity error : Element card failed to validate attributes +./test/relaxng/tutor9_5_2.xml fails to validate diff --git a/libxml2/result/relaxng/tutor9_5_3.err b/libxml2/result/relaxng/tutor9_5_3.err new file mode 100644 index 0000000..db5d0ae --- /dev/null +++ b/libxml2/result/relaxng/tutor9_5_3.err @@ -0,0 +1,2 @@ +./test/relaxng/tutor9_5_3.xml:2: element card: Relax-NG validity error : Invalid attribute error for element card +./test/relaxng/tutor9_5_3.xml fails to validate diff --git a/libxml2/result/relaxng/tutor9_6_1.err b/libxml2/result/relaxng/tutor9_6_1.err new file mode 100644 index 0000000..15724e5 --- /dev/null +++ b/libxml2/result/relaxng/tutor9_6_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor9_6_1.xml validates diff --git a/libxml2/result/relaxng/tutor9_6_2.err b/libxml2/result/relaxng/tutor9_6_2.err new file mode 100644 index 0000000..f7ec97f --- /dev/null +++ b/libxml2/result/relaxng/tutor9_6_2.err @@ -0,0 +1,2 @@ +./test/relaxng/tutor9_6_2.xml:2: element card: Relax-NG validity error : Element card failed to validate attributes +./test/relaxng/tutor9_6_2.xml fails to validate diff --git a/libxml2/result/relaxng/tutor9_6_3.err b/libxml2/result/relaxng/tutor9_6_3.err new file mode 100644 index 0000000..5fe5f57 --- /dev/null +++ b/libxml2/result/relaxng/tutor9_6_3.err @@ -0,0 +1,2 @@ +./test/relaxng/tutor9_6_3.xml:2: element card: Relax-NG validity error : Invalid attribute error for element card +./test/relaxng/tutor9_6_3.xml fails to validate diff --git a/libxml2/result/relaxng/tutor9_7_1.err b/libxml2/result/relaxng/tutor9_7_1.err new file mode 100644 index 0000000..00d1502 --- /dev/null +++ b/libxml2/result/relaxng/tutor9_7_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor9_7_1.xml validates diff --git a/libxml2/result/relaxng/tutor9_8_1.err b/libxml2/result/relaxng/tutor9_8_1.err new file mode 100644 index 0000000..1849f8b --- /dev/null +++ b/libxml2/result/relaxng/tutor9_8_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor9_8_1.xml validates diff --git a/libxml2/result/relaxng/tutor9_9_1.err b/libxml2/result/relaxng/tutor9_9_1.err new file mode 100644 index 0000000..d88f01a --- /dev/null +++ b/libxml2/result/relaxng/tutor9_9_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor9_9_1.xml validates diff --git a/libxml2/result/schemas/570702_0_0.err b/libxml2/result/schemas/570702_0_0.err new file mode 100644 index 0000000..41716e7 --- /dev/null +++ b/libxml2/result/schemas/570702_0_0.err @@ -0,0 +1 @@ +./test/schemas/570702_0.xml validates diff --git a/libxml2/result/schemas/579746_0_0.err b/libxml2/result/schemas/579746_0_0.err new file mode 100644 index 0000000..c9a24f2 --- /dev/null +++ b/libxml2/result/schemas/579746_0_0.err @@ -0,0 +1 @@ +./test/schemas/579746_0.xml validates diff --git a/libxml2/result/schemas/579746_0_1.err b/libxml2/result/schemas/579746_0_1.err new file mode 100644 index 0000000..8e3d39a --- /dev/null +++ b/libxml2/result/schemas/579746_0_1.err @@ -0,0 +1 @@ +./test/schemas/579746_1.xml validates diff --git a/libxml2/result/schemas/579746_0_2.err b/libxml2/result/schemas/579746_0_2.err new file mode 100644 index 0000000..a11eaf1 --- /dev/null +++ b/libxml2/result/schemas/579746_0_2.err @@ -0,0 +1 @@ +./test/schemas/579746_2.xml validates diff --git a/libxml2/result/schemas/579746_0_3.err b/libxml2/result/schemas/579746_0_3.err new file mode 100644 index 0000000..1d3a4a5 --- /dev/null +++ b/libxml2/result/schemas/579746_0_3.err @@ -0,0 +1,2 @@ +./test/schemas/579746_3.xml:5: Schemas validity error : Element 'customer': This element is not expected. +./test/schemas/579746_3.xml fails to validate diff --git a/libxml2/result/schemas/579746_0_4.err b/libxml2/result/schemas/579746_0_4.err new file mode 100644 index 0000000..4763001 --- /dev/null +++ b/libxml2/result/schemas/579746_0_4.err @@ -0,0 +1 @@ +./test/schemas/579746_4.xml validates diff --git a/libxml2/result/schemas/579746_0_5.err b/libxml2/result/schemas/579746_0_5.err new file mode 100644 index 0000000..f9499d4 --- /dev/null +++ b/libxml2/result/schemas/579746_0_5.err @@ -0,0 +1,2 @@ +./test/schemas/579746_5.xml:5: Schemas validity error : Element 'comment': This element is not expected. +./test/schemas/579746_5.xml fails to validate diff --git a/libxml2/result/schemas/579746_1_0.err b/libxml2/result/schemas/579746_1_0.err new file mode 100644 index 0000000..c9a24f2 --- /dev/null +++ b/libxml2/result/schemas/579746_1_0.err @@ -0,0 +1 @@ +./test/schemas/579746_0.xml validates diff --git a/libxml2/result/schemas/579746_1_1.err b/libxml2/result/schemas/579746_1_1.err new file mode 100644 index 0000000..8e3d39a --- /dev/null +++ b/libxml2/result/schemas/579746_1_1.err @@ -0,0 +1 @@ +./test/schemas/579746_1.xml validates diff --git a/libxml2/result/schemas/579746_1_2.err b/libxml2/result/schemas/579746_1_2.err new file mode 100644 index 0000000..a11eaf1 --- /dev/null +++ b/libxml2/result/schemas/579746_1_2.err @@ -0,0 +1 @@ +./test/schemas/579746_2.xml validates diff --git a/libxml2/result/schemas/579746_1_3.err b/libxml2/result/schemas/579746_1_3.err new file mode 100644 index 0000000..1d3a4a5 --- /dev/null +++ b/libxml2/result/schemas/579746_1_3.err @@ -0,0 +1,2 @@ +./test/schemas/579746_3.xml:5: Schemas validity error : Element 'customer': This element is not expected. +./test/schemas/579746_3.xml fails to validate diff --git a/libxml2/result/schemas/579746_1_4.err b/libxml2/result/schemas/579746_1_4.err new file mode 100644 index 0000000..4763001 --- /dev/null +++ b/libxml2/result/schemas/579746_1_4.err @@ -0,0 +1 @@ +./test/schemas/579746_4.xml validates diff --git a/libxml2/result/schemas/579746_1_5.err b/libxml2/result/schemas/579746_1_5.err new file mode 100644 index 0000000..f9499d4 --- /dev/null +++ b/libxml2/result/schemas/579746_1_5.err @@ -0,0 +1,2 @@ +./test/schemas/579746_5.xml:5: Schemas validity error : Element 'comment': This element is not expected. +./test/schemas/579746_5.xml fails to validate diff --git a/libxml2/result/schemas/582887_0_0.err b/libxml2/result/schemas/582887_0_0.err new file mode 100644 index 0000000..4ae8482 --- /dev/null +++ b/libxml2/result/schemas/582887_0_0.err @@ -0,0 +1 @@ +./test/schemas/582887_0.xml validates diff --git a/libxml2/result/schemas/582906-1_0_0.err b/libxml2/result/schemas/582906-1_0_0.err new file mode 100644 index 0000000..e1abbf5 --- /dev/null +++ b/libxml2/result/schemas/582906-1_0_0.err @@ -0,0 +1 @@ +./test/schemas/582906-1_0.xml validates diff --git a/libxml2/result/schemas/582906-2_0_0.err b/libxml2/result/schemas/582906-2_0_0.err new file mode 100644 index 0000000..c1f8204 --- /dev/null +++ b/libxml2/result/schemas/582906-2_0_0.err @@ -0,0 +1 @@ +test/schemas/582906-2-prog1.xsd:9: element include: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}include': The target namespace 'http://example.com/xml/Prog3' of the included/redefined schema 'test/schemas/582906-2-common.xsd' differs from 'http://example.com/xml/Prog1' of the including/redefining schema. diff --git a/libxml2/result/schemas/all1_0_0.err b/libxml2/result/schemas/all1_0_0.err new file mode 100644 index 0000000..327cec7 --- /dev/null +++ b/libxml2/result/schemas/all1_0_0.err @@ -0,0 +1 @@ +./test/schemas/all1_0.xml validates diff --git a/libxml2/result/schemas/all_0_0.err b/libxml2/result/schemas/all_0_0.err new file mode 100644 index 0000000..08eb108 --- /dev/null +++ b/libxml2/result/schemas/all_0_0.err @@ -0,0 +1 @@ +./test/schemas/all_0.xml validates diff --git a/libxml2/result/schemas/all_0_1.err b/libxml2/result/schemas/all_0_1.err new file mode 100644 index 0000000..eaf4a1a --- /dev/null +++ b/libxml2/result/schemas/all_0_1.err @@ -0,0 +1 @@ +./test/schemas/all_1.xml validates diff --git a/libxml2/result/schemas/all_0_2.err b/libxml2/result/schemas/all_0_2.err new file mode 100644 index 0000000..62af901 --- /dev/null +++ b/libxml2/result/schemas/all_0_2.err @@ -0,0 +1 @@ +./test/schemas/all_2.xml validates diff --git a/libxml2/result/schemas/all_0_3.err b/libxml2/result/schemas/all_0_3.err new file mode 100644 index 0000000..4408f28 --- /dev/null +++ b/libxml2/result/schemas/all_0_3.err @@ -0,0 +1,2 @@ +./test/schemas/all_3.xml:1: Schemas validity error : Element 'doc': Missing child element(s). Expected is ( c ). +./test/schemas/all_3.xml fails to validate diff --git a/libxml2/result/schemas/all_0_4.err b/libxml2/result/schemas/all_0_4.err new file mode 100644 index 0000000..02a733d --- /dev/null +++ b/libxml2/result/schemas/all_0_4.err @@ -0,0 +1,2 @@ +./test/schemas/all_4.xml:1: Schemas validity error : Element 'doc': Missing child element(s). Expected is one of ( a, b, c ). +./test/schemas/all_4.xml fails to validate diff --git a/libxml2/result/schemas/all_0_5.err b/libxml2/result/schemas/all_0_5.err new file mode 100644 index 0000000..db31ad5 --- /dev/null +++ b/libxml2/result/schemas/all_0_5.err @@ -0,0 +1,2 @@ +./test/schemas/all_5.xml:1: Schemas validity error : Element 'a': This element is not expected. Expected is ( c ). +./test/schemas/all_5.xml fails to validate diff --git a/libxml2/result/schemas/all_0_6.err b/libxml2/result/schemas/all_0_6.err new file mode 100644 index 0000000..11ce1c3 --- /dev/null +++ b/libxml2/result/schemas/all_0_6.err @@ -0,0 +1,2 @@ +./test/schemas/all_6.xml:1: Schemas validity error : Element 'doc': Missing child element(s). Expected is one of ( b, c ). +./test/schemas/all_6.xml fails to validate diff --git a/libxml2/result/schemas/all_0_7.err b/libxml2/result/schemas/all_0_7.err new file mode 100644 index 0000000..64a9c28 --- /dev/null +++ b/libxml2/result/schemas/all_0_7.err @@ -0,0 +1,2 @@ +./test/schemas/all_7.xml:1: Schemas validity error : Element 'doc': Missing child element(s). Expected is ( c ). +./test/schemas/all_7.xml fails to validate diff --git a/libxml2/result/schemas/all_1_0.err b/libxml2/result/schemas/all_1_0.err new file mode 100644 index 0000000..08eb108 --- /dev/null +++ b/libxml2/result/schemas/all_1_0.err @@ -0,0 +1 @@ +./test/schemas/all_0.xml validates diff --git a/libxml2/result/schemas/all_1_1.err b/libxml2/result/schemas/all_1_1.err new file mode 100644 index 0000000..eaf4a1a --- /dev/null +++ b/libxml2/result/schemas/all_1_1.err @@ -0,0 +1 @@ +./test/schemas/all_1.xml validates diff --git a/libxml2/result/schemas/all_1_2.err b/libxml2/result/schemas/all_1_2.err new file mode 100644 index 0000000..62af901 --- /dev/null +++ b/libxml2/result/schemas/all_1_2.err @@ -0,0 +1 @@ +./test/schemas/all_2.xml validates diff --git a/libxml2/result/schemas/all_1_3.err b/libxml2/result/schemas/all_1_3.err new file mode 100644 index 0000000..4408f28 --- /dev/null +++ b/libxml2/result/schemas/all_1_3.err @@ -0,0 +1,2 @@ +./test/schemas/all_3.xml:1: Schemas validity error : Element 'doc': Missing child element(s). Expected is ( c ). +./test/schemas/all_3.xml fails to validate diff --git a/libxml2/result/schemas/all_1_4.err b/libxml2/result/schemas/all_1_4.err new file mode 100644 index 0000000..2eb22ae --- /dev/null +++ b/libxml2/result/schemas/all_1_4.err @@ -0,0 +1 @@ +./test/schemas/all_4.xml validates diff --git a/libxml2/result/schemas/all_1_5.err b/libxml2/result/schemas/all_1_5.err new file mode 100644 index 0000000..db31ad5 --- /dev/null +++ b/libxml2/result/schemas/all_1_5.err @@ -0,0 +1,2 @@ +./test/schemas/all_5.xml:1: Schemas validity error : Element 'a': This element is not expected. Expected is ( c ). +./test/schemas/all_5.xml fails to validate diff --git a/libxml2/result/schemas/all_1_6.err b/libxml2/result/schemas/all_1_6.err new file mode 100644 index 0000000..11ce1c3 --- /dev/null +++ b/libxml2/result/schemas/all_1_6.err @@ -0,0 +1,2 @@ +./test/schemas/all_6.xml:1: Schemas validity error : Element 'doc': Missing child element(s). Expected is one of ( b, c ). +./test/schemas/all_6.xml fails to validate diff --git a/libxml2/result/schemas/all_1_7.err b/libxml2/result/schemas/all_1_7.err new file mode 100644 index 0000000..64a9c28 --- /dev/null +++ b/libxml2/result/schemas/all_1_7.err @@ -0,0 +1,2 @@ +./test/schemas/all_7.xml:1: Schemas validity error : Element 'doc': Missing child element(s). Expected is ( c ). +./test/schemas/all_7.xml fails to validate diff --git a/libxml2/result/schemas/all_2_0.err b/libxml2/result/schemas/all_2_0.err new file mode 100644 index 0000000..378cb7d --- /dev/null +++ b/libxml2/result/schemas/all_2_0.err @@ -0,0 +1,2 @@ +./test/schemas/all_0.xml:1: Schemas validity error : Element 'c': This element is not expected. +./test/schemas/all_0.xml fails to validate diff --git a/libxml2/result/schemas/all_2_1.err b/libxml2/result/schemas/all_2_1.err new file mode 100644 index 0000000..27d90c8 --- /dev/null +++ b/libxml2/result/schemas/all_2_1.err @@ -0,0 +1,2 @@ +./test/schemas/all_1.xml:1: Schemas validity error : Element 'c': This element is not expected. Expected is ( a ). +./test/schemas/all_1.xml fails to validate diff --git a/libxml2/result/schemas/all_2_2.err b/libxml2/result/schemas/all_2_2.err new file mode 100644 index 0000000..77dd52d --- /dev/null +++ b/libxml2/result/schemas/all_2_2.err @@ -0,0 +1,2 @@ +./test/schemas/all_2.xml:1: Schemas validity error : Element 'c': This element is not expected. +./test/schemas/all_2.xml fails to validate diff --git a/libxml2/result/schemas/all_2_3.err b/libxml2/result/schemas/all_2_3.err new file mode 100644 index 0000000..8186e82 --- /dev/null +++ b/libxml2/result/schemas/all_2_3.err @@ -0,0 +1 @@ +./test/schemas/all_3.xml validates diff --git a/libxml2/result/schemas/all_2_4.err b/libxml2/result/schemas/all_2_4.err new file mode 100644 index 0000000..75b09cd --- /dev/null +++ b/libxml2/result/schemas/all_2_4.err @@ -0,0 +1,2 @@ +./test/schemas/all_4.xml:1: Schemas validity error : Element 'doc': Missing child element(s). Expected is one of ( a, b ). +./test/schemas/all_4.xml fails to validate diff --git a/libxml2/result/schemas/all_2_5.err b/libxml2/result/schemas/all_2_5.err new file mode 100644 index 0000000..6bcea2a --- /dev/null +++ b/libxml2/result/schemas/all_2_5.err @@ -0,0 +1,2 @@ +./test/schemas/all_5.xml:1: Schemas validity error : Element 'a': This element is not expected. +./test/schemas/all_5.xml fails to validate diff --git a/libxml2/result/schemas/all_2_6.err b/libxml2/result/schemas/all_2_6.err new file mode 100644 index 0000000..d4a9594 --- /dev/null +++ b/libxml2/result/schemas/all_2_6.err @@ -0,0 +1 @@ +./test/schemas/all_6.xml validates diff --git a/libxml2/result/schemas/all_2_7.err b/libxml2/result/schemas/all_2_7.err new file mode 100644 index 0000000..6ad4fc6 --- /dev/null +++ b/libxml2/result/schemas/all_2_7.err @@ -0,0 +1 @@ +./test/schemas/all_7.xml validates diff --git a/libxml2/result/schemas/allsg_0_0.err b/libxml2/result/schemas/allsg_0_0.err new file mode 100644 index 0000000..a078f05 --- /dev/null +++ b/libxml2/result/schemas/allsg_0_0.err @@ -0,0 +1 @@ +./test/schemas/allsg_0.xml validates diff --git a/libxml2/result/schemas/allsg_0_1.err b/libxml2/result/schemas/allsg_0_1.err new file mode 100644 index 0000000..ab3cf58 --- /dev/null +++ b/libxml2/result/schemas/allsg_0_1.err @@ -0,0 +1 @@ +./test/schemas/allsg_1.xml validates diff --git a/libxml2/result/schemas/allsg_0_2.err b/libxml2/result/schemas/allsg_0_2.err new file mode 100644 index 0000000..da3de52 --- /dev/null +++ b/libxml2/result/schemas/allsg_0_2.err @@ -0,0 +1 @@ +./test/schemas/allsg_2.xml validates diff --git a/libxml2/result/schemas/allsg_0_3.err b/libxml2/result/schemas/allsg_0_3.err new file mode 100644 index 0000000..f2d3011 --- /dev/null +++ b/libxml2/result/schemas/allsg_0_3.err @@ -0,0 +1,2 @@ +./test/schemas/allsg_3.xml:6: Schemas validity error : Element '{urn:test:foo}gm-B-1': This element is not expected. Expected is one of ( {urn:test:foo}gh-A, {urn:test:foo}gm-A-1, {urn:test:foo}gm-A-2 ). +./test/schemas/allsg_3.xml fails to validate diff --git a/libxml2/result/schemas/allsg_0_4.err b/libxml2/result/schemas/allsg_0_4.err new file mode 100644 index 0000000..9e400c7 --- /dev/null +++ b/libxml2/result/schemas/allsg_0_4.err @@ -0,0 +1,2 @@ +./test/schemas/allsg_4.xml:6: Schemas validity error : Element '{urn:test:foo}gm-A-1': This element is not expected. Expected is one of ( {urn:test:foo}gh-B, {urn:test:foo}gm-B-1, {urn:test:foo}gm-B-2 ). +./test/schemas/allsg_4.xml fails to validate diff --git a/libxml2/result/schemas/allsg_0_5.err b/libxml2/result/schemas/allsg_0_5.err new file mode 100644 index 0000000..f6b9dfc --- /dev/null +++ b/libxml2/result/schemas/allsg_0_5.err @@ -0,0 +1,2 @@ +./test/schemas/allsg_5.xml:7: Schemas validity error : Element '{urn:test:foo}gm-B-2': This element is not expected. +./test/schemas/allsg_5.xml fails to validate diff --git a/libxml2/result/schemas/annot-err_0_0.err b/libxml2/result/schemas/annot-err_0_0.err new file mode 100644 index 0000000..78c0c72 --- /dev/null +++ b/libxml2/result/schemas/annot-err_0_0.err @@ -0,0 +1,7 @@ +./test/schemas/annot-err_0.xsd:7: element annotation: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}annotation': The attribute 'death' is not allowed. +./test/schemas/annot-err_0.xsd:7: element annotation: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}annotation': The content is not valid. Expected is (appinfo | documentation)*. +./test/schemas/annot-err_0.xsd:10: element appinfo: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}appinfo': The attribute 'id' is not allowed. +./test/schemas/annot-err_0.xsd:10: element appinfo: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}appinfo': The attribute 'fun' is not allowed. +./test/schemas/annot-err_0.xsd:14: element documentation: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}documentation': The attribute 'id' is not allowed. +./test/schemas/annot-err_0.xsd:14: element documentation: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}documentation': The attribute 'mothers' is not allowed. +./test/schemas/annot-err_0.xsd:14: element documentation: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}documentation', attribute '{http://www.w3.org/XML/1998/namespace}lang': '*' is not a valid value of the atomic type 'xs:language'. diff --git a/libxml2/result/schemas/any1_0_0.err b/libxml2/result/schemas/any1_0_0.err new file mode 100644 index 0000000..7eec0fc --- /dev/null +++ b/libxml2/result/schemas/any1_0_0.err @@ -0,0 +1 @@ +./test/schemas/any1_0.xml validates diff --git a/libxml2/result/schemas/any2_0_0.err b/libxml2/result/schemas/any2_0_0.err new file mode 100644 index 0000000..eef73b8 --- /dev/null +++ b/libxml2/result/schemas/any2_0_0.err @@ -0,0 +1 @@ +./test/schemas/any2_0.xml validates diff --git a/libxml2/result/schemas/any3_0_0.err b/libxml2/result/schemas/any3_0_0.err new file mode 100644 index 0000000..ff3811c --- /dev/null +++ b/libxml2/result/schemas/any3_0_0.err @@ -0,0 +1,2 @@ +./test/schemas/any3_0.xml:12: Schemas validity error : Element 'bar.A': This element is not expected. Expected is ( ##other{http://FOO}* ). +./test/schemas/any3_0.xml fails to validate diff --git a/libxml2/result/schemas/any4_0_0.err b/libxml2/result/schemas/any4_0_0.err new file mode 100644 index 0000000..151b002 --- /dev/null +++ b/libxml2/result/schemas/any4_0_0.err @@ -0,0 +1 @@ +./test/schemas/any4_0.xsd:14: element complexType: Schemas parser error : local complex type: The content model is not determinist. diff --git a/libxml2/result/schemas/any5_0_0.err b/libxml2/result/schemas/any5_0_0.err new file mode 100644 index 0000000..36a02fc --- /dev/null +++ b/libxml2/result/schemas/any5_0_0.err @@ -0,0 +1,2 @@ +./test/schemas/any5_0.xml:6: Schemas validity error : Element '{urn:test:foo}boo': This element is not expected. Expected is ( ##other{urn:test:foo}* ). +./test/schemas/any5_0.xml fails to validate diff --git a/libxml2/result/schemas/any5_0_1.err b/libxml2/result/schemas/any5_0_1.err new file mode 100644 index 0000000..2e3c48f --- /dev/null +++ b/libxml2/result/schemas/any5_0_1.err @@ -0,0 +1,2 @@ +./test/schemas/any5_1.xml:11: Schemas validity error : Element '{urn:test:bar}boo': This element is not expected. +./test/schemas/any5_1.xml fails to validate diff --git a/libxml2/result/schemas/any5_0_2.err b/libxml2/result/schemas/any5_0_2.err new file mode 100644 index 0000000..1b54803 --- /dev/null +++ b/libxml2/result/schemas/any5_0_2.err @@ -0,0 +1,2 @@ +./test/schemas/any5_2.xml:7: Schemas validity error : Element '{urn:test:foo}boo': This element is not expected. +./test/schemas/any5_2.xml fails to validate diff --git a/libxml2/result/schemas/any5_0_3.err b/libxml2/result/schemas/any5_0_3.err new file mode 100644 index 0000000..8cfb94e --- /dev/null +++ b/libxml2/result/schemas/any5_0_3.err @@ -0,0 +1 @@ +./test/schemas/any5_3.xml validates diff --git a/libxml2/result/schemas/any5_0_4.err b/libxml2/result/schemas/any5_0_4.err new file mode 100644 index 0000000..bd23cb2 --- /dev/null +++ b/libxml2/result/schemas/any5_0_4.err @@ -0,0 +1,2 @@ +./test/schemas/any5_4.xml:11: Schemas validity error : Element '{urn:test:bar}boo': This element is not expected. +./test/schemas/any5_4.xml fails to validate diff --git a/libxml2/result/schemas/any5_0_5.err b/libxml2/result/schemas/any5_0_5.err new file mode 100644 index 0000000..cee4a50 --- /dev/null +++ b/libxml2/result/schemas/any5_0_5.err @@ -0,0 +1,2 @@ +./test/schemas/any5_5.xml:11: Schemas validity error : Element '{urn:test:foo}boo': This element is not expected. +./test/schemas/any5_5.xml fails to validate diff --git a/libxml2/result/schemas/any5_0_6.err b/libxml2/result/schemas/any5_0_6.err new file mode 100644 index 0000000..aba22d1 --- /dev/null +++ b/libxml2/result/schemas/any5_0_6.err @@ -0,0 +1,2 @@ +./test/schemas/any5_6.xml:11: Schemas validity error : Element '{urn:test:bar}boo': This element is not expected. +./test/schemas/any5_6.xml fails to validate diff --git a/libxml2/result/schemas/any5_1_0.err b/libxml2/result/schemas/any5_1_0.err new file mode 100644 index 0000000..36a02fc --- /dev/null +++ b/libxml2/result/schemas/any5_1_0.err @@ -0,0 +1,2 @@ +./test/schemas/any5_0.xml:6: Schemas validity error : Element '{urn:test:foo}boo': This element is not expected. Expected is ( ##other{urn:test:foo}* ). +./test/schemas/any5_0.xml fails to validate diff --git a/libxml2/result/schemas/any5_1_1.err b/libxml2/result/schemas/any5_1_1.err new file mode 100644 index 0000000..c321078 --- /dev/null +++ b/libxml2/result/schemas/any5_1_1.err @@ -0,0 +1,2 @@ +./test/schemas/any5_1.xml:11: Schemas validity error : Element '{urn:test:bar}boo': This element is not expected. Expected is ( {urn:test:foo}boo ). +./test/schemas/any5_1.xml fails to validate diff --git a/libxml2/result/schemas/any5_1_2.err b/libxml2/result/schemas/any5_1_2.err new file mode 100644 index 0000000..6eab2bb --- /dev/null +++ b/libxml2/result/schemas/any5_1_2.err @@ -0,0 +1 @@ +./test/schemas/any5_2.xml validates diff --git a/libxml2/result/schemas/any5_1_3.err b/libxml2/result/schemas/any5_1_3.err new file mode 100644 index 0000000..60dfdd0 --- /dev/null +++ b/libxml2/result/schemas/any5_1_3.err @@ -0,0 +1,2 @@ +./test/schemas/any5_3.xml:4: Schemas validity error : Element '{urn:test:foo}foo': Missing child element(s). +./test/schemas/any5_3.xml fails to validate diff --git a/libxml2/result/schemas/any5_1_4.err b/libxml2/result/schemas/any5_1_4.err new file mode 100644 index 0000000..feb367c --- /dev/null +++ b/libxml2/result/schemas/any5_1_4.err @@ -0,0 +1,2 @@ +./test/schemas/any5_4.xml:11: Schemas validity error : Element '{urn:test:bar}boo': This element is not expected. Expected is ( {urn:test:foo}boo ). +./test/schemas/any5_4.xml fails to validate diff --git a/libxml2/result/schemas/any5_1_5.err b/libxml2/result/schemas/any5_1_5.err new file mode 100644 index 0000000..e573d46 --- /dev/null +++ b/libxml2/result/schemas/any5_1_5.err @@ -0,0 +1 @@ +./test/schemas/any5_5.xml validates diff --git a/libxml2/result/schemas/any5_1_6.err b/libxml2/result/schemas/any5_1_6.err new file mode 100644 index 0000000..978fdde --- /dev/null +++ b/libxml2/result/schemas/any5_1_6.err @@ -0,0 +1,2 @@ +./test/schemas/any5_6.xml:11: Schemas validity error : Element '{urn:test:bar}boo': This element is not expected. Expected is ( {urn:test:foo}boo ). +./test/schemas/any5_6.xml fails to validate diff --git a/libxml2/result/schemas/any6_1_0.err b/libxml2/result/schemas/any6_1_0.err new file mode 100644 index 0000000..1bb493c --- /dev/null +++ b/libxml2/result/schemas/any6_1_0.err @@ -0,0 +1 @@ +./test/schemas/any6_0.xml validates diff --git a/libxml2/result/schemas/any6_2_0.err b/libxml2/result/schemas/any6_2_0.err new file mode 100644 index 0000000..1bb493c --- /dev/null +++ b/libxml2/result/schemas/any6_2_0.err @@ -0,0 +1 @@ +./test/schemas/any6_0.xml validates diff --git a/libxml2/result/schemas/any7_1_0.err b/libxml2/result/schemas/any7_1_0.err new file mode 100644 index 0000000..0d73e8a --- /dev/null +++ b/libxml2/result/schemas/any7_1_0.err @@ -0,0 +1,2 @@ +./test/schemas/any7_0.xml:18: Schemas validity error : Element 'moo': This element is not expected. Expected is ( ##other{urn:test:foo}* ). +./test/schemas/any7_0.xml fails to validate diff --git a/libxml2/result/schemas/any7_1_1.err b/libxml2/result/schemas/any7_1_1.err new file mode 100644 index 0000000..13543f0 --- /dev/null +++ b/libxml2/result/schemas/any7_1_1.err @@ -0,0 +1,2 @@ +./test/schemas/any7_1.xml:17: Schemas validity error : Element '{urn:test:foo}bar': This element is not expected. Expected is ( ##other{urn:test:foo}* ). +./test/schemas/any7_1.xml fails to validate diff --git a/libxml2/result/schemas/any7_1_2.err b/libxml2/result/schemas/any7_1_2.err new file mode 100644 index 0000000..6f35e2d --- /dev/null +++ b/libxml2/result/schemas/any7_1_2.err @@ -0,0 +1 @@ +./test/schemas/any7_2.xml validates diff --git a/libxml2/result/schemas/any7_2_0.err b/libxml2/result/schemas/any7_2_0.err new file mode 100644 index 0000000..0d73e8a --- /dev/null +++ b/libxml2/result/schemas/any7_2_0.err @@ -0,0 +1,2 @@ +./test/schemas/any7_0.xml:18: Schemas validity error : Element 'moo': This element is not expected. Expected is ( ##other{urn:test:foo}* ). +./test/schemas/any7_0.xml fails to validate diff --git a/libxml2/result/schemas/any7_2_1.err b/libxml2/result/schemas/any7_2_1.err new file mode 100644 index 0000000..13543f0 --- /dev/null +++ b/libxml2/result/schemas/any7_2_1.err @@ -0,0 +1,2 @@ +./test/schemas/any7_1.xml:17: Schemas validity error : Element '{urn:test:foo}bar': This element is not expected. Expected is ( ##other{urn:test:foo}* ). +./test/schemas/any7_1.xml fails to validate diff --git a/libxml2/result/schemas/any7_2_2.err b/libxml2/result/schemas/any7_2_2.err new file mode 100644 index 0000000..6f35e2d --- /dev/null +++ b/libxml2/result/schemas/any7_2_2.err @@ -0,0 +1 @@ +./test/schemas/any7_2.xml validates diff --git a/libxml2/result/schemas/any8_1_0.err b/libxml2/result/schemas/any8_1_0.err new file mode 100644 index 0000000..f5f4ed9 --- /dev/null +++ b/libxml2/result/schemas/any8_1_0.err @@ -0,0 +1 @@ +./test/schemas/any8_0.xml validates diff --git a/libxml2/result/schemas/anyAttr-derive-errors1_0_0.err b/libxml2/result/schemas/anyAttr-derive-errors1_0_0.err new file mode 100644 index 0000000..d8e465e --- /dev/null +++ b/libxml2/result/schemas/anyAttr-derive-errors1_0_0.err @@ -0,0 +1 @@ +./test/schemas/anyAttr-derive-errors1_0.xml validates diff --git a/libxml2/result/schemas/anyAttr-derive1_0_0.err b/libxml2/result/schemas/anyAttr-derive1_0_0.err new file mode 100644 index 0000000..adae13d --- /dev/null +++ b/libxml2/result/schemas/anyAttr-derive1_0_0.err @@ -0,0 +1 @@ +./test/schemas/anyAttr-derive1_0.xml validates diff --git a/libxml2/result/schemas/anyAttr-derive2_0_0.err b/libxml2/result/schemas/anyAttr-derive2_0_0.err new file mode 100644 index 0000000..dccc6e2 --- /dev/null +++ b/libxml2/result/schemas/anyAttr-derive2_0_0.err @@ -0,0 +1 @@ +./test/schemas/anyAttr-derive2_0.xml validates diff --git a/libxml2/result/schemas/anyAttr-processContents-err1_0_0.err b/libxml2/result/schemas/anyAttr-processContents-err1_0_0.err new file mode 100644 index 0000000..66b7ec8 --- /dev/null +++ b/libxml2/result/schemas/anyAttr-processContents-err1_0_0.err @@ -0,0 +1,3 @@ +./test/schemas/anyAttr-processContents-err1_0.xml:8: Schemas validity error : Element '{http://FOO}elem.lax', attribute '{http://FOO}bar': 'o o' is not a valid value of the atomic type 'xs:language'. +./test/schemas/anyAttr-processContents-err1_0.xml:9: Schemas validity error : Element '{http://FOO}elem.strict', attribute '{http://FOO}barB': No matching global attribute declaration available, but demanded by the strict wildcard. +./test/schemas/anyAttr-processContents-err1_0.xml fails to validate diff --git a/libxml2/result/schemas/anyAttr-processContents1_0_0.err b/libxml2/result/schemas/anyAttr-processContents1_0_0.err new file mode 100644 index 0000000..30d0cc2 --- /dev/null +++ b/libxml2/result/schemas/anyAttr-processContents1_0_0.err @@ -0,0 +1 @@ +./test/schemas/anyAttr-processContents1_0.xml validates diff --git a/libxml2/result/schemas/anyAttr1_0_0.err b/libxml2/result/schemas/anyAttr1_0_0.err new file mode 100644 index 0000000..8afc23a --- /dev/null +++ b/libxml2/result/schemas/anyAttr1_0_0.err @@ -0,0 +1 @@ +./test/schemas/anyAttr1_0.xml validates diff --git a/libxml2/result/schemas/attr0_0_0.err b/libxml2/result/schemas/attr0_0_0.err new file mode 100644 index 0000000..d054be5 --- /dev/null +++ b/libxml2/result/schemas/attr0_0_0.err @@ -0,0 +1 @@ +./test/schemas/attr0_0.xml validates diff --git a/libxml2/result/schemas/attruse_0_0.err b/libxml2/result/schemas/attruse_0_0.err new file mode 100644 index 0000000..c645bc5 --- /dev/null +++ b/libxml2/result/schemas/attruse_0_0.err @@ -0,0 +1 @@ +./test/schemas/attruse_0_0.xml validates diff --git a/libxml2/result/schemas/attruse_0_1.err b/libxml2/result/schemas/attruse_0_1.err new file mode 100644 index 0000000..7814b2d --- /dev/null +++ b/libxml2/result/schemas/attruse_0_1.err @@ -0,0 +1,2 @@ +./test/schemas/attruse_0_1.xml:3: Schemas validity error : Element 'barA': The attribute 'attr' is required but missing. +./test/schemas/attruse_0_1.xml fails to validate diff --git a/libxml2/result/schemas/attruse_0_2.err b/libxml2/result/schemas/attruse_0_2.err new file mode 100644 index 0000000..e4f5419 --- /dev/null +++ b/libxml2/result/schemas/attruse_0_2.err @@ -0,0 +1,2 @@ +./test/schemas/attruse_0_2.xml:6: Schemas validity error : Element 'barC', attribute 'attr': The attribute 'attr' is not allowed. +./test/schemas/attruse_0_2.xml fails to validate diff --git a/libxml2/result/schemas/bug141312_0_0.err b/libxml2/result/schemas/bug141312_0_0.err new file mode 100644 index 0000000..d8048a7 --- /dev/null +++ b/libxml2/result/schemas/bug141312_0_0.err @@ -0,0 +1 @@ +./test/schemas/bug141312_0.xml validates diff --git a/libxml2/result/schemas/bug141333_0_0.err b/libxml2/result/schemas/bug141333_0_0.err new file mode 100644 index 0000000..189660f --- /dev/null +++ b/libxml2/result/schemas/bug141333_0_0.err @@ -0,0 +1 @@ +./test/schemas/bug141333_0.xml validates diff --git a/libxml2/result/schemas/bug143951_0_0.err b/libxml2/result/schemas/bug143951_0_0.err new file mode 100644 index 0000000..2d0e3e7 --- /dev/null +++ b/libxml2/result/schemas/bug143951_0_0.err @@ -0,0 +1 @@ +./test/schemas/bug143951_0.xml validates diff --git a/libxml2/result/schemas/bug145246_0_0.err b/libxml2/result/schemas/bug145246_0_0.err new file mode 100644 index 0000000..d28ccf7 --- /dev/null +++ b/libxml2/result/schemas/bug145246_0_0.err @@ -0,0 +1 @@ +./test/schemas/bug145246_0.xml validates diff --git a/libxml2/result/schemas/bug152470_1_1.err b/libxml2/result/schemas/bug152470_1_1.err new file mode 100644 index 0000000..b158caa --- /dev/null +++ b/libxml2/result/schemas/bug152470_1_1.err @@ -0,0 +1 @@ +./test/schemas/bug152470_1.xml validates diff --git a/libxml2/result/schemas/bug167754_0_0.err b/libxml2/result/schemas/bug167754_0_0.err new file mode 100644 index 0000000..27b50fc --- /dev/null +++ b/libxml2/result/schemas/bug167754_0_0.err @@ -0,0 +1 @@ +./test/schemas/bug167754_0.xml validates diff --git a/libxml2/result/schemas/bug303566_1_1.err b/libxml2/result/schemas/bug303566_1_1.err new file mode 100644 index 0000000..ad50e06 --- /dev/null +++ b/libxml2/result/schemas/bug303566_1_1.err @@ -0,0 +1,2 @@ +./test/schemas/bug303566_1.xml:9: Schemas validity error : Element 'Part': No match found for key-sequence ['B'] of keyref 'PartRefCountryDummy'. +./test/schemas/bug303566_1.xml fails to validate diff --git a/libxml2/result/schemas/bug306806_1_0.err b/libxml2/result/schemas/bug306806_1_0.err new file mode 100644 index 0000000..c2cb7c8 --- /dev/null +++ b/libxml2/result/schemas/bug306806_1_0.err @@ -0,0 +1 @@ +./test/schemas/bug306806_0.xml validates diff --git a/libxml2/result/schemas/bug309338_1_0.err b/libxml2/result/schemas/bug309338_1_0.err new file mode 100644 index 0000000..65331f1 --- /dev/null +++ b/libxml2/result/schemas/bug309338_1_0.err @@ -0,0 +1 @@ +./test/schemas/bug309338_0.xml validates diff --git a/libxml2/result/schemas/bug310264_0_0.err b/libxml2/result/schemas/bug310264_0_0.err new file mode 100644 index 0000000..e07293d --- /dev/null +++ b/libxml2/result/schemas/bug310264_0_0.err @@ -0,0 +1 @@ +./test/schemas/bug310264_0.xml validates diff --git a/libxml2/result/schemas/bug312957_1_0.err b/libxml2/result/schemas/bug312957_1_0.err new file mode 100644 index 0000000..390dd85 --- /dev/null +++ b/libxml2/result/schemas/bug312957_1_0.err @@ -0,0 +1,2 @@ +./test/schemas/bug312957_0.xml:10: Schemas validity error : Element 'sister': No match found for key-sequence ['annie'] of keyref 'sibling_key_ref'. +./test/schemas/bug312957_0.xml fails to validate diff --git a/libxml2/result/schemas/bug313982_0_0.err b/libxml2/result/schemas/bug313982_0_0.err new file mode 100644 index 0000000..19855cf --- /dev/null +++ b/libxml2/result/schemas/bug313982_0_0.err @@ -0,0 +1 @@ +./test/schemas/bug313982_0.xml validates diff --git a/libxml2/result/schemas/bug321475_1_0.err b/libxml2/result/schemas/bug321475_1_0.err new file mode 100644 index 0000000..f943041 --- /dev/null +++ b/libxml2/result/schemas/bug321475_1_0.err @@ -0,0 +1 @@ +./test/schemas/bug321475_0.xml validates diff --git a/libxml2/result/schemas/bug322411_1_0.err b/libxml2/result/schemas/bug322411_1_0.err new file mode 100644 index 0000000..79560fb --- /dev/null +++ b/libxml2/result/schemas/bug322411_1_0.err @@ -0,0 +1 @@ +./test/schemas/bug322411_0.xml validates diff --git a/libxml2/result/schemas/bug322411_1_1.err b/libxml2/result/schemas/bug322411_1_1.err new file mode 100644 index 0000000..082a424 --- /dev/null +++ b/libxml2/result/schemas/bug322411_1_1.err @@ -0,0 +1 @@ +./test/schemas/bug322411_1.xml validates diff --git a/libxml2/result/schemas/bug323510_1_0.err b/libxml2/result/schemas/bug323510_1_0.err new file mode 100644 index 0000000..8419293 --- /dev/null +++ b/libxml2/result/schemas/bug323510_1_0.err @@ -0,0 +1,2 @@ +./test/schemas/bug323510_0.xml:2: Schemas validity error : Element 'foo': Missing child element(s). Expected is ( bar ). +./test/schemas/bug323510_0.xml fails to validate diff --git a/libxml2/result/schemas/bug455953_0_0.err b/libxml2/result/schemas/bug455953_0_0.err new file mode 100644 index 0000000..6175d1e --- /dev/null +++ b/libxml2/result/schemas/bug455953_0_0.err @@ -0,0 +1 @@ +./test/schemas/bug455953_0.xml validates diff --git a/libxml2/result/schemas/changelog093_1_0.err b/libxml2/result/schemas/changelog093_1_0.err new file mode 100644 index 0000000..d031e1c --- /dev/null +++ b/libxml2/result/schemas/changelog093_1_0.err @@ -0,0 +1,2 @@ +./test/schemas/changelog093_0.xml:7: Schemas validity error : Element '{http://www.blackperl.com/XML/ChangeLog}description': Duplicate key-sequence ['PL'] in unique identity-constraint '{http://www.blackperl.com/XML/ChangeLog}changelogDescriptionLangConstraint'. +./test/schemas/changelog093_0.xml fails to validate diff --git a/libxml2/result/schemas/choice_0_0.err b/libxml2/result/schemas/choice_0_0.err new file mode 100644 index 0000000..eda062e --- /dev/null +++ b/libxml2/result/schemas/choice_0_0.err @@ -0,0 +1 @@ +./test/schemas/choice_0.xml validates diff --git a/libxml2/result/schemas/choice_0_1.err b/libxml2/result/schemas/choice_0_1.err new file mode 100644 index 0000000..e4338de --- /dev/null +++ b/libxml2/result/schemas/choice_0_1.err @@ -0,0 +1 @@ +./test/schemas/choice_1.xml validates diff --git a/libxml2/result/schemas/choice_0_2.err b/libxml2/result/schemas/choice_0_2.err new file mode 100644 index 0000000..1b294c5 --- /dev/null +++ b/libxml2/result/schemas/choice_0_2.err @@ -0,0 +1,2 @@ +./test/schemas/choice_2.xml:3: Schemas validity error : Element 'b': This element is not expected. +./test/schemas/choice_2.xml fails to validate diff --git a/libxml2/result/schemas/choice_0_3.err b/libxml2/result/schemas/choice_0_3.err new file mode 100644 index 0000000..c6e0681 --- /dev/null +++ b/libxml2/result/schemas/choice_0_3.err @@ -0,0 +1,2 @@ +./test/schemas/choice_3.xml:3: Schemas validity error : Element 'a': This element is not expected. +./test/schemas/choice_3.xml fails to validate diff --git a/libxml2/result/schemas/choice_0_4.err b/libxml2/result/schemas/choice_0_4.err new file mode 100644 index 0000000..ea063cc --- /dev/null +++ b/libxml2/result/schemas/choice_0_4.err @@ -0,0 +1,2 @@ +./test/schemas/choice_4.xml:1: Schemas validity error : Element 'doc': Missing child element(s). Expected is one of ( a, b ). +./test/schemas/choice_4.xml fails to validate diff --git a/libxml2/result/schemas/choice_0_5.err b/libxml2/result/schemas/choice_0_5.err new file mode 100644 index 0000000..ef8b0aa --- /dev/null +++ b/libxml2/result/schemas/choice_0_5.err @@ -0,0 +1,2 @@ +./test/schemas/choice_5.xml:3: Schemas validity error : Element 'b': This element is not expected. +./test/schemas/choice_5.xml fails to validate diff --git a/libxml2/result/schemas/choice_0_6.err b/libxml2/result/schemas/choice_0_6.err new file mode 100644 index 0000000..0e8157c --- /dev/null +++ b/libxml2/result/schemas/choice_0_6.err @@ -0,0 +1,2 @@ +./test/schemas/choice_6.xml:3: Schemas validity error : Element 'b': This element is not expected. +./test/schemas/choice_6.xml fails to validate diff --git a/libxml2/result/schemas/choice_1_0.err b/libxml2/result/schemas/choice_1_0.err new file mode 100644 index 0000000..eda062e --- /dev/null +++ b/libxml2/result/schemas/choice_1_0.err @@ -0,0 +1 @@ +./test/schemas/choice_0.xml validates diff --git a/libxml2/result/schemas/choice_1_1.err b/libxml2/result/schemas/choice_1_1.err new file mode 100644 index 0000000..e4338de --- /dev/null +++ b/libxml2/result/schemas/choice_1_1.err @@ -0,0 +1 @@ +./test/schemas/choice_1.xml validates diff --git a/libxml2/result/schemas/choice_1_2.err b/libxml2/result/schemas/choice_1_2.err new file mode 100644 index 0000000..1b294c5 --- /dev/null +++ b/libxml2/result/schemas/choice_1_2.err @@ -0,0 +1,2 @@ +./test/schemas/choice_2.xml:3: Schemas validity error : Element 'b': This element is not expected. +./test/schemas/choice_2.xml fails to validate diff --git a/libxml2/result/schemas/choice_1_3.err b/libxml2/result/schemas/choice_1_3.err new file mode 100644 index 0000000..c6e0681 --- /dev/null +++ b/libxml2/result/schemas/choice_1_3.err @@ -0,0 +1,2 @@ +./test/schemas/choice_3.xml:3: Schemas validity error : Element 'a': This element is not expected. +./test/schemas/choice_3.xml fails to validate diff --git a/libxml2/result/schemas/choice_1_4.err b/libxml2/result/schemas/choice_1_4.err new file mode 100644 index 0000000..36b3827 --- /dev/null +++ b/libxml2/result/schemas/choice_1_4.err @@ -0,0 +1 @@ +./test/schemas/choice_4.xml validates diff --git a/libxml2/result/schemas/choice_1_5.err b/libxml2/result/schemas/choice_1_5.err new file mode 100644 index 0000000..ef8b0aa --- /dev/null +++ b/libxml2/result/schemas/choice_1_5.err @@ -0,0 +1,2 @@ +./test/schemas/choice_5.xml:3: Schemas validity error : Element 'b': This element is not expected. +./test/schemas/choice_5.xml fails to validate diff --git a/libxml2/result/schemas/choice_1_6.err b/libxml2/result/schemas/choice_1_6.err new file mode 100644 index 0000000..0e8157c --- /dev/null +++ b/libxml2/result/schemas/choice_1_6.err @@ -0,0 +1,2 @@ +./test/schemas/choice_6.xml:3: Schemas validity error : Element 'b': This element is not expected. +./test/schemas/choice_6.xml fails to validate diff --git a/libxml2/result/schemas/choice_2_0.err b/libxml2/result/schemas/choice_2_0.err new file mode 100644 index 0000000..eda062e --- /dev/null +++ b/libxml2/result/schemas/choice_2_0.err @@ -0,0 +1 @@ +./test/schemas/choice_0.xml validates diff --git a/libxml2/result/schemas/choice_2_1.err b/libxml2/result/schemas/choice_2_1.err new file mode 100644 index 0000000..e4338de --- /dev/null +++ b/libxml2/result/schemas/choice_2_1.err @@ -0,0 +1 @@ +./test/schemas/choice_1.xml validates diff --git a/libxml2/result/schemas/choice_2_2.err b/libxml2/result/schemas/choice_2_2.err new file mode 100644 index 0000000..c58e154 --- /dev/null +++ b/libxml2/result/schemas/choice_2_2.err @@ -0,0 +1 @@ +./test/schemas/choice_2.xml validates diff --git a/libxml2/result/schemas/choice_2_3.err b/libxml2/result/schemas/choice_2_3.err new file mode 100644 index 0000000..1058f7e --- /dev/null +++ b/libxml2/result/schemas/choice_2_3.err @@ -0,0 +1 @@ +./test/schemas/choice_3.xml validates diff --git a/libxml2/result/schemas/choice_2_4.err b/libxml2/result/schemas/choice_2_4.err new file mode 100644 index 0000000..ea063cc --- /dev/null +++ b/libxml2/result/schemas/choice_2_4.err @@ -0,0 +1,2 @@ +./test/schemas/choice_4.xml:1: Schemas validity error : Element 'doc': Missing child element(s). Expected is one of ( a, b ). +./test/schemas/choice_4.xml fails to validate diff --git a/libxml2/result/schemas/choice_2_5.err b/libxml2/result/schemas/choice_2_5.err new file mode 100644 index 0000000..67e79ba --- /dev/null +++ b/libxml2/result/schemas/choice_2_5.err @@ -0,0 +1 @@ +./test/schemas/choice_5.xml validates diff --git a/libxml2/result/schemas/choice_2_6.err b/libxml2/result/schemas/choice_2_6.err new file mode 100644 index 0000000..091db7b --- /dev/null +++ b/libxml2/result/schemas/choice_2_6.err @@ -0,0 +1,2 @@ +./test/schemas/choice_6.xml:5: Schemas validity error : Element 'a': This element is not expected. +./test/schemas/choice_6.xml fails to validate diff --git a/libxml2/result/schemas/complex-type-extension_0_0.err b/libxml2/result/schemas/complex-type-extension_0_0.err new file mode 100644 index 0000000..ef15215 --- /dev/null +++ b/libxml2/result/schemas/complex-type-extension_0_0.err @@ -0,0 +1 @@ +./test/schemas/complex-type-extension_0.xml validates diff --git a/libxml2/result/schemas/cos-ct-extends-1-3_0_0.err b/libxml2/result/schemas/cos-ct-extends-1-3_0_0.err new file mode 100644 index 0000000..5dd5bd7 --- /dev/null +++ b/libxml2/result/schemas/cos-ct-extends-1-3_0_0.err @@ -0,0 +1 @@ +./test/schemas/cos-ct-extends-1-3_0.xml validates diff --git a/libxml2/result/schemas/cos-st-restricts-1-2-err_0_0.err b/libxml2/result/schemas/cos-st-restricts-1-2-err_0_0.err new file mode 100644 index 0000000..36a94ae --- /dev/null +++ b/libxml2/result/schemas/cos-st-restricts-1-2-err_0_0.err @@ -0,0 +1,3 @@ +./test/schemas/cos-st-restricts-1-2-err_0.xml:3: Schemas validity error : Element '{http://FOO}foo': [facet 'length'] The value has a length of '2'; this differs from the allowed length of '3'. +./test/schemas/cos-st-restricts-1-2-err_0.xml:3: Schemas validity error : Element '{http://FOO}foo': '1 2' is not a valid value of the list type '{http://FOO}type.A'. +./test/schemas/cos-st-restricts-1-2-err_0.xml fails to validate diff --git a/libxml2/result/schemas/ct-sc-nobase_0_0.err b/libxml2/result/schemas/ct-sc-nobase_0_0.err new file mode 100644 index 0000000..168712a --- /dev/null +++ b/libxml2/result/schemas/ct-sc-nobase_0_0.err @@ -0,0 +1 @@ +./test/schemas/ct-sc-nobase_0.xml validates diff --git a/libxml2/result/schemas/date_0_0.err b/libxml2/result/schemas/date_0_0.err new file mode 100644 index 0000000..2554d30 --- /dev/null +++ b/libxml2/result/schemas/date_0_0.err @@ -0,0 +1 @@ +./test/schemas/date_0.xml validates diff --git a/libxml2/result/schemas/decimal-1_1_0.err b/libxml2/result/schemas/decimal-1_1_0.err new file mode 100644 index 0000000..5406420 --- /dev/null +++ b/libxml2/result/schemas/decimal-1_1_0.err @@ -0,0 +1,9 @@ +./test/schemas/decimal-1_0.xml:16: Schemas validity error : Element 'val': '.' is not a valid value of the atomic type 'myDecimal'. +./test/schemas/decimal-1_0.xml:17: Schemas validity error : Element 'val': '-' is not a valid value of the atomic type 'myDecimal'. +./test/schemas/decimal-1_0.xml:18: Schemas validity error : Element 'val': '+' is not a valid value of the atomic type 'myDecimal'. +./test/schemas/decimal-1_0.xml:19: Schemas validity error : Element 'val': '*' is not a valid value of the atomic type 'myDecimal'. +./test/schemas/decimal-1_0.xml:20: Schemas validity error : Element 'val': '- 1' is not a valid value of the atomic type 'myDecimal'. +./test/schemas/decimal-1_0.xml:21: Schemas validity error : Element 'val': '+ 1' is not a valid value of the atomic type 'myDecimal'. +./test/schemas/decimal-1_0.xml:22: Schemas validity error : Element 'val': '+ 0' is not a valid value of the atomic type 'myDecimal'. +./test/schemas/decimal-1_0.xml:23: Schemas validity error : Element 'val': '- 0' is not a valid value of the atomic type 'myDecimal'. +./test/schemas/decimal-1_0.xml fails to validate diff --git a/libxml2/result/schemas/decimal-2_1_0.err b/libxml2/result/schemas/decimal-2_1_0.err new file mode 100644 index 0000000..58825a3 --- /dev/null +++ b/libxml2/result/schemas/decimal-2_1_0.err @@ -0,0 +1,3 @@ +./test/schemas/decimal-2_0.xml:12: Schemas validity error : Element 'val': [facet 'minInclusive'] The value '-0.1' is less than the minimum value allowed ('0'). +./test/schemas/decimal-2_0.xml:13: Schemas validity error : Element 'val': [facet 'minInclusive'] The value '-1' is less than the minimum value allowed ('0'). +./test/schemas/decimal-2_0.xml fails to validate diff --git a/libxml2/result/schemas/decimal-3_1_0.err b/libxml2/result/schemas/decimal-3_1_0.err new file mode 100644 index 0000000..aa9ab81 --- /dev/null +++ b/libxml2/result/schemas/decimal-3_1_0.err @@ -0,0 +1,5 @@ +./test/schemas/decimal-3_0.xml:12: Schemas validity error : Element 'val': [facet 'totalDigits'] The value '0.123' has more digits than are allowed ('2'). +./test/schemas/decimal-3_0.xml:13: Schemas validity error : Element 'val': [facet 'totalDigits'] The value '0.023' has more digits than are allowed ('2'). +./test/schemas/decimal-3_0.xml:14: Schemas validity error : Element 'val': [facet 'totalDigits'] The value '123' has more digits than are allowed ('2'). +./test/schemas/decimal-3_0.xml:15: Schemas validity error : Element 'val': [facet 'totalDigits'] The value '12.3' has more digits than are allowed ('2'). +./test/schemas/decimal-3_0.xml fails to validate diff --git a/libxml2/result/schemas/derivation-ok-extension-err_0_0.err b/libxml2/result/schemas/derivation-ok-extension-err_0_0.err new file mode 100644 index 0000000..a0fba52 --- /dev/null +++ b/libxml2/result/schemas/derivation-ok-extension-err_0_0.err @@ -0,0 +1 @@ +./test/schemas/derivation-ok-extension-err_0.xsd:6: element complexType: Schemas parser error : local complex type: Duplicate attribute use 'barA_1'. diff --git a/libxml2/result/schemas/derivation-ok-extension_0_0.err b/libxml2/result/schemas/derivation-ok-extension_0_0.err new file mode 100644 index 0000000..a8caaf8 --- /dev/null +++ b/libxml2/result/schemas/derivation-ok-extension_0_0.err @@ -0,0 +1,2 @@ +./test/schemas/derivation-ok-extension_0.xsd:10: element attribute: Schemas parser warning : Element '{http://www.w3.org/2001/XMLSchema}attribute': Skipping attribute use prohibition, since it is pointless when extending a type. +./test/schemas/derivation-ok-extension_0.xml validates diff --git a/libxml2/result/schemas/derivation-ok-restriction-2-1-1_0_0.err b/libxml2/result/schemas/derivation-ok-restriction-2-1-1_0_0.err new file mode 100644 index 0000000..bd38dd2 --- /dev/null +++ b/libxml2/result/schemas/derivation-ok-restriction-2-1-1_0_0.err @@ -0,0 +1,6 @@ +./test/schemas/derivation-ok-restriction-2-1-1_0.xsd:6: element complexType: Schemas parser error : local complex type, attribute use 'barB_1': The 'optional' attribute use is inconsistent with the corresponding 'required' attribute use of the base complex type definition '{http://FOO}typeA'. +./test/schemas/derivation-ok-restriction-2-1-1_0.xsd:6: element complexType: Schemas parser error : local complex type, attribute use 'barC_1': Neither a matching attribute use, nor a matching wildcard exists in the base complex type definition '{http://FOO}typeA'. +./test/schemas/derivation-ok-restriction-2-1-1_0.xsd:6: element complexType: Schemas parser error : local complex type, attribute use 'barC_2': Neither a matching attribute use, nor a matching wildcard exists in the base complex type definition '{http://FOO}typeA'. +./test/schemas/derivation-ok-restriction-2-1-1_0.xsd:6: element complexType: Schemas parser error : local complex type, attribute use 'barD_1': Neither a matching attribute use, nor a matching wildcard exists in the base complex type definition '{http://FOO}typeA'. +./test/schemas/derivation-ok-restriction-2-1-1_0.xsd:6: element complexType: Schemas parser error : local complex type, attribute use 'barD_2': Neither a matching attribute use, nor a matching wildcard exists in the base complex type definition '{http://FOO}typeA'. +./test/schemas/derivation-ok-restriction-2-1-1_0.xsd:6: element complexType: Schemas parser error : local complex type: A matching attribute use for the 'required' attribute use 'barB_3' of the base complex type definition '{http://FOO}typeA' is missing. diff --git a/libxml2/result/schemas/derivation-ok-restriction-4-1-err_0_0.err b/libxml2/result/schemas/derivation-ok-restriction-4-1-err_0_0.err new file mode 100644 index 0000000..72283fb --- /dev/null +++ b/libxml2/result/schemas/derivation-ok-restriction-4-1-err_0_0.err @@ -0,0 +1,3 @@ +./test/schemas/derivation-ok-restriction-4-1-err_0.xsd:33: element complexType: Schemas parser error : complex type 'type.A': The complex type definition has an attribute wildcard, but the base complex type definition '{http://FOO}base.type.A' does not have one. +./test/schemas/derivation-ok-restriction-4-1-err_0.xsd:45: element complexType: Schemas parser error : complex type 'type.B': The attribute wildcard is not a valid subset of the wildcard in the base complex type definition '{http://FOO}base.type.B'. +./test/schemas/derivation-ok-restriction-4-1-err_0.xsd:65: element complexType: Schemas parser error : complex type 'base.type.C': The {process contents} of the attribute wildcard is weaker than the one in the base complex type definition '{http://FOO}base.type.C'. diff --git a/libxml2/result/schemas/derivation-restriction-anyAttr_0_0.err b/libxml2/result/schemas/derivation-restriction-anyAttr_0_0.err new file mode 100644 index 0000000..4e04176 --- /dev/null +++ b/libxml2/result/schemas/derivation-restriction-anyAttr_0_0.err @@ -0,0 +1 @@ +./test/schemas/derivation-restriction-anyAttr_0.xml validates diff --git a/libxml2/result/schemas/deter0_0_0.err b/libxml2/result/schemas/deter0_0_0.err new file mode 100644 index 0000000..d2c8b4e --- /dev/null +++ b/libxml2/result/schemas/deter0_0_0.err @@ -0,0 +1 @@ +./test/schemas/deter0_0.xsd:6: element complexType: Schemas parser error : local complex type: The content model is not determinist. diff --git a/libxml2/result/schemas/dur_0_0.err b/libxml2/result/schemas/dur_0_0.err new file mode 100644 index 0000000..5b3a2c9 --- /dev/null +++ b/libxml2/result/schemas/dur_0_0.err @@ -0,0 +1 @@ +./test/schemas/dur_0.xml validates diff --git a/libxml2/result/schemas/elem0_0_0.err b/libxml2/result/schemas/elem0_0_0.err new file mode 100644 index 0000000..0ab06b4 --- /dev/null +++ b/libxml2/result/schemas/elem0_0_0.err @@ -0,0 +1 @@ +./test/schemas/elem0_0.xml validates diff --git a/libxml2/result/schemas/element-err_0_0.err b/libxml2/result/schemas/element-err_0_0.err new file mode 100644 index 0000000..70524f6 --- /dev/null +++ b/libxml2/result/schemas/element-err_0_0.err @@ -0,0 +1,20 @@ +./test/schemas/element-err_0.xsd:8: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The attribute 'name' is required but missing. +./test/schemas/element-err_0.xsd:14: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The attribute 'ref' is not allowed. +./test/schemas/element-err_0.xsd:14: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The attribute 'minOccurs' is not allowed. +./test/schemas/element-err_0.xsd:14: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The attribute 'maxOccurs' is not allowed. +./test/schemas/element-err_0.xsd:14: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The attribute 'form' is not allowed. +./test/schemas/element-err_0.xsd:14: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element', attribute 'final': The value 'fantasy' is not valid. Expected is '(#all | List of (extension | restriction))'. +./test/schemas/element-err_0.xsd:14: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element', attribute 'block': The value 'flute' is not valid. Expected is '(#all | List of (extension | restriction | substitution))'. +./test/schemas/element-err_0.xsd:14: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The attributes 'default' and 'fixed' are mutually exclusive. +./test/schemas/element-err_0.xsd:22: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element', attribute 'minOccurs': The value must not be greater than the value of 'maxOccurs'. +./test/schemas/element-err_0.xsd:22: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The attributes 'ref' and 'name' are mutually exclusive. +./test/schemas/element-err_0.xsd:22: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element', attribute 'abstract': Only the attributes 'minOccurs', 'maxOccurs' and 'id' are allowed in addition to 'ref'. +./test/schemas/element-err_0.xsd:23: element complexType: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The content is not valid. Expected is (annotation?). +./test/schemas/element-err_0.xsd:30: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element', attribute 'maxOccurs': The value must be greater than or equal to 1. +./test/schemas/element-err_0.xsd:30: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The attribute 'abstract' is not allowed. +./test/schemas/element-err_0.xsd:30: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The attribute 'substitutionGroup' is not allowed. +./test/schemas/element-err_0.xsd:30: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The attribute 'final' is not allowed. +./test/schemas/element-err_0.xsd:30: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element', attribute 'block': The value 'flute' is not valid. Expected is '(#all | List of (extension | restriction | substitution))'. +./test/schemas/element-err_0.xsd:30: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The attributes 'default' and 'fixed' are mutually exclusive. +./test/schemas/element-err_0.xsd:31: element complexType: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The attribute 'type' and the child are mutually exclusive. +./test/schemas/element-err_0.xsd:32: element simpleType: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The content is not valid. Expected is (annotation?, ((simpleType | complexType)?, (unique | key | keyref)*)). diff --git a/libxml2/result/schemas/element-minmax-err_0_0.err b/libxml2/result/schemas/element-minmax-err_0_0.err new file mode 100644 index 0000000..e53f3d8 --- /dev/null +++ b/libxml2/result/schemas/element-minmax-err_0_0.err @@ -0,0 +1 @@ +./test/schemas/element-minmax-err_0.xsd:6: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element', attribute 'maxOccurs': The value must be greater than or equal to 1. diff --git a/libxml2/result/schemas/empty-value_1_0.err b/libxml2/result/schemas/empty-value_1_0.err new file mode 100644 index 0000000..5864557 --- /dev/null +++ b/libxml2/result/schemas/empty-value_1_0.err @@ -0,0 +1 @@ +./test/schemas/empty-value_0.xml validates diff --git a/libxml2/result/schemas/empty-value_1_1.err b/libxml2/result/schemas/empty-value_1_1.err new file mode 100644 index 0000000..2e2d329 --- /dev/null +++ b/libxml2/result/schemas/empty-value_1_1.err @@ -0,0 +1 @@ +./test/schemas/empty-value_1.xml validates diff --git a/libxml2/result/schemas/empty_0_0.err b/libxml2/result/schemas/empty_0_0.err new file mode 100644 index 0000000..88fc52b --- /dev/null +++ b/libxml2/result/schemas/empty_0_0.err @@ -0,0 +1 @@ +./test/schemas/empty_0.xml validates diff --git a/libxml2/result/schemas/empty_1_0.err b/libxml2/result/schemas/empty_1_0.err new file mode 100644 index 0000000..88fc52b --- /dev/null +++ b/libxml2/result/schemas/empty_1_0.err @@ -0,0 +1 @@ +./test/schemas/empty_0.xml validates diff --git a/libxml2/result/schemas/extension0_0_0.err b/libxml2/result/schemas/extension0_0_0.err new file mode 100644 index 0000000..d3dca7b --- /dev/null +++ b/libxml2/result/schemas/extension0_0_0.err @@ -0,0 +1 @@ +./test/schemas/extension0_0.xml validates diff --git a/libxml2/result/schemas/extension1_0_0.err b/libxml2/result/schemas/extension1_0_0.err new file mode 100644 index 0000000..23da9ea --- /dev/null +++ b/libxml2/result/schemas/extension1_0_0.err @@ -0,0 +1 @@ +./test/schemas/extension1_0.xml validates diff --git a/libxml2/result/schemas/extension1_0_1.err b/libxml2/result/schemas/extension1_0_1.err new file mode 100644 index 0000000..7f9e042 --- /dev/null +++ b/libxml2/result/schemas/extension1_0_1.err @@ -0,0 +1,2 @@ +./test/schemas/extension1_1.xml:1: Schemas validity error : Element 'title', attribute 'langue': The attribute 'langue' is not allowed. +./test/schemas/extension1_1.xml fails to validate diff --git a/libxml2/result/schemas/extension1_0_2.err b/libxml2/result/schemas/extension1_0_2.err new file mode 100644 index 0000000..8c2e071 --- /dev/null +++ b/libxml2/result/schemas/extension1_0_2.err @@ -0,0 +1,2 @@ +./test/schemas/extension1_2.xml:1: Schemas validity error : Element 'title': Element content is not allowed, because the content type is a simple type definition. +./test/schemas/extension1_2.xml fails to validate diff --git a/libxml2/result/schemas/extension2_1_0.err b/libxml2/result/schemas/extension2_1_0.err new file mode 100644 index 0000000..88c15aa --- /dev/null +++ b/libxml2/result/schemas/extension2_1_0.err @@ -0,0 +1 @@ +./test/schemas/extension2_0.xml validates diff --git a/libxml2/result/schemas/facet-unionST-err1_0_0.err b/libxml2/result/schemas/facet-unionST-err1_0_0.err new file mode 100644 index 0000000..e2fa5f9 --- /dev/null +++ b/libxml2/result/schemas/facet-unionST-err1_0_0.err @@ -0,0 +1,2 @@ +./test/schemas/facet-unionST-err1_0.xml:3: Schemas validity error : Element '{http://FOO}foo': 'tiny' is not a valid value of the union type '{http://FOO}fooType.B'. +./test/schemas/facet-unionST-err1_0.xml fails to validate diff --git a/libxml2/result/schemas/facet-whiteSpace_0_0.err b/libxml2/result/schemas/facet-whiteSpace_0_0.err new file mode 100644 index 0000000..63276c6 --- /dev/null +++ b/libxml2/result/schemas/facet-whiteSpace_0_0.err @@ -0,0 +1 @@ +./test/schemas/facet-whiteSpace_0.xml validates diff --git a/libxml2/result/schemas/group0_0_0.err b/libxml2/result/schemas/group0_0_0.err new file mode 100644 index 0000000..587a74a --- /dev/null +++ b/libxml2/result/schemas/group0_0_0.err @@ -0,0 +1 @@ +./test/schemas/group0_0.xml validates diff --git a/libxml2/result/schemas/hexbinary_0_0.err b/libxml2/result/schemas/hexbinary_0_0.err new file mode 100644 index 0000000..783bab4 --- /dev/null +++ b/libxml2/result/schemas/hexbinary_0_0.err @@ -0,0 +1 @@ +./test/schemas/hexbinary_0.xml validates diff --git a/libxml2/result/schemas/hexbinary_0_1.err b/libxml2/result/schemas/hexbinary_0_1.err new file mode 100644 index 0000000..04f14a0 --- /dev/null +++ b/libxml2/result/schemas/hexbinary_0_1.err @@ -0,0 +1,8 @@ +./test/schemas/hexbinary_1.xml:6: Schemas validity error : Element 'hex': '0' is not a valid value of the atomic type 'xs:hexBinary'. +./test/schemas/hexbinary_1.xml:7: Schemas validity error : Element 'hex': '0123456789ABCDEFGH' is not a valid value of the atomic type 'xs:hexBinary'. +./test/schemas/hexbinary_1.xml:8: Schemas validity error : Element 'hex': '+abcdef0123456789' is not a valid value of the atomic type 'xs:hexBinary'. +./test/schemas/hexbinary_1.xml:9: Schemas validity error : Element 'hex': '-0123456789abcdef' is not a valid value of the atomic type 'xs:hexBinary'. +./test/schemas/hexbinary_1.xml:11: Schemas validity error : Element 'hex2': [facet 'maxLength'] The value has a length of '9'; this exceeds the allowed maximum length of '8'. +./test/schemas/hexbinary_1.xml:13: Schemas validity error : Element 'hex3': [facet 'length'] The value has a length of '1'; this differs from the allowed length of '2'. +./test/schemas/hexbinary_1.xml:14: Schemas validity error : Element 'hex3': [facet 'length'] The value has a length of '3'; this differs from the allowed length of '2'. +./test/schemas/hexbinary_1.xml fails to validate diff --git a/libxml2/result/schemas/idc-keyref-err1_1_0.err b/libxml2/result/schemas/idc-keyref-err1_1_0.err new file mode 100644 index 0000000..32a6a0d --- /dev/null +++ b/libxml2/result/schemas/idc-keyref-err1_1_0.err @@ -0,0 +1,2 @@ +./test/schemas/idc-keyref-err1_0.xml:12: Schemas validity error : Element '{urn:test:foo}Ref': No match found for key-sequence ['L4'] of keyref '{urn:test:foo}LinkKeyRef'. +./test/schemas/idc-keyref-err1_0.xml fails to validate diff --git a/libxml2/result/schemas/import0_0_0.err b/libxml2/result/schemas/import0_0_0.err new file mode 100644 index 0000000..1231800 --- /dev/null +++ b/libxml2/result/schemas/import0_0_0.err @@ -0,0 +1 @@ +./test/schemas/import0_0.xml validates diff --git a/libxml2/result/schemas/import1_0_0.err b/libxml2/result/schemas/import1_0_0.err new file mode 100644 index 0000000..f780244 --- /dev/null +++ b/libxml2/result/schemas/import1_0_0.err @@ -0,0 +1,4 @@ +I/O warning : failed to load "test/schemas/import1_0bc.imp": No such file or directory +./test/schemas/import1_0.xsd:11: element import: Schemas parser warning : Element '{http://www.w3.org/2001/XMLSchema}import': Failed to locate a schema at location 'test/schemas/import1_0bc.imp'. Skipping the import. +./test/schemas/import1_0.xsd:16: element import: Schemas parser warning : Element '{http://www.w3.org/2001/XMLSchema}import': Skipping import of schema located at 'test/schemas/import1_0b.imp' for the namespace 'http://BAR', since this namespace was already imported with the schema located at 'test/schemas/import1_0.imp'. +./test/schemas/import1_0.xsd:26: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element', attribute 'ref': The QName value '{http://BAR}bar.B' does not resolve to a(n) element declaration. diff --git a/libxml2/result/schemas/import2_0_0.err b/libxml2/result/schemas/import2_0_0.err new file mode 100644 index 0000000..2960b48 --- /dev/null +++ b/libxml2/result/schemas/import2_0_0.err @@ -0,0 +1 @@ +./test/schemas/import2_0.xml validates diff --git a/libxml2/result/schemas/include1_0_0.err b/libxml2/result/schemas/include1_0_0.err new file mode 100644 index 0000000..8ba8a2e --- /dev/null +++ b/libxml2/result/schemas/include1_0_0.err @@ -0,0 +1 @@ +./test/schemas/include1_0.xml validates diff --git a/libxml2/result/schemas/include2_0_0.err b/libxml2/result/schemas/include2_0_0.err new file mode 100644 index 0000000..7aea2b0 --- /dev/null +++ b/libxml2/result/schemas/include2_0_0.err @@ -0,0 +1 @@ +./test/schemas/include2_0.xml validates diff --git a/libxml2/result/schemas/include3_0_0.err b/libxml2/result/schemas/include3_0_0.err new file mode 100644 index 0000000..27bb5d0 --- /dev/null +++ b/libxml2/result/schemas/include3_0_0.err @@ -0,0 +1 @@ +test/schemas/include3_0.inc:4: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': A global element declaration '{http://FOO}bar' does already exist. diff --git a/libxml2/result/schemas/issue303_0_0.err b/libxml2/result/schemas/issue303_0_0.err new file mode 100644 index 0000000..6deaf66 --- /dev/null +++ b/libxml2/result/schemas/issue303_0_0.err @@ -0,0 +1 @@ +./test/schemas/issue303_0.xml validates diff --git a/libxml2/result/schemas/issue40_0_0.err b/libxml2/result/schemas/issue40_0_0.err new file mode 100644 index 0000000..73c9e69 --- /dev/null +++ b/libxml2/result/schemas/issue40_0_0.err @@ -0,0 +1 @@ +./test/schemas/issue40_0.xml validates diff --git a/libxml2/result/schemas/issue491_0_0.err b/libxml2/result/schemas/issue491_0_0.err new file mode 100644 index 0000000..9b2bb96 --- /dev/null +++ b/libxml2/result/schemas/issue491_0_0.err @@ -0,0 +1 @@ +./test/schemas/issue491_0.xsd:8: element complexType: Schemas parser error : complex type 'ChildType': The content type of both, the type and its base type, must either 'mixed' or 'element-only'. diff --git a/libxml2/result/schemas/item_0_0.err b/libxml2/result/schemas/item_0_0.err new file mode 100644 index 0000000..90fa561 --- /dev/null +++ b/libxml2/result/schemas/item_0_0.err @@ -0,0 +1 @@ +./test/schemas/item_0.xml validates diff --git a/libxml2/result/schemas/item_1_0.err b/libxml2/result/schemas/item_1_0.err new file mode 100644 index 0000000..90fa561 --- /dev/null +++ b/libxml2/result/schemas/item_1_0.err @@ -0,0 +1 @@ +./test/schemas/item_0.xml validates diff --git a/libxml2/result/schemas/length1_0_0.err b/libxml2/result/schemas/length1_0_0.err new file mode 100644 index 0000000..58cbe24 --- /dev/null +++ b/libxml2/result/schemas/length1_0_0.err @@ -0,0 +1 @@ +./test/schemas/length1_0.xml validates diff --git a/libxml2/result/schemas/length2_0_0.err b/libxml2/result/schemas/length2_0_0.err new file mode 100644 index 0000000..4fd27d6 --- /dev/null +++ b/libxml2/result/schemas/length2_0_0.err @@ -0,0 +1 @@ +./test/schemas/length2_0.xml validates diff --git a/libxml2/result/schemas/length3_0_0.err b/libxml2/result/schemas/length3_0_0.err new file mode 100644 index 0000000..65afcd7 --- /dev/null +++ b/libxml2/result/schemas/length3_0_0.err @@ -0,0 +1 @@ +./test/schemas/length3_0.xsd:5: element element: Schemas parser error : element decl. 'size', attribute 'type': The QName value '{http://www.w3.org/2001/XMLSchema}non-positive-integer' does not resolve to a(n) type definition. diff --git a/libxml2/result/schemas/list0_0_0.err b/libxml2/result/schemas/list0_0_0.err new file mode 100644 index 0000000..37a2cdc --- /dev/null +++ b/libxml2/result/schemas/list0_0_0.err @@ -0,0 +1 @@ +./test/schemas/list0_0.xml validates diff --git a/libxml2/result/schemas/list0_0_1.err b/libxml2/result/schemas/list0_0_1.err new file mode 100644 index 0000000..6d77f75 --- /dev/null +++ b/libxml2/result/schemas/list0_0_1.err @@ -0,0 +1,2 @@ +./test/schemas/list0_1.xml:1: Schemas validity error : Element 'test': Missing child element(s). Expected is ( string ). +./test/schemas/list0_1.xml fails to validate diff --git a/libxml2/result/schemas/list0_0_2.err b/libxml2/result/schemas/list0_0_2.err new file mode 100644 index 0000000..0ec6237 --- /dev/null +++ b/libxml2/result/schemas/list0_0_2.err @@ -0,0 +1 @@ +./test/schemas/list0_2.xml validates diff --git a/libxml2/result/schemas/list0_1_0.err b/libxml2/result/schemas/list0_1_0.err new file mode 100644 index 0000000..77e4368 --- /dev/null +++ b/libxml2/result/schemas/list0_1_0.err @@ -0,0 +1,2 @@ +./test/schemas/list0_0.xml:5: Schemas validity error : Element 'string': This element is not expected. +./test/schemas/list0_0.xml fails to validate diff --git a/libxml2/result/schemas/list0_1_1.err b/libxml2/result/schemas/list0_1_1.err new file mode 100644 index 0000000..6d77f75 --- /dev/null +++ b/libxml2/result/schemas/list0_1_1.err @@ -0,0 +1,2 @@ +./test/schemas/list0_1.xml:1: Schemas validity error : Element 'test': Missing child element(s). Expected is ( string ). +./test/schemas/list0_1.xml fails to validate diff --git a/libxml2/result/schemas/list0_1_2.err b/libxml2/result/schemas/list0_1_2.err new file mode 100644 index 0000000..0ec6237 --- /dev/null +++ b/libxml2/result/schemas/list0_1_2.err @@ -0,0 +1 @@ +./test/schemas/list0_2.xml validates diff --git a/libxml2/result/schemas/mixed0_0_0.err b/libxml2/result/schemas/mixed0_0_0.err new file mode 100644 index 0000000..bd2f0ed --- /dev/null +++ b/libxml2/result/schemas/mixed0_0_0.err @@ -0,0 +1 @@ +./test/schemas/mixed0_0.xml validates diff --git a/libxml2/result/schemas/mixed1_0_0.err b/libxml2/result/schemas/mixed1_0_0.err new file mode 100644 index 0000000..e9a6b01 --- /dev/null +++ b/libxml2/result/schemas/mixed1_0_0.err @@ -0,0 +1 @@ +./test/schemas/mixed1_0.xml validates diff --git a/libxml2/result/schemas/ns0_0_0.err b/libxml2/result/schemas/ns0_0_0.err new file mode 100644 index 0000000..44d1d44 --- /dev/null +++ b/libxml2/result/schemas/ns0_0_0.err @@ -0,0 +1 @@ +./test/schemas/ns0_0.xml validates diff --git a/libxml2/result/schemas/ns0_0_1.err b/libxml2/result/schemas/ns0_0_1.err new file mode 100644 index 0000000..2110249 --- /dev/null +++ b/libxml2/result/schemas/ns0_0_1.err @@ -0,0 +1 @@ +./test/schemas/ns0_1.xml validates diff --git a/libxml2/result/schemas/ns0_0_2.err b/libxml2/result/schemas/ns0_0_2.err new file mode 100644 index 0000000..7ba7426 --- /dev/null +++ b/libxml2/result/schemas/ns0_0_2.err @@ -0,0 +1,2 @@ +./test/schemas/ns0_2.xml:1: Schemas validity error : Element 'foo': No matching global declaration available for the validation root. +./test/schemas/ns0_2.xml fails to validate diff --git a/libxml2/result/schemas/ns0_0_3.err b/libxml2/result/schemas/ns0_0_3.err new file mode 100644 index 0000000..c7c8d73 --- /dev/null +++ b/libxml2/result/schemas/ns0_0_3.err @@ -0,0 +1,2 @@ +./test/schemas/ns0_3.xml:1: Schemas validity error : Element '{http://example.com/xsd/ns}foo', attribute '{http://example.com/xsd/ns}id': The attribute '{http://example.com/xsd/ns}id' is not allowed. +./test/schemas/ns0_3.xml fails to validate diff --git a/libxml2/result/schemas/ns0_0_4.err b/libxml2/result/schemas/ns0_0_4.err new file mode 100644 index 0000000..dbdf51f --- /dev/null +++ b/libxml2/result/schemas/ns0_0_4.err @@ -0,0 +1,2 @@ +./test/schemas/ns0_4.xml:2: Schemas validity error : Element '{http://example.com/xsd/ns}foo', attribute '{http://example.com/xsd/ns}id': The attribute '{http://example.com/xsd/ns}id' is not allowed. +./test/schemas/ns0_4.xml fails to validate diff --git a/libxml2/result/schemas/ns0_1_0.err b/libxml2/result/schemas/ns0_1_0.err new file mode 100644 index 0000000..1a1a84c --- /dev/null +++ b/libxml2/result/schemas/ns0_1_0.err @@ -0,0 +1,2 @@ +./test/schemas/ns0_0.xml:1: Schemas validity error : Element '{http://example.com/xsd/ns}foo', attribute 'id': The attribute 'id' is not allowed. +./test/schemas/ns0_0.xml fails to validate diff --git a/libxml2/result/schemas/ns0_1_1.err b/libxml2/result/schemas/ns0_1_1.err new file mode 100644 index 0000000..04aa22c --- /dev/null +++ b/libxml2/result/schemas/ns0_1_1.err @@ -0,0 +1,2 @@ +./test/schemas/ns0_1.xml:1: Schemas validity error : Element '{http://example.com/xsd/ns}foo', attribute 'id': The attribute 'id' is not allowed. +./test/schemas/ns0_1.xml fails to validate diff --git a/libxml2/result/schemas/ns0_1_2.err b/libxml2/result/schemas/ns0_1_2.err new file mode 100644 index 0000000..7ba7426 --- /dev/null +++ b/libxml2/result/schemas/ns0_1_2.err @@ -0,0 +1,2 @@ +./test/schemas/ns0_2.xml:1: Schemas validity error : Element 'foo': No matching global declaration available for the validation root. +./test/schemas/ns0_2.xml fails to validate diff --git a/libxml2/result/schemas/ns0_1_3.err b/libxml2/result/schemas/ns0_1_3.err new file mode 100644 index 0000000..1fc8772 --- /dev/null +++ b/libxml2/result/schemas/ns0_1_3.err @@ -0,0 +1 @@ +./test/schemas/ns0_3.xml validates diff --git a/libxml2/result/schemas/ns0_1_4.err b/libxml2/result/schemas/ns0_1_4.err new file mode 100644 index 0000000..7374ebf --- /dev/null +++ b/libxml2/result/schemas/ns0_1_4.err @@ -0,0 +1 @@ +./test/schemas/ns0_4.xml validates diff --git a/libxml2/result/schemas/ns1_0_0.err b/libxml2/result/schemas/ns1_0_0.err new file mode 100644 index 0000000..ffcfb6c --- /dev/null +++ b/libxml2/result/schemas/ns1_0_0.err @@ -0,0 +1 @@ +./test/schemas/ns1_0.xml validates diff --git a/libxml2/result/schemas/ns2_0_0.err b/libxml2/result/schemas/ns2_0_0.err new file mode 100644 index 0000000..b2c181e --- /dev/null +++ b/libxml2/result/schemas/ns2_0_0.err @@ -0,0 +1 @@ +./test/schemas/ns2_0.xml validates diff --git a/libxml2/result/schemas/nvdcve_0_0.err b/libxml2/result/schemas/nvdcve_0_0.err new file mode 100644 index 0000000..18e7c7c --- /dev/null +++ b/libxml2/result/schemas/nvdcve_0_0.err @@ -0,0 +1 @@ +./test/schemas/nvdcve_0.xml validates diff --git a/libxml2/result/schemas/oss-fuzz-51295_0_0.err b/libxml2/result/schemas/oss-fuzz-51295_0_0.err new file mode 100644 index 0000000..1e89524 --- /dev/null +++ b/libxml2/result/schemas/oss-fuzz-51295_0_0.err @@ -0,0 +1,2 @@ +./test/schemas/oss-fuzz-51295_0.xsd:2: element element: Schemas parser error : element decl. 'e': The element declaration 'e' defines a circular substitution group to element declaration 'e'. +./test/schemas/oss-fuzz-51295_0.xsd:2: element element: Schemas parser error : element decl. 'e': The element declaration 'e' defines a circular substitution group to element declaration 'e'. diff --git a/libxml2/result/schemas/po0_0_0.err b/libxml2/result/schemas/po0_0_0.err new file mode 100644 index 0000000..9687b9d --- /dev/null +++ b/libxml2/result/schemas/po0_0_0.err @@ -0,0 +1 @@ +./test/schemas/po0_0.xml validates diff --git a/libxml2/result/schemas/po1_0_0.err b/libxml2/result/schemas/po1_0_0.err new file mode 100644 index 0000000..2c264ce --- /dev/null +++ b/libxml2/result/schemas/po1_0_0.err @@ -0,0 +1 @@ +./test/schemas/po1_0.xml validates diff --git a/libxml2/result/schemas/poschargrp0_0_0.err b/libxml2/result/schemas/poschargrp0_0_0.err new file mode 100644 index 0000000..de14f4d --- /dev/null +++ b/libxml2/result/schemas/poschargrp0_0_0.err @@ -0,0 +1 @@ +./test/schemas/poschargrp0_0.xml validates diff --git a/libxml2/result/schemas/regexp-char-ref_0_0.err b/libxml2/result/schemas/regexp-char-ref_0_0.err new file mode 100644 index 0000000..40ceb7f --- /dev/null +++ b/libxml2/result/schemas/regexp-char-ref_0_0.err @@ -0,0 +1 @@ +./test/schemas/regexp-char-ref_0.xml validates diff --git a/libxml2/result/schemas/regexp-char-ref_1_0.err b/libxml2/result/schemas/regexp-char-ref_1_0.err new file mode 100644 index 0000000..40ceb7f --- /dev/null +++ b/libxml2/result/schemas/regexp-char-ref_1_0.err @@ -0,0 +1 @@ +./test/schemas/regexp-char-ref_0.xml validates diff --git a/libxml2/result/schemas/restrict-CT-attr-ref_0_0.err b/libxml2/result/schemas/restrict-CT-attr-ref_0_0.err new file mode 100644 index 0000000..77dba75 --- /dev/null +++ b/libxml2/result/schemas/restrict-CT-attr-ref_0_0.err @@ -0,0 +1 @@ +./test/schemas/restrict-CT-attr-ref_0.xml validates diff --git a/libxml2/result/schemas/restriction-attr1_0_0.err b/libxml2/result/schemas/restriction-attr1_0_0.err new file mode 100644 index 0000000..cdf003d --- /dev/null +++ b/libxml2/result/schemas/restriction-attr1_0_0.err @@ -0,0 +1 @@ +./test/schemas/restriction-attr1_0.xsd:5: element complexType: Schemas parser error : local complex type, attribute use 'barA': The 'optional' attribute use is inconsistent with the corresponding 'required' attribute use of the base complex type definition '{http://FOO}typeA'. diff --git a/libxml2/result/schemas/restriction-enum-1_1_0.err b/libxml2/result/schemas/restriction-enum-1_1_0.err new file mode 100644 index 0000000..719aca1 --- /dev/null +++ b/libxml2/result/schemas/restriction-enum-1_1_0.err @@ -0,0 +1,2 @@ +./test/schemas/restriction-enum-1_0.xml:7: Schemas validity error : Element 'foo': [facet 'enumeration'] The value 'c' is not an element of the set {'a', 'b', 'd'}. +./test/schemas/restriction-enum-1_0.xml fails to validate diff --git a/libxml2/result/schemas/restriction0_0_0.err b/libxml2/result/schemas/restriction0_0_0.err new file mode 100644 index 0000000..16ef2bc --- /dev/null +++ b/libxml2/result/schemas/restriction0_0_0.err @@ -0,0 +1 @@ +./test/schemas/restriction0_0.xml validates diff --git a/libxml2/result/schemas/scc-no-xmlns_0_0.err b/libxml2/result/schemas/scc-no-xmlns_0_0.err new file mode 100644 index 0000000..aad2b68 --- /dev/null +++ b/libxml2/result/schemas/scc-no-xmlns_0_0.err @@ -0,0 +1 @@ +./test/schemas/scc-no-xmlns_0.xsd:7: element attribute: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}attribute', attribute 'name': The value of the attribute must not match 'xmlns'. diff --git a/libxml2/result/schemas/scc-no-xsi_0_0.err b/libxml2/result/schemas/scc-no-xsi_0_0.err new file mode 100644 index 0000000..e04e3e4 --- /dev/null +++ b/libxml2/result/schemas/scc-no-xsi_0_0.err @@ -0,0 +1 @@ +./test/schemas/scc-no-xsi_0.xsd:7: element attribute: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}attribute': The target namespace must not match 'http://www.w3.org/2001/XMLSchema-instance'. diff --git a/libxml2/result/schemas/seq-dubl-elem1_0_0.err b/libxml2/result/schemas/seq-dubl-elem1_0_0.err new file mode 100644 index 0000000..466d3a8 --- /dev/null +++ b/libxml2/result/schemas/seq-dubl-elem1_0_0.err @@ -0,0 +1 @@ +./test/schemas/seq-dubl-elem1_0.xml validates diff --git a/libxml2/result/schemas/seq0_0_0.err b/libxml2/result/schemas/seq0_0_0.err new file mode 100644 index 0000000..d4c8431 --- /dev/null +++ b/libxml2/result/schemas/seq0_0_0.err @@ -0,0 +1 @@ +./test/schemas/seq0_0.xml validates diff --git a/libxml2/result/schemas/src-attribute1_0_0.err b/libxml2/result/schemas/src-attribute1_0_0.err new file mode 100644 index 0000000..368d97c --- /dev/null +++ b/libxml2/result/schemas/src-attribute1_0_0.err @@ -0,0 +1 @@ +./test/schemas/src-attribute1_0.xsd:9: element attribute: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}attribute': The attributes 'default' and 'fixed' are mutually exclusive. diff --git a/libxml2/result/schemas/src-attribute2_0_0.err b/libxml2/result/schemas/src-attribute2_0_0.err new file mode 100644 index 0000000..ac6df6f --- /dev/null +++ b/libxml2/result/schemas/src-attribute2_0_0.err @@ -0,0 +1 @@ +./test/schemas/src-attribute2_0.xsd:9: element attribute: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}attribute': The value of the attribute 'use' must be 'optional' if the attribute 'default' is present. diff --git a/libxml2/result/schemas/src-attribute3-1_0_0.err b/libxml2/result/schemas/src-attribute3-1_0_0.err new file mode 100644 index 0000000..3345b3c --- /dev/null +++ b/libxml2/result/schemas/src-attribute3-1_0_0.err @@ -0,0 +1 @@ +./test/schemas/src-attribute3-1_0.xsd:9: element attribute: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}attribute': The attribute 'name' is not allowed. diff --git a/libxml2/result/schemas/src-attribute3-2-form_0_0.err b/libxml2/result/schemas/src-attribute3-2-form_0_0.err new file mode 100644 index 0000000..ad3667b --- /dev/null +++ b/libxml2/result/schemas/src-attribute3-2-form_0_0.err @@ -0,0 +1 @@ +./test/schemas/src-attribute3-2-form_0.xsd:10: element attribute: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}attribute': The attribute 'form' is not allowed. diff --git a/libxml2/result/schemas/src-attribute3-2-st_0_0.err b/libxml2/result/schemas/src-attribute3-2-st_0_0.err new file mode 100644 index 0000000..ae85e0a --- /dev/null +++ b/libxml2/result/schemas/src-attribute3-2-st_0_0.err @@ -0,0 +1 @@ +./test/schemas/src-attribute3-2-st_0.xsd:11: element simpleType: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}attribute': The content is not valid. Expected is (annotation?). diff --git a/libxml2/result/schemas/src-attribute3-2-type_0_0.err b/libxml2/result/schemas/src-attribute3-2-type_0_0.err new file mode 100644 index 0000000..50016d8 --- /dev/null +++ b/libxml2/result/schemas/src-attribute3-2-type_0_0.err @@ -0,0 +1 @@ +./test/schemas/src-attribute3-2-type_0.xsd:10: element attribute: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}attribute': The attribute 'type' is not allowed. diff --git a/libxml2/result/schemas/src-attribute4_0_0.err b/libxml2/result/schemas/src-attribute4_0_0.err new file mode 100644 index 0000000..cac6718 --- /dev/null +++ b/libxml2/result/schemas/src-attribute4_0_0.err @@ -0,0 +1 @@ +./test/schemas/src-attribute4_0.xsd:8: element simpleType: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}attribute': The attribute 'type' and the child are mutually exclusive. diff --git a/libxml2/result/schemas/src-element1_0_0.err b/libxml2/result/schemas/src-element1_0_0.err new file mode 100644 index 0000000..9d8b198 --- /dev/null +++ b/libxml2/result/schemas/src-element1_0_0.err @@ -0,0 +1 @@ +./test/schemas/src-element1_0.xsd:7: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The attributes 'default' and 'fixed' are mutually exclusive. diff --git a/libxml2/result/schemas/src-element2-1_0_0.err b/libxml2/result/schemas/src-element2-1_0_0.err new file mode 100644 index 0000000..01d89d6 --- /dev/null +++ b/libxml2/result/schemas/src-element2-1_0_0.err @@ -0,0 +1 @@ +./test/schemas/src-element2-1_0.xsd:12: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The attributes 'ref' and 'name' are mutually exclusive. diff --git a/libxml2/result/schemas/src-element2-2_0_0.err b/libxml2/result/schemas/src-element2-2_0_0.err new file mode 100644 index 0000000..90cd79a --- /dev/null +++ b/libxml2/result/schemas/src-element2-2_0_0.err @@ -0,0 +1,9 @@ +./test/schemas/src-element2-2_0.xsd:18: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element', attribute 'maxOccurs': The value must be greater than or equal to 1. +./test/schemas/src-element2-2_0.xsd:23: element complexType: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The content is not valid. Expected is (annotation?). +./test/schemas/src-element2-2_0.xsd:29: element simpleType: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The content is not valid. Expected is (annotation?). +./test/schemas/src-element2-2_0.xsd:36: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element', attribute 'type': Only the attributes 'minOccurs', 'maxOccurs' and 'id' are allowed in addition to 'ref'. +./test/schemas/src-element2-2_0.xsd:37: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element', attribute 'nillable': Only the attributes 'minOccurs', 'maxOccurs' and 'id' are allowed in addition to 'ref'. +./test/schemas/src-element2-2_0.xsd:38: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element', attribute 'default': Only the attributes 'minOccurs', 'maxOccurs' and 'id' are allowed in addition to 'ref'. +./test/schemas/src-element2-2_0.xsd:39: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element', attribute 'fixed': Only the attributes 'minOccurs', 'maxOccurs' and 'id' are allowed in addition to 'ref'. +./test/schemas/src-element2-2_0.xsd:40: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element', attribute 'form': Only the attributes 'minOccurs', 'maxOccurs' and 'id' are allowed in addition to 'ref'. +./test/schemas/src-element2-2_0.xsd:41: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element', attribute 'block': Only the attributes 'minOccurs', 'maxOccurs' and 'id' are allowed in addition to 'ref'. diff --git a/libxml2/result/schemas/src-element3_0_0.err b/libxml2/result/schemas/src-element3_0_0.err new file mode 100644 index 0000000..b8bd817 --- /dev/null +++ b/libxml2/result/schemas/src-element3_0_0.err @@ -0,0 +1,2 @@ +./test/schemas/src-element3_0.xsd:8: element complexType: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The attribute 'type' and the child are mutually exclusive. +./test/schemas/src-element3_0.xsd:16: element simpleType: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The attribute 'type' and the child are mutually exclusive. diff --git a/libxml2/result/schemas/subst-group-1_0_1.err b/libxml2/result/schemas/subst-group-1_0_1.err new file mode 100644 index 0000000..0775cdd --- /dev/null +++ b/libxml2/result/schemas/subst-group-1_0_1.err @@ -0,0 +1 @@ +./test/schemas/subst-group-1_1.xml validates diff --git a/libxml2/result/schemas/union2_1_1.err b/libxml2/result/schemas/union2_1_1.err new file mode 100644 index 0000000..26fed53 --- /dev/null +++ b/libxml2/result/schemas/union2_1_1.err @@ -0,0 +1,4 @@ +./test/schemas/union2_1.xml:4: Schemas validity error : Element '{urn:test:foo}ELEMENTS': ' + 5 +' is not a valid value of the local union type. +./test/schemas/union2_1.xml fails to validate diff --git a/libxml2/result/schemas/union_0_0.err b/libxml2/result/schemas/union_0_0.err new file mode 100644 index 0000000..3dbc861 --- /dev/null +++ b/libxml2/result/schemas/union_0_0.err @@ -0,0 +1 @@ +./test/schemas/union_0_0.xml validates diff --git a/libxml2/result/schemas/vdv-first0_0_0.err b/libxml2/result/schemas/vdv-first0_0_0.err new file mode 100644 index 0000000..6d39ecb --- /dev/null +++ b/libxml2/result/schemas/vdv-first0_0_0.err @@ -0,0 +1 @@ +./test/schemas/vdv-first0_0.xml validates diff --git a/libxml2/result/schemas/vdv-first1_0_0.err b/libxml2/result/schemas/vdv-first1_0_0.err new file mode 100644 index 0000000..54f4b15 --- /dev/null +++ b/libxml2/result/schemas/vdv-first1_0_0.err @@ -0,0 +1 @@ +./test/schemas/vdv-first1_0.xml validates diff --git a/libxml2/result/schemas/vdv-first2_0_0.err b/libxml2/result/schemas/vdv-first2_0_0.err new file mode 100644 index 0000000..7430eda --- /dev/null +++ b/libxml2/result/schemas/vdv-first2_0_0.err @@ -0,0 +1 @@ +./test/schemas/vdv-first2_0.xml validates diff --git a/libxml2/result/schemas/vdv-first3_0_0.err b/libxml2/result/schemas/vdv-first3_0_0.err new file mode 100644 index 0000000..943e3e1 --- /dev/null +++ b/libxml2/result/schemas/vdv-first3_0_0.err @@ -0,0 +1 @@ +./test/schemas/vdv-first3_0.xml validates diff --git a/libxml2/result/schemas/vdv-first4_0_0.err b/libxml2/result/schemas/vdv-first4_0_0.err new file mode 100644 index 0000000..bfa9b29 --- /dev/null +++ b/libxml2/result/schemas/vdv-first4_0_0.err @@ -0,0 +1 @@ +./test/schemas/vdv-first4_0.xml validates diff --git a/libxml2/result/schemas/vdv-first4_0_1.err b/libxml2/result/schemas/vdv-first4_0_1.err new file mode 100644 index 0000000..f272776 --- /dev/null +++ b/libxml2/result/schemas/vdv-first4_0_1.err @@ -0,0 +1,2 @@ +./test/schemas/vdv-first4_1.xml:14: Schemas validity error : Element 'born': '196T6-08-22' is not a valid value of the atomic type 'date'. +./test/schemas/vdv-first4_1.xml fails to validate diff --git a/libxml2/result/schemas/vdv-first4_0_2.err b/libxml2/result/schemas/vdv-first4_0_2.err new file mode 100644 index 0000000..07733d2 --- /dev/null +++ b/libxml2/result/schemas/vdv-first4_0_2.err @@ -0,0 +1,2 @@ +./test/schemas/vdv-first4_2.xml:24: Schemas validity error : Element 'born': [facet 'pattern'] The value '2000-01-20Z' is not accepted by the pattern '[^:Z]*'. +./test/schemas/vdv-first4_2.xml fails to validate diff --git a/libxml2/result/schemas/vdv-first5_0_0.err b/libxml2/result/schemas/vdv-first5_0_0.err new file mode 100644 index 0000000..3f09315 --- /dev/null +++ b/libxml2/result/schemas/vdv-first5_0_0.err @@ -0,0 +1 @@ +./test/schemas/vdv-first5_0.xml validates diff --git a/libxml2/result/schemas/xsd-list-itemType_0_0.err b/libxml2/result/schemas/xsd-list-itemType_0_0.err new file mode 100644 index 0000000..5ecd885 --- /dev/null +++ b/libxml2/result/schemas/xsd-list-itemType_0_0.err @@ -0,0 +1 @@ +./test/schemas/xsd-list-itemType_0.xml validates diff --git a/libxml2/result/schemas/xsd-simpleType-varieties_0_0.err b/libxml2/result/schemas/xsd-simpleType-varieties_0_0.err new file mode 100644 index 0000000..a66506a --- /dev/null +++ b/libxml2/result/schemas/xsd-simpleType-varieties_0_0.err @@ -0,0 +1 @@ +./test/schemas/xsd-simpleType-varieties_0.xml validates diff --git a/libxml2/result/schematron/cve-2025-49794_0.err b/libxml2/result/schematron/cve-2025-49794_0.err new file mode 100644 index 0000000..5775231 --- /dev/null +++ b/libxml2/result/schematron/cve-2025-49794_0.err @@ -0,0 +1,2 @@ +./test/schematron/cve-2025-49794_0.xml:2: element boo0: schematron error : /librar0/boo0 line 2: +./test/schematron/cve-2025-49794_0.xml fails to validate diff --git a/libxml2/result/schematron/cve-2025-49796_0.err b/libxml2/result/schematron/cve-2025-49796_0.err new file mode 100644 index 0000000..bf875ee --- /dev/null +++ b/libxml2/result/schematron/cve-2025-49796_0.err @@ -0,0 +1,2 @@ +./test/schematron/cve-2025-49796_0.xml:2: element boo0: schematron error : /librar0/boo0 line 2: +./test/schematron/cve-2025-49796_0.xml fails to validate diff --git a/libxml2/result/schematron/zvon10_0.err b/libxml2/result/schematron/zvon10_0.err new file mode 100644 index 0000000..f96d882 --- /dev/null +++ b/libxml2/result/schematron/zvon10_0.err @@ -0,0 +1,3 @@ +./test/schematron/zvon10_0.xml:1: element AAA: schematron error : /AAA line 1: CCC element is not present +./test/schematron/zvon10_0.xml:1: element AAA: schematron error : /AAA line 1: CCC element is not present +./test/schematron/zvon10_0.xml fails to validate diff --git a/libxml2/result/schematron/zvon10_1.err b/libxml2/result/schematron/zvon10_1.err new file mode 100644 index 0000000..b7a2835 --- /dev/null +++ b/libxml2/result/schematron/zvon10_1.err @@ -0,0 +1,4 @@ +./test/schematron/zvon10_1.xml:1: element AAA: schematron error : /AAA line 1: CCC element is not present +./test/schematron/zvon10_1.xml:1: element AAA: schematron error : /AAA line 1: CCC element is not present +./test/schematron/zvon10_1.xml:1: element AAA: schematron error : /AAA line 1: There is an extra element +./test/schematron/zvon10_1.xml fails to validate diff --git a/libxml2/result/schematron/zvon11_0.err b/libxml2/result/schematron/zvon11_0.err new file mode 100644 index 0000000..12d673c --- /dev/null +++ b/libxml2/result/schematron/zvon11_0.err @@ -0,0 +1 @@ +./test/schematron/zvon11_0.xml validates diff --git a/libxml2/result/schematron/zvon11_1.err b/libxml2/result/schematron/zvon11_1.err new file mode 100644 index 0000000..c3e55fc --- /dev/null +++ b/libxml2/result/schematron/zvon11_1.err @@ -0,0 +1,2 @@ +./test/schematron/zvon11_1.xml:2: element BBB: schematron error : /AAA/BBB line 2: The element must not have an isolated bbb attribute +./test/schematron/zvon11_1.xml fails to validate diff --git a/libxml2/result/schematron/zvon11_2.err b/libxml2/result/schematron/zvon11_2.err new file mode 100644 index 0000000..edb9630 --- /dev/null +++ b/libxml2/result/schematron/zvon11_2.err @@ -0,0 +1,2 @@ +./test/schematron/zvon11_2.xml:2: element BBB: schematron error : /AAA/BBB line 2: The element must not have an isolated aaa attribute +./test/schematron/zvon11_2.xml fails to validate diff --git a/libxml2/result/schematron/zvon11_3.err b/libxml2/result/schematron/zvon11_3.err new file mode 100644 index 0000000..637c19b --- /dev/null +++ b/libxml2/result/schematron/zvon11_3.err @@ -0,0 +1 @@ +./test/schematron/zvon11_3.xml validates diff --git a/libxml2/result/schematron/zvon12_0.err b/libxml2/result/schematron/zvon12_0.err new file mode 100644 index 0000000..74d0e0c --- /dev/null +++ b/libxml2/result/schematron/zvon12_0.err @@ -0,0 +1,2 @@ +./test/schematron/zvon12_0.xml:2: element BBB: schematron error : /AAA/BBB line 2: There is not enough letters in the abbreviation +./test/schematron/zvon12_0.xml fails to validate diff --git a/libxml2/result/schematron/zvon12_1.err b/libxml2/result/schematron/zvon12_1.err new file mode 100644 index 0000000..24ca791 --- /dev/null +++ b/libxml2/result/schematron/zvon12_1.err @@ -0,0 +1 @@ +./test/schematron/zvon12_1.xml validates diff --git a/libxml2/result/schematron/zvon12_2.err b/libxml2/result/schematron/zvon12_2.err new file mode 100644 index 0000000..a2870c6 --- /dev/null +++ b/libxml2/result/schematron/zvon12_2.err @@ -0,0 +1,2 @@ +./test/schematron/zvon12_2.xml:2: element BBB: schematron error : /AAA/BBB line 2: There is too much letters in the abbreviation +./test/schematron/zvon12_2.xml fails to validate diff --git a/libxml2/result/schematron/zvon13_0.err b/libxml2/result/schematron/zvon13_0.err new file mode 100644 index 0000000..355f0d0 --- /dev/null +++ b/libxml2/result/schematron/zvon13_0.err @@ -0,0 +1,2 @@ +./test/schematron/zvon13_0.xml:1: element Total: schematron error : /Total line 1: The values do not sum to 100%. +./test/schematron/zvon13_0.xml fails to validate diff --git a/libxml2/result/schematron/zvon13_1.err b/libxml2/result/schematron/zvon13_1.err new file mode 100644 index 0000000..e0b9745 --- /dev/null +++ b/libxml2/result/schematron/zvon13_1.err @@ -0,0 +1,2 @@ +./test/schematron/zvon13_1.xml:1: element Total: schematron error : /Total line 1: The values do not sum to 100%. +./test/schematron/zvon13_1.xml fails to validate diff --git a/libxml2/result/schematron/zvon13_2.err b/libxml2/result/schematron/zvon13_2.err new file mode 100644 index 0000000..bc8ec2d --- /dev/null +++ b/libxml2/result/schematron/zvon13_2.err @@ -0,0 +1 @@ +./test/schematron/zvon13_2.xml validates diff --git a/libxml2/result/schematron/zvon14_0.err b/libxml2/result/schematron/zvon14_0.err new file mode 100644 index 0000000..68d9ce7 --- /dev/null +++ b/libxml2/result/schematron/zvon14_0.err @@ -0,0 +1,3 @@ +./test/schematron/zvon14_0.xml:5: element CCC: schematron error : /AAA/CCC line 5: Element CCC must not be a child of element AAA +./test/schematron/zvon14_0.xml:9: element CCC: schematron error : /AAA/DDD/EEE/CCC line 9: Element CCC must not be a child of element EEE +./test/schematron/zvon14_0.xml fails to validate diff --git a/libxml2/result/schematron/zvon15_0.err b/libxml2/result/schematron/zvon15_0.err new file mode 100644 index 0000000..c6ecda2 --- /dev/null +++ b/libxml2/result/schematron/zvon15_0.err @@ -0,0 +1,3 @@ +./test/schematron/zvon15_0.xml:1: element AAA: schematron error : /AAA line 1: Attribute name is forbidden in element AAA +./test/schematron/zvon15_0.xml:3: element CCC: schematron error : /AAA/CCC line 3: Attribute color is forbidden in element CCC +./test/schematron/zvon15_0.xml fails to validate diff --git a/libxml2/result/schematron/zvon16_0.err b/libxml2/result/schematron/zvon16_0.err new file mode 100644 index 0000000..452bcc1 --- /dev/null +++ b/libxml2/result/schematron/zvon16_0.err @@ -0,0 +1,3 @@ +XPath error : Unregistered function: falae +./test/schematron/zvon16_0.xml:2: element book: schematron error : /library/book line 2: Book +./test/schematron/zvon16_0.xml fails to validate diff --git a/libxml2/result/schematron/zvon1_0.err b/libxml2/result/schematron/zvon1_0.err new file mode 100644 index 0000000..19f95cc --- /dev/null +++ b/libxml2/result/schematron/zvon1_0.err @@ -0,0 +1,5 @@ +./test/schematron/zvon1_0.xml:1: element AAA: schematron error : /AAA line 1: BBB element is present. +./test/schematron/zvon1_0.xml:1: element AAA: schematron error : /AAA line 1: AAA misses attribute name. +./test/schematron/zvon1_0.xml:1: element AAA: schematron error : /AAA line 1: BBB element is present. +./test/schematron/zvon1_0.xml:1: element AAA: schematron error : /AAA line 1: AAA misses attribute name. +./test/schematron/zvon1_0.xml fails to validate diff --git a/libxml2/result/schematron/zvon1_1.err b/libxml2/result/schematron/zvon1_1.err new file mode 100644 index 0000000..f5548c9 --- /dev/null +++ b/libxml2/result/schematron/zvon1_1.err @@ -0,0 +1,5 @@ +./test/schematron/zvon1_1.xml:1: element AAA: schematron error : /AAA line 1: BBB element is missing. +./test/schematron/zvon1_1.xml:1: element AAA: schematron error : /AAA line 1: AAA misses attribute name. +./test/schematron/zvon1_1.xml:1: element AAA: schematron error : /AAA line 1: BBB element is missing. +./test/schematron/zvon1_1.xml:1: element AAA: schematron error : /AAA line 1: AAA misses attribute name. +./test/schematron/zvon1_1.xml fails to validate diff --git a/libxml2/result/schematron/zvon2_0.err b/libxml2/result/schematron/zvon2_0.err new file mode 100644 index 0000000..7c79171 --- /dev/null +++ b/libxml2/result/schematron/zvon2_0.err @@ -0,0 +1 @@ +./test/schematron/zvon2_0.xml validates diff --git a/libxml2/result/schematron/zvon2_1.err b/libxml2/result/schematron/zvon2_1.err new file mode 100644 index 0000000..ca4d0fd --- /dev/null +++ b/libxml2/result/schematron/zvon2_1.err @@ -0,0 +1,4 @@ +./test/schematron/zvon2_1.xml:1: element AAA: schematron error : /AAA line 1: Text in element AAA must not contain character @ +./test/schematron/zvon2_1.xml:2: element BBB: schematron error : /AAA/BBB line 2: Text in element BBB must not contain character @ +./test/schematron/zvon2_1.xml:3: element CCC: schematron error : /AAA/CCC line 3: Text in element CCC must not contain character @ +./test/schematron/zvon2_1.xml fails to validate diff --git a/libxml2/result/schematron/zvon2_2.err b/libxml2/result/schematron/zvon2_2.err new file mode 100644 index 0000000..38669f1 --- /dev/null +++ b/libxml2/result/schematron/zvon2_2.err @@ -0,0 +1,2 @@ +./test/schematron/zvon2_2.xml:1: element AAA: schematron error : /AAA line 1: Text in element AAA must not contain character @ +./test/schematron/zvon2_2.xml fails to validate diff --git a/libxml2/result/schematron/zvon3_0.err b/libxml2/result/schematron/zvon3_0.err new file mode 100644 index 0000000..7028b73 --- /dev/null +++ b/libxml2/result/schematron/zvon3_0.err @@ -0,0 +1,5 @@ +./test/schematron/zvon3_0.xml:3: element CCC: schematron error : /AAA/BBB/CCC[1] line 3: attribute name is not present +./test/schematron/zvon3_0.xml:4: element CCC: schematron error : /AAA/BBB/CCC[2] line 4: attribute name is not present +./test/schematron/zvon3_0.xml:6: element CCC: schematron error : /AAA/CCC[1] line 6: attribute name is present +./test/schematron/zvon3_0.xml:7: element CCC: schematron error : /AAA/CCC[2] line 7: attribute name is present +./test/schematron/zvon3_0.xml fails to validate diff --git a/libxml2/result/schematron/zvon4_0.err b/libxml2/result/schematron/zvon4_0.err new file mode 100644 index 0000000..9032c55 --- /dev/null +++ b/libxml2/result/schematron/zvon4_0.err @@ -0,0 +1,2 @@ +./test/schematron/zvon4_0.xml:1: element AAA: schematron error : /AAA line 1: Root element is AAA +./test/schematron/zvon4_0.xml fails to validate diff --git a/libxml2/result/schematron/zvon4_1.err b/libxml2/result/schematron/zvon4_1.err new file mode 100644 index 0000000..aacdd3a --- /dev/null +++ b/libxml2/result/schematron/zvon4_1.err @@ -0,0 +1,2 @@ +./test/schematron/zvon4_1.xml:1: element XXX: schematron error : /XXX line 1: Root element is XXX, not AAA +./test/schematron/zvon4_1.xml fails to validate diff --git a/libxml2/result/schematron/zvon5_0.err b/libxml2/result/schematron/zvon5_0.err new file mode 100644 index 0000000..5018329 --- /dev/null +++ b/libxml2/result/schematron/zvon5_0.err @@ -0,0 +1,6 @@ +./test/schematron/zvon5_0.xml:3: element CCC: schematron error : /AAA/BBB/CCC line 3: Source contains an empty element CCC +./test/schematron/zvon5_0.xml:3: element CCC: schematron error : /AAA/BBB/CCC line 3: [1]An element CCC does not contain any text +./test/schematron/zvon5_0.xml:3: element CCC: schematron error : /AAA/BBB/CCC line 3: [2]An element CCC does not contain any text +./test/schematron/zvon5_0.xml:3: element CCC: schematron error : /AAA/BBB/CCC line 3: [1]An element CCC does not contain any child element +./test/schematron/zvon5_0.xml:3: element CCC: schematron error : /AAA/BBB/CCC line 3: [2]An element CCC does not contain any child element +./test/schematron/zvon5_0.xml fails to validate diff --git a/libxml2/result/schematron/zvon5_1.err b/libxml2/result/schematron/zvon5_1.err new file mode 100644 index 0000000..ad6f2fc --- /dev/null +++ b/libxml2/result/schematron/zvon5_1.err @@ -0,0 +1,4 @@ +./test/schematron/zvon5_1.xml:3: element CCC: schematron error : /AAA/BBB/CCC line 3: Source contains an empty element CCC +./test/schematron/zvon5_1.xml:3: element CCC: schematron error : /AAA/BBB/CCC line 3: [1]An element CCC does not contain any child element +./test/schematron/zvon5_1.xml:3: element CCC: schematron error : /AAA/BBB/CCC line 3: [2]An element CCC does not contain any child element +./test/schematron/zvon5_1.xml fails to validate diff --git a/libxml2/result/schematron/zvon5_2.err b/libxml2/result/schematron/zvon5_2.err new file mode 100644 index 0000000..03f0796 --- /dev/null +++ b/libxml2/result/schematron/zvon5_2.err @@ -0,0 +1,4 @@ +./test/schematron/zvon5_2.xml:3: element CCC: schematron error : /AAA/BBB/CCC line 3: Source contains an empty element CCC +./test/schematron/zvon5_2.xml:3: element CCC: schematron error : /AAA/BBB/CCC line 3: [1]An element CCC does not contain any text +./test/schematron/zvon5_2.xml:3: element CCC: schematron error : /AAA/BBB/CCC line 3: [2]An element CCC does not contain any text +./test/schematron/zvon5_2.xml fails to validate diff --git a/libxml2/result/schematron/zvon6_0.err b/libxml2/result/schematron/zvon6_0.err new file mode 100644 index 0000000..0a3428b --- /dev/null +++ b/libxml2/result/schematron/zvon6_0.err @@ -0,0 +1,2 @@ +./test/schematron/zvon6_0.xml:1: element AAA: schematron error : /AAA line 1: O.K. +./test/schematron/zvon6_0.xml fails to validate diff --git a/libxml2/result/schematron/zvon6_1.err b/libxml2/result/schematron/zvon6_1.err new file mode 100644 index 0000000..c0b5f13 --- /dev/null +++ b/libxml2/result/schematron/zvon6_1.err @@ -0,0 +1,2 @@ +./test/schematron/zvon6_1.xml:1: element AAA: schematron error : /AAA line 1: O.K. +./test/schematron/zvon6_1.xml fails to validate diff --git a/libxml2/result/schematron/zvon6_2.err b/libxml2/result/schematron/zvon6_2.err new file mode 100644 index 0000000..9bcc323 --- /dev/null +++ b/libxml2/result/schematron/zvon6_2.err @@ -0,0 +1,2 @@ +./test/schematron/zvon6_2.xml:1: element AAA: schematron error : /AAA line 1: The AAA value is not permitted. +./test/schematron/zvon6_2.xml fails to validate diff --git a/libxml2/result/schematron/zvon7_0.err b/libxml2/result/schematron/zvon7_0.err new file mode 100644 index 0000000..74cd995 --- /dev/null +++ b/libxml2/result/schematron/zvon7_0.err @@ -0,0 +1,2 @@ +./test/schematron/zvon7_0.xml:1: element AAA: schematron error : /AAA line 1: The AAA value is not an integer. +./test/schematron/zvon7_0.xml fails to validate diff --git a/libxml2/result/schematron/zvon7_1.err b/libxml2/result/schematron/zvon7_1.err new file mode 100644 index 0000000..ac6bfa4 --- /dev/null +++ b/libxml2/result/schematron/zvon7_1.err @@ -0,0 +1,2 @@ +./test/schematron/zvon7_1.xml:1: element AAA: schematron error : /AAA line 1: The AAA value is not an integer. +./test/schematron/zvon7_1.xml fails to validate diff --git a/libxml2/result/schematron/zvon7_2.err b/libxml2/result/schematron/zvon7_2.err new file mode 100644 index 0000000..b0d06d7 --- /dev/null +++ b/libxml2/result/schematron/zvon7_2.err @@ -0,0 +1,2 @@ +./test/schematron/zvon7_2.xml:1: element AAA: schematron error : /AAA line 1: O.K. +./test/schematron/zvon7_2.xml fails to validate diff --git a/libxml2/result/schematron/zvon7_3.err b/libxml2/result/schematron/zvon7_3.err new file mode 100644 index 0000000..07e3666 --- /dev/null +++ b/libxml2/result/schematron/zvon7_3.err @@ -0,0 +1,2 @@ +./test/schematron/zvon7_3.xml:1: element AAA: schematron error : /AAA line 1: O.K. +./test/schematron/zvon7_3.xml fails to validate diff --git a/libxml2/result/schematron/zvon7_4.err b/libxml2/result/schematron/zvon7_4.err new file mode 100644 index 0000000..e754afb --- /dev/null +++ b/libxml2/result/schematron/zvon7_4.err @@ -0,0 +1,2 @@ +./test/schematron/zvon7_4.xml:1: element AAA: schematron error : /AAA line 1: O.K. +./test/schematron/zvon7_4.xml fails to validate diff --git a/libxml2/result/schematron/zvon8_0.err b/libxml2/result/schematron/zvon8_0.err new file mode 100644 index 0000000..006dbe7 --- /dev/null +++ b/libxml2/result/schematron/zvon8_0.err @@ -0,0 +1,2 @@ +./test/schematron/zvon8_0.xml:1: element XXX: schematron error : /XXX line 1: O.K. +./test/schematron/zvon8_0.xml fails to validate diff --git a/libxml2/result/schematron/zvon8_1.err b/libxml2/result/schematron/zvon8_1.err new file mode 100644 index 0000000..7ce3306 --- /dev/null +++ b/libxml2/result/schematron/zvon8_1.err @@ -0,0 +1,2 @@ +./test/schematron/zvon8_1.xml:1: element XXX: schematron error : /XXX line 1: Some BBB are missing +./test/schematron/zvon8_1.xml fails to validate diff --git a/libxml2/result/schematron/zvon8_2.err b/libxml2/result/schematron/zvon8_2.err new file mode 100644 index 0000000..009a4f8 --- /dev/null +++ b/libxml2/result/schematron/zvon8_2.err @@ -0,0 +1,2 @@ +./test/schematron/zvon8_2.xml:1: element XXX: schematron error : /XXX line 1: Some AAA are missing +./test/schematron/zvon8_2.xml fails to validate diff --git a/libxml2/result/schematron/zvon9_0.err b/libxml2/result/schematron/zvon9_0.err new file mode 100644 index 0000000..c17642f --- /dev/null +++ b/libxml2/result/schematron/zvon9_0.err @@ -0,0 +1 @@ +./test/schematron/zvon9_0.xml validates diff --git a/libxml2/result/schematron/zvon9_1.err b/libxml2/result/schematron/zvon9_1.err new file mode 100644 index 0000000..11e8d5d --- /dev/null +++ b/libxml2/result/schematron/zvon9_1.err @@ -0,0 +1,2 @@ +./test/schematron/zvon9_1.xml:2: element CCC: schematron error : /AAA/CCC[1] line 2: Attribute id is used in wrong context +./test/schematron/zvon9_1.xml fails to validate diff --git a/libxml2/result/schematron/zvon9_2.err b/libxml2/result/schematron/zvon9_2.err new file mode 100644 index 0000000..2c4bdf2 --- /dev/null +++ b/libxml2/result/schematron/zvon9_2.err @@ -0,0 +1,2 @@ +./test/schematron/zvon9_2.xml:5: element CCC: schematron error : /AAA/BBB/CCC line 5: Attribute id is missing +./test/schematron/zvon9_2.xml fails to validate diff --git a/libxml2/result/scripts/base b/libxml2/result/scripts/base new file mode 100644 index 0000000..f64231a --- /dev/null +++ b/libxml2/result/scripts/base @@ -0,0 +1,4 @@ +/ > ./test/scripts/base.xml +/ > e > http://example.com/base/ +e > img > http://example.com/base/images/ +img > \ No newline at end of file diff --git a/libxml2/result/scripts/base2 b/libxml2/result/scripts/base2 new file mode 100644 index 0000000..93edf37 --- /dev/null +++ b/libxml2/result/scripts/base2 @@ -0,0 +1,4 @@ +/ > ./test/scripts/base2.xml +/ > e > test/scripts/html/ +e > img > test/scripts/images/ +img > \ No newline at end of file diff --git a/libxml2/result/scripts/long_command b/libxml2/result/scripts/long_command new file mode 100644 index 0000000..e6f0070 --- /dev/null +++ b/libxml2/result/scripts/long_command @@ -0,0 +1,8 @@ +/ > b > b > Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT a:c +b > Unknown command This_is_a_really_long_command_string_designed_to_test_the_limits_of_the_memory_that_stores_the_comm +b > b > Unknown command ess_currents_of_time_and_existence +b > +Navigating_the_labyrinthine_corridors_of_human_cognition_one_often_encounters_the_perplexing_paradox_that_the_more_we_delve_into_the_intricate_dance_of_neural_pathways_and_synaptic_firings_the_further_we_seem_to_stray_from_a_truly_holistic_understanding_of_consciousness_a_phenomenon_that_remains_as_elusive_as_a_moonbeam_caught_in_a_spiderweb_yet_undeniably_shapes_every_fleeting_thought_every_prof +b > \ No newline at end of file diff --git a/libxml2/result/scripts/set1 b/libxml2/result/scripts/set1 new file mode 100644 index 0000000..b4c2c9a --- /dev/null +++ b/libxml2/result/scripts/set1 @@ -0,0 +1,3 @@ +/ > / > + +/ > \ No newline at end of file diff --git a/libxml2/result/scripts/set3 b/libxml2/result/scripts/set3 new file mode 100644 index 0000000..812b35f --- /dev/null +++ b/libxml2/result/scripts/set3 @@ -0,0 +1,12 @@ +/ > a > Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT a + default namespace href=bar +a > a > Object is a Node Set : +Set contains 2 nodes: +1 ELEMENT a + default namespace href=bar +2 ELEMENT b +a > + +a > \ No newline at end of file diff --git a/libxml2/result/scripts/set3.err b/libxml2/result/scripts/set3.err new file mode 100644 index 0000000..0dd7792 --- /dev/null +++ b/libxml2/result/scripts/set3.err @@ -0,0 +1,3 @@ +./test/scripts/set3.xml:1: namespace warning : xmlns: URI bar is not absolute +foo + ^ diff --git a/libxml2/result/scripts/set4 b/libxml2/result/scripts/set4 new file mode 100644 index 0000000..19e9a58 --- /dev/null +++ b/libxml2/result/scripts/set4 @@ -0,0 +1,6 @@ +/ > b > b > Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT a:c +b > + +b > \ No newline at end of file diff --git a/libxml2/result/scripts/whereis b/libxml2/result/scripts/whereis new file mode 100644 index 0000000..2db93d5 --- /dev/null +++ b/libxml2/result/scripts/whereis @@ -0,0 +1,20 @@ +/ > /d:doc +/d:doc/a[1] +/d:doc/b +/d:doc/a[2] +/d:doc/c +/d:doc/a[3] +/d:doc/a[4] +/d:doc/a[4]/e:e[1] +/d:doc/a[4]/e:e[2] +/d:doc/a[4]/b +/d:doc/a[4]/e:e[3] +/d:doc/a[4]/e:e[4] +/d:doc/a[4]/e:e[5] +/d:doc/a[4]/e:e[5]/*[1] +/d:doc/a[4]/e:e[5]/*[2] +/d:doc/a[4]/e:e[5]/*[3] +/d:doc/a[4]/e:e[6] +/d:doc/a[5] +/ > /d:doc/a[4]/e:e[5]/*[3]/@e:attr +/ > \ No newline at end of file diff --git a/libxml2/result/scripts/whereis.err b/libxml2/result/scripts/whereis.err new file mode 100644 index 0000000..e69de29 diff --git a/libxml2/result/slashdot.rdf b/libxml2/result/slashdot.rdf new file mode 100644 index 0000000..33008ab --- /dev/null +++ b/libxml2/result/slashdot.rdf @@ -0,0 +1,65 @@ + + + + + Slashdot:News for Nerds. Stuff that Matters. + http://slashdot.org/ + News for Nerds. Stuff that Matters + + + + Slashdot + http://slashdot.org/images/slashdotlg.gif + http://slashdot.org + + + + 100 Mbit/s on Fibre to the home + http://slashdot.org/articles/99/06/06/1440211.shtml + + + + Gimp 1.2 Preview + http://slashdot.org/articles/99/06/06/1438246.shtml + + + + Sony's AIBO robot Sold Out + http://slashdot.org/articles/99/06/06/1432256.shtml + + + + Ask Slashdot: Another Word for "Hacker"? + http://slashdot.org/askslashdot/99/06/05/1815225.shtml + + + + Corel Linux FAQ + http://slashdot.org/articles/99/06/05/1842218.shtml + + + + Upside downsides MP3.COM. + http://slashdot.org/articles/99/06/05/1558210.shtml + + + + 2 Terabits of Bandwidth + http://slashdot.org/articles/99/06/05/1554258.shtml + + + + Suppression of cold fusion research? + http://slashdot.org/articles/99/06/04/2313200.shtml + + + + California Gov. Halts Wage Info Sale + http://slashdot.org/articles/99/06/04/235256.shtml + + + + Red Hat Announces IPO + http://slashdot.org/articles/99/06/04/0849207.shtml + + diff --git a/libxml2/result/slashdot.rdf.rde b/libxml2/result/slashdot.rdf.rde new file mode 100644 index 0000000..fecd24d --- /dev/null +++ b/libxml2/result/slashdot.rdf.rde @@ -0,0 +1,218 @@ +0 1 rdf:RDF 0 0 +1 14 #text 0 1 + + +1 1 channel 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Slashdot:News for Nerds. Stuff that Matters. +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/ +2 15 link 0 0 +2 14 #text 0 1 + +2 1 description 0 0 +3 3 #text 0 1 News for Nerds. Stuff that Matters +2 15 description 0 0 +2 14 #text 0 1 + +1 15 channel 0 0 +1 14 #text 0 1 + + +1 1 image 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Slashdot +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/images/slashdotlg.gif +2 15 url 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org +2 15 link 0 0 +2 14 #text 0 1 + +1 15 image 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 100 Mbit/s on Fibre to the home +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1440211.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Gimp 1.2 Preview +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1438246.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Sony's AIBO robot Sold Out +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1432256.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Ask Slashdot: Another Word for "Hacker"? +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/askslashdot/99/06/05/1815225.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Corel Linux FAQ +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/05/1842218.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Upside downsides MP3.COM. +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/05/1558210.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 2 Terabits of Bandwidth +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/05/1554258.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Suppression of cold fusion research? +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/04/2313200.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 California Gov. Halts Wage Info Sale +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/04/235256.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Red Hat Announces IPO +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/04/0849207.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + +0 15 rdf:RDF 0 0 diff --git a/libxml2/result/slashdot.rdf.rdr b/libxml2/result/slashdot.rdf.rdr new file mode 100644 index 0000000..fecd24d --- /dev/null +++ b/libxml2/result/slashdot.rdf.rdr @@ -0,0 +1,218 @@ +0 1 rdf:RDF 0 0 +1 14 #text 0 1 + + +1 1 channel 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Slashdot:News for Nerds. Stuff that Matters. +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/ +2 15 link 0 0 +2 14 #text 0 1 + +2 1 description 0 0 +3 3 #text 0 1 News for Nerds. Stuff that Matters +2 15 description 0 0 +2 14 #text 0 1 + +1 15 channel 0 0 +1 14 #text 0 1 + + +1 1 image 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Slashdot +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/images/slashdotlg.gif +2 15 url 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org +2 15 link 0 0 +2 14 #text 0 1 + +1 15 image 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 100 Mbit/s on Fibre to the home +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1440211.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Gimp 1.2 Preview +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1438246.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Sony's AIBO robot Sold Out +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1432256.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Ask Slashdot: Another Word for "Hacker"? +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/askslashdot/99/06/05/1815225.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Corel Linux FAQ +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/05/1842218.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Upside downsides MP3.COM. +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/05/1558210.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 2 Terabits of Bandwidth +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/05/1554258.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Suppression of cold fusion research? +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/04/2313200.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 California Gov. Halts Wage Info Sale +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/04/235256.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Red Hat Announces IPO +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/04/0849207.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + +0 15 rdf:RDF 0 0 diff --git a/libxml2/result/slashdot.rdf.sax b/libxml2/result/slashdot.rdf.sax new file mode 100644 index 0000000..fe54376 --- /dev/null +++ b/libxml2/result/slashdot.rdf.sax @@ -0,0 +1,221 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(rdf:RDF, xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#', xmlns='http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 4) +SAX.startElement(channel) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Slashdot:News for Nerds. Stuff, 44) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(link) +SAX.characters(http://slashdot.org/, 20) +SAX.endElement(link) +SAX.characters( + , 5) +SAX.startElement(description) +SAX.characters(News for Nerds. Stuff that Ma, 35) +SAX.endElement(description) +SAX.characters( + , 3) +SAX.endElement(channel) +SAX.characters( + + , 4) +SAX.startElement(image) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Slashdot, 8) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/images/sla, 41) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(link) +SAX.characters(http://slashdot.org, 19) +SAX.endElement(link) +SAX.characters( + , 3) +SAX.endElement(image) +SAX.characters( + + , 6) +SAX.startElement(item) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(100 Mbit/s on Fibre to the hom, 31) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(link) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(link) +SAX.characters( + , 3) +SAX.endElement(item) +SAX.characters( + + , 6) +SAX.startElement(item) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Gimp 1.2 Preview, 16) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(link) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(link) +SAX.characters( + , 3) +SAX.endElement(item) +SAX.characters( + + , 6) +SAX.startElement(item) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Sony's AIBO robot Sold Out, 26) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(link) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(link) +SAX.characters( + , 3) +SAX.endElement(item) +SAX.characters( + + , 6) +SAX.startElement(item) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Ask Slashdot: Another Word for, 40) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(link) +SAX.characters(http://slashdot.org/askslashdo, 54) +SAX.endElement(link) +SAX.characters( + , 3) +SAX.endElement(item) +SAX.characters( + + , 6) +SAX.startElement(item) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Corel Linux FAQ, 15) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(link) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(link) +SAX.characters( + , 3) +SAX.endElement(item) +SAX.characters( + + , 6) +SAX.startElement(item) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Upside downsides MP3.COM., 25) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(link) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(link) +SAX.characters( + , 3) +SAX.endElement(item) +SAX.characters( + + , 6) +SAX.startElement(item) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(2 Terabits of Bandwidth, 23) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(link) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(link) +SAX.characters( + , 3) +SAX.endElement(item) +SAX.characters( + + , 6) +SAX.startElement(item) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Suppression of cold fusion res, 36) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(link) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(link) +SAX.characters( + , 3) +SAX.endElement(item) +SAX.characters( + + , 6) +SAX.startElement(item) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(California Gov. Halts Wage Inf, 36) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(link) +SAX.characters(http://slashdot.org/articles/9, 50) +SAX.endElement(link) +SAX.characters( + , 3) +SAX.endElement(item) +SAX.characters( + + , 6) +SAX.startElement(item) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Red Hat Announces IPO, 21) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(link) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(link) +SAX.characters( + , 3) +SAX.endElement(item) +SAX.characters( +, 1) +SAX.endElement(rdf:RDF) +SAX.endDocument() diff --git a/libxml2/result/slashdot.rdf.sax2 b/libxml2/result/slashdot.rdf.sax2 new file mode 100644 index 0000000..c561cf8 --- /dev/null +++ b/libxml2/result/slashdot.rdf.sax2 @@ -0,0 +1,221 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(RDF, rdf, 'http://www.w3.org/1999/02/22-rdf-syntax-ns#', 2, xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#', xmlns='http://my.netscape.com/rdf/simple/0.9/', 0, 0) +SAX.characters( + + , 4) +SAX.startElementNs(channel, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(Slashdot:News for Nerds. Stuff, 44) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/, 20) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(description, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(News for Nerds. Stuff that Ma, 35) +SAX.endElementNs(description, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(channel, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 4) +SAX.startElementNs(image, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(Slashdot, 8) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/images/sla, 41) +SAX.endElementNs(url, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org, 19) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(image, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(100 Mbit/s on Fibre to the hom, 31) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(Gimp 1.2 Preview, 16) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(Sony's AIBO robot Sold Out, 26) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(Ask Slashdot: Another Word for, 40) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/askslashdo, 54) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(Corel Linux FAQ, 15) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(Upside downsides MP3.COM., 25) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(2 Terabits of Bandwidth, 23) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(Suppression of cold fusion res, 36) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(California Gov. Halts Wage Inf, 36) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 50) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(Red Hat Announces IPO, 21) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( +, 1) +SAX.endElementNs(RDF, rdf, 'http://www.w3.org/1999/02/22-rdf-syntax-ns#') +SAX.endDocument() diff --git a/libxml2/result/slashdot.xml b/libxml2/result/slashdot.xml new file mode 100644 index 0000000..b648d5e --- /dev/null +++ b/libxml2/result/slashdot.xml @@ -0,0 +1,113 @@ + + + + 100 Mbit/s on Fibre to the home + http://slashdot.org/articles/99/06/06/1440211.shtml + + CmdrTaco + wouldn't-it-be-nice + internet + 20 +
    articles
    + topicinternet.jpg +
    + + Gimp 1.2 Preview + http://slashdot.org/articles/99/06/06/1438246.shtml + + CmdrTaco + stuff-to-read + gimp + 12 +
    articles
    + topicgimp.gif +
    + + Sony's AIBO robot Sold Out + http://slashdot.org/articles/99/06/06/1432256.shtml + + CmdrTaco + stuff-to-see + tech + 10 +
    articles
    + topictech2.jpg +
    + + Ask Slashdot: Another Word for "Hacker"? + http://slashdot.org/askslashdot/99/06/05/1815225.shtml + + Cliff + hacker-vs-cracker + news + 385 +
    askslashdot
    + topicnews.gif +
    + + Corel Linux FAQ + http://slashdot.org/articles/99/06/05/1842218.shtml + + CmdrTaco + stuff-to-read + corel + 164 +
    articles
    + topiccorel.gif +
    + + Upside downsides MP3.COM. + http://slashdot.org/articles/99/06/05/1558210.shtml + + CmdrTaco + stuff-to-think-about + music + 48 +
    articles
    + topicmusic.gif +
    + + 2 Terabits of Bandwidth + http://slashdot.org/articles/99/06/05/1554258.shtml + + CmdrTaco + faster-porn + internet + 66 +
    articles
    + topicinternet.jpg +
    + + Suppression of cold fusion research? + http://slashdot.org/articles/99/06/04/2313200.shtml + + Hemos + possibly-probably + science + 217 +
    articles
    + topicscience.gif +
    + + California Gov. Halts Wage Info Sale + http://slashdot.org/articles/99/06/04/235256.shtml + + Hemos + woo-hoo! + usa + 16 +
    articles
    + topicus.gif +
    + + Red Hat Announces IPO + http://slashdot.org/articles/99/06/04/0849207.shtml + + Justin + details-sketchy + redhat + 155 +
    articles
    + topicredhat.gif +
    +
    diff --git a/libxml2/result/slashdot.xml.rde b/libxml2/result/slashdot.xml.rde new file mode 100644 index 0000000..56b6836 --- /dev/null +++ b/libxml2/result/slashdot.xml.rde @@ -0,0 +1,514 @@ +0 1 ultramode 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 100 Mbit/s on Fibre to the home +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1440211.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-06 14:39:59 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 wouldn't-it-be-nice +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 internet +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 20 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicinternet.jpg +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Gimp 1.2 Preview +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1438246.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-06 14:38:40 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-read +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 gimp +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 12 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicgimp.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Sony's AIBO robot Sold Out +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1432256.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-06 14:32:51 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-see +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 tech +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 10 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topictech2.jpg +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Ask Slashdot: Another Word for "Hacker"? +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/askslashdot/99/06/05/1815225.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-05 20:00:00 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 Cliff +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 hacker-vs-cracker +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 news +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 385 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 askslashdot +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicnews.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Corel Linux FAQ +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/05/1842218.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-05 18:42:06 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-read +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 corel +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 164 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topiccorel.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Upside downsides MP3.COM. +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/05/1558210.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-05 15:56:45 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-think-about +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 music +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 48 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicmusic.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 2 Terabits of Bandwidth +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/05/1554258.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-05 15:53:43 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 faster-porn +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 internet +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 66 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicinternet.jpg +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Suppression of cold fusion research? +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/04/2313200.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-04 23:12:29 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 Hemos +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 possibly-probably +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 science +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 217 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicscience.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 California Gov. Halts Wage Info Sale +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/04/235256.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-04 23:05:34 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 Hemos +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 woo-hoo! +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 usa +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 16 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicus.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Red Hat Announces IPO +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/04/0849207.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-04 19:30:18 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 Justin +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 details-sketchy +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 redhat +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 155 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicredhat.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +0 15 ultramode 0 0 diff --git a/libxml2/result/slashdot.xml.rdr b/libxml2/result/slashdot.xml.rdr new file mode 100644 index 0000000..56b6836 --- /dev/null +++ b/libxml2/result/slashdot.xml.rdr @@ -0,0 +1,514 @@ +0 1 ultramode 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 100 Mbit/s on Fibre to the home +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1440211.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-06 14:39:59 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 wouldn't-it-be-nice +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 internet +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 20 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicinternet.jpg +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Gimp 1.2 Preview +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1438246.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-06 14:38:40 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-read +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 gimp +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 12 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicgimp.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Sony's AIBO robot Sold Out +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1432256.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-06 14:32:51 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-see +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 tech +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 10 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topictech2.jpg +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Ask Slashdot: Another Word for "Hacker"? +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/askslashdot/99/06/05/1815225.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-05 20:00:00 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 Cliff +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 hacker-vs-cracker +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 news +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 385 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 askslashdot +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicnews.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Corel Linux FAQ +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/05/1842218.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-05 18:42:06 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-read +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 corel +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 164 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topiccorel.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Upside downsides MP3.COM. +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/05/1558210.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-05 15:56:45 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-think-about +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 music +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 48 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicmusic.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 2 Terabits of Bandwidth +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/05/1554258.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-05 15:53:43 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 faster-porn +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 internet +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 66 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicinternet.jpg +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Suppression of cold fusion research? +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/04/2313200.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-04 23:12:29 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 Hemos +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 possibly-probably +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 science +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 217 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicscience.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 California Gov. Halts Wage Info Sale +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/04/235256.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-04 23:05:34 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 Hemos +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 woo-hoo! +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 usa +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 16 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicus.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Red Hat Announces IPO +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/04/0849207.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-04 19:30:18 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 Justin +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 details-sketchy +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 redhat +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 155 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicredhat.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +0 15 ultramode 0 0 diff --git a/libxml2/result/slashdot.xml.sax b/libxml2/result/slashdot.xml.sax new file mode 100644 index 0000000..63b5f0d --- /dev/null +++ b/libxml2/result/slashdot.xml.sax @@ -0,0 +1,517 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(ultramode) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(100 Mbit/s on Fibre to the hom, 31) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-06 14:39:59, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(CmdrTaco, 8) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(wouldn't-it-be-nice, 19) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(internet, 8) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(20, 2) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topicinternet.jpg, 17) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Gimp 1.2 Preview, 16) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-06 14:38:40, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(CmdrTaco, 8) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(stuff-to-read, 13) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(gimp, 4) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(12, 2) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topicgimp.gif, 13) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Sony's AIBO robot Sold Out, 26) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-06 14:32:51, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(CmdrTaco, 8) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(stuff-to-see, 12) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(tech, 4) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(10, 2) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topictech2.jpg, 14) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Ask Slashdot: Another Word for, 40) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/askslashdo, 54) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-05 20:00:00, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(Cliff, 5) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(hacker-vs-cracker, 17) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(news, 4) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(385, 3) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(askslashdot, 11) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topicnews.gif, 13) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Corel Linux FAQ, 15) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-05 18:42:06, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(CmdrTaco, 8) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(stuff-to-read, 13) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(corel, 5) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(164, 3) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topiccorel.gif, 14) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Upside downsides MP3.COM., 25) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-05 15:56:45, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(CmdrTaco, 8) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(stuff-to-think-about, 20) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(music, 5) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(48, 2) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topicmusic.gif, 14) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(2 Terabits of Bandwidth, 23) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-05 15:53:43, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(CmdrTaco, 8) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(faster-porn, 11) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(internet, 8) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(66, 2) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topicinternet.jpg, 17) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Suppression of cold fusion res, 36) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-04 23:12:29, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(Hemos, 5) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(possibly-probably, 17) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(science, 7) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(217, 3) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topicscience.gif, 16) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(California Gov. Halts Wage Inf, 36) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 50) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-04 23:05:34, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(Hemos, 5) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(woo-hoo!, 8) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(usa, 3) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(16, 2) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topicus.gif, 11) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Red Hat Announces IPO, 21) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-04 19:30:18, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(Justin, 6) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(details-sketchy, 15) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(redhat, 6) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(155, 3) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topicredhat.gif, 15) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( +, 1) +SAX.endElement(ultramode) +SAX.endDocument() diff --git a/libxml2/result/slashdot.xml.sax2 b/libxml2/result/slashdot.xml.sax2 new file mode 100644 index 0000000..2ead70d --- /dev/null +++ b/libxml2/result/slashdot.xml.sax2 @@ -0,0 +1,517 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(ultramode, NULL, NULL, 0, 0, 0) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(100 Mbit/s on Fibre to the hom, 31) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-06 14:39:59, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(wouldn't-it-be-nice, 19) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(internet, 8) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(20, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicinternet.jpg, 17) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Gimp 1.2 Preview, 16) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-06 14:38:40, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-read, 13) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(gimp, 4) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(12, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicgimp.gif, 13) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Sony's AIBO robot Sold Out, 26) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-06 14:32:51, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-see, 12) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(tech, 4) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(10, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topictech2.jpg, 14) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Ask Slashdot: Another Word for, 40) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/askslashdo, 54) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-05 20:00:00, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(Cliff, 5) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(hacker-vs-cracker, 17) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(news, 4) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(385, 3) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(askslashdot, 11) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicnews.gif, 13) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Corel Linux FAQ, 15) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-05 18:42:06, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-read, 13) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(corel, 5) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(164, 3) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topiccorel.gif, 14) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Upside downsides MP3.COM., 25) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-05 15:56:45, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-think-about, 20) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(music, 5) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(48, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicmusic.gif, 14) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(2 Terabits of Bandwidth, 23) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-05 15:53:43, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(faster-porn, 11) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(internet, 8) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(66, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicinternet.jpg, 17) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Suppression of cold fusion res, 36) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-04 23:12:29, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(Hemos, 5) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(possibly-probably, 17) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(science, 7) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(217, 3) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicscience.gif, 16) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(California Gov. Halts Wage Inf, 36) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 50) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-04 23:05:34, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(Hemos, 5) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(woo-hoo!, 8) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(usa, 3) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(16, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicus.gif, 11) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Red Hat Announces IPO, 21) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-04 19:30:18, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(Justin, 6) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(details-sketchy, 15) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(redhat, 6) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(155, 3) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicredhat.gif, 15) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(ultramode, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/slashdot16.xml b/libxml2/result/slashdot16.xml new file mode 100644 index 0000000..f6a7f2a Binary files /dev/null and b/libxml2/result/slashdot16.xml differ diff --git a/libxml2/result/slashdot16.xml.rde b/libxml2/result/slashdot16.xml.rde new file mode 100644 index 0000000..cb7a86c --- /dev/null +++ b/libxml2/result/slashdot16.xml.rde @@ -0,0 +1,718 @@ +0 1 ultramode 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 100 Mbit/s on Fibre to the home +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1440211.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-06 14:39:59 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 wouldn't-it-be-nice +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 internet +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 20 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicinternet.jpg +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Gimp 1.2 Preview +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1438246.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-06 14:38:40 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-read +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 gimp +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 12 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicgimp.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Sony's AIBO robot Sold Out +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1432256.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-06 14:32:51 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-see +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 tech +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 10 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topictech2.jpg +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Ask Slashdot: Another Word for "Hacker"? +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/askslashdot/99/06/05/1815225.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-05 20:00:00 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 Cliff +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 hacker-vs-cracker +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 news +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 385 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 askslashdot +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicnews.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 100 Mbit/s on Fibre to the home +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1440211.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-06 14:39:59 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 wouldn't-it-be-nice +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 internet +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 20 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicinternet.jpg +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Gimp 1.2 Preview +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1438246.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-06 14:38:40 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-read +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 gimp +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 12 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicgimp.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Sony's AIBO robot Sold Out +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1432256.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-06 14:32:51 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-see +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 tech +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 10 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topictech2.jpg +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Ask Slashdot: Another Word for "Hacker"? +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/askslashdot/99/06/05/1815225.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-05 20:00:00 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 Cliff +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 hacker-vs-cracker +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 news +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 385 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 askslashdot +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicnews.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Corel Linux FAQ +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/05/1842218.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-05 18:42:06 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-read +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 corel +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 164 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topiccorel.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Upside downsides MP3.COM. +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/05/1558210.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-05 15:56:45 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-think-about +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 music +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 48 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicmusic.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 2 Terabits of Bandwidth +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/05/1554258.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-05 15:53:43 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 faster-porn +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 internet +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 66 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicinternet.jpg +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Suppression of cold fusion research? +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/04/2313200.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-04 23:12:29 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 Hemos +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 possibly-probably +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 science +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 217 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicscience.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 California Gov. Halts Wage Info Sale +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/04/235256.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-04 23:05:34 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 Hemos +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 woo-hoo! +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 usa +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 16 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicus.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Red Hat Announces IPO +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/04/0849207.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-04 19:30:18 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 Justin +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 details-sketchy +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 redhat +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 155 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicredhat.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +0 15 ultramode 0 0 diff --git a/libxml2/result/slashdot16.xml.rdr b/libxml2/result/slashdot16.xml.rdr new file mode 100644 index 0000000..cb7a86c --- /dev/null +++ b/libxml2/result/slashdot16.xml.rdr @@ -0,0 +1,718 @@ +0 1 ultramode 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 100 Mbit/s on Fibre to the home +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1440211.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-06 14:39:59 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 wouldn't-it-be-nice +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 internet +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 20 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicinternet.jpg +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Gimp 1.2 Preview +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1438246.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-06 14:38:40 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-read +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 gimp +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 12 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicgimp.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Sony's AIBO robot Sold Out +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1432256.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-06 14:32:51 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-see +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 tech +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 10 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topictech2.jpg +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Ask Slashdot: Another Word for "Hacker"? +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/askslashdot/99/06/05/1815225.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-05 20:00:00 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 Cliff +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 hacker-vs-cracker +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 news +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 385 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 askslashdot +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicnews.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 100 Mbit/s on Fibre to the home +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1440211.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-06 14:39:59 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 wouldn't-it-be-nice +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 internet +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 20 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicinternet.jpg +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Gimp 1.2 Preview +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1438246.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-06 14:38:40 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-read +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 gimp +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 12 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicgimp.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Sony's AIBO robot Sold Out +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1432256.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-06 14:32:51 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-see +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 tech +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 10 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topictech2.jpg +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Ask Slashdot: Another Word for "Hacker"? +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/askslashdot/99/06/05/1815225.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-05 20:00:00 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 Cliff +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 hacker-vs-cracker +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 news +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 385 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 askslashdot +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicnews.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Corel Linux FAQ +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/05/1842218.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-05 18:42:06 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-read +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 corel +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 164 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topiccorel.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Upside downsides MP3.COM. +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/05/1558210.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-05 15:56:45 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-think-about +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 music +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 48 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicmusic.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 2 Terabits of Bandwidth +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/05/1554258.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-05 15:53:43 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 faster-porn +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 internet +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 66 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicinternet.jpg +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Suppression of cold fusion research? +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/04/2313200.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-04 23:12:29 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 Hemos +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 possibly-probably +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 science +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 217 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicscience.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 California Gov. Halts Wage Info Sale +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/04/235256.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-04 23:05:34 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 Hemos +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 woo-hoo! +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 usa +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 16 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicus.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Red Hat Announces IPO +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/04/0849207.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-04 19:30:18 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 Justin +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 details-sketchy +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 redhat +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 155 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicredhat.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +0 15 ultramode 0 0 diff --git a/libxml2/result/slashdot16.xml.sax b/libxml2/result/slashdot16.xml.sax new file mode 100644 index 0000000..07cfaf0 --- /dev/null +++ b/libxml2/result/slashdot16.xml.sax @@ -0,0 +1,721 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(ultramode) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(100 Mbit/s on Fibre to the hom, 31) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-06 14:39:59, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(CmdrTaco, 8) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(wouldn't-it-be-nice, 19) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(internet, 8) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(20, 2) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topicinternet.jpg, 17) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Gimp 1.2 Preview, 16) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-06 14:38:40, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(CmdrTaco, 8) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(stuff-to-read, 13) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(gimp, 4) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(12, 2) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topicgimp.gif, 13) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Sony's AIBO robot Sold Out, 26) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-06 14:32:51, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(CmdrTaco, 8) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(stuff-to-see, 12) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(tech, 4) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(10, 2) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topictech2.jpg, 14) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Ask Slashdot: Another Word for, 40) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/askslashdo, 54) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-05 20:00:00, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(Cliff, 5) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(hacker-vs-cracker, 17) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(news, 4) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(385, 3) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(askslashdot, 11) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topicnews.gif, 13) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 3) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(100 Mbit/s on Fibre to the hom, 31) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-06 14:39:59, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(CmdrTaco, 8) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(wouldn't-it-be-nice, 19) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(internet, 8) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(20, 2) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topicinternet.jpg, 17) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Gimp 1.2 Preview, 16) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-06 14:38:40, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(CmdrTaco, 8) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(stuff-to-read, 13) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(gimp, 4) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(12, 2) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topicgimp.gif, 13) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Sony's AIBO robot Sold Out, 26) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-06 14:32:51, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(CmdrTaco, 8) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(stuff-to-see, 12) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(tech, 4) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(10, 2) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topictech2.jpg, 14) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Ask Slashdot: Another Word for, 40) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/askslashdo, 54) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-05 20:00:00, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(Cliff, 5) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(hacker-vs-cracker, 17) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(news, 4) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(385, 3) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(askslashdot, 11) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topicnews.gif, 13) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( +, 1) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Corel Linux FAQ, 15) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-05 18:42:06, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(CmdrTaco, 8) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(stuff-to-read, 13) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(corel, 5) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(164, 3) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topiccorel.gif, 14) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Upside downsides MP3.COM., 25) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-05 15:56:45, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(CmdrTaco, 8) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(stuff-to-think-about, 20) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(music, 5) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(48, 2) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topicmusic.gif, 14) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(2 Terabits of Bandwidth, 23) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-05 15:53:43, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(CmdrTaco, 8) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(faster-porn, 11) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(internet, 8) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(66, 2) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topicinternet.jpg, 17) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Suppression of cold fusion res, 36) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-04 23:12:29, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(Hemos, 5) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(possibly-probably, 17) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(science, 7) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(217, 3) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topicscience.gif, 16) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(California Gov. Halts Wage Inf, 36) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 50) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-04 23:05:34, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(Hemos, 5) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(woo-hoo!, 8) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(usa, 3) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(16, 2) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topicus.gif, 11) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Red Hat Announces IPO, 21) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-04 19:30:18, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(Justin, 6) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(details-sketchy, 15) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(redhat, 6) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(155, 3) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topicredhat.gif, 15) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( +, 1) +SAX.endElement(ultramode) +SAX.endDocument() diff --git a/libxml2/result/slashdot16.xml.sax2 b/libxml2/result/slashdot16.xml.sax2 new file mode 100644 index 0000000..785e699 --- /dev/null +++ b/libxml2/result/slashdot16.xml.sax2 @@ -0,0 +1,721 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(ultramode, NULL, NULL, 0, 0, 0) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(100 Mbit/s on Fibre to the hom, 31) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-06 14:39:59, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(wouldn't-it-be-nice, 19) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(internet, 8) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(20, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicinternet.jpg, 17) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Gimp 1.2 Preview, 16) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-06 14:38:40, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-read, 13) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(gimp, 4) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(12, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicgimp.gif, 13) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Sony's AIBO robot Sold Out, 26) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-06 14:32:51, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-see, 12) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(tech, 4) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(10, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topictech2.jpg, 14) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Ask Slashdot: Another Word for, 40) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/askslashdo, 54) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-05 20:00:00, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(Cliff, 5) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(hacker-vs-cracker, 17) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(news, 4) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(385, 3) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(askslashdot, 11) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicnews.gif, 13) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(100 Mbit/s on Fibre to the hom, 31) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-06 14:39:59, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(wouldn't-it-be-nice, 19) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(internet, 8) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(20, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicinternet.jpg, 17) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Gimp 1.2 Preview, 16) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-06 14:38:40, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-read, 13) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(gimp, 4) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(12, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicgimp.gif, 13) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Sony's AIBO robot Sold Out, 26) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-06 14:32:51, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-see, 12) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(tech, 4) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(10, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topictech2.jpg, 14) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Ask Slashdot: Another Word for, 40) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/askslashdo, 54) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-05 20:00:00, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(Cliff, 5) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(hacker-vs-cracker, 17) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(news, 4) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(385, 3) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(askslashdot, 11) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicnews.gif, 13) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Corel Linux FAQ, 15) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-05 18:42:06, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-read, 13) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(corel, 5) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(164, 3) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topiccorel.gif, 14) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Upside downsides MP3.COM., 25) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-05 15:56:45, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-think-about, 20) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(music, 5) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(48, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicmusic.gif, 14) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(2 Terabits of Bandwidth, 23) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-05 15:53:43, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(faster-porn, 11) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(internet, 8) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(66, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicinternet.jpg, 17) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Suppression of cold fusion res, 36) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-04 23:12:29, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(Hemos, 5) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(possibly-probably, 17) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(science, 7) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(217, 3) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicscience.gif, 16) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(California Gov. Halts Wage Inf, 36) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 50) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-04 23:05:34, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(Hemos, 5) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(woo-hoo!, 8) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(usa, 3) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(16, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicus.gif, 11) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Red Hat Announces IPO, 21) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-04 19:30:18, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(Justin, 6) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(details-sketchy, 15) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(redhat, 6) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(155, 3) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicredhat.gif, 15) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(ultramode, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/svg1 b/libxml2/result/svg1 new file mode 100644 index 0000000..359bd45 --- /dev/null +++ b/libxml2/result/svg1 @@ -0,0 +1,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libxml2/result/svg1.rde b/libxml2/result/svg1.rde new file mode 100644 index 0000000..91497d2 --- /dev/null +++ b/libxml2/result/svg1.rde @@ -0,0 +1,477 @@ +0 10 svg 0 0 +0 1 svg 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +0 15 svg 0 0 diff --git a/libxml2/result/svg1.rdr b/libxml2/result/svg1.rdr new file mode 100644 index 0000000..91497d2 --- /dev/null +++ b/libxml2/result/svg1.rdr @@ -0,0 +1,477 @@ +0 10 svg 0 0 +0 1 svg 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +0 15 svg 0 0 diff --git a/libxml2/result/svg1.sax b/libxml2/result/svg1.sax new file mode 100644 index 0000000..b09f01f --- /dev/null +++ b/libxml2/result/svg1.sax @@ -0,0 +1,613 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(svg, -//W3C//DTD SVG April 1999//EN, http://www.w3.org/Graphics/SVG/svg-19990412.dtd) +SAX.externalSubset(svg, -//W3C//DTD SVG April 1999//EN, http://www.w3.org/Graphics/SVG/svg-19990412.dtd) +SAX.startElement(svg, width='242px', height='383px') +SAX.characters( +, 1) +SAX.startElement(g, style='stroke: #000000') +SAX.characters( +, 2) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='fill: #f2cc99') +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 69,18 82,8 99,3 118,5 135,12 149,21 156,13 165,9 177,13 183,28 180,50 164,91 155,107 154,114 151,121 141,127 139,136 155,206 157,251 126,342 133,357 128,376 83,376 75,368 67,350 61,350 53,369 4,369 2,361 5,354 12,342 16,321 4,257 4,244 7,218 9,179 26,127 43,93 32,77 30,70 24,67 16,49 17,35 18,23 30,12 40,7 53,7 62,12 69,18 69,18 69,18') +SAX.endElement(polyline) +SAX.characters( +, 2) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='fill: #e5b27f') +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 142,79 136,74 138,82 133,78 133,84 127,78 128,85 124,80 125,87 119,82 119,90 125,99 125,96 128,100 128,94 131,98 132,93 135,97 136,93 138,97 139,94 141,98 143,94 144,85 142,79 142,79 142,79') +SAX.endElement(polyline) +SAX.characters( +, 2) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='fill: #eb8080') +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 127,101 132,100 137,99 144,101 143,105 135,110 127,101 127,101 127,101') +SAX.endElement(polyline) +SAX.characters( +, 2) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='fill: #f2cc99') +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 178,229 157,248 139,296 126,349 137,356 158,357 183,342 212,332 235,288 235,261 228,252 212,250 188,251 178,229 178,229 178,229') +SAX.endElement(polyline) +SAX.characters( +, 2) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='fill: #9c826b') +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 56,229 48,241 48,250 57,281 63,325 71,338 81,315 76,321 79,311 83,301 75,308 80,298 73,303 76,296 71,298 74,292 69,293 74,284 78,278 71,278 74,274 68,273 70,268 66,267 68,261 60,266 62,259 65,253 57,258 59,251 55,254 55,248 60,237 54,240 58,234 54,236 56,229 56,229 56,229') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 74,363 79,368 81,368 85,362 89,363 92,370 96,373 101,372 108,361 110,371 113,373 116,371 120,358 122,363 123,371 126,371 129,367 132,357 135,361 130,376 127,377 94,378 84,376 76,371 74,363 74,363 74,363') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 212,250 219,251 228,258 236,270 235,287 225,304 205,332 177,343 171,352 158,357 166,352 168,346 168,339 165,333 155,327 155,323 161,320 165,316 169,316 167,312 171,313 168,308 173,309 170,306 177,306 175,308 177,311 174,311 176,316 171,315 174,319 168,320 168,323 175,327 179,332 183,326 184,332 189,323 190,328 194,320 194,325 199,316 201,320 204,313 206,316 208,310 211,305 219,298 226,288 229,279 228,266 224,259 217,253 212,250 212,250 212,250') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 151,205 151,238 149,252 141,268 128,282 121,301 130,300 126,313 118,324 116,337 120,346 133,352 133,340 137,333 145,329 156,327 153,319 153,291 157,271 170,259 178,277 193,250 174,216 151,205 151,205 151,205') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 78,127 90,142 95,155 108,164 125,167 139,175 150,206 152,191 141,140 121,148 100,136 78,127 78,127 78,127') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 21,58 35,63 38,68 32,69 42,74 40,79 47,80 54,83 45,94 34,81 32,73 24,66 21,58 21,58 21,58') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 71,34 67,34 66,27 59,24 54,17 48,17 39,22 30,26 28,31 31,39 38,46 29,45 36,54 41,61 41,70 50,69 54,71 55,58 67,52 76,43 76,39 68,44 71,34 71,34 71,34') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 139,74 141,83 143,89 144,104 148,104 155,106 154,86 157,77 155,72 150,77 144,77 139,74 139,74 139,74') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 105,44 102,53 108,58 111,62 112,55 105,44 105,44 105,44') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 141,48 141,54 144,58 139,62 137,66 136,59 137,52 141,48 141,48 141,48') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 98,135 104,130 105,134 108,132 108,135 112,134 113,137 116,136 116,139 119,139 124,141 128,140 133,138 140,133 139,140 126,146 104,144 98,135 98,135 98,135') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 97,116 103,119 103,116 111,118 116,117 122,114 127,107 135,111 142,107 141,114 145,118 149,121 145,125 140,124 127,121 113,125 100,124 97,116 97,116 97,116') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 147,33 152,35 157,34 153,31 160,31 156,28 161,28 159,24 163,25 163,21 165,22 170,23 167,17 172,21 174,18 175,23 176,22 177,28 177,33 174,37 176,39 174,44 171,49 168,53 164,57 159,68 156,70 154,60 150,51 146,43 144,35 147,33 147,33 147,33') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 85,72 89,74 93,75 100,76 105,75 102,79 94,79 88,76 85,72 85,72 85,72') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 86,214 79,221 76,232 82,225 78,239 82,234 78,245 81,243 79,255 84,250 84,267 87,254 90,271 90,257 95,271 93,256 95,249 92,252 93,243 89,253 89,241 86,250 87,236 83,245 87,231 82,231 90,219 84,221 86,214 86,214 86,214') +SAX.endElement(polyline) +SAX.characters( +, 2) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='fill: #ffcc7f') +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 93,68 96,72 100,73 106,72 108,66 105,63 100,62 93,68 93,68 93,68') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 144,64 142,68 142,73 146,74 150,73 154,64 149,62 144,64 144,64 144,64') +SAX.endElement(polyline) +SAX.characters( +, 2) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='fill: #9c826b') +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 57,91 42,111 52,105 41,117 53,112 46,120 53,116 50,124 57,119 55,127 61,122 60,130 67,126 66,134 71,129 72,136 77,130 76,137 80,133 82,138 86,135 96,135 94,129 86,124 83,117 77,123 79,117 73,120 75,112 68,116 71,111 65,114 69,107 63,110 68,102 61,107 66,98 61,103 63,97 57,99 57,91 57,91 57,91') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 83,79 76,79 67,82 75,83 65,88 76,87 65,92 76,91 68,96 77,95 70,99 80,98 72,104 80,102 76,108 85,103 92,101 87,98 93,96 86,94 91,93 85,91 93,89 99,89 105,93 107,85 102,82 92,80 83,79 83,79 83,79') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 109,77 111,83 109,89 113,94 117,90 117,81 114,78 109,77 109,77 109,77') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 122,128 127,126 134,127 136,129 134,130 130,128 124,129 122,128 122,128 122,128') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 78,27 82,32 80,33 82,36 78,37 82,40 78,42 81,46 76,47 78,49 74,50 82,52 87,50 83,48 91,46 86,45 91,42 88,40 92,37 86,34 90,31 86,29 89,26 78,27 78,27 78,27') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 82,17 92,20 79,21 90,25 81,25 94,28 93,26 101,30 101,26 107,33 108,28 111,40 113,34 115,45 117,39 119,54 121,46 124,58 126,47 129,59 130,49 134,58 133,44 137,48 133,37 137,40 133,32 126,20 135,26 132,19 138,23 135,17 142,18 132,11 116,6 94,6 78,11 92,12 80,14 90,16 82,17 82,17 82,17') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 142,234 132,227 124,223 115,220 110,225 118,224 127,229 135,236 122,234 115,237 113,242 121,238 139,243 121,245 111,254 95,254 102,244 104,235 110,229 100,231 104,224 113,216 122,215 132,217 141,224 145,230 149,240 142,234 142,234 142,234') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 115,252 125,248 137,249 143,258 134,255 125,254 115,252 115,252 115,252') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 114,212 130,213 140,219 147,225 144,214 137,209 128,207 114,212 114,212 114,212') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 102,263 108,258 117,257 131,258 116,260 109,265 102,263 102,263 102,263') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 51,241 35,224 40,238 23,224 31,242 19,239 28,247 17,246 25,250 37,254 39,263 44,271 47,294 48,317 51,328 60,351 60,323 53,262 47,246 51,241 51,241 51,241') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 2,364 9,367 14,366 18,355 20,364 26,366 31,357 35,364 39,364 42,357 47,363 53,360 59,357 54,369 7,373 2,364 2,364 2,364') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 7,349 19,345 25,339 18,341 23,333 28,326 23,326 27,320 23,316 25,311 20,298 15,277 12,264 9,249 10,223 3,248 5,261 15,307 17,326 11,343 7,349 7,349 7,349') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 11,226 15,231 25,236 18,227 11,226 11,226 11,226') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 13,214 19,217 32,227 23,214 16,208 15,190 24,148 31,121 24,137 14,170 8,189 13,214 13,214 13,214') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 202,254 195,258 199,260 193,263 197,263 190,268 196,268 191,273 188,282 200,272 194,272 201,266 197,265 204,262 200,258 204,256 202,254 202,254 202,254') +SAX.endElement(polyline) +SAX.characters( +, 2) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='fill: #845433') +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 151,213 165,212 179,225 189,246 187,262 179,275 176,263 177,247 171,233 163,230 165,251 157,264 146,298 145,321 133,326 143,285 154,260 153,240 151,213 151,213 151,213') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 91,132 95,145 97,154 104,148 107,155 109,150 111,158 115,152 118,159 120,153 125,161 126,155 133,164 132,154 137,163 137,152 142,163 147,186 152,192 148,167 141,143 124,145 105,143 91,132 91,132 91,132') +SAX.endElement(polyline) +SAX.characters( +, 2) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='fill: #9c826b') +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 31,57 23,52 26,51 20,44 23,42 21,36 22,29 25,23 24,32 30,43 26,41 30,50 26,48 31,57 31,57 31,57') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 147,21 149,28 155,21 161,16 167,14 175,15 173,11 161,9 147,21 147,21 147,21') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 181,39 175,51 169,57 171,65 165,68 165,75 160,76 162,91 171,71 180,51 181,39 181,39 181,39') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 132,346 139,348 141,346 142,341 147,342 143,355 133,350 132,346 132,346 132,346') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 146,355 151,352 155,348 157,343 160,349 151,356 147,357 146,355 146,355 146,355') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 99,266 100,281 94,305 86,322 78,332 72,346 73,331 91,291 99,266 99,266 99,266') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 20,347 32,342 45,340 54,345 45,350 42,353 38,350 31,353 29,356 23,350 19,353 15,349 20,347 20,347 20,347') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 78,344 86,344 92,349 88,358 84,352 78,344 78,344 78,344') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 93,347 104,344 117,345 124,354 121,357 116,351 112,351 108,355 102,351 93,347 93,347 93,347') +SAX.endElement(polyline) +SAX.characters( +, 2) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 105,12 111,18 113,24 113,29 119,34 116,23 112,16 105,12 105,12 105,12') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 122,27 125,34 127,43 128,34 125,29 122,27 122,27 122,27') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 115,13 122,19 122,15 113,10 115,13 115,13 115,13') +SAX.endElement(polyline) +SAX.characters( +, 2) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='fill: #ffe5b2') +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 116,172 107,182 98,193 98,183 90,199 89,189 84,207 88,206 87,215 95,206 93,219 91,230 98,216 97,226 104,214 112,209 104,208 113,202 126,200 139,207 132,198 142,203 134,192 142,195 134,187 140,185 130,181 136,177 126,177 125,171 116,180 116,172 116,172 116,172') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 74,220 67,230 67,221 59,235 63,233 60,248 70,232 65,249 71,243 67,256 73,250 69,262 73,259 71,267 76,262 72,271 78,270 76,275 82,274 78,290 86,279 86,289 92,274 88,275 87,264 82,270 82,258 77,257 78,247 73,246 77,233 72,236 74,220 74,220 74,220') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 133,230 147,242 148,250 145,254 138,247 129,246 142,245 138,241 128,237 137,238 133,230 133,230 133,230') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 133,261 125,261 116,263 111,267 125,265 133,261 133,261 133,261') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 121,271 109,273 103,279 99,305 92,316 85,327 83,335 89,340 97,341 94,336 101,336 96,331 103,330 97,327 108,325 99,322 109,321 100,318 110,317 105,314 110,312 107,310 113,308 105,306 114,303 105,301 115,298 107,295 115,294 108,293 117,291 109,289 117,286 109,286 118,283 112,281 118,279 114,278 119,276 115,274 121,271 121,271 121,271') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 79,364 74,359 74,353 76,347 80,351 83,356 82,360 79,364 79,364 79,364') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 91,363 93,356 97,353 103,355 105,360 103,366 99,371 94,368 91,363 91,363 91,363') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 110,355 114,353 118,357 117,363 113,369 111,362 110,355 110,355 110,355') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 126,354 123,358 124,367 126,369 129,361 129,357 126,354 126,354 126,354') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 30,154 24,166 20,182 23,194 29,208 37,218 41,210 41,223 46,214 46,227 52,216 52,227 61,216 59,225 68,213 73,219 70,207 77,212 69,200 77,202 70,194 78,197 68,187 76,182 64,182 58,175 58,185 53,177 50,186 46,171 44,182 39,167 36,172 36,162 30,166 30,154 30,154 30,154') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 44,130 41,137 45,136 43,150 48,142 48,157 53,150 52,164 60,156 61,169 64,165 66,175 70,167 74,176 77,168 80,183 85,172 90,182 93,174 98,181 99,173 104,175 105,169 114,168 102,163 95,157 94,166 90,154 87,162 82,149 75,159 72,148 68,155 67,143 62,148 62,138 58,145 56,133 52,142 52,128 49,134 47,125 44,130 44,130 44,130') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 13,216 19,219 36,231 22,223 16,222 22,227 12,224 13,220 16,220 13,216 13,216 13,216') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 10,231 14,236 25,239 27,237 19,234 10,231 10,231 10,231') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 9,245 14,242 25,245 13,245 9,245 9,245 9,245') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 33,255 26,253 18,254 25,256 18,258 27,260 18,263 27,265 19,267 29,270 21,272 29,276 21,278 30,281 22,283 31,287 24,288 32,292 23,293 34,298 26,299 37,303 32,305 39,309 33,309 39,314 34,314 40,318 34,317 40,321 34,321 41,326 33,326 40,330 33,332 39,333 33,337 42,337 54,341 49,337 52,335 47,330 50,330 45,325 49,325 45,321 48,321 45,316 46,306 45,286 43,274 36,261 33,255 33,255 33,255') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 7,358 9,351 14,351 17,359 11,364 7,358 7,358 7,358') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 44,354 49,351 52,355 49,361 44,354 44,354 44,354') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 32,357 37,353 40,358 36,361 32,357 32,357 32,357') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 139,334 145,330 154,330 158,334 154,341 152,348 145,350 149,340 147,336 141,339 139,345 136,342 136,339 139,334 139,334 139,334') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 208,259 215,259 212,255 220,259 224,263 225,274 224,283 220,292 208,300 206,308 203,304 199,315 197,309 195,318 193,313 190,322 190,316 185,325 182,318 180,325 172,321 178,320 176,313 186,312 180,307 188,307 184,303 191,302 186,299 195,294 187,290 197,288 192,286 201,283 194,280 203,277 198,275 207,271 200,269 209,265 204,265 212,262 208,259 208,259 208,259') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 106,126 106,131 109,132 111,134 115,132 115,135 119,133 118,137 123,137 128,137 133,134 136,130 136,127 132,124 118,128 112,128 106,126 106,126 106,126') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 107,114 101,110 98,102 105,97 111,98 119,102 121,108 118,112 113,115 107,114 107,114 107,114') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 148,106 145,110 146,116 150,118 152,111 151,107 148,106 148,106 148,106') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 80,55 70,52 75,58 63,57 72,61 57,61 67,66 57,67 62,69 54,71 61,73 54,77 63,78 53,85 60,84 56,90 69,84 63,82 75,76 70,75 77,72 72,71 78,69 72,66 81,67 78,64 82,63 80,60 86,62 80,55 80,55 80,55') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 87,56 91,52 96,50 102,56 98,56 92,60 87,56 87,56 87,56') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 85,68 89,73 98,76 106,74 96,73 91,70 85,68 85,68 85,68') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 115,57 114,64 111,64 115,75 122,81 122,74 126,79 126,74 131,78 130,72 133,77 131,68 126,61 119,57 115,57 115,57 115,57') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 145,48 143,53 147,59 151,59 150,55 145,48 145,48 145,48') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 26,22 34,15 43,10 52,10 59,16 47,15 32,22 26,22 26,22 26,22') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 160,19 152,26 149,34 154,33 152,30 157,30 155,26 158,27 157,23 161,23 160,19 160,19 160,19') +SAX.endElement(polyline) +SAX.characters( +, 2) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 98,117 105,122 109,122 105,117 113,120 121,120 130,112 128,108 123,103 123,99 128,101 132,106 135,109 142,105 142,101 145,101 145,91 148,101 145,105 136,112 135,116 143,124 148,120 150,122 142,128 133,122 121,125 112,126 103,125 100,129 96,124 98,117 98,117 98,117') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 146,118 152,118 152,115 149,115 146,118 146,118 146,118') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 148,112 154,111 154,109 149,109 148,112 148,112 148,112') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 106,112 108,115 114,116 118,114 106,112 106,112 106,112') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 108,108 111,110 116,110 119,108 108,108 108,108 108,108') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 106,104 109,105 117,106 115,104 106,104 106,104 106,104') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 50,25 41,26 34,33 39,43 49,58 36,51 47,68 55,69 54,59 61,57 74,46 60,52 67,42 57,48 61,40 54,45 60,36 59,29 48,38 52,30 47,32 50,25 50,25 50,25') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 147,34 152,41 155,49 161,53 157,47 164,47 158,43 168,44 159,40 164,37 169,37 164,33 169,34 165,28 170,30 170,25 173,29 175,27 176,32 173,36 175,39 172,42 172,46 168,49 170,55 162,57 158,63 155,58 153,50 149,46 147,34 147,34 147,34') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 155,71 159,80 157,93 157,102 155,108 150,101 149,93 154,101 152,91 151,83 155,79 155,71 155,71 155,71') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 112,78 115,81 114,91 112,87 113,82 112,78 112,78 112,78') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 78,28 64,17 58,11 47,9 36,10 28,16 21,26 18,41 20,51 23,61 33,65 28,68 37,74 36,81 43,87 48,90 43,100 40,98 39,90 31,80 30,72 22,71 17,61 14,46 16,28 23,17 33,9 45,6 54,6 65,12 78,28 78,28 78,28') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 67,18 76,9 87,5 101,2 118,3 135,8 149,20 149,26 144,19 132,12 121,9 105,7 89,8 76,14 70,20 67,18 67,18 67,18') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 56,98 48,106 56,103 47,112 56,110 52,115 57,113 52,121 62,115 58,123 65,119 63,125 69,121 68,127 74,125 74,129 79,128 83,132 94,135 93,129 85,127 81,122 76,126 75,121 71,124 71,117 66,121 66,117 62,117 64,112 60,113 60,110 57,111 61,105 57,107 60,101 55,102 56,98 56,98 56,98') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 101,132 103,138 106,134 106,139 112,136 111,142 115,139 114,143 119,142 125,145 131,142 135,138 140,134 140,129 143,135 145,149 150,171 149,184 145,165 141,150 136,147 132,151 131,149 126,152 125,150 121,152 117,148 111,152 110,148 105,149 104,145 98,150 96,138 94,132 94,130 98,132 101,132 101,132 101,132') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 41,94 32,110 23,132 12,163 6,190 7,217 5,236 3,247 9,230 12,211 12,185 18,160 26,134 35,110 43,99 41,94 41,94 41,94') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 32,246 41,250 50,257 52,267 53,295 53,323 59,350 54,363 51,365 44,366 42,360 40,372 54,372 59,366 62,353 71,352 75,335 73,330 66,318 68,302 64,294 67,288 63,286 63,279 59,275 58,267 56,262 50,247 42,235 44,246 32,236 35,244 32,246 32,246 32,246') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 134,324 146,320 159,322 173,327 179,337 179,349 172,355 158,357 170,350 174,343 170,333 163,328 152,326 134,329 134,324 134,324 134,324') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 173,339 183,334 184,338 191,329 194,332 199,323 202,325 206,318 209,320 213,309 221,303 228,296 232,289 234,279 233,269 230,262 225,256 219,253 208,252 198,252 210,249 223,250 232,257 237,265 238,277 238,291 232,305 221,323 218,335 212,342 200,349 178,348 173,339 173,339 173,339') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 165,296 158,301 156,310 156,323 162,324 159,318 162,308 162,304 165,296 165,296 165,296') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 99,252 105,244 107,234 115,228 121,228 131,235 122,233 113,235 109,246 121,239 133,243 121,243 110,251 99,252 99,252 99,252') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 117,252 124,247 134,249 136,253 126,252 117,252 117,252 117,252') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 117,218 132,224 144,233 140,225 132,219 117,218 117,218 117,218') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 122,212 134,214 143,221 141,213 132,210 122,212 122,212 122,212') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 69,352 70,363 76,373 86,378 97,379 108,379 120,377 128,378 132,373 135,361 133,358 132,366 127,375 121,374 121,362 119,367 117,374 110,376 110,362 107,357 106,371 104,375 97,376 90,375 90,368 86,362 83,364 86,369 85,373 78,370 73,362 71,351 69,352 69,352 69,352') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 100,360 96,363 99,369 102,364 100,360 100,360 100,360') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 115,360 112,363 114,369 117,364 115,360 115,360 115,360') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 127,362 125,364 126,369 128,365 127,362 127,362 127,362') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 5,255 7,276 11,304 15,320 13,334 6,348 2,353 0,363 5,372 12,374 25,372 38,372 44,369 42,367 36,368 31,369 30,360 27,368 20,370 16,361 15,368 10,369 3,366 3,359 6,352 11,348 17,331 19,316 12,291 9,274 5,255 5,255 5,255') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 10,358 7,362 10,366 11,362 10,358 10,358 10,358') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 25,357 22,360 24,366 27,360 25,357 25,357 25,357') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 37,357 34,361 36,365 38,361 37,357 37,357 37,357') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 49,356 46,359 47,364 50,360 49,356 49,356 49,356') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 130,101 132,102 135,101 139,102 143,103 142,101 137,100 133,100 130,101 130,101 130,101') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 106,48 105,52 108,56 109,52 106,48 106,48 106,48') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 139,52 139,56 140,60 142,58 141,56 139,52 139,52 139,52') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 25,349 29,351 30,355 33,350 37,348 42,351 45,347 49,345 44,343 36,345 25,349 25,349 25,349') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 98,347 105,351 107,354 109,349 115,349 120,353 118,349 113,346 104,346 98,347 98,347 98,347') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 83,348 87,352 87,357 89,351 87,348 83,348 83,348 83,348') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 155,107 163,107 170,107 186,108 175,109 155,109 155,107 155,107 155,107') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 153,114 162,113 175,112 192,114 173,114 154,115 153,114 153,114 153,114') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 152,118 164,120 180,123 197,129 169,123 151,120 152,118 152,118 152,118') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 68,109 87,106 107,106 106,108 88,108 68,109 68,109 68,109') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 105,111 95,112 79,114 71,116 85,115 102,113 105,111 105,111 105,111') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 108,101 98,99 87,99 78,99 93,100 105,102 108,101 108,101 108,101') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 85,63 91,63 97,60 104,60 108,62 111,69 112,75 110,74 108,71 103,73 106,69 105,65 103,64 103,67 102,70 99,70 97,66 94,67 97,72 88,67 84,66 85,63 85,63 85,63') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 140,74 141,66 144,61 150,61 156,62 153,70 150,73 152,65 150,65 151,68 149,71 146,71 144,66 143,70 143,74 140,74 140,74 140,74') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 146,20 156,11 163,9 172,9 178,14 182,18 184,32 182,42 182,52 177,58 176,67 171,76 165,90 157,105 160,92 164,85 168,78 167,73 173,66 172,62 175,59 174,55 177,53 180,46 181,29 179,21 173,13 166,11 159,13 153,18 148,23 146,20 146,20 146,20') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 150,187 148,211 150,233 153,247 148,267 135,283 125,299 136,292 131,313 122,328 122,345 129,352 133,359 133,367 137,359 148,356 140,350 131,347 129,340 132,332 140,328 137,322 140,304 154,265 157,244 155,223 161,220 175,229 186,247 185,260 176,275 178,287 185,277 188,261 196,253 189,236 174,213 150,187 150,187 150,187') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 147,338 142,341 143,345 141,354 147,343 147,338 147,338 147,338') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 157,342 156,349 150,356 157,353 163,346 162,342 157,342 157,342 157,342') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 99,265 96,284 92,299 73,339 73,333 87,300 99,265 99,265 99,265') +SAX.endElement(polyline) +SAX.characters( +, 2) +SAX.endElement(g) +SAX.endElement(svg) +SAX.endDocument() diff --git a/libxml2/result/svg1.sax2 b/libxml2/result/svg1.sax2 new file mode 100644 index 0000000..7b81459 --- /dev/null +++ b/libxml2/result/svg1.sax2 @@ -0,0 +1,613 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(svg, -//W3C//DTD SVG April 1999//EN, http://www.w3.org/Graphics/SVG/svg-19990412.dtd) +SAX.externalSubset(svg, -//W3C//DTD SVG April 1999//EN, http://www.w3.org/Graphics/SVG/svg-19990412.dtd) +SAX.startElementNs(svg, NULL, NULL, 0, 2, 0, width='242p...', 5, height='383p...', 5) +SAX.characters( +, 1) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 69,...', 337) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 142...', 190) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 127...', 71) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 178...', 128) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 56,...', 273) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 74,...', 203) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 212...', 448) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 151...', 208) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 78,...', 106) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 21,...', 90) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 71,...', 150) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 139...', 101) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 105...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 141...', 70) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 98,...', 156) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 97,...', 156) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 147...', 238) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 85,...', 69) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 86,...', 217) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 93,...', 65) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 144...', 70) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 57,...', 294) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 83,...', 194) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 109...', 70) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 122...', 80) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 78,...', 156) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 82,...', 284) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 142...', 239) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 115...', 72) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 114...', 80) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 102...', 72) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 51,...', 154) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 2,3...', 120) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 7,3...', 154) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 11,...', 49) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 13,...', 97) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 202...', 152) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 151...', 168) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 91,...', 202) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 31,...', 96) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 147...', 76) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 181...', 91) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 132...', 80) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 146...', 80) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 99,...', 78) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 20,...', 105) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 78,...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 93,...', 92) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 105...', 70) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 122...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 115...', 49) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 116...', 260) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 74,...', 245) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 133...', 104) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 133...', 64) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 121...', 334) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 79,...', 70) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 91,...', 80) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 110...', 72) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 126...', 72) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 30,...', 266) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 44,...', 319) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 13,...', 84) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 10,...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 9,2...', 45) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 33,...', 385) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 7,3...', 51) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 44,...', 49) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 32,...', 49) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 139...', 128) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 208...', 360) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 106...', 152) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 107...', 93) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 148...', 72) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 80,...', 192) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 87,...', 55) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 85,...', 55) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 115...', 119) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 145...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 26,...', 60) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 160...', 91) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 98,...', 265) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 146...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 148...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 106...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 108...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 106...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 50,...', 144) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 147...', 231) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 155...', 102) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 112...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 78,...', 195) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 67,...', 109) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 56,...', 276) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 101...', 307) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 41,...', 116) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 32,...', 245) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 134...', 136) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 173...', 280) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 165...', 88) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 99,...', 124) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 117...', 64) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 117...', 64) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 122...', 64) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 69,...', 262) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 100...', 54) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 115...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 127...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 5,2...', 218) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 10,...', 48) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 25,...', 49) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 37,...', 49) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 49,...', 49) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 130...', 88) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 106...', 49) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 139...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 25,...', 91) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 98,...', 92) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 83,...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 155...', 72) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 153...', 72) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 152...', 72) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 68,...', 58) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 105...', 68) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 108...', 65) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 85,...', 156) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 140...', 126) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 146...', 237) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 150...', 320) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 147...', 64) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 157...', 72) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 99,...', 63) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.endElementNs(svg, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/svg2 b/libxml2/result/svg2 new file mode 100644 index 0000000..6c3990c --- /dev/null +++ b/libxml2/result/svg2 @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + Java Font definition:Dialog 0 + + + Java Font definition:Helvetica 0 + + + + this is text + + + + Java Font definition:Dialog 0 + + + Java Font definition:Helvetica 700 + + + + sadfsadfsad + + + + + + + + + + + Java Font definition:Dialog 700 + + + Java Font definition:Dialog 700 + + diff --git a/libxml2/result/svg2.rde b/libxml2/result/svg2.rde new file mode 100644 index 0000000..1eab152 --- /dev/null +++ b/libxml2/result/svg2.rde @@ -0,0 +1,178 @@ +0 10 svg 0 0 +0 1 svg 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 rect 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 ellipse 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 g 0 0 +3 14 #text 0 1 + +3 1 desc 0 0 +4 3 #text 0 1 Java Font definition:Dialog 0 +3 15 desc 0 0 +3 14 #text 0 1 + +2 15 g 0 0 +2 14 #text 0 1 + +2 1 g 0 0 +3 14 #text 0 1 + +3 1 desc 0 0 +4 3 #text 0 1 Java Font definition:Helvetica 0 +3 15 desc 0 0 +3 14 #text 0 1 + +2 15 g 0 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 text 0 0 +3 3 #text 0 1 this is text +2 15 text 0 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 g 0 0 +3 14 #text 0 1 + +3 1 desc 0 0 +4 3 #text 0 1 Java Font definition:Dialog 0 +3 15 desc 0 0 +3 14 #text 0 1 + +2 15 g 0 0 +2 14 #text 0 1 + +2 1 g 0 0 +3 14 #text 0 1 + +3 1 desc 0 0 +4 3 #text 0 1 Java Font definition:Helvetica 700 +3 15 desc 0 0 +3 14 #text 0 1 + +2 15 g 0 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 text 0 0 +3 3 #text 0 1 sadfsadfsad +2 15 text 0 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 ellipse 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 g 0 0 +3 14 #text 0 1 + +3 1 desc 0 0 +4 3 #text 0 1 Java Font definition:Dialog 700 +3 15 desc 0 0 +3 14 #text 0 1 + +2 15 g 0 0 +2 14 #text 0 1 + +2 1 g 0 0 +3 14 #text 0 1 + +3 1 desc 0 0 +4 3 #text 0 1 Java Font definition:Dialog 700 +3 15 desc 0 0 +3 14 #text 0 1 + +2 15 g 0 0 +2 14 #text 0 1 + +1 15 g 0 0 +0 15 svg 0 0 diff --git a/libxml2/result/svg2.rdr b/libxml2/result/svg2.rdr new file mode 100644 index 0000000..1eab152 --- /dev/null +++ b/libxml2/result/svg2.rdr @@ -0,0 +1,178 @@ +0 10 svg 0 0 +0 1 svg 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 rect 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 ellipse 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 g 0 0 +3 14 #text 0 1 + +3 1 desc 0 0 +4 3 #text 0 1 Java Font definition:Dialog 0 +3 15 desc 0 0 +3 14 #text 0 1 + +2 15 g 0 0 +2 14 #text 0 1 + +2 1 g 0 0 +3 14 #text 0 1 + +3 1 desc 0 0 +4 3 #text 0 1 Java Font definition:Helvetica 0 +3 15 desc 0 0 +3 14 #text 0 1 + +2 15 g 0 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 text 0 0 +3 3 #text 0 1 this is text +2 15 text 0 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 g 0 0 +3 14 #text 0 1 + +3 1 desc 0 0 +4 3 #text 0 1 Java Font definition:Dialog 0 +3 15 desc 0 0 +3 14 #text 0 1 + +2 15 g 0 0 +2 14 #text 0 1 + +2 1 g 0 0 +3 14 #text 0 1 + +3 1 desc 0 0 +4 3 #text 0 1 Java Font definition:Helvetica 700 +3 15 desc 0 0 +3 14 #text 0 1 + +2 15 g 0 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 text 0 0 +3 3 #text 0 1 sadfsadfsad +2 15 text 0 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 ellipse 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 g 0 0 +3 14 #text 0 1 + +3 1 desc 0 0 +4 3 #text 0 1 Java Font definition:Dialog 700 +3 15 desc 0 0 +3 14 #text 0 1 + +2 15 g 0 0 +2 14 #text 0 1 + +2 1 g 0 0 +3 14 #text 0 1 + +3 1 desc 0 0 +4 3 #text 0 1 Java Font definition:Dialog 700 +3 15 desc 0 0 +3 14 #text 0 1 + +2 15 g 0 0 +2 14 #text 0 1 + +1 15 g 0 0 +0 15 svg 0 0 diff --git a/libxml2/result/svg2.sax b/libxml2/result/svg2.sax new file mode 100644 index 0000000..0134545 --- /dev/null +++ b/libxml2/result/svg2.sax @@ -0,0 +1,189 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(svg, -//W3C//DTD SVG April 1999//EN, http://www.w3.org/Graphics/SVG/svg-19990412.dtd) +SAX.externalSubset(svg, -//W3C//DTD SVG April 1999//EN, http://www.w3.org/Graphics/SVG/svg-19990412.dtd) +SAX.startElement(svg, width='268px', height='207px') +SAX.characters( +, 1) +SAX.startElement(g, style='stroke: #000000') +SAX.characters( + , 5) +SAX.startElement(path, d=' M 29 28 ') +SAX.endElement(path) +SAX.characters( + , 5) +SAX.startElement(path, d=' L 19 74 ') +SAX.endElement(path) +SAX.characters( +, 2) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='stroke: #800040') +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 32,100 72,50 90,82 73,16 120,64 152,9 177,107') +SAX.endElement(polyline) +SAX.characters( +, 2) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='stroke: #000000') +SAX.characters( +, 2) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='stroke: #0000ff') +SAX.characters( + , 5) +SAX.startElement(rect, x='30', y='101', width='51', height='33') +SAX.endElement(rect) +SAX.characters( +, 1) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='fill: #0000ff') +SAX.characters( + , 5) +SAX.startElement(ellipse, cx='182', cy='127', major='37', minor='31', angle='90') +SAX.endElement(ellipse) +SAX.characters( +, 1) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='fill: #ff0000') +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 78,180 76,151 131,149 136,182 135,182 134,183 127,185 117,186 109,192 104,194 98,199 96,200 95,201 94,202 92,202 85,202 70,200 54,199 47,198 46,197 45,197 37,195 26,193 17,187 9,181 8,181 7,176 6,175 6,173 6,172 6,170 8,164 8,163 8,162 9,162 10,162 11,162 13,162 20,162 26,162 27,162 28,162 30,162 30,163 31,163 32,164 34,166 35,166 36,167 36,168 37,169 38,169 39,169 41,170 43,170 45,170 47,170 49,170 50,168 50,161 50,160 50,159 47,162 78,180') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(g) +SAX.characters( + , 6) +SAX.startElement(desc) +SAX.characters( Java Font definition:Dialog 0, 30) +SAX.endElement(desc) +SAX.characters( + , 5) +SAX.endElement(g) +SAX.characters( + , 4) +SAX.startElement(g) +SAX.characters( + , 6) +SAX.startElement(desc) +SAX.characters( Java Font definition:Helvetic, 33) +SAX.endElement(desc) +SAX.characters( + , 5) +SAX.endElement(g) +SAX.characters( +, 1) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='stroke: #000000') +SAX.characters( + , 5) +SAX.startElement(text, x='188', y='36') +SAX.characters(this is text, 12) +SAX.endElement(text) +SAX.characters( +, 1) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='stroke: #000000') +SAX.characters( + , 5) +SAX.startElement(g) +SAX.characters( + , 6) +SAX.startElement(desc) +SAX.characters( Java Font definition:Dialog 0, 30) +SAX.endElement(desc) +SAX.characters( + , 5) +SAX.endElement(g) +SAX.characters( + , 4) +SAX.startElement(g) +SAX.characters( + , 6) +SAX.startElement(desc) +SAX.characters( Java Font definition:Helvetic, 35) +SAX.endElement(desc) +SAX.characters( + , 5) +SAX.endElement(g) +SAX.characters( +, 1) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='stroke: #008080') +SAX.characters( + , 5) +SAX.startElement(text, x='176', y='85') +SAX.characters(sadfsadfsad, 11) +SAX.endElement(text) +SAX.characters( +, 1) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='stroke: #000000') +SAX.characters( +, 2) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='fill: #800040') +SAX.characters( + , 5) +SAX.startElement(ellipse, cx='208', cy='180', major='45', minor='31', angle='0') +SAX.endElement(ellipse) +SAX.characters( +, 1) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='stroke: #000000') +SAX.characters( +, 2) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='fill: #ffffff') +SAX.characters( + , 5) +SAX.startElement(g) +SAX.characters( + , 6) +SAX.startElement(desc) +SAX.characters( Java Font definition:Dialog 7, 32) +SAX.endElement(desc) +SAX.characters( + , 5) +SAX.endElement(g) +SAX.characters( + , 4) +SAX.startElement(g) +SAX.characters( + , 6) +SAX.startElement(desc) +SAX.characters( Java Font definition:Dialog 7, 32) +SAX.endElement(desc) +SAX.characters( + , 5) +SAX.endElement(g) +SAX.characters( +, 1) +SAX.endElement(g) +SAX.endElement(svg) +SAX.endDocument() diff --git a/libxml2/result/svg2.sax2 b/libxml2/result/svg2.sax2 new file mode 100644 index 0000000..ab73992 --- /dev/null +++ b/libxml2/result/svg2.sax2 @@ -0,0 +1,189 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(svg, -//W3C//DTD SVG April 1999//EN, http://www.w3.org/Graphics/SVG/svg-19990412.dtd) +SAX.externalSubset(svg, -//W3C//DTD SVG April 1999//EN, http://www.w3.org/Graphics/SVG/svg-19990412.dtd) +SAX.startElementNs(svg, NULL, NULL, 0, 2, 0, width='268p...', 5, height='207p...', 5) +SAX.characters( +, 1) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( + , 5) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d=' M 2...', 9) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d=' L 1...', 9) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 32,...', 46) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( + , 5) +SAX.startElementNs(rect, NULL, NULL, 0, 4, 0, x='30" ...', 2, y='101"...', 3, width='51" ...', 2, height='33"/...', 2) +SAX.endElementNs(rect, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(ellipse, NULL, NULL, 0, 5, 0, cx='182"...', 3, cy='127"...', 3, major='37" ...', 2, minor='31" ...', 2, angle='90"/...', 2) +SAX.endElementNs(ellipse, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 78,...', 445) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(g, NULL, NULL, 0, 0, 0) +SAX.characters( + , 6) +SAX.startElementNs(desc, NULL, NULL, 0, 0, 0) +SAX.characters( Java Font definition:Dialog 0, 30) +SAX.endElementNs(desc, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(g, NULL, NULL, 0, 0, 0) +SAX.characters( + , 6) +SAX.startElementNs(desc, NULL, NULL, 0, 0, 0) +SAX.characters( Java Font definition:Helvetic, 33) +SAX.endElementNs(desc, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( + , 5) +SAX.startElementNs(text, NULL, NULL, 0, 2, 0, x='188"...', 3, y='36" ...', 2) +SAX.characters(this is text, 12) +SAX.endElementNs(text, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( + , 5) +SAX.startElementNs(g, NULL, NULL, 0, 0, 0) +SAX.characters( + , 6) +SAX.startElementNs(desc, NULL, NULL, 0, 0, 0) +SAX.characters( Java Font definition:Dialog 0, 30) +SAX.endElementNs(desc, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(g, NULL, NULL, 0, 0, 0) +SAX.characters( + , 6) +SAX.startElementNs(desc, NULL, NULL, 0, 0, 0) +SAX.characters( Java Font definition:Helvetic, 35) +SAX.endElementNs(desc, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( + , 5) +SAX.startElementNs(text, NULL, NULL, 0, 2, 0, x='176"...', 3, y='85" ...', 2) +SAX.characters(sadfsadfsad, 11) +SAX.endElementNs(text, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(ellipse, NULL, NULL, 0, 5, 0, cx='208"...', 3, cy='180"...', 3, major='45" ...', 2, minor='31" ...', 2, angle='0"/>...', 1) +SAX.endElementNs(ellipse, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(g, NULL, NULL, 0, 0, 0) +SAX.characters( + , 6) +SAX.startElementNs(desc, NULL, NULL, 0, 0, 0) +SAX.characters( Java Font definition:Dialog 7, 32) +SAX.endElementNs(desc, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(g, NULL, NULL, 0, 0, 0) +SAX.characters( + , 6) +SAX.startElementNs(desc, NULL, NULL, 0, 0, 0) +SAX.characters( Java Font definition:Dialog 7, 32) +SAX.endElementNs(desc, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(g, NULL, NULL) +SAX.endElementNs(svg, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/svg3 b/libxml2/result/svg3 new file mode 100644 index 0000000..c4994b8 --- /dev/null +++ b/libxml2/result/svg3 @@ -0,0 +1,723 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libxml2/result/svg3.rde b/libxml2/result/svg3.rde new file mode 100644 index 0000000..e4642a9 --- /dev/null +++ b/libxml2/result/svg3.rde @@ -0,0 +1,2164 @@ +0 1 svg 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +0 15 svg 0 0 diff --git a/libxml2/result/svg3.rdr b/libxml2/result/svg3.rdr new file mode 100644 index 0000000..e4642a9 --- /dev/null +++ b/libxml2/result/svg3.rdr @@ -0,0 +1,2164 @@ +0 1 svg 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +0 15 svg 0 0 diff --git a/libxml2/result/svg3.sax b/libxml2/result/svg3.sax new file mode 100644 index 0000000..3bb3da3 --- /dev/null +++ b/libxml2/result/svg3.sax @@ -0,0 +1,2407 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(svg) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.172') +SAX.characters( + , 3) +SAX.startElement(path, d='M77.696 284.285C77.696 284.285 77.797 286.179 76.973 286.16C76.149 286.141 59.695 238.066 39.167 240.309C39.167 240.309 56.95 232.956 77.696 284.285z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.172') +SAX.characters( + , 3) +SAX.startElement(path, d='M81.226 281.262C81.226 281.262 80.677 283.078 79.908 282.779C79.14 282.481 80.023 231.675 59.957 226.801C59.957 226.801 79.18 225.937 81.226 281.262z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.172') +SAX.characters( + , 3) +SAX.startElement(path, d='M108.716 323.59C108.716 323.59 110.352 324.55 109.882 325.227C109.411 325.904 60.237 313.102 50.782 331.459C50.782 331.459 54.461 312.572 108.716 323.59z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.172') +SAX.characters( + , 3) +SAX.startElement(path, d='M105.907 333.801C105.907 333.801 107.763 334.197 107.529 334.988C107.296 335.779 56.593 339.121 53.403 359.522C53.403 359.522 50.945 340.437 105.907 333.801z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.172') +SAX.characters( + , 3) +SAX.startElement(path, d='M101.696 328.276C101.696 328.276 103.474 328.939 103.128 329.687C102.782 330.435 52.134 326.346 46.002 346.064C46.002 346.064 46.354 326.825 101.696 328.276z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.172') +SAX.characters( + , 3) +SAX.startElement(path, d='M90.991 310.072C90.991 310.072 92.299 311.446 91.66 311.967C91.021 312.488 47.278 286.634 33.131 301.676C33.131 301.676 41.872 284.533 90.991 310.072z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.172') +SAX.characters( + , 3) +SAX.startElement(path, d='M83.446 314.263C83.446 314.263 84.902 315.48 84.326 316.071C83.75 316.661 37.362 295.922 25.008 312.469C25.008 312.469 31.753 294.447 83.446 314.263z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.172') +SAX.characters( + , 3) +SAX.startElement(path, d='M80.846 318.335C80.846 318.335 82.454 319.343 81.964 320.006C81.474 320.669 32.692 306.446 22.709 324.522C22.709 324.522 26.934 305.749 80.846 318.335z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.172') +SAX.characters( + , 3) +SAX.startElement(path, d='M91.58 318.949C91.58 318.949 92.702 320.48 92.001 320.915C91.3 321.35 51.231 290.102 35.273 303.207C35.273 303.207 46.138 287.326 91.58 318.949z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.172') +SAX.characters( + , 3) +SAX.startElement(path, d='M71.8 290C71.8 290 72.4 291.8 71.6 292C70.8 292.2 42.2 250.2 22.999 257.8C22.999 257.8 38.2 246 71.8 290z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.172') +SAX.characters( + , 3) +SAX.startElement(path, d='M72.495 296.979C72.495 296.979 73.47 298.608 72.731 298.975C71.993 299.343 35.008 264.499 17.899 276.061C17.899 276.061 30.196 261.261 72.495 296.979z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.172') +SAX.characters( + , 3) +SAX.startElement(path, d='M72.38 301.349C72.38 301.349 73.502 302.88 72.801 303.315C72.1 303.749 32.031 272.502 16.073 285.607C16.073 285.607 26.938 269.726 72.38 301.349z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M70.17 303.065C70.673 309.113 71.661 315.682 73.4 318.801C73.4 318.801 69.8 331.201 78.6 344.401C78.6 344.401 78.2 351.601 79.8 354.801C79.8 354.801 83.8 363.201 88.6 364.001C92.484 364.648 101.207 367.717 111.068 369.121C111.068 369.121 128.2 383.201 125 396.001C125 396.001 124.6 412.401 121 414.001C121 414.001 132.6 402.801 123 419.601L118.6 438.401C118.6 438.401 144.2 416.801 128.6 435.201L118.6 461.201C118.6 461.201 138.2 442.801 131 451.201L127.8 460.001C127.8 460.001 171 432.801 140.2 462.401C140.2 462.401 148.2 458.801 152.6 461.601C152.6 461.601 159.4 460.401 158.6 462.001C158.6 462.001 137.8 472.401 134.2 490.801C134.2 490.801 142.6 480.801 139.4 491.601L139.8 503.201C139.8 503.201 143.8 481.601 143.4 519.201C143.4 519.201 162.6 501.201 151 522.001L151 538.801C151 538.801 166.2 522.401 159.8 535.201C159.8 535.201 169.8 526.401 165.8 541.601C165.8 541.601 165 552.001 169.4 540.801C169.4 540.801 185.4 510.201 179.4 536.401C179.4 536.401 178.6 555.601 183.4 540.801C183.4 540.801 183.8 551.201 193 558.401C193 558.401 191.8 507.601 204.6 543.601L208.6 560.001C208.6 560.001 211.4 550.801 211 545.601C211 545.601 225.8 529.201 219 553.601C219 553.601 234.2 530.801 231 544.001C231 544.001 223.4 560.001 225 564.801C225 564.801 241.8 530.001 243 528.401C243 528.401 241 570.802 251.8 534.801C251.8 534.801 257.4 546.801 254.6 551.201C254.6 551.201 262.6 543.201 261.8 540.001C261.8 540.001 266.4 531.801 269.2 545.401C269.2 545.401 271 554.801 272.6 551.601C272.6 551.601 276.6 575.602 277.8 552.801C277.8 552.801 279.4 539.201 272.2 527.601C272.2 527.601 273 524.401 270.2 520.401C270.2 520.401 283.8 542.001 276.6 513.201C276.6 513.201 287.801 521.201 289.001 521.201C289.001 521.201 275.4 498.001 284.2 502.801C284.2 502.801 279 492.401 297.001 504.401C297.001 504.401 281 488.401 298.601 498.001C298.601 498.001 306.601 504.401 299.001 494.401C299.001 494.401 284.6 478.401 306.601 496.401C306.601 496.401 318.201 512.801 319.001 515.601C319.001 515.601 309.001 486.401 304.601 483.601C304.601 483.601 313.001 447.201 354.201 462.801C354.201 462.801 361.001 480.001 365.401 461.601C365.401 461.601 378.201 455.201 389.401 482.801C389.401 482.801 393.401 469.201 392.601 466.401C392.601 466.401 399.401 467.601 398.601 466.401C398.601 466.401 411.801 470.801 413.001 470.001C413.001 470.001 419.801 476.801 420.201 473.201C420.201 473.201 429.401 476.001 427.401 472.401C427.401 472.401 436.201 488.001 436.601 491.601L439.001 477.601L441.001 480.401C441.001 480.401 442.601 472.801 441.801 471.601C441.001 470.401 461.801 478.401 466.601 499.201L468.601 507.601C468.601 507.601 474.601 492.801 473.001 488.801C473.001 488.801 478.201 489.601 478.601 494.001C478.601 494.001 482.601 470.801 477.801 464.801C477.801 464.801 482.201 464.001 483.401 467.601L483.401 460.401C483.401 460.401 490.601 461.201 490.601 458.801C490.601 458.801 495.001 454.801 497.001 459.601C497.001 459.601 484.601 424.401 503.001 443.601C503.001 443.601 510.201 454.401 506.601 435.601C503.001 416.801 499.001 415.201 503.801 414.801C503.801 414.801 504.601 411.201 502.601 409.601C500.601 408.001 503.801 409.601 503.801 409.601C503.801 409.601 508.601 413.601 503.401 391.601C503.401 391.601 509.801 393.201 497.801 364.001C497.801 364.001 500.601 361.601 496.601 353.201C496.601 353.201 504.601 357.601 507.401 356.001C507.401 356.001 507.001 354.401 503.801 350.401C503.801 350.401 482.201 295.6 502.601 317.601C502.601 317.601 514.451 331.151 508.051 308.351C508.051 308.351 498.94 284.341 499.717 280.045L70.17 303.065z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cc7226; stroke:#000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M499.717 280.245C500.345 280.426 502.551 281.55 503.801 283.2C503.801 283.2 510.601 294 505.401 275.6C505.401 275.6 496.201 246.8 505.001 258C505.001 258 511.001 265.2 507.801 251.6C503.936 235.173 501.401 228.8 501.401 228.8C501.401 228.8 513.001 233.6 486.201 194L495.001 197.6C495.001 197.6 475.401 158 453.801 152.8L445.801 146.8C445.801 146.8 484.201 108.8 471.401 72C471.401 72 464.601 66.8 455.001 76C455.001 76 448.601 80.8 442.601 79.2C442.601 79.2 411.801 80.4 409.801 80.4C407.801 80.4 373.001 43.2 307.401 60.8C307.401 60.8 302.201 62.8 297.801 61.6C297.801 61.6 279.4 45.6 230.6 68.4C230.6 68.4 220.6 70.4 219 70.4C217.4 70.4 214.6 70.4 206.6 76.8C198.6 83.2 198.2 84 196.2 85.6C196.2 85.6 179.8 96.8 175 97.6C175 97.6 163.4 104 159 114L155.4 115.2C155.4 115.2 153.8 122.4 153.4 123.6C153.4 123.6 148.6 127.2 147.8 132.8C147.8 132.8 139 138.8 139.4 143.2C139.4 143.2 137.8 148.4 137 153.2C137 153.2 129.8 158 130.6 160.8C130.6 160.8 123 174.8 124.2 181.6C124.2 181.6 117.8 181.2 115 183.6C115 183.6 114.2 188.4 112.6 188.8C112.6 188.8 109.8 190 112.2 194C112.2 194 110.6 196.8 110.2 198.4C110.2 198.4 111 201.2 106.6 206.8C106.6 206.8 100.2 225.6 102.2 230.8C102.2 230.8 102.6 235.6 99.8 237.2C99.8 237.2 96.2 236.8 104.6 248.8C104.6 248.8 105.4 250 102.2 252.4C102.2 252.4 85 256 82.6 272.4C82.6 272.4 69 287.2 69 292.4C69 294.705 69.271 297.852 69.97 302.465C69.97 302.465 69.4 310.801 97 311.601C124.6 312.401 499.717 280.245 499.717 280.245z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cc7226') +SAX.characters( + , 3) +SAX.startElement(path, d='M84.4 302.6C59.4 263.2 73.8 319.601 73.8 319.601C82.6 354.001 212.2 316.401 212.2 316.401C212.2 316.401 381.001 286 392.201 282C403.401 278 498.601 284.4 498.601 284.4L493.001 267.6C428.201 221.2 409.001 244.4 395.401 240.4C381.801 236.4 384.201 246 381.001 246.8C377.801 247.6 338.601 222.8 332.201 223.6C325.801 224.4 300.459 200.649 315.401 232.4C331.401 266.4 257 271.6 240.2 260.4C223.4 249.2 247.4 278.8 247.4 278.8C265.8 298.8 231.4 282 231.4 282C197 269.2 173 294.8 169.8 295.6C166.6 296.4 161.8 299.6 161 293.2C160.2 286.8 152.69 270.099 121 296.4C101 313.001 87.2 291 87.2 291L84.4 302.6z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #e87f3a') +SAX.characters( + , 3) +SAX.startElement(path, d='M333.51 225.346C327.11 226.146 301.743 202.407 316.71 234.146C333.31 269.346 258.31 273.346 241.51 262.146C224.709 250.946 248.71 280.546 248.71 280.546C267.11 300.546 232.709 283.746 232.709 283.746C198.309 270.946 174.309 296.546 171.109 297.346C167.909 298.146 163.109 301.346 162.309 294.946C161.509 288.546 154.13 272.012 122.309 298.146C101.073 315.492 87.582 294.037 87.582 294.037L84.382 304.146C59.382 264.346 74.454 322.655 74.454 322.655C83.255 357.056 213.509 318.146 213.509 318.146C213.509 318.146 382.31 287.746 393.51 283.746C404.71 279.746 499.038 286.073 499.038 286.073L493.51 268.764C428.71 222.364 410.31 246.146 396.71 242.146C383.11 238.146 385.51 247.746 382.31 248.546C379.11 249.346 339.91 224.546 333.51 225.346z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ea8c4d') +SAX.characters( + , 3) +SAX.startElement(path, d='M334.819 227.091C328.419 227.891 303.685 203.862 318.019 235.891C334.219 272.092 259.619 275.092 242.819 263.892C226.019 252.692 250.019 282.292 250.019 282.292C268.419 302.292 234.019 285.492 234.019 285.492C199.619 272.692 175.618 298.292 172.418 299.092C169.218 299.892 164.418 303.092 163.618 296.692C162.818 290.292 155.57 273.925 123.618 299.892C101.145 317.983 87.964 297.074 87.964 297.074L84.364 305.692C60.564 266.692 75.109 325.71 75.109 325.71C83.909 360.11 214.819 319.892 214.819 319.892C214.819 319.892 383.619 289.492 394.819 285.492C406.019 281.492 499.474 287.746 499.474 287.746L494.02 269.928C429.219 223.528 411.619 247.891 398.019 243.891C384.419 239.891 386.819 249.491 383.619 250.292C380.419 251.092 341.219 226.291 334.819 227.091z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ec9961') +SAX.characters( + , 3) +SAX.startElement(path, d='M336.128 228.837C329.728 229.637 304.999 205.605 319.328 237.637C336.128 275.193 260.394 276.482 244.128 265.637C227.328 254.437 251.328 284.037 251.328 284.037C269.728 304.037 235.328 287.237 235.328 287.237C200.928 274.437 176.928 300.037 173.728 300.837C170.528 301.637 165.728 304.837 164.928 298.437C164.128 292.037 157.011 275.839 124.927 301.637C101.218 320.474 88.345 300.11 88.345 300.11L84.345 307.237C62.545 270.437 75.764 328.765 75.764 328.765C84.564 363.165 216.128 321.637 216.128 321.637C216.128 321.637 384.928 291.237 396.129 287.237C407.329 283.237 499.911 289.419 499.911 289.419L494.529 271.092C429.729 224.691 412.929 249.637 399.329 245.637C385.728 241.637 388.128 251.237 384.928 252.037C381.728 252.837 342.528 228.037 336.128 228.837z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #eea575') +SAX.characters( + , 3) +SAX.startElement(path, d='M337.438 230.583C331.037 231.383 306.814 207.129 320.637 239.383C337.438 278.583 262.237 278.583 245.437 267.383C228.637 256.183 252.637 285.783 252.637 285.783C271.037 305.783 236.637 288.983 236.637 288.983C202.237 276.183 178.237 301.783 175.037 302.583C171.837 303.383 167.037 306.583 166.237 300.183C165.437 293.783 158.452 277.752 126.237 303.383C101.291 322.965 88.727 303.146 88.727 303.146L84.327 308.783C64.527 273.982 76.418 331.819 76.418 331.819C85.218 366.22 217.437 323.383 217.437 323.383C217.437 323.383 386.238 292.983 397.438 288.983C408.638 284.983 500.347 291.092 500.347 291.092L495.038 272.255C430.238 225.855 414.238 251.383 400.638 247.383C387.038 243.383 389.438 252.983 386.238 253.783C383.038 254.583 343.838 229.783 337.438 230.583z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #f1b288') +SAX.characters( + , 3) +SAX.startElement(path, d='M338.747 232.328C332.347 233.128 306.383 209.677 321.947 241.128C341.147 279.928 263.546 280.328 246.746 269.128C229.946 257.928 253.946 287.528 253.946 287.528C272.346 307.528 237.946 290.728 237.946 290.728C203.546 277.928 179.546 303.528 176.346 304.328C173.146 305.128 168.346 308.328 167.546 301.928C166.746 295.528 159.892 279.665 127.546 305.128C101.364 325.456 89.109 306.183 89.109 306.183L84.309 310.328C66.309 277.128 77.073 334.874 77.073 334.874C85.873 369.274 218.746 325.128 218.746 325.128C218.746 325.128 387.547 294.728 398.747 290.728C409.947 286.728 500.783 292.764 500.783 292.764L495.547 273.419C430.747 227.019 415.547 253.128 401.947 249.128C388.347 245.128 390.747 254.728 387.547 255.528C384.347 256.328 345.147 231.528 338.747 232.328z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #f3bf9c') +SAX.characters( + , 3) +SAX.startElement(path, d='M340.056 234.073C333.655 234.873 307.313 211.613 323.255 242.873C343.656 282.874 264.855 282.074 248.055 270.874C231.255 259.674 255.255 289.274 255.255 289.274C273.655 309.274 239.255 292.474 239.255 292.474C204.855 279.674 180.855 305.274 177.655 306.074C174.455 306.874 169.655 310.074 168.855 303.674C168.055 297.274 161.332 281.578 128.855 306.874C101.436 327.947 89.491 309.219 89.491 309.219L84.291 311.874C68.291 281.674 77.727 337.929 77.727 337.929C86.527 372.329 220.055 326.874 220.055 326.874C220.055 326.874 388.856 296.474 400.056 292.474C411.256 288.474 501.22 294.437 501.22 294.437L496.056 274.583C431.256 228.183 416.856 254.874 403.256 250.874C389.656 246.873 392.056 256.474 388.856 257.274C385.656 258.074 346.456 233.273 340.056 234.073z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #f5ccb0') +SAX.characters( + , 3) +SAX.startElement(path, d='M341.365 235.819C334.965 236.619 307.523 213.944 324.565 244.619C346.565 284.219 266.164 283.819 249.364 272.619C232.564 261.419 256.564 291.019 256.564 291.019C274.964 311.019 240.564 294.219 240.564 294.219C206.164 281.419 182.164 307.019 178.964 307.819C175.764 308.619 170.964 311.819 170.164 305.419C169.364 299.019 162.773 283.492 130.164 308.619C101.509 330.438 89.873 312.256 89.873 312.256L84.273 313.419C69.872 285.019 78.382 340.983 78.382 340.983C87.182 375.384 221.364 328.619 221.364 328.619C221.364 328.619 390.165 298.219 401.365 294.219C412.565 290.219 501.656 296.11 501.656 296.11L496.565 275.746C431.765 229.346 418.165 256.619 404.565 252.619C390.965 248.619 393.365 258.219 390.165 259.019C386.965 259.819 347.765 235.019 341.365 235.819z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #f8d8c4') +SAX.characters( + , 3) +SAX.startElement(path, d='M342.674 237.565C336.274 238.365 308.832 215.689 325.874 246.365C347.874 285.965 267.474 285.565 250.674 274.365C233.874 263.165 257.874 292.765 257.874 292.765C276.274 312.765 241.874 295.965 241.874 295.965C207.473 283.165 183.473 308.765 180.273 309.565C177.073 310.365 172.273 313.565 171.473 307.165C170.673 300.765 164.214 285.405 131.473 310.365C101.582 332.929 90.255 315.293 90.255 315.293L84.255 314.965C70.654 288.564 79.037 344.038 79.037 344.038C87.837 378.438 222.673 330.365 222.673 330.365C222.673 330.365 391.474 299.965 402.674 295.965C413.874 291.965 502.093 297.783 502.093 297.783L497.075 276.91C432.274 230.51 419.474 258.365 405.874 254.365C392.274 250.365 394.674 259.965 391.474 260.765C388.274 261.565 349.074 236.765 342.674 237.565z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #fae5d7') +SAX.characters( + , 3) +SAX.startElement(path, d='M343.983 239.31C337.583 240.11 310.529 217.223 327.183 248.11C349.183 288.91 268.783 287.31 251.983 276.11C235.183 264.91 259.183 294.51 259.183 294.51C277.583 314.51 243.183 297.71 243.183 297.71C208.783 284.91 184.783 310.51 181.583 311.31C178.382 312.11 173.582 315.31 172.782 308.91C171.982 302.51 165.654 287.318 132.782 312.11C101.655 335.42 90.637 318.329 90.637 318.329L84.236 316.51C71.236 292.51 79.691 347.093 79.691 347.093C88.491 381.493 223.983 332.11 223.983 332.11C223.983 332.11 392.783 301.71 403.983 297.71C415.183 293.71 502.529 299.456 502.529 299.456L497.583 278.074C432.783 231.673 420.783 260.11 407.183 256.11C393.583 252.11 395.983 261.71 392.783 262.51C389.583 263.31 350.383 238.51 343.983 239.31z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #fcf2eb') +SAX.characters( + , 3) +SAX.startElement(path, d='M345.292 241.055C338.892 241.855 312.917 218.411 328.492 249.855C349.692 292.656 270.092 289.056 253.292 277.856C236.492 266.656 260.492 296.256 260.492 296.256C278.892 316.256 244.492 299.456 244.492 299.456C210.092 286.656 186.092 312.256 182.892 313.056C179.692 313.856 174.892 317.056 174.092 310.656C173.292 304.256 167.095 289.232 134.092 313.856C101.727 337.911 91.018 321.365 91.018 321.365L84.218 318.056C71.418 294.856 80.346 350.147 80.346 350.147C89.146 384.547 225.292 333.856 225.292 333.856C225.292 333.856 394.093 303.456 405.293 299.456C416.493 295.456 502.965 301.128 502.965 301.128L498.093 279.237C433.292 232.837 422.093 261.856 408.493 257.856C394.893 253.855 397.293 263.456 394.093 264.256C390.892 265.056 351.692 240.255 345.292 241.055z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff') +SAX.characters( + , 3) +SAX.startElement(path, d='M84.2 319.601C71.4 297.6 81 353.201 81 353.201C89.8 387.601 226.6 335.601 226.6 335.601C226.6 335.601 395.401 305.2 406.601 301.2C417.801 297.2 503.401 302.8 503.401 302.8L498.601 280.4C433.801 234 423.401 263.6 409.801 259.6C396.201 255.6 398.601 265.2 395.401 266C392.201 266.8 353.001 242 346.601 242.8C340.201 243.6 314.981 219.793 329.801 251.6C352.028 299.307 269.041 289.227 254.6 279.6C237.8 268.4 261.8 298 261.8 298C280.2 318.001 245.8 301.2 245.8 301.2C211.4 288.4 187.4 314.001 184.2 314.801C181 315.601 176.2 318.801 175.4 312.401C174.6 306 168.535 291.144 135.4 315.601C101.8 340.401 91.4 324.401 91.4 324.401L84.2 319.601z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M125.8 349.601C125.8 349.601 118.6 361.201 139.4 374.401C139.4 374.401 140.8 375.801 122.8 371.601C122.8 371.601 116.6 369.601 115 359.201C115 359.201 110.2 354.801 105.4 349.201C100.6 343.601 125.8 349.601 125.8 349.601z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M265.8 302C265.8 302 283.498 328.821 282.9 333.601C281.6 344.001 281.4 353.601 284.6 357.601C287.801 361.601 296.601 394.801 296.601 394.801C296.601 394.801 296.201 396.001 308.601 358.001C308.601 358.001 320.201 342.001 300.201 323.601C300.201 323.601 265 294.8 265.8 302z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M145.8 376.401C145.8 376.401 157 383.601 142.6 414.801L149 412.401C149 412.401 148.2 423.601 145 426.001L152.2 422.801C152.2 422.801 157 430.801 153 435.601C153 435.601 169.8 443.601 169 450.001C169 450.001 175.4 442.001 171.4 435.601C167.4 429.201 160.2 433.201 161 414.801L152.2 418.001C152.2 418.001 157.8 409.201 157.8 402.801L149.8 405.201C149.8 405.201 165.269 378.623 154.6 377.201C148.6 376.401 145.8 376.401 145.8 376.401z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M178.2 393.201C178.2 393.201 181 388.801 178.2 389.601C175.4 390.401 144.2 405.201 138.2 414.801C138.2 414.801 172.6 390.401 178.2 393.201z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M188.6 401.201C188.6 401.201 191.4 396.801 188.6 397.601C185.8 398.401 154.6 413.201 148.6 422.801C148.6 422.801 183 398.401 188.6 401.201z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M201.8 386.001C201.8 386.001 204.6 381.601 201.8 382.401C199 383.201 167.8 398.001 161.8 407.601C161.8 407.601 196.2 383.201 201.8 386.001z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M178.6 429.601C178.6 429.601 178.6 423.601 175.8 424.401C173 425.201 137 442.801 131 452.401C131 452.401 173 426.801 178.6 429.601z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M179.8 418.801C179.8 418.801 181 414.001 178.2 414.801C176.2 414.801 149.8 426.401 143.8 436.001C143.8 436.001 173.4 414.401 179.8 418.801z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M165.4 466.401L155.4 474.001C155.4 474.001 165.8 466.401 169.4 467.601C169.4 467.601 162.6 478.801 161.8 484.001C161.8 484.001 172.2 471.201 177.8 471.601C177.8 471.601 185.4 472.001 185.4 482.801C185.4 482.801 191 472.401 194.2 472.801C194.2 472.801 195.4 479.201 194.2 486.001C194.2 486.001 198.2 478.401 202.2 480.001C202.2 480.001 208.6 478.001 207.8 489.601C207.8 489.601 207.8 500.001 207 502.801C207 502.801 212.6 476.401 215 476.001C215 476.001 223 474.801 227.8 483.601C227.8 483.601 223.8 476.001 228.6 478.001C228.6 478.001 239.4 479.601 242.6 486.401C242.6 486.401 235.8 474.401 241.4 477.601C241.4 477.601 248.2 477.601 249.4 484.001C249.4 484.001 257.8 505.201 259.8 506.801C259.8 506.801 252.2 485.201 253.8 485.201C253.8 485.201 251.8 473.201 257 488.001C257 488.001 253.8 474.001 259.4 474.801C265 475.601 269.4 485.601 277.8 483.201C277.8 483.201 287.401 488.801 289.401 419.601L165.4 466.401z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M170.2 373.601C170.2 373.601 185 367.601 225 373.601C225 373.601 232.2 374.001 239 365.201C245.8 356.401 272.6 349.201 279 351.201L288.601 357.601L289.401 358.801C289.401 358.801 301.801 369.201 302.201 376.801C302.601 384.401 287.801 432.401 278.2 448.401C268.6 464.401 259 476.801 239.8 474.401C239.8 474.401 219 470.401 193.4 474.401C193.4 474.401 164.2 472.801 161.4 464.801C158.6 456.801 172.6 441.601 172.6 441.601C172.6 441.601 177 433.201 175.8 418.801C174.6 404.401 175 376.401 170.2 373.601z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #e5668c') +SAX.characters( + , 3) +SAX.startElement(path, d='M192.2 375.601C200.6 394.001 171 459.201 171 459.201C169 460.801 183.66 466.846 193.8 464.401C204.746 461.763 245 466.001 245 466.001C268.6 450.401 281.4 406.001 281.4 406.001C281.4 406.001 291.801 382.001 274.2 378.801C256.6 375.601 192.2 375.601 192.2 375.601z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #b23259') +SAX.characters( + , 3) +SAX.startElement(path, d='M190.169 406.497C193.495 393.707 195.079 381.906 192.2 375.601C192.2 375.601 254.6 382.001 265.8 361.201C270.041 353.326 284.801 384.001 284.4 393.601C284.4 393.601 221.4 408.001 206.6 396.801L190.169 406.497z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #a5264c') +SAX.characters( + , 3) +SAX.startElement(path, d='M194.6 422.801C194.6 422.801 196.6 430.001 194.2 434.001C194.2 434.001 192.6 434.801 191.4 435.201C191.4 435.201 192.6 438.801 198.6 440.401C198.6 440.401 200.6 444.801 203 445.201C205.4 445.601 210.2 451.201 214.2 450.001C218.2 448.801 229.4 444.801 229.4 444.801C229.4 444.801 235 441.601 243.8 445.201C243.8 445.201 246.175 444.399 246.6 440.401C247.1 435.701 250.2 432.001 252.2 430.001C254.2 428.001 263.8 415.201 262.6 414.801C261.4 414.401 194.6 422.801 194.6 422.801z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ff727f; stroke:#000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M190.2 374.401C190.2 374.401 187.4 396.801 190.6 405.201C193.8 413.601 193 415.601 192.2 419.601C191.4 423.601 195.8 433.601 201.4 439.601L213.4 441.201C213.4 441.201 228.6 437.601 237.8 440.401C237.8 440.401 246.794 441.744 250.2 426.801C250.2 426.801 255 420.401 262.2 417.601C269.4 414.801 276.6 373.201 272.6 365.201C268.6 357.201 254.2 352.801 238.2 368.401C222.2 384.001 220.2 367.201 190.2 374.401z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffcc; stroke:#000000; stroke-width:0.5') +SAX.characters( + , 3) +SAX.startElement(path, d='M191.8 449.201C191.8 449.201 191 447.201 186.6 446.801C186.6 446.801 164.2 443.201 155.8 430.801C155.8 430.801 149 425.201 153.4 436.801C153.4 436.801 163.8 457.201 170.6 460.001C170.6 460.001 187 464.001 191.8 449.201z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cc3f4c') +SAX.characters( + , 3) +SAX.startElement(path, d='M271.742 385.229C272.401 377.323 274.354 368.709 272.6 365.201C266.154 352.307 249.181 357.695 238.2 368.401C222.2 384.001 220.2 367.201 190.2 374.401C190.2 374.401 188.455 388.364 189.295 398.376C189.295 398.376 226.6 386.801 227.4 392.401C227.4 392.401 229 389.201 238.2 389.201C247.4 389.201 270.142 388.029 271.742 385.229z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='stroke:#a51926; stroke-width:2') +SAX.characters( + , 3) +SAX.startElement(path, d='M228.6 375.201C228.6 375.201 233.4 380.001 229.8 389.601C229.8 389.601 215.4 405.601 217.4 419.601') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffcc; stroke:#000000; stroke-width:0.5') +SAX.characters( + , 3) +SAX.startElement(path, d='M180.6 460.001C180.6 460.001 176.2 447.201 185 454.001C185 454.001 189.8 456.001 188.6 457.601C187.4 459.201 181.8 463.201 180.6 460.001z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffcc; stroke:#000000; stroke-width:0.5') +SAX.characters( + , 3) +SAX.startElement(path, d='M185.64 461.201C185.64 461.201 182.12 450.961 189.16 456.401C189.16 456.401 193.581 458.849 192.04 459.281C187.48 460.561 192.04 463.121 185.64 461.201z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffcc; stroke:#000000; stroke-width:0.5') +SAX.characters( + , 3) +SAX.startElement(path, d='M190.44 461.201C190.44 461.201 186.92 450.961 193.96 456.401C193.96 456.401 198.335 458.711 196.84 459.281C193.48 460.561 196.84 463.121 190.44 461.201z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffcc; stroke:#000000; stroke-width:0.5') +SAX.characters( + , 3) +SAX.startElement(path, d='M197.04 461.401C197.04 461.401 193.52 451.161 200.56 456.601C200.56 456.601 204.943 458.933 203.441 459.481C200.48 460.561 203.441 463.321 197.04 461.401z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffcc; stroke:#000000; stroke-width:0.5') +SAX.characters( + , 3) +SAX.startElement(path, d='M203.52 461.321C203.52 461.321 200 451.081 207.041 456.521C207.041 456.521 210.881 458.121 209.921 459.401C208.961 460.681 209.921 463.241 203.52 461.321z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffcc; stroke:#000000; stroke-width:0.5') +SAX.characters( + , 3) +SAX.startElement(path, d='M210.2 462.001C210.2 462.001 205.4 449.601 214.6 456.001C214.6 456.001 219.4 458.001 218.2 459.601C217 461.201 218.2 464.401 210.2 462.001z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='stroke:#a5264c; stroke-width:2') +SAX.characters( + , 3) +SAX.startElement(path, d='M181.8 444.801C181.8 444.801 195 442.001 201 445.201C201 445.201 207 446.401 208.2 446.001C209.4 445.601 212.6 445.201 212.6 445.201') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='stroke:#a5264c; stroke-width:2') +SAX.characters( + , 3) +SAX.startElement(path, d='M215.8 453.601C215.8 453.601 227.8 440.001 239.8 444.401C246.816 446.974 245.8 443.601 246.6 440.801C247.4 438.001 247.6 433.801 252.6 430.801') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffcc; stroke:#000000; stroke-width:0.5') +SAX.characters( + , 3) +SAX.startElement(path, d='M233 437.601C233 437.601 229 426.801 226.2 439.601C223.4 452.401 220.2 456.001 218.6 458.801C218.6 458.801 218.6 464.001 227 463.601C227 463.601 237.8 463.201 238.2 460.401C238.6 457.601 237 446.001 233 437.601z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='stroke:#a5264c; stroke-width:2') +SAX.characters( + , 3) +SAX.startElement(path, d='M247 444.801C247 444.801 250.6 442.401 253 443.601') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='stroke:#a5264c; stroke-width:2') +SAX.characters( + , 3) +SAX.startElement(path, d='M253.5 428.401C253.5 428.401 256.4 423.501 261.2 422.701') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #b2b2b2') +SAX.characters( + , 3) +SAX.startElement(path, d='M174.2 465.201C174.2 465.201 192.2 468.401 196.6 466.801C196.6 466.801 205.4 466.801 197 468.801C197 468.801 184.2 468.801 176.2 467.601C176.2 467.601 164.6 462.001 174.2 465.201z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffcc; stroke:#000000; stroke-width:0.5') +SAX.characters( + , 3) +SAX.startElement(path, d='M188.2 372.001C188.2 372.001 205.8 372.001 207.8 372.801C207.8 372.801 215 403.601 211.4 411.201C211.4 411.201 210.2 414.001 207.4 408.401C207.4 408.401 189 375.601 185.8 373.601C182.6 371.601 187 372.001 188.2 372.001z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffcc; stroke:#000000; stroke-width:0.5') +SAX.characters( + , 3) +SAX.startElement(path, d='M111.1 369.301C111.1 369.301 120 371.001 132.6 373.601C132.6 373.601 137.4 396.001 140.6 400.801C143.8 405.601 140.2 405.601 136.6 402.801C133 400.001 118.2 386.001 116.2 381.601C114.2 377.201 111.1 369.301 111.1 369.301z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffcc; stroke:#000000; stroke-width:0.5') +SAX.characters( + , 3) +SAX.startElement(path, d='M132.961 373.818C132.961 373.818 138.761 375.366 139.77 377.581C140.778 379.795 138.568 383.092 138.568 383.092C138.568 383.092 137.568 386.397 136.366 384.235C135.164 382.072 132.292 374.412 132.961 373.818z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M133 373.601C133 373.601 136.6 378.801 140.2 378.801C143.8 378.801 144.182 378.388 147 379.001C151.6 380.001 151.2 378.001 157.8 379.201C160.44 379.681 163 378.801 165.8 380.001C168.6 381.201 171.8 380.401 173 378.401C174.2 376.401 179 372.201 179 372.201C179 372.201 166.2 374.001 163.4 374.801C163.4 374.801 141 376.001 133 373.601z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffcc; stroke:#000000; stroke-width:0.5') +SAX.characters( + , 3) +SAX.startElement(path, d='M177.6 373.801C177.6 373.801 171.15 377.301 170.75 379.701C170.35 382.101 176 385.801 176 385.801C176 385.801 178.75 390.401 179.35 388.001C179.95 385.601 178.4 374.201 177.6 373.801z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffcc; stroke:#000000; stroke-width:0.5') +SAX.characters( + , 3) +SAX.startElement(path, d='M140.115 379.265C140.115 379.265 147.122 390.453 147.339 379.242C147.339 379.242 147.896 377.984 146.136 377.962C140.061 377.886 141.582 373.784 140.115 379.265z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffcc; stroke:#000000; stroke-width:0.5') +SAX.characters( + , 3) +SAX.startElement(path, d='M147.293 379.514C147.293 379.514 155.214 390.701 154.578 379.421C154.578 379.421 154.585 379.089 152.832 378.936C148.085 378.522 148.43 374.004 147.293 379.514z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffcc; stroke:#000000; stroke-width:0.5') +SAX.characters( + , 3) +SAX.startElement(path, d='M154.506 379.522C154.506 379.522 162.466 390.15 161.797 380.484C161.797 380.484 161.916 379.251 160.262 378.95C156.37 378.244 156.159 374.995 154.506 379.522z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffcc; stroke:#000000; stroke-width:0.5') +SAX.characters( + , 3) +SAX.startElement(path, d='M161.382 379.602C161.382 379.602 169.282 391.163 169.63 381.382C169.63 381.382 171.274 380.004 169.528 379.782C163.71 379.042 164.508 374.588 161.382 379.602z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #e5e5b2') +SAX.characters( + , 3) +SAX.startElement(path, d='M125.208 383.132L117.55 381.601C114.95 376.601 112.85 370.451 112.85 370.451C112.85 370.451 119.2 371.451 131.7 374.251C131.7 374.251 132.576 377.569 134.048 383.364L125.208 383.132z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #e5e5b2') +SAX.characters( + , 3) +SAX.startElement(path, d='M190.276 378.47C188.61 375.964 187.293 374.206 186.643 373.8C183.63 371.917 187.773 372.294 188.902 372.294C188.902 372.294 205.473 372.294 207.356 373.047C207.356 373.047 207.88 375.289 208.564 378.68C208.564 378.68 198.476 376.67 190.276 378.47z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cc7226') +SAX.characters( + , 3) +SAX.startElement(path, d='M243.88 240.321C271.601 244.281 297.121 208.641 298.881 198.96C300.641 189.28 290.521 177.4 290.521 177.4C291.841 174.32 287.001 160.24 281.721 151C276.441 141.76 260.54 142.734 243 141.76C227.16 140.88 208.68 164.2 207.36 165.96C206.04 167.72 212.2 206.001 213.52 211.721C214.84 217.441 212.2 243.841 212.2 243.841C246.44 234.741 216.16 236.361 243.88 240.321z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ea8e51') +SAX.characters( + , 3) +SAX.startElement(path, d='M208.088 166.608C206.792 168.336 212.84 205.921 214.136 211.537C215.432 217.153 212.84 243.073 212.84 243.073C245.512 234.193 216.728 235.729 243.944 239.617C271.161 243.505 296.217 208.513 297.945 199.008C299.673 189.504 289.737 177.84 289.737 177.84C291.033 174.816 286.281 160.992 281.097 151.92C275.913 142.848 260.302 143.805 243.08 142.848C227.528 141.984 209.384 164.88 208.088 166.608z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #efaa7c') +SAX.characters( + , 3) +SAX.startElement(path, d='M208.816 167.256C207.544 168.952 213.48 205.841 214.752 211.353C216.024 216.865 213.48 242.305 213.48 242.305C244.884 233.145 217.296 235.097 244.008 238.913C270.721 242.729 295.313 208.385 297.009 199.056C298.705 189.728 288.953 178.28 288.953 178.28C290.225 175.312 285.561 161.744 280.473 152.84C275.385 143.936 260.063 144.875 243.16 143.936C227.896 143.088 210.088 165.56 208.816 167.256z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #f4c6a8') +SAX.characters( + , 3) +SAX.startElement(path, d='M209.544 167.904C208.296 169.568 214.12 205.761 215.368 211.169C216.616 216.577 214.12 241.537 214.12 241.537C243.556 232.497 217.864 234.465 244.072 238.209C270.281 241.953 294.409 208.257 296.073 199.105C297.737 189.952 288.169 178.72 288.169 178.72C289.417 175.808 284.841 162.496 279.849 153.76C274.857 145.024 259.824 145.945 243.24 145.024C228.264 144.192 210.792 166.24 209.544 167.904z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #f9e2d3') +SAX.characters( + , 3) +SAX.startElement(path, d='M210.272 168.552C209.048 170.184 214.76 205.681 215.984 210.985C217.208 216.289 214.76 240.769 214.76 240.769C242.628 231.849 218.432 233.833 244.136 237.505C269.841 241.177 293.505 208.129 295.137 199.152C296.769 190.176 287.385 179.16 287.385 179.16C288.609 176.304 284.121 163.248 279.225 154.68C274.329 146.112 259.585 147.015 243.32 146.112C228.632 145.296 211.496 166.92 210.272 168.552z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff') +SAX.characters( + , 3) +SAX.startElement(path, d='M244.2 236.8C269.4 240.4 292.601 208 294.201 199.2C295.801 190.4 286.601 179.6 286.601 179.6C287.801 176.8 283.4 164 278.6 155.6C273.8 147.2 259.346 148.086 243.4 147.2C229 146.4 212.2 167.6 211 169.2C209.8 170.8 215.4 205.6 216.6 210.8C217.8 216 215.4 240 215.4 240C240.9 231.4 219 233.2 244.2 236.8z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M290.601 202.8C290.601 202.8 262.8 210.4 251.2 208.8C251.2 208.8 235.4 202.2 226.6 224C226.6 224 223 231.2 221 233.2C219 235.2 290.601 202.8 290.601 202.8z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M294.401 200.6C294.401 200.6 265.4 212.8 255.4 212.4C255.4 212.4 239 207.8 230.6 222.4C230.6 222.4 222.2 231.6 219 233.2C219 233.2 218.6 234.8 225 230.8L235.4 236C235.4 236 250.2 245.6 259.8 229.6C259.8 229.6 263.8 218.4 263.8 216.4C263.8 214.4 285 208.8 286.601 208.4C288.201 208 294.801 203.8 294.401 200.6z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #99cc32') +SAX.characters( + , 3) +SAX.startElement(path, d='M247 236.514C240.128 236.514 231.755 232.649 231.755 226.4C231.755 220.152 240.128 213.887 247 213.887C253.874 213.887 259.446 218.952 259.446 225.2C259.446 231.449 253.874 236.514 247 236.514z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #659900') +SAX.characters( + , 3) +SAX.startElement(path, d='M243.377 219.83C238.531 220.552 233.442 222.055 233.514 221.839C235.054 217.22 241.415 213.887 247 213.887C251.296 213.887 255.084 215.865 257.32 218.875C257.32 218.875 252.004 218.545 243.377 219.83z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff') +SAX.characters( + , 3) +SAX.startElement(path, d='M255.4 219.6C255.4 219.6 251 216.4 251 218.6C251 218.6 254.6 223 255.4 219.6z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M245.4 227.726C242.901 227.726 240.875 225.7 240.875 223.2C240.875 220.701 242.901 218.675 245.4 218.675C247.9 218.675 249.926 220.701 249.926 223.2C249.926 225.7 247.9 227.726 245.4 227.726z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cc7226') +SAX.characters( + , 3) +SAX.startElement(path, d='M141.4 214.4C141.4 214.4 138.2 193.2 140.6 188.8C140.6 188.8 151.4 178.8 151 175.2C151 175.2 150.6 157.2 149.4 156.4C148.2 155.6 140.6 149.6 134.6 156C134.6 156 124.2 174 125 180.4L125 182.4C125 182.4 117.4 182 115.8 184C115.8 184 114.6 189.2 113.4 189.6C113.4 189.6 110.6 192 112.6 194.8C112.6 194.8 110.6 197.2 111 201.2L118.6 205.2C118.6 205.2 120.6 219.6 131.4 224.8C136.236 227.129 139.4 220.4 141.4 214.4z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff') +SAX.characters( + , 3) +SAX.startElement(path, d='M140.4 212.56C140.4 212.56 137.52 193.48 139.68 189.52C139.68 189.52 149.4 180.52 149.04 177.28C149.04 177.28 148.68 161.08 147.6 160.36C146.52 159.64 139.68 154.24 134.28 160C134.28 160 124.92 176.2 125.64 181.96L125.64 183.76C125.64 183.76 118.8 183.4 117.36 185.2C117.36 185.2 116.28 189.88 115.2 190.24C115.2 190.24 112.68 192.4 114.48 194.92C114.48 194.92 112.68 197.08 113.04 200.68L119.88 204.28C119.88 204.28 121.68 217.24 131.4 221.92C135.752 224.015 138.6 217.96 140.4 212.56z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #eb955c') +SAX.characters( + , 3) +SAX.startElement(path, d='M148.95 157.39C147.86 156.53 140.37 150.76 134.52 157C134.52 157 124.38 174.55 125.16 180.79L125.16 182.74C125.16 182.74 117.75 182.35 116.19 184.3C116.19 184.3 115.02 189.37 113.85 189.76C113.85 189.76 111.12 192.1 113.07 194.83C113.07 194.83 111.12 197.17 111.51 201.07L118.92 204.97C118.92 204.97 120.87 219.01 131.4 224.08C136.114 226.35 139.2 219.79 141.15 213.94C141.15 213.94 138.03 193.27 140.37 188.98C140.37 188.98 150.9 179.23 150.51 175.72C150.51 175.72 150.12 158.17 148.95 157.39z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #f2b892') +SAX.characters( + , 3) +SAX.startElement(path, d='M148.5 158.38C147.52 157.46 140.14 151.92 134.44 158C134.44 158 124.56 175.1 125.32 181.18L125.32 183.08C125.32 183.08 118.1 182.7 116.58 184.6C116.58 184.6 115.44 189.54 114.3 189.92C114.3 189.92 111.64 192.2 113.54 194.86C113.54 194.86 111.64 197.14 112.02 200.94L119.24 204.74C119.24 204.74 121.14 218.42 131.4 223.36C135.994 225.572 139 219.18 140.9 213.48C140.9 213.48 137.86 193.34 140.14 189.16C140.14 189.16 150.4 179.66 150.02 176.24C150.02 176.24 149.64 159.14 148.5 158.38z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #f8dcc8') +SAX.characters( + , 3) +SAX.startElement(path, d='M148.05 159.37C147.18 158.39 139.91 153.08 134.36 159C134.36 159 124.74 175.65 125.48 181.57L125.48 183.42C125.48 183.42 118.45 183.05 116.97 184.9C116.97 184.9 115.86 189.71 114.75 190.08C114.75 190.08 112.16 192.3 114.01 194.89C114.01 194.89 112.16 197.11 112.53 200.81L119.56 204.51C119.56 204.51 121.41 217.83 131.4 222.64C135.873 224.794 138.8 218.57 140.65 213.02C140.65 213.02 137.69 193.41 139.91 189.34C139.91 189.34 149.9 180.09 149.53 176.76C149.53 176.76 149.16 160.11 148.05 159.37z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff') +SAX.characters( + , 3) +SAX.startElement(path, d='M140.4 212.46C140.4 212.46 137.52 193.48 139.68 189.52C139.68 189.52 149.4 180.52 149.04 177.28C149.04 177.28 148.68 161.08 147.6 160.36C146.84 159.32 139.68 154.24 134.28 160C134.28 160 124.92 176.2 125.64 181.96L125.64 183.76C125.64 183.76 118.8 183.4 117.36 185.2C117.36 185.2 116.28 189.88 115.2 190.24C115.2 190.24 112.68 192.4 114.48 194.92C114.48 194.92 112.68 197.08 113.04 200.68L119.88 204.28C119.88 204.28 121.68 217.24 131.4 221.92C135.752 224.015 138.6 217.86 140.4 212.46z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M137.3 206.2C137.3 206.2 115.7 196 114.8 195.2C114.8 195.2 123.9 203.4 124.7 203.4C125.5 203.4 137.3 206.2 137.3 206.2z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M120.2 200C120.2 200 138.6 203.6 138.6 208C138.6 210.912 138.357 224.331 133 222.8C124.6 220.4 128.2 206 120.2 200z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #99cc32') +SAX.characters( + , 3) +SAX.startElement(path, d='M128.6 203.8C128.6 203.8 137.578 205.274 138.6 208C139.2 209.6 139.863 217.908 134.4 219C129.848 219.911 127.618 209.69 128.6 203.8z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M214.595 246.349C214.098 244.607 215.409 244.738 217.2 244.2C219.2 243.6 231.4 239.8 232.2 237.2C233 234.6 246.2 239 246.2 239C248 239.8 252.4 242.4 252.4 242.4C257.2 243.6 263.8 244 263.8 244C266.2 245 269.6 247.8 269.6 247.8C284.2 258 296.601 250.8 296.601 250.8C316.601 244.2 310.601 227 310.601 227C307.601 218 310.801 214.6 310.801 214.6C311.001 210.8 318.201 217.2 318.201 217.2C320.801 221.4 321.601 226.4 321.601 226.4C329.601 237.6 326.201 219.8 326.201 219.8C326.401 218.8 323.601 215.2 323.601 214C323.601 212.8 321.801 209.4 321.801 209.4C318.801 206 321.201 199 321.201 199C323.001 185.2 320.801 187 320.801 187C319.601 185.2 310.401 195.2 310.401 195.2C308.201 198.6 302.201 200.2 302.201 200.2C299.401 202 296.001 200.6 296.001 200.6C293.401 200.2 287.801 207.2 287.801 207.2C290.601 207 293.001 211.4 295.401 211.6C297.801 211.8 299.601 209.2 301.201 208.6C302.801 208 305.601 213.8 305.601 213.8C306.001 216.4 300.401 221.2 300.401 221.2C300.001 225.8 298.401 224.2 298.401 224.2C295.401 223.6 294.201 227.4 293.201 232C292.201 236.6 288.001 237 288.001 237C286.401 244.4 285.2 241.4 285.2 241.4C285 235.8 279 241.6 279 241.6C277.8 243.6 273.2 241.4 273.2 241.4C266.4 239.4 268.8 237.4 268.8 237.4C270.6 235.2 281.8 237.4 281.8 237.4C284 235.8 276 231.8 276 231.8C275.4 230 276.4 225.6 276.4 225.6C277.6 222.4 284.4 216.8 284.4 216.8C293.801 215.6 291.001 214 291.001 214C284.801 208.8 279 216.4 279 216.4C276.8 222.6 259.4 237.6 259.4 237.6C254.6 241 257.2 234.2 253.2 237.6C249.2 241 228.6 232 228.6 232C217.038 230.807 214.306 246.549 210.777 243.429C210.777 243.429 216.195 251.949 214.595 246.349z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M409.401 80C409.401 80 383.801 88 381.001 106.8C381.001 106.8 378.601 129.6 399.001 147.2C399.001 147.2 399.401 153.6 401.401 156.8C401.401 156.8 399.801 161.6 418.601 154L445.801 145.6C445.801 145.6 452.201 143.2 457.401 134.4C462.601 125.6 477.801 106.8 474.201 81.6C474.201 81.6 475.401 70.4 469.401 70C469.401 70 461.001 68.4 453.801 76C453.801 76 447.001 79.2 444.601 78.8L409.401 80z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M464.022 79.01C464.022 79.01 466.122 70.08 461.282 74.92C461.282 74.92 454.242 80.64 446.761 80.64C446.761 80.64 432.241 82.84 427.841 96.04C427.841 96.04 423.881 122.88 431.801 128.6C431.801 128.6 436.641 136.08 443.681 129.48C450.722 122.88 466.222 92.65 464.022 79.01z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #323232') +SAX.characters( + , 3) +SAX.startElement(path, d='M463.648 79.368C463.648 79.368 465.738 70.624 460.986 75.376C460.986 75.376 454.074 80.992 446.729 80.992C446.729 80.992 432.473 83.152 428.153 96.112C428.153 96.112 424.265 122.464 432.041 128.08C432.041 128.08 436.793 135.424 443.705 128.944C450.618 122.464 465.808 92.76 463.648 79.368z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #666666') +SAX.characters( + , 3) +SAX.startElement(path, d='M463.274 79.726C463.274 79.726 465.354 71.168 460.69 75.832C460.69 75.832 453.906 81.344 446.697 81.344C446.697 81.344 432.705 83.464 428.465 96.184C428.465 96.184 424.649 122.048 432.281 127.56C432.281 127.56 436.945 134.768 443.729 128.408C450.514 122.048 465.394 92.87 463.274 79.726z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #999999') +SAX.characters( + , 3) +SAX.startElement(path, d='M462.9 80.084C462.9 80.084 464.97 71.712 460.394 76.288C460.394 76.288 453.738 81.696 446.665 81.696C446.665 81.696 432.937 83.776 428.777 96.256C428.777 96.256 425.033 121.632 432.521 127.04C432.521 127.04 437.097 134.112 443.753 127.872C450.41 121.632 464.98 92.98 462.9 80.084z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M462.526 80.442C462.526 80.442 464.586 72.256 460.098 76.744C460.098 76.744 453.569 82.048 446.633 82.048C446.633 82.048 433.169 84.088 429.089 96.328C429.089 96.328 425.417 121.216 432.761 126.52C432.761 126.52 437.249 133.456 443.777 127.336C450.305 121.216 464.566 93.09 462.526 80.442z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff') +SAX.characters( + , 3) +SAX.startElement(path, d='M462.151 80.8C462.151 80.8 464.201 72.8 459.801 77.2C459.801 77.2 453.401 82.4 446.601 82.4C446.601 82.4 433.401 84.4 429.401 96.4C429.401 96.4 425.801 120.8 433.001 126C433.001 126 437.401 132.8 443.801 126.8C450.201 120.8 464.151 93.2 462.151 80.8z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #992600') +SAX.characters( + , 3) +SAX.startElement(path, d='M250.6 284C250.6 284 230.2 264.8 222.2 264C222.2 264 187.8 260 173 278C173 278 190.6 257.6 218.2 263.2C218.2 263.2 196.6 258.8 184.2 262C184.2 262 167.4 262 157.8 276L155 280.8C155 280.8 159 266 177.4 260C177.4 260 200.2 255.2 211 260C211 260 189.4 253.2 179.4 255.2C179.4 255.2 149 252.8 136.2 279.2C136.2 279.2 140.2 264.8 155 257.6C155 257.6 168.6 248.8 189 251.6C189 251.6 203.4 254.8 208.6 257.2C213.8 259.6 212.6 256.8 204.2 252C204.2 252 198.6 242 184.6 242.4C184.6 242.4 141.8 246 131.4 258C131.4 258 145 246.8 155.4 244C155.4 244 177.8 236 186.2 236.8C186.2 236.8 211 237.8 218.6 233.8C218.6 233.8 207.4 238.8 210.6 242C213.8 245.2 220.6 252.8 220.6 254C220.6 255.2 244.8 277.3 248.4 281.7L250.6 284z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M389 478C389 478 373.5 441.5 361 432C361 432 387 448 390.5 466C390.5 466 390.5 476 389 478z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M436 485.5C436 485.5 409.5 430.5 391 406.5C391 406.5 434.5 444 439.5 470.5L440 476L437 473.5C437 473.5 436.5 482.5 436 485.5z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M492.5 437C492.5 437 430 377.5 428.5 375C428.5 375 489 441 492 448.5C492 448.5 490 439.5 492.5 437z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M304 480.5C304 480.5 323.5 428.5 342.5 451C342.5 451 357.5 461 357 464C357 464 353 457.5 335 458C335 458 316 455 304 480.5z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M494.5 353C494.5 353 449.5 324.5 442 323C430.193 320.639 491.5 352 496.5 362.5C496.5 362.5 498.5 360 494.5 353z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M343.801 459.601C343.801 459.601 364.201 457.601 371.001 450.801L375.401 454.401L393.001 416.001L396.601 421.201C396.601 421.201 411.001 406.401 410.201 398.401C409.401 390.401 423.001 404.401 423.001 404.401C423.001 404.401 422.201 392.801 429.401 399.601C429.401 399.601 427.001 384.001 435.401 392.001C435.401 392.001 424.864 361.844 447.401 387.601C453.001 394.001 448.601 387.201 448.601 387.201C448.601 387.201 422.601 339.201 444.201 353.601C444.201 353.601 446.201 330.801 445.001 326.401C443.801 322.001 441.801 299.6 437.001 294.4C432.201 289.2 437.401 287.6 443.001 292.8C443.001 292.8 431.801 268.8 445.001 280.8C445.001 280.8 441.401 265.6 437.001 262.8C437.001 262.8 431.401 245.6 446.601 256.4C446.601 256.4 442.201 244 439.001 240.8C439.001 240.8 427.401 213.2 434.601 218L439.001 221.6C439.001 221.6 432.201 207.6 438.601 212C445.001 216.4 445.001 216 445.001 216C445.001 216 423.801 182.8 444.201 200.4C444.201 200.4 436.042 186.482 432.601 179.6C432.601 179.6 413.801 159.2 428.201 165.6L433.001 167.2C433.001 167.2 424.201 157.2 416.201 155.6C408.201 154 418.601 147.6 425.001 149.6C431.401 151.6 447.001 159.2 447.001 159.2C447.001 159.2 459.801 178 463.801 178.4C463.801 178.4 443.801 170.8 449.801 178.8C449.801 178.8 464.201 192.8 457.001 192.4C457.001 192.4 451.001 199.6 455.801 208.4C455.801 208.4 437.342 190.009 452.201 215.6L459.001 232C459.001 232 434.601 207.2 445.801 229.2C445.801 229.2 463.001 252.8 465.001 253.2C467.001 253.6 471.401 262.4 471.401 262.4L467.001 260.4L472.201 269.2C472.201 269.2 461.001 257.2 467.001 270.4L472.601 284.8C472.601 284.8 452.201 262.8 465.801 292.4C465.801 292.4 449.401 287.2 458.201 304.4C458.201 304.4 456.601 320.401 457.001 325.601C457.401 330.801 458.601 359.201 454.201 367.201C449.801 375.201 460.201 394.401 462.201 398.401C464.201 402.401 467.801 413.201 459.001 404.001C450.201 394.801 454.601 400.401 456.601 409.201C458.601 418.001 464.601 433.601 463.801 439.201C463.801 439.201 462.601 440.401 459.401 436.801C459.401 436.801 444.601 414.001 446.201 428.401C446.201 428.401 445.001 436.401 441.801 445.201C441.801 445.201 438.601 456.001 438.601 447.201C438.601 447.201 435.401 430.401 432.601 438.001C429.801 445.601 426.201 451.601 423.401 454.001C420.601 456.401 415.401 433.601 414.201 444.001C414.201 444.001 402.201 431.601 397.401 448.001L385.801 464.401C385.801 464.401 385.401 452.001 384.201 458.001C384.201 458.001 354.201 464.001 343.801 459.601z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M309.401 102.8C309.401 102.8 297.801 94.8 293.801 95.2C289.801 95.6 321.401 86.4 362.601 114C362.601 114 367.401 116.8 371.001 116.4C371.001 116.4 374.201 118.8 371.401 122.4C371.401 122.4 362.601 132 373.801 143.2C373.801 143.2 392.201 150 386.601 141.2C386.601 141.2 397.401 145.2 399.801 149.2C402.201 153.2 401.001 149.2 401.001 149.2C401.001 149.2 394.601 142 388.601 136.8C388.601 136.8 383.401 134.8 380.601 126.4C377.801 118 375.401 108 379.801 104.8C379.801 104.8 375.801 109.2 376.601 105.2C377.401 101.2 381.001 97.6 382.601 97.2C384.201 96.8 400.601 81 407.401 80.6C407.401 80.6 398.201 82 395.201 81C392.201 80 365.601 68.6 359.601 67.4C359.601 67.4 342.801 60.8 354.801 62.8C354.801 62.8 390.601 66.6 408.801 79.8C408.801 79.8 401.601 71.4 383.201 64.4C383.201 64.4 361.001 51.8 325.801 56.8C325.801 56.8 308.001 60 300.201 61.8C300.201 61.8 297.601 61.2 297.001 60.8C296.401 60.4 284.6 51.4 257 58.4C257 58.4 240 63 231.4 67.8C231.4 67.8 216.2 69 212.6 72.2C212.6 72.2 194 86.8 192 87.6C190 88.4 178.6 96 177.8 96.4C177.8 96.4 202.4 89.8 204.8 87.4C207.2 85 224.6 82.4 227 83.8C229.4 85.2 237.8 84.6 228.2 85.2C228.2 85.2 303.801 100 304.601 102C305.401 104 309.401 102.8 309.401 102.8z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cc7226') +SAX.characters( + , 3) +SAX.startElement(path, d='M380.801 93.6C380.801 93.6 370.601 86.2 368.601 86.2C366.601 86.2 354.201 76 350.001 76.4C345.801 76.8 333.601 66.8 306.201 75C306.201 75 305.601 73 309.201 72.2C309.201 72.2 315.601 70 316.001 69.4C316.001 69.4 336.201 65.2 343.401 68.8C343.401 68.8 352.601 71.4 358.801 77.6C358.801 77.6 370.001 80.8 373.201 79.8C373.201 79.8 382.001 82 382.401 83.8C382.401 83.8 388.201 86.8 386.401 89.4C386.401 89.4 386.801 91 380.801 93.6z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cc7226') +SAX.characters( + , 3) +SAX.startElement(path, d='M368.33 91.491C369.137 92.123 370.156 92.221 370.761 93.03C370.995 93.344 370.706 93.67 370.391 93.767C369.348 94.084 368.292 93.514 367.15 94.102C366.748 94.309 366.106 94.127 365.553 93.978C363.921 93.537 362.092 93.512 360.401 94.2C358.416 93.071 356.056 93.655 353.975 92.654C353.917 92.627 353.695 92.973 353.621 92.946C350.575 91.801 346.832 92.084 344.401 89.8C341.973 89.388 339.616 88.926 337.188 88.246C335.37 87.737 333.961 86.748 332.341 85.916C330.964 85.208 329.507 84.686 327.973 84.314C326.11 83.862 324.279 83.974 322.386 83.454C322.293 83.429 322.101 83.773 322.019 83.746C321.695 83.638 321.405 83.055 321.234 83.108C319.553 83.63 318.065 82.658 316.401 83C315.223 81.776 313.495 82.021 311.949 81.579C308.985 80.731 305.831 82.001 302.801 81C306.914 79.158 311.601 80.39 315.663 78.321C317.991 77.135 320.653 78.237 323.223 77.477C323.71 77.333 324.401 77.131 324.801 77.8C324.935 77.665 325.117 77.426 325.175 77.454C327.625 78.611 329.94 79.885 332.422 80.951C332.763 81.097 333.295 80.865 333.547 81.067C335.067 82.283 337.01 82.18 338.401 83.4C340.099 82.898 341.892 83.278 343.621 82.654C343.698 82.627 343.932 82.968 343.965 82.946C345.095 82.198 346.25 82.469 347.142 82.773C347.48 82.888 348.143 83.135 348.448 83.209C349.574 83.485 350.43 83.965 351.609 84.148C351.723 84.166 351.908 83.826 351.98 83.854C353.103 84.292 354.145 84.236 354.801 85.4C354.936 85.265 355.101 85.027 355.183 85.054C356.21 85.392 356.859 86.147 357.96 86.388C358.445 86.494 359.057 87.12 359.633 87.296C362.025 88.027 363.868 89.556 366.062 90.451C366.821 90.761 367.697 90.995 368.33 91.491z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cc7226') +SAX.characters( + , 3) +SAX.startElement(path, d='M291.696 77.261C289.178 75.536 286.81 74.43 284.368 72.644C284.187 72.511 283.827 72.681 283.625 72.559C282.618 71.95 281.73 71.369 280.748 70.673C280.209 70.291 279.388 70.302 278.88 70.044C276.336 68.752 273.707 68.194 271.2 67C271.882 66.362 273.004 66.606 273.6 65.8C273.795 66.08 274.033 66.364 274.386 66.173C276.064 65.269 277.914 65.116 279.59 65.206C281.294 65.298 283.014 65.603 284.789 65.875C285.096 65.922 285.295 66.445 285.618 66.542C287.846 67.205 290.235 66.68 292.354 67.518C293.945 68.147 295.515 68.97 296.754 70.245C297.006 70.505 296.681 70.806 296.401 71C296.789 70.891 297.062 71.097 297.173 71.41C297.257 71.649 297.257 71.951 297.173 72.19C297.061 72.502 296.782 72.603 296.408 72.654C295.001 72.844 296.773 71.464 296.073 71.912C294.8 72.726 295.546 74.132 294.801 75.4C294.521 75.206 294.291 74.988 294.401 74.6C294.635 75.122 294.033 75.412 293.865 75.728C293.48 76.453 292.581 77.868 291.696 77.261z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cc7226') +SAX.characters( + , 3) +SAX.startElement(path, d='M259.198 84.609C256.044 83.815 252.994 83.93 249.978 82.654C249.911 82.626 249.688 82.973 249.624 82.946C248.258 82.352 247.34 81.386 246.264 80.34C245.351 79.452 243.693 79.839 242.419 79.352C242.095 79.228 241.892 78.716 241.591 78.677C240.372 78.52 239.445 77.571 238.4 77C240.736 76.205 243.147 76.236 245.609 75.852C245.722 75.834 245.867 76.155 246 76.155C246.136 76.155 246.266 75.934 246.4 75.8C246.595 76.08 246.897 76.406 247.154 76.152C247.702 75.612 248.258 75.802 248.798 75.842C248.942 75.852 249.067 76.155 249.2 76.155C249.336 76.155 249.467 75.844 249.6 75.844C249.736 75.845 249.867 76.155 250 76.155C250.136 76.155 250.266 75.934 250.4 75.8C251.092 76.582 251.977 76.028 252.799 76.207C253.837 76.434 254.104 77.582 255.178 77.88C259.893 79.184 264.03 81.329 268.393 83.416C268.7 83.563 268.91 83.811 268.8 84.2C269.067 84.2 269.38 84.112 269.57 84.244C270.628 84.976 271.669 85.524 272.366 86.622C272.582 86.961 272.253 87.368 272.02 87.316C267.591 86.321 263.585 85.713 259.198 84.609z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cc7226') +SAX.characters( + , 3) +SAX.startElement(path, d='M245.338 128.821C243.746 127.602 243.162 125.571 242.034 123.779C241.82 123.439 242.094 123.125 242.411 123.036C242.971 122.877 243.514 123.355 243.923 123.557C245.668 124.419 247.203 125.661 249.2 125.8C251.19 128.034 255.45 128.419 255.457 131.8C255.458 132.659 254.03 131.741 253.6 132.6C251.149 131.597 248.76 131.7 246.38 130.233C245.763 129.852 246.093 129.399 245.338 128.821z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cc7226') +SAX.characters( + , 3) +SAX.startElement(path, d='M217.8 76.244C217.935 76.245 224.966 76.478 224.949 76.592C224.904 76.901 217.174 77.95 216.81 77.78C216.646 77.704 209.134 80.134 209 80C209.268 79.865 217.534 76.244 217.8 76.244z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M233.2 86C233.2 86 218.4 87.8 214 89C209.6 90.2 191 97.8 188 99.8C188 99.8 174.6 105.2 157.6 125.2C157.6 125.2 165.2 121.8 167.4 119C167.4 119 181 106.4 180.8 109C180.8 109 193 100.4 192.4 102.6C192.4 102.6 216.8 91.4 214.8 94.6C214.8 94.6 236.4 90 235.4 92C235.4 92 254.2 96.4 251.4 96.6C251.4 96.6 245.6 97.8 252 101.4C252 101.4 248.6 105.8 243.2 101.8C237.8 97.8 240.8 100 235.8 101C235.8 101 233.2 101.8 228.6 97.8C228.6 97.8 223 93.2 214.2 96.8C214.2 96.8 183.6 109.4 181.6 110C181.6 110 178 112.8 175.6 116.4C175.6 116.4 169.8 120.8 166.8 122.2C166.8 122.2 154 133.8 152.8 135.2C152.8 135.2 149.4 140.4 148.6 140.8C148.6 140.8 155 137 157 135C157 135 171 125 176.4 124.2C176.4 124.2 180.8 121.2 181.6 119.8C181.6 119.8 196 110.6 200.2 110.6C200.2 110.6 209.4 115.8 211.8 108.8C211.8 108.8 217.6 107 223.2 108.2C223.2 108.2 226.4 105.6 225.6 103.4C225.6 103.4 227.2 101.6 228.2 105.4C228.2 105.4 231.6 109 236.4 107C236.4 107 240.4 106.8 238.4 109.2C238.4 109.2 234 113 222.2 113.2C222.2 113.2 209.8 113.8 193.4 121.4C193.4 121.4 163.6 131.8 154.4 142.2C154.4 142.2 148 151 142.6 152.2C142.6 152.2 136.8 153 130.8 160.4C130.8 160.4 140.6 154.6 149.6 154.6C149.6 154.6 153.6 152.2 149.8 155.8C149.8 155.8 146.2 163.4 147.8 168.8C147.8 168.8 147.2 174 146.4 175.6C146.4 175.6 138.6 188.4 138.6 190.8C138.6 193.2 139.8 203 140.2 203.6C140.6 204.2 139.2 202 143 204.4C146.8 206.8 149.6 208.4 150.4 211.2C151.2 214 148.4 205.8 148.2 204C148 202.2 143.8 195 144.6 192.6C144.6 192.6 145.6 193.6 146.4 195C146.4 195 145.8 194.4 146.4 190.8C146.4 190.8 147.2 185.6 148.6 182.4C150 179.2 152 175.4 152.4 174.6C152.8 173.8 152.8 168 154.2 170.6L157.6 173.2C157.6 173.2 154.8 170.6 157 168.4C157 168.4 156 162.8 157.8 160.2C157.8 160.2 164.8 151.8 166.4 150.8C168 149.8 166.6 150.2 166.6 150.2C166.6 150.2 172.6 146 166.8 147.6C166.8 147.6 162.8 149.2 159.8 149.2C159.8 149.2 152.2 151.2 156.2 147C160.2 142.8 170.2 137.4 174 137.6L174.8 139.2L186 136.8L184.8 137.6C184.8 137.6 184.6 137.4 188.8 137C193 136.6 198.8 138 200.2 136.2C201.6 134.4 205 133.4 204.6 134.8C204.2 136.2 204 138.2 204 138.2C204 138.2 209 132.4 208.4 134.6C207.8 136.8 199.6 142 198.2 148.2L208.6 140L212.2 137C212.2 137 215.8 139.2 216 137.6C216.2 136 220.8 130.2 222 130.4C223.2 130.6 225.2 127.8 225 130.4C224.8 133 232.4 138.4 232.4 138.4C232.4 138.4 235.6 136.6 237 138C238.4 139.4 242.6 118.2 242.6 118.2L267.6 107.6L311.201 104.2L294.201 97.4L233.2 86z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='stroke:#4c0000; stroke-width:2') +SAX.characters( + , 3) +SAX.startElement(path, d='M251.4 285C251.4 285 236.4 268.2 228 265.6C228 265.6 214.6 258.8 190 266.6') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='stroke:#4c0000; stroke-width:2') +SAX.characters( + , 3) +SAX.startElement(path, d='M224.8 264.2C224.8 264.2 199.6 256.2 184.2 260.4C184.2 260.4 165.8 262.4 157.4 276.2') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='stroke:#4c0000; stroke-width:2') +SAX.characters( + , 3) +SAX.startElement(path, d='M221.2 263C221.2 263 204.2 255.8 189.4 253.6C189.4 253.6 172.8 251 156.2 258.2C156.2 258.2 144 264.2 138.6 274.4') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='stroke:#4c0000; stroke-width:2') +SAX.characters( + , 3) +SAX.startElement(path, d='M222.2 263.4C222.2 263.4 206.8 252.4 205.8 251C205.8 251 198.8 240 185.8 239.6C185.8 239.6 164.4 240.4 147.2 248.4') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M220.895 254.407C222.437 255.87 249.4 284.8 249.4 284.8C284.6 321.401 256.6 287.2 256.6 287.2C249 282.4 239.8 263.6 239.8 263.6C238.6 260.8 253.8 270.8 253.8 270.8C257.8 271.6 271.4 290.8 271.4 290.8C264.6 288.4 269.4 295.6 269.4 295.6C272.2 297.6 292.601 313.201 292.601 313.201C296.201 317.201 300.201 318.801 300.201 318.801C314.201 313.601 307.801 326.801 307.801 326.801C310.201 333.601 315.801 322.001 315.801 322.001C327.001 305.2 310.601 307.601 310.601 307.601C280.6 310.401 273.8 294.4 273.8 294.4C271.4 292 280.2 294.4 280.2 294.4C288.601 296.4 273 282 273 282C275.4 282 284.6 288.8 284.6 288.8C295.001 298 297.001 296 297.001 296C315.001 287.2 325.401 294.8 325.401 294.8C327.401 296.4 321.801 303.2 323.401 308.401C325.001 313.601 329.801 326.001 329.801 326.001C327.401 327.601 327.801 338.401 327.801 338.401C344.601 361.601 335.001 359.601 335.001 359.601C319.401 359.201 334.201 366.801 334.201 366.801C337.401 368.801 346.201 376.001 346.201 376.001C343.401 374.801 341.801 380.001 341.801 380.001C346.601 384.001 343.801 388.801 343.801 388.801C337.801 390.001 336.601 394.001 336.601 394.001C343.401 402.001 333.401 402.401 333.401 402.401C337.001 406.801 332.201 418.801 332.201 418.801C327.401 418.801 321.001 424.401 321.001 424.401C323.401 429.201 313.001 434.801 313.001 434.801C304.601 436.401 307.401 443.201 307.401 443.201C299.401 449.201 297.001 465.201 297.001 465.201C296.201 475.601 293.801 478.801 299.001 476.801C304.201 474.801 303.401 462.401 303.401 462.401C298.601 446.801 341.401 430.801 341.401 430.801C345.401 429.201 346.201 424.001 346.201 424.001C348.201 424.401 357.001 432.001 357.001 432.001C364.601 443.201 365.001 434.001 365.001 434.001C366.201 430.401 364.601 424.401 364.601 424.401C370.601 402.801 356.601 396.401 356.601 396.401C346.601 362.801 360.601 371.201 360.601 371.201C363.401 376.801 374.201 382.001 374.201 382.001L377.801 379.601C376.201 374.801 384.601 368.801 384.601 368.801C387.401 375.201 393.401 367.201 393.401 367.201C397.001 342.801 409.401 357.201 409.401 357.201C413.401 358.401 414.601 351.601 414.601 351.601C418.201 341.201 414.601 327.601 414.601 327.601C418.201 327.201 427.801 333.201 427.801 333.201C430.601 329.601 421.401 312.801 425.401 315.201C429.401 317.601 433.801 319.201 433.801 319.201C434.601 317.201 424.601 304.801 424.601 304.801C420.201 302 415.001 281.6 415.001 281.6C422.201 285.2 412.201 270 412.201 270C412.201 266.8 418.201 255.6 418.201 255.6C417.401 248.8 418.201 249.2 418.201 249.2C421.001 250.4 429.001 252 422.201 245.6C415.401 239.2 423.001 234.4 423.001 234.4C427.401 231.6 413.801 232 413.801 232C408.601 227.6 409.001 223.6 409.001 223.6C417.001 225.6 402.601 211.2 400.201 207.6C397.801 204 407.401 198.8 407.401 198.8C420.601 195.2 409.001 192 409.001 192C389.401 192.4 400.201 181.6 400.201 181.6C406.201 182 404.601 179.6 404.601 179.6C399.401 178.4 389.801 172 389.801 172C385.801 168.4 389.401 169.2 389.401 169.2C406.201 170.4 377.401 159.2 377.401 159.2C385.401 159.2 367.401 148.8 367.401 148.8C365.401 147.2 362.201 139.6 362.201 139.6C356.201 134.4 351.401 127.6 351.401 127.6C351.001 123.2 346.201 118.4 346.201 118.4C334.601 104.8 329.001 105.2 329.001 105.2C314.201 101.6 309.001 102.4 309.001 102.4L256.2 106.8C229.8 119.6 237.6 140.6 237.6 140.6C244 149 253.2 145.2 253.2 145.2C257.8 139 269.4 141.2 269.4 141.2C289.801 144.4 287.201 140.8 287.201 140.8C284.801 136.2 268.6 130 268.4 129.4C268.2 128.8 259.4 125.4 259.4 125.4C256.4 124.2 252 115 252 115C248.8 111.6 264.6 117.4 264.6 117.4C263.4 118.4 270.8 122.4 270.8 122.4C288.201 121.4 298.801 132.2 298.801 132.2C309.601 148.8 309.801 140.6 309.801 140.6C312.601 131.2 300.801 110 300.801 110C301.201 108 309.401 114.6 309.401 114.6C310.801 112.6 311.601 118.4 311.601 118.4C311.801 120.8 315.601 128.8 315.601 128.8C318.401 141.8 322.001 134.4 322.001 134.4L326.601 143.8C328.001 146.4 322.001 154 322.001 154C321.801 156.8 322.601 156.6 317.001 164.2C311.401 171.8 314.801 176.2 314.801 176.2C313.401 182.8 322.201 182.4 322.201 182.4C324.801 184.6 328.201 184.6 328.201 184.6C330.001 186.6 332.401 186 332.401 186C334.001 182.2 340.201 184.2 340.201 184.2C341.601 181.8 349.801 181.4 349.801 181.4C350.801 178.8 351.201 177.2 354.601 176.6C358.001 176 333.401 133 333.401 133C339.801 132.2 331.601 119.8 331.601 119.8C329.401 113.2 340.801 127.8 343.001 129.2C345.201 130.6 346.201 132.8 344.601 132.6C343.001 132.4 341.201 134.6 342.601 134.8C344.001 135 357.001 150 360.401 160.2C363.801 170.4 369.801 174.4 376.001 180.4C382.201 186.4 381.401 210.6 381.401 210.6C381.001 219.4 387.001 230 387.001 230C389.001 233.8 384.801 252 384.801 252C382.801 254.2 384.201 255 384.201 255C385.201 256.2 392.001 269.4 392.001 269.4C390.201 269.2 393.801 272.8 393.801 272.8C399.001 278.8 392.601 275.8 392.601 275.8C386.601 274.2 393.601 284 393.601 284C394.801 285.8 385.801 281.2 385.801 281.2C376.601 280.6 388.201 287.8 388.201 287.8C396.801 295 385.401 290.6 385.401 290.6C380.801 288.8 384.001 295.6 384.001 295.6C387.201 297.2 404.401 304.2 404.401 304.2C404.801 308.001 401.801 313.001 401.801 313.001C402.201 317.001 400.001 320.401 400.001 320.401C398.801 328.601 398.201 329.401 398.201 329.401C394.001 329.601 386.601 343.401 386.601 343.401C384.801 346.001 374.601 358.001 374.601 358.001C372.601 365.001 354.601 357.801 354.601 357.801C348.001 361.201 350.001 357.801 350.001 357.801C349.601 355.601 354.401 349.601 354.401 349.601C361.401 347.001 358.801 336.201 358.801 336.201C362.801 334.801 351.601 332.001 351.801 330.801C352.001 329.601 357.801 328.201 357.801 328.201C365.801 326.201 361.401 323.801 361.401 323.801C360.801 319.801 363.801 314.201 363.801 314.201C375.401 313.401 363.801 297.2 363.801 297.2C353.001 289.6 352.001 283.8 352.001 283.8C364.601 275.6 356.401 263.2 356.601 259.6C356.801 256 358.001 234.4 358.001 234.4C356.001 228.2 353.001 214.6 353.001 214.6C355.201 209.4 362.601 196.8 362.601 196.8C365.401 192.6 374.201 187.8 372.001 184.8C369.801 181.8 362.001 183.6 362.001 183.6C354.201 182.2 354.801 187.4 354.801 187.4C353.201 188.4 352.401 193.4 352.401 193.4C351.68 201.333 342.801 207.6 342.801 207.6C331.601 213.8 340.801 217.8 340.801 217.8C346.801 224.4 337.001 224.6 337.001 224.6C326.001 222.8 334.201 233 334.201 233C345.001 245.8 342.001 248.6 342.001 248.6C331.801 249.6 344.401 258.8 344.401 258.8C344.401 258.8 343.601 256.8 343.801 258.6C344.001 260.4 347.001 264.6 347.801 266.6C348.601 268.6 344.601 268.8 344.601 268.8C345.201 278.4 329.801 274.2 329.801 274.2C329.801 274.2 329.801 274.2 328.201 274.4C326.601 274.6 315.401 273.8 309.601 271.6C303.801 269.4 297.001 269.4 297.001 269.4C297.001 269.4 293.001 271.2 285.4 271C277.8 270.8 269.8 273.6 269.8 273.6C265.4 273.2 274 268.8 274.2 269C274.4 269.2 280 263.6 272 264.2C250.203 265.835 239.4 255.6 239.4 255.6C237.4 254.2 234.8 251.4 234.8 251.4C224.8 249.4 236.2 263.8 236.2 263.8C237.4 265.2 236 266.2 236 266.2C235.2 264.6 227.4 259.2 227.4 259.2C224.589 258.227 223.226 256.893 220.895 254.407z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #4c0000') +SAX.characters( + , 3) +SAX.startElement(path, d='M197 242.8C197 242.8 208.6 248.4 211.2 251.2C213.8 254 227.8 265.4 227.8 265.4C227.8 265.4 222.4 263.4 219.8 261.6C217.2 259.8 206.4 251.6 206.4 251.6C206.4 251.6 202.6 245.6 197 242.8z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #99cc32') +SAX.characters( + , 3) +SAX.startElement(path, d='M138.991 211.603C139.328 211.455 138.804 208.743 138.6 208.2C137.578 205.474 128.6 204 128.6 204C128.373 205.365 128.318 206.961 128.424 208.599C128.424 208.599 133.292 214.118 138.991 211.603z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #659900') +SAX.characters( + , 3) +SAX.startElement(path, d='M138.991 211.403C138.542 211.561 138.976 208.669 138.8 208.2C137.778 205.474 128.6 203.9 128.6 203.9C128.373 205.265 128.318 206.861 128.424 208.499C128.424 208.499 132.692 213.618 138.991 211.403z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M134.6 211.546C133.975 211.546 133.469 210.406 133.469 209C133.469 207.595 133.975 206.455 134.6 206.455C135.225 206.455 135.732 207.595 135.732 209C135.732 210.406 135.225 211.546 134.6 211.546z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M134.6 209z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M89 309.601C89 309.601 83.4 319.601 108.2 313.601C108.2 313.601 122.2 312.401 124.6 310.001C125.8 310.801 134.166 313.734 137 314.401C143.8 316.001 152.2 306 152.2 306C152.2 306 156.8 295.5 159.6 295.5C162.4 295.5 159.2 297.1 159.2 297.1C159.2 297.1 152.6 307.201 153 308.801C153 308.801 147.8 328.801 131.8 329.601C131.8 329.601 115.65 330.551 117 336.401C117 336.401 125.8 334.001 128.2 336.401C128.2 336.401 139 336.001 131 342.401L124.2 354.001C124.2 354.001 124.34 357.919 114.2 354.401C104.4 351.001 94.1 338.101 94.1 338.101C94.1 338.101 78.15 323.551 89 309.601z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #e59999') +SAX.characters( + , 3) +SAX.startElement(path, d='M87.8 313.601C87.8 313.601 85.8 323.201 122.6 312.801C122.6 312.801 127 312.801 129.4 313.601C131.8 314.401 143.8 317.201 145.8 316.001C145.8 316.001 138.6 329.601 127 328.001C127 328.001 113.8 329.601 114.2 334.401C114.2 334.401 118.2 341.601 123 344.001C123 344.001 125.8 346.401 125.4 349.601C125 352.801 122.2 354.401 120.2 355.201C118.2 356.001 115 352.801 113.4 352.801C111.8 352.801 103.4 346.401 99 341.601C94.6 336.801 86.2 324.801 86.6 322.001C87 319.201 87.8 313.601 87.8 313.601z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #b26565') +SAX.characters( + , 3) +SAX.startElement(path, d='M91 331.051C93.6 335.001 96.8 339.201 99 341.601C103.4 346.401 111.8 352.801 113.4 352.801C115 352.801 118.2 356.001 120.2 355.201C122.2 354.401 125 352.801 125.4 349.601C125.8 346.401 123 344.001 123 344.001C119.934 342.468 117.194 338.976 115.615 336.653C115.615 336.653 115.8 339.201 110.6 338.401C105.4 337.601 100.2 334.801 98.6 331.601C97 328.401 94.6 326.001 96.2 329.601C97.8 333.201 100.2 336.801 101.8 337.201C103.4 337.601 103 338.801 100.6 338.401C98.2 338.001 95.4 337.601 91 332.401z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #992600') +SAX.characters( + , 3) +SAX.startElement(path, d='M88.4 310.001C88.4 310.001 90.2 296.4 91.4 292.4C91.4 292.4 90.6 285.6 93 281.4C95.4 277.2 97.4 271 100.4 265.6C103.4 260.2 103.6 256.2 107.6 254.6C111.6 253 117.6 244.4 120.4 243.4C123.2 242.4 123 243.2 123 243.2C123 243.2 129.8 228.4 143.4 232.4C143.4 232.4 127.2 229.6 143 220.2C143 220.2 138.2 221.3 141.5 214.3C143.701 209.632 143.2 216.4 132.2 228.2C132.2 228.2 127.2 236.8 122 239.8C116.8 242.8 104.8 249.8 103.6 253.6C102.4 257.4 99.2 263.2 97.2 264.8C95.2 266.4 92.4 270.6 92 274C92 274 90.8 278 89.4 279.2C88 280.4 87.8 283.6 87.8 285.6C87.8 287.6 85.8 290.4 86 292.8C86 292.8 86.8 311.801 86.4 313.801L88.4 310.001z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff') +SAX.characters( + , 3) +SAX.startElement(path, d='M79.8 314.601C79.8 314.601 77.8 313.201 73.4 319.201C73.4 319.201 80.7 352.201 80.7 353.601C80.7 353.601 81.8 351.501 80.5 344.301C79.2 337.101 78.3 324.401 78.3 324.401L79.8 314.601z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #992600') +SAX.characters( + , 3) +SAX.startElement(path, d='M101.4 254C101.4 254 83.8 257.2 84.2 286.4L83.4 311.201C83.4 311.201 82.2 285.6 81 284C79.8 282.4 83.8 271.2 80.6 277.2C80.6 277.2 66.6 291.2 74.6 312.401C74.6 312.401 76.1 315.701 73.1 311.101C73.1 311.101 68.5 298.5 69.6 292.1C69.6 292.1 69.8 289.9 71.7 287.1C71.7 287.1 80.3 275.4 83 273.1C83 273.1 84.8 258.7 100.2 253.5C100.2 253.5 105.9 251.2 101.4 254z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M240.8 187.8C241.46 187.446 241.451 186.476 242.031 186.303C243.18 185.959 243.344 184.892 243.862 184.108C244.735 182.789 244.928 181.256 245.51 179.765C245.782 179.065 245.809 178.11 245.496 177.45C244.322 174.969 243.62 172.52 242.178 170.094C241.91 169.644 241.648 168.85 241.447 168.252C240.984 166.868 239.727 165.877 238.867 164.557C238.579 164.116 239.104 163.191 238.388 163.107C237.491 163.002 236.042 162.422 235.809 163.448C235.221 166.035 236.232 168.558 237.2 171C236.418 171.692 236.752 172.613 236.904 173.38C237.614 176.986 236.416 180.338 235.655 183.812C235.632 183.916 235.974 184.114 235.946 184.176C234.724 186.862 233.272 189.307 231.453 191.688C230.695 192.68 229.823 193.596 229.326 194.659C228.958 195.446 228.55 196.412 228.8 197.4C225.365 200.18 223.115 204.025 220.504 207.871C220.042 208.551 220.333 209.76 220.884 210.029C221.697 210.427 222.653 209.403 223.123 208.557C223.512 207.859 223.865 207.209 224.356 206.566C224.489 206.391 224.31 205.972 224.445 205.851C227.078 203.504 228.747 200.568 231.2 198.2C233.15 197.871 234.687 196.873 236.435 195.86C236.743 195.681 237.267 195.93 237.557 195.735C239.31 194.558 239.308 192.522 239.414 190.612C239.464 189.728 239.66 188.411 240.8 187.8z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M231.959 183.334C232.083 183.257 231.928 182.834 232.037 182.618C232.199 182.294 232.602 182.106 232.764 181.782C232.873 181.566 232.71 181.186 232.846 181.044C235.179 178.597 235.436 175.573 234.4 172.6C235.424 171.98 235.485 170.718 235.06 169.871C234.207 168.171 234.014 166.245 233.039 164.702C232.237 163.433 230.659 162.189 229.288 163.492C228.867 163.892 228.546 164.679 228.824 165.391C228.888 165.554 229.173 165.7 229.146 165.782C229.039 166.106 228.493 166.33 228.487 166.602C228.457 168.098 227.503 169.609 228.133 170.938C228.905 172.567 229.724 174.424 230.4 176.2C229.166 178.316 230.199 180.765 228.446 182.642C228.31 182.788 228.319 183.174 228.441 183.376C228.733 183.862 229.139 184.268 229.625 184.56C229.827 184.681 230.175 184.683 230.375 184.559C230.953 184.197 231.351 183.71 231.959 183.334z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M294.771 173.023C296.16 174.815 296.45 177.61 294.401 179C294.951 182.309 298.302 180.33 300.401 179.8C300.292 179.412 300.519 179.068 300.802 179.063C301.859 179.048 302.539 178.016 303.601 178.2C304.035 176.643 305.673 175.941 306.317 174.561C308.043 170.866 307.452 166.593 304.868 163.347C304.666 163.093 304.883 162.576 304.759 162.214C304.003 160.003 301.935 159.688 300.001 159C298.824 155.125 298.163 151.094 296.401 147.4C294.787 147.15 294.089 145.411 292.752 144.691C291.419 143.972 290.851 145.551 290.892 146.597C290.899 146.802 291.351 147.026 291.181 147.391C291.105 147.555 290.845 147.666 290.845 147.8C290.846 147.935 291.067 148.066 291.201 148.2C290.283 149.02 288.86 149.497 288.565 150.642C287.611 154.352 290.184 157.477 291.852 160.678C292.443 161.813 291.707 163.084 290.947 164.292C290.509 164.987 290.617 166.114 290.893 166.97C291.645 169.301 293.236 171.04 294.771 173.023z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M257.611 191.409C256.124 193.26 252.712 195.829 255.629 197.757C255.823 197.886 256.193 197.89 256.366 197.756C258.387 196.191 260.39 195.288 262.826 194.706C262.95 194.677 263.224 195.144 263.593 194.983C265.206 194.28 267.216 194.338 268.4 193C272.167 193.224 275.732 192.108 279.123 190.8C280.284 190.352 281.554 189.793 282.755 189.291C284.131 188.715 285.335 187.787 286.447 186.646C286.58 186.51 286.934 186.6 287.201 186.6C287.161 185.737 288.123 185.61 288.37 184.988C288.462 184.756 288.312 184.36 288.445 184.258C290.583 182.628 291.503 180.61 290.334 178.233C290.049 177.655 289.8 177.037 289.234 176.561C288.149 175.65 287.047 176.504 286 176.2C285.841 176.828 285.112 176.656 284.726 176.854C283.867 177.293 282.534 176.708 281.675 177.146C280.313 177.841 279.072 178.01 277.65 178.387C277.338 178.469 276.56 178.373 276.4 179C276.266 178.866 276.118 178.632 276.012 178.654C274.104 179.05 272.844 179.264 271.543 180.956C271.44 181.089 270.998 180.91 270.839 181.045C269.882 181.853 269.477 183.087 268.376 183.759C268.175 183.882 267.823 183.714 267.629 183.843C266.983 184.274 266.616 184.915 265.974 185.362C265.645 185.591 265.245 185.266 265.277 185.01C265.522 183.063 266.175 181.276 265.6 179.4C267.677 176.88 270.194 174.931 272 172.2C272.015 170.034 272.707 167.888 272.594 165.811C272.584 165.618 272.296 164.885 272.17 164.538C271.858 163.684 272.764 162.618 271.92 161.894C270.516 160.691 269.224 161.567 268.4 163C266.562 163.39 264.496 164.083 262.918 162.849C261.911 162.062 261.333 161.156 260.534 160.1C259.549 158.798 259.884 157.362 259.954 155.798C259.96 155.67 259.645 155.534 259.645 155.4C259.646 155.265 259.866 155.134 260 155C259.294 154.374 259.019 153.316 258 153C258.305 151.908 257.629 151.024 256.758 150.722C254.763 150.031 253.086 151.943 251.194 152.016C250.68 152.035 250.213 150.997 249.564 150.672C249.132 150.456 248.428 150.423 248.066 150.689C247.378 151.193 246.789 151.307 246.031 151.512C244.414 151.948 243.136 153.042 241.656 153.897C240.171 154.754 239.216 156.191 238.136 157.511C237.195 158.663 237.059 161.077 238.479 161.577C240.322 162.227 241.626 159.524 243.592 159.85C243.904 159.901 244.11 160.212 244 160.6C244.389 160.709 244.607 160.48 244.8 160.2C245.658 161.219 246.822 161.556 247.76 162.429C248.73 163.333 250.476 162.915 251.491 163.912C253.02 165.414 252.461 168.095 254.4 169.4C253.814 170.713 253.207 171.99 252.872 173.417C252.59 174.623 253.584 175.82 254.795 175.729C256.053 175.635 256.315 174.876 256.8 173.8C257.067 174.067 257.536 174.364 257.495 174.58C257.038 176.967 256.011 178.96 255.553 181.391C255.494 181.708 255.189 181.91 254.8 181.8C254.332 185.949 250.28 188.343 247.735 191.508C247.332 192.01 247.328 193.259 247.737 193.662C249.14 195.049 251.1 193.503 252.8 193C253.013 191.794 253.872 190.852 255.204 190.908C255.46 190.918 255.695 190.376 256.019 190.246C256.367 190.108 256.869 190.332 257.155 190.134C258.884 188.939 260.292 187.833 262.03 186.644C262.222 186.513 262.566 186.672 262.782 186.564C263.107 186.402 263.294 186.015 263.617 185.83C263.965 185.63 264.207 185.92 264.4 186.2C263.754 186.549 263.75 187.506 263.168 187.708C262.393 187.976 261.832 188.489 261.158 188.936C260.866 189.129 260.207 188.881 260.103 189.06C259.505 190.088 258.321 190.526 257.611 191.409z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M202.2 142C202.2 142 192.962 139.128 181.8 164.8C181.8 164.8 179.4 170 177 172C174.6 174 163.4 177.6 161.4 181.6L151 197.6C151 197.6 165.8 181.6 169 179.2C169 179.2 177 170.8 173.8 177.6C173.8 177.6 159.8 188.4 161 197.6C161 197.6 155.4 212 154.6 214C154.6 214 170.6 182 173 180.8C175.4 179.6 176.6 179.6 175.4 183.2C174.2 186.8 173.8 203.2 171 205.2C171 205.2 179 184.8 178.2 181.6C178.2 181.6 181.4 178 183.8 183.2L182.6 199.2L187 211.2C187 211.2 184.6 200 186.2 184.4C186.2 184.4 184.2 174 188.2 179.6C192.2 185.2 201.8 191.2 201.8 196C201.8 196 196.6 178.4 187.4 173.6L183.4 179.6L182.2 177.6C182.2 177.6 178.6 176.8 183 170C187.4 163.2 187 162.4 187 162.4C187 162.4 193.4 169.6 195 169.6C195 169.6 208.2 162 209.4 186.4C209.4 186.4 216.2 172 207 165.2C207 165.2 192.2 163.2 193.4 158L200.6 145.6C204.2 140.4 202.6 143.2 202.6 143.2z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M182.2 158.4C182.2 158.4 169.4 158.4 166.2 163.6L159 173.2C159 173.2 176.2 163.2 180.2 162C184.2 160.8 182.2 158.4 182.2 158.4z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M142.2 164.8C142.2 164.8 140.2 166 139.8 168.8C139.4 171.6 137 172 137.8 174.8C138.6 177.6 140.6 180 140.6 176C140.6 172 142.2 170 143 168.8C143.8 167.6 145.4 163.2 142.2 164.8z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M133.4 226C133.4 226 125 222 121.8 218.4C118.6 214.8 119.052 219.966 114.2 219.6C108.353 219.159 109.4 203.2 109.4 203.2L105.4 210.8C105.4 210.8 104.2 225.2 112.2 222.8C116.107 221.628 117.4 223.2 115.8 224C114.2 224.8 121.4 225.2 118.6 226.8C115.8 228.4 130.2 223.2 127.8 233.6L133.4 226z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M120.8 240.4C120.8 240.4 105.4 244.8 101.8 235.2C101.8 235.2 97 237.6 99.2 240.6C101.4 243.6 102.6 244 102.6 244C102.6 244 108 245.2 107.4 246C106.8 246.8 104.4 250.2 104.4 250.2C104.4 250.2 114.6 244.2 120.8 240.4z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff') +SAX.characters( + , 3) +SAX.startElement(path, d='M349.201 318.601C348.774 320.735 347.103 321.536 345.201 322.201C343.284 321.243 340.686 318.137 338.801 320.201C338.327 319.721 337.548 319.661 337.204 318.999C336.739 318.101 337.011 317.055 336.669 316.257C336.124 314.985 335.415 313.619 335.601 312.201C337.407 311.489 338.002 309.583 337.528 307.82C337.459 307.563 337.03 307.366 337.23 307.017C337.416 306.694 337.734 306.467 338.001 306.2C337.866 306.335 337.721 306.568 337.61 306.548C337 306.442 337.124 305.805 337.254 305.418C337.839 303.672 339.853 303.408 341.201 304.6C341.457 304.035 341.966 304.229 342.401 304.2C342.351 303.621 342.759 303.094 342.957 302.674C343.475 301.576 345.104 302.682 345.901 302.07C346.977 301.245 348.04 300.546 349.118 301.149C350.927 302.162 352.636 303.374 353.835 305.115C354.41 305.949 354.65 307.23 354.592 308.188C354.554 308.835 353.173 308.483 352.83 309.412C352.185 311.16 354.016 311.679 354.772 313.017C354.97 313.366 354.706 313.67 354.391 313.768C353.98 313.896 353.196 313.707 353.334 314.16C354.306 317.353 351.55 318.031 349.201 318.601z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff') +SAX.characters( + , 3) +SAX.startElement(path, d='M339.6 338.201C339.593 336.463 337.992 334.707 339.201 333.001C339.336 333.135 339.467 333.356 339.601 333.356C339.736 333.356 339.867 333.135 340.001 333.001C341.496 335.217 345.148 336.145 345.006 338.991C344.984 339.438 343.897 340.356 344.801 341.001C342.988 342.349 342.933 344.719 342.001 346.601C340.763 346.315 339.551 345.952 338.401 345.401C338.753 343.915 338.636 342.231 339.456 340.911C339.89 340.213 339.603 339.134 339.6 338.201z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M173.4 329.201C173.4 329.201 156.542 339.337 170.6 324.001C179.4 314.401 189.4 308.801 189.4 308.801C189.4 308.801 199.8 304.4 203.4 303.2C207 302 222.2 296.8 225.4 296.4C228.6 296 238.2 292 245 296C251.8 300 259.8 304.4 259.8 304.4C259.8 304.4 243.4 296 239.8 298.4C236.2 300.8 229 300.4 223 303.6C223 303.6 208.2 308.001 205 310.001C201.8 312.001 191.4 323.601 189.8 322.801C188.2 322.001 190.2 321.601 191.4 318.801C192.6 316.001 190.6 314.401 182.6 320.801C174.6 327.201 173.4 329.201 173.4 329.201z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M180.805 323.234C180.805 323.234 182.215 310.194 190.693 311.859C190.693 311.859 198.919 307.689 201.641 305.721C201.641 305.721 209.78 304.019 211.09 303.402C229.569 294.702 244.288 299.221 244.835 298.101C245.381 296.982 265.006 304.099 268.615 308.185C269.006 308.628 258.384 302.588 248.686 300.697C240.413 299.083 218.811 300.944 207.905 306.48C204.932 307.989 195.987 313.773 193.456 313.662C190.925 313.55 180.805 323.234 180.805 323.234z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M177 348.801C177 348.801 161.8 346.401 178.6 344.801C178.6 344.801 196.6 342.801 200.6 337.601C200.6 337.601 214.2 328.401 217 328.001C219.8 327.601 249.8 320.401 250.2 318.001C250.6 315.601 256.2 315.601 257.8 316.401C259.4 317.201 258.6 318.401 255.8 319.201C253 320.001 221.8 336.401 215.4 337.601C209 338.801 197.4 346.401 192.6 347.601C187.8 348.801 177 348.801 177 348.801z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M196.52 341.403C196.52 341.403 187.938 340.574 196.539 339.755C196.539 339.755 205.355 336.331 207.403 333.668C207.403 333.668 214.367 328.957 215.8 328.753C217.234 328.548 231.194 324.861 231.399 323.633C231.604 322.404 265.67 309.823 270.09 313.013C273.001 315.114 263.1 313.437 253.466 317.847C252.111 318.467 218.258 333.054 214.981 333.668C211.704 334.283 205.765 338.174 203.307 338.788C200.85 339.403 196.52 341.403 196.52 341.403z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M188.6 343.601C188.6 343.601 193.8 343.201 192.6 344.801C191.4 346.401 189 345.601 189 345.601L188.6 343.601z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M181.4 345.201C181.4 345.201 186.6 344.801 185.4 346.401C184.2 348.001 181.8 347.201 181.8 347.201L181.4 345.201z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M171 346.801C171 346.801 176.2 346.401 175 348.001C173.8 349.601 171.4 348.801 171.4 348.801L171 346.801z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M163.4 347.601C163.4 347.601 168.6 347.201 167.4 348.801C166.2 350.401 163.8 349.601 163.8 349.601L163.4 347.601z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M201.8 308.001C201.8 308.001 206.2 308.001 205 309.601C203.8 311.201 200.6 310.801 200.6 310.801L201.8 308.001z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M191.8 313.601C191.8 313.601 198.306 311.46 195.8 314.801C194.6 316.401 192.2 315.601 192.2 315.601L191.8 313.601z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M180.6 318.401C180.6 318.401 185.8 318.001 184.6 319.601C183.4 321.201 181 320.401 181 320.401L180.6 318.401z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M173 324.401C173 324.401 178.2 324.001 177 325.601C175.8 327.201 173.4 326.401 173.4 326.401L173 324.401z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M166.2 329.201C166.2 329.201 171.4 328.801 170.2 330.401C169 332.001 166.6 331.201 166.6 331.201L166.2 329.201z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M205.282 335.598C205.282 335.598 212.203 335.066 210.606 337.195C209.009 339.325 205.814 338.26 205.814 338.26L205.282 335.598z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M215.682 330.798C215.682 330.798 222.603 330.266 221.006 332.395C219.409 334.525 216.214 333.46 216.214 333.46L215.682 330.798z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M226.482 326.398C226.482 326.398 233.403 325.866 231.806 327.995C230.209 330.125 227.014 329.06 227.014 329.06L226.482 326.398z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M236.882 321.598C236.882 321.598 243.803 321.066 242.206 323.195C240.609 325.325 237.414 324.26 237.414 324.26L236.882 321.598z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M209.282 303.598C209.282 303.598 216.203 303.066 214.606 305.195C213.009 307.325 209.014 307.06 209.014 307.06L209.282 303.598z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M219.282 300.398C219.282 300.398 226.203 299.866 224.606 301.995C223.009 304.125 218.614 303.86 218.614 303.86L219.282 300.398z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M196.6 340.401C196.6 340.401 201.8 340.001 200.6 341.601C199.4 343.201 197 342.401 197 342.401L196.6 340.401z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #992600') +SAX.characters( + , 3) +SAX.startElement(path, d='M123.4 241.2C123.4 241.2 119 250 118.6 253.2C118.6 253.2 119.4 244.4 120.6 242.4C121.8 240.4 123.4 241.2 123.4 241.2z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #992600') +SAX.characters( + , 3) +SAX.startElement(path, d='M105 255.2C105 255.2 101.8 269.6 102.2 272.4C102.2 272.4 101 260.8 101.4 259.6C101.8 258.4 105 255.2 105 255.2z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M125.8 180.6L125.6 183.8L123.4 184C123.4 184 137.6 196.6 138.2 204.2C138.2 204.2 139 196 125.8 180.6z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M129.784 181.865C129.353 181.449 129.572 180.704 129.164 180.444C128.355 179.928 130.462 179.871 130.234 179.155C129.851 177.949 130.038 177.928 129.916 176.652C129.859 176.054 130.447 174.514 130.832 174.074C132.278 172.422 130.954 169.49 132.594 167.939C132.898 167.65 133.274 167.098 133.559 166.68C134.218 165.717 135.402 165.229 136.352 164.401C136.67 164.125 136.469 163.298 137.038 163.39C137.752 163.505 138.993 163.375 138.948 164.216C138.835 166.336 137.506 168.056 136.226 169.724C136.677 170.428 136.219 171.063 135.935 171.62C134.6 174.24 134.789 177.081 134.615 179.921C134.61 180.006 134.303 180.084 134.311 180.137C134.664 182.472 135.248 184.671 136.127 186.9C136.493 187.83 136.964 188.725 137.114 189.652C137.225 190.338 137.328 191.171 136.92 191.876C138.955 194.766 137.646 197.417 138.815 200.948C139.022 201.573 140.714 203.487 140.251 203.326C137.738 202.455 137.626 202.057 137.449 201.304C137.303 200.681 136.973 199.304 136.736 198.702C136.672 198.538 136.501 196.654 136.423 196.532C134.91 194.15 136.268 194.326 134.898 191.968C133.47 191.288 132.504 190.184 131.381 189.022C131.183 188.818 132.326 188.094 132.145 187.881C131.053 186.592 129.9 185.825 130.236 184.332C130.391 183.642 130.528 182.585 129.784 181.865z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M126.2 183.6C126.2 183.6 126.6 190.4 129 192C131.4 193.6 130.2 192.8 127 191.6C123.8 190.4 125 189.6 125 189.6C125 189.6 122.2 190 124.6 192C127 194 130.6 196.4 129 196.4C127.4 196.4 119.8 192.4 119.8 189.6C119.8 186.8 118.8 182.7 118.8 182.7C118.8 182.7 119.9 181.9 124.7 182C124.7 182 126.1 182.7 126.2 183.6z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M125.4 202.2C125.4 202.2 116.88 199.409 98.4 202.8C98.4 202.8 107.431 200.722 126.2 203C136.5 204.25 125.4 202.2 125.4 202.2z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M127.498 202.129C127.498 202.129 119.252 198.611 100.547 200.392C100.547 200.392 109.725 199.103 128.226 202.995C138.38 205.131 127.498 202.129 127.498 202.129z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M129.286 202.222C129.286 202.222 121.324 198.101 102.539 198.486C102.539 198.486 111.787 197.882 129.948 203.14C139.914 206.025 129.286 202.222 129.286 202.222z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M130.556 202.445C130.556 202.445 123.732 198.138 106.858 197.04C106.858 197.04 115.197 197.21 131.078 203.319C139.794 206.672 130.556 202.445 130.556 202.445z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M245.84 212.961C245.84 212.961 244.91 213.605 245.124 212.424C245.339 211.243 273.547 198.073 277.161 198.323C277.161 198.323 246.913 211.529 245.84 212.961z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M242.446 213.6C242.446 213.6 241.57 214.315 241.691 213.121C241.812 211.927 268.899 196.582 272.521 196.548C272.521 196.548 243.404 212.089 242.446 213.6z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M239.16 214.975C239.16 214.975 238.332 215.747 238.374 214.547C238.416 213.348 258.233 197.851 268.045 195.977C268.045 195.977 250.015 204.104 239.16 214.975z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M236.284 216.838C236.284 216.838 235.539 217.532 235.577 216.453C235.615 215.373 253.449 201.426 262.28 199.74C262.28 199.74 246.054 207.054 236.284 216.838z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M204.6 364.801C204.6 364.801 189.4 362.401 206.2 360.801C206.2 360.801 224.2 358.801 228.2 353.601C228.2 353.601 241.8 344.401 244.6 344.001C247.4 343.601 263.8 340.001 264.2 337.601C264.6 335.201 270.6 332.801 272.2 333.601C273.8 334.401 273.8 343.601 271 344.401C268.2 345.201 249.4 352.401 243 353.601C236.6 354.801 225 362.401 220.2 363.601C215.4 364.801 204.6 364.801 204.6 364.801z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M277.6 327.401C277.6 327.401 274.6 329.001 273.4 331.601C273.4 331.601 267 342.201 252.8 345.401C252.8 345.401 229.8 354.401 222 356.401C222 356.401 208.6 361.401 201.2 360.601C201.2 360.601 194.2 360.801 200.4 362.401C200.4 362.401 220.6 360.401 224 358.601C224 358.601 239.6 353.401 242.6 350.801C245.6 348.201 263.8 343.201 266 341.201C268.2 339.201 278 330.801 277.6 327.401z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M218.882 358.911C218.882 358.911 224.111 358.685 222.958 360.234C221.805 361.784 219.357 360.91 219.357 360.91L218.882 358.911z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M211.68 360.263C211.68 360.263 216.908 360.037 215.756 361.586C214.603 363.136 212.155 362.263 212.155 362.263L211.68 360.263z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M201.251 361.511C201.251 361.511 206.48 361.284 205.327 362.834C204.174 364.383 201.726 363.51 201.726 363.51L201.251 361.511z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M193.617 362.055C193.617 362.055 198.846 361.829 197.693 363.378C196.54 364.928 194.092 364.054 194.092 364.054L193.617 362.055z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M235.415 351.513C235.415 351.513 242.375 351.212 240.84 353.274C239.306 355.336 236.047 354.174 236.047 354.174L235.415 351.513z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M245.73 347.088C245.73 347.088 251.689 343.787 251.155 348.849C250.885 351.405 246.362 349.749 246.362 349.749L245.73 347.088z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M254.862 344.274C254.862 344.274 262.021 340.573 260.287 346.035C259.509 348.485 255.493 346.935 255.493 346.935L254.862 344.274z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M264.376 339.449C264.376 339.449 268.735 334.548 269.801 341.21C270.207 343.748 265.008 342.11 265.008 342.11L264.376 339.449z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M226.834 355.997C226.834 355.997 232.062 355.77 230.91 357.32C229.757 358.869 227.308 357.996 227.308 357.996L226.834 355.997z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M262.434 234.603C262.434 234.603 261.708 235.268 261.707 234.197C261.707 233.127 279.191 219.863 288.034 218.479C288.034 218.479 271.935 225.208 262.434 234.603z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M265.4 298.4C265.4 298.4 287.401 320.801 296.601 324.401C296.601 324.401 305.801 335.601 301.801 361.601C301.801 361.601 298.601 369.201 295.401 348.401C295.401 348.401 298.601 323.201 287.401 339.201C287.401 339.201 279 329.301 285.4 329.601C285.4 329.601 288.601 331.601 289.001 330.001C289.401 328.401 281.4 314.801 264.2 300.4C247 286 265.4 298.4 265.4 298.4z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M207 337.201C207 337.201 206.8 335.401 208.6 336.201C210.4 337.001 304.601 343.201 336.201 367.201C336.201 367.201 291.001 344.001 207 337.201z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M217.4 332.801C217.4 332.801 217.2 331.001 219 331.801C220.8 332.601 357.401 331.601 381.001 364.001C381.001 364.001 359.001 338.801 217.4 332.801z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M229 328.801C229 328.801 228.8 327.001 230.6 327.801C232.4 328.601 405.801 315.601 429.401 348.001C429.401 348.001 419.801 322.401 229 328.801z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M239 324.001C239 324.001 238.8 322.201 240.6 323.001C242.4 323.801 364.601 285.2 388.201 317.601C388.201 317.601 374.801 293 239 324.001z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M181 346.801C181 346.801 180.8 345.001 182.6 345.801C184.4 346.601 202.2 348.801 204.2 387.601C204.2 387.601 197 345.601 181 346.801z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M172.2 348.401C172.2 348.401 172 346.601 173.8 347.401C175.6 348.201 189.8 343.601 187 382.401C187 382.401 188.2 347.201 172.2 348.401z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M164.2 348.801C164.2 348.801 164 347.001 165.8 347.801C167.6 348.601 183 349.201 170.6 371.601C170.6 371.601 180.2 347.601 164.2 348.801z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M211.526 304.465C211.526 304.465 211.082 306.464 212.631 305.247C228.699 292.622 261.141 233.72 316.826 228.086C316.826 228.086 278.518 215.976 211.526 304.465z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M222.726 302.665C222.726 302.665 221.363 301.472 223.231 300.847C225.099 300.222 337.541 227.72 376.826 235.686C376.826 235.686 349.719 228.176 222.726 302.665z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M201.885 308.767C201.885 308.767 201.376 310.366 203.087 309.39C212.062 304.27 215.677 247.059 259.254 245.804C259.254 245.804 226.843 231.09 201.885 308.767z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M181.962 319.793C181.962 319.793 180.885 321.079 182.838 320.825C193.084 319.493 214.489 278.222 258.928 283.301C258.928 283.301 226.962 268.955 181.962 319.793z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M193.2 313.667C193.2 313.667 192.389 315.136 194.258 314.511C204.057 311.237 217.141 266.625 261.729 263.078C261.729 263.078 227.603 255.135 193.2 313.667z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M174.922 324.912C174.922 324.912 174.049 325.954 175.631 325.748C183.93 324.669 201.268 291.24 237.264 295.354C237.264 295.354 211.371 283.734 174.922 324.912z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M167.323 330.821C167.323 330.821 166.318 331.866 167.909 331.748C172.077 331.439 202.715 298.36 221.183 313.862C221.183 313.862 209.168 295.139 167.323 330.821z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M236.855 298.898C236.855 298.898 235.654 297.543 237.586 297.158C239.518 296.774 360.221 239.061 398.184 251.927C398.184 251.927 372.243 241.053 236.855 298.898z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M203.4 363.201C203.4 363.201 203.2 361.401 205 362.201C206.8 363.001 222.2 363.601 209.8 386.001C209.8 386.001 219.4 362.001 203.4 363.201z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M213.8 361.601C213.8 361.601 213.6 359.801 215.4 360.601C217.2 361.401 235 363.601 237 402.401C237 402.401 229.8 360.401 213.8 361.601z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M220.6 360.001C220.6 360.001 220.4 358.201 222.2 359.001C224 359.801 248.6 363.201 272.2 395.601C272.2 395.601 236.6 358.801 220.6 360.001z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M228.225 357.972C228.225 357.972 227.788 356.214 229.678 356.768C231.568 357.322 252.002 355.423 290.099 389.599C290.099 389.599 243.924 354.656 228.225 357.972z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M238.625 353.572C238.625 353.572 238.188 351.814 240.078 352.368C241.968 352.922 276.802 357.423 328.499 392.399C328.499 392.399 254.324 350.256 238.625 353.572z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M198.2 342.001C198.2 342.001 198 340.201 199.8 341.001C201.6 341.801 255 344.401 285.4 371.201C285.4 371.201 250.499 346.426 198.2 342.001z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M188.2 346.001C188.2 346.001 188 344.201 189.8 345.001C191.6 345.801 216.2 349.201 239.8 381.601C239.8 381.601 204.2 344.801 188.2 346.001z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M249.503 348.962C249.503 348.962 248.938 347.241 250.864 347.655C252.79 348.068 287.86 350.004 341.981 381.098C341.981 381.098 264.317 346.704 249.503 348.962z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M257.903 346.562C257.903 346.562 257.338 344.841 259.264 345.255C261.19 345.668 296.26 347.604 350.381 378.698C350.381 378.698 273.317 343.904 257.903 346.562z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M267.503 341.562C267.503 341.562 266.938 339.841 268.864 340.255C270.79 340.668 313.86 345.004 403.582 379.298C403.582 379.298 282.917 338.904 267.503 341.562z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M156.2 348.401C156.2 348.401 161.4 348.001 160.2 349.601C159 351.201 156.6 350.401 156.6 350.401L156.2 348.401z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M187 362.401C187 362.401 192.2 362.001 191 363.601C189.8 365.201 187.4 364.401 187.4 364.401L187 362.401z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M178.2 362.001C178.2 362.001 183.4 361.601 182.2 363.201C181 364.801 178.6 364.001 178.6 364.001L178.2 362.001z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M82.831 350.182C82.831 350.182 87.876 351.505 86.218 352.624C84.561 353.744 82.554 352.202 82.554 352.202L82.831 350.182z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M84.831 340.582C84.831 340.582 89.876 341.905 88.218 343.024C86.561 344.144 84.554 342.602 84.554 342.602L84.831 340.582z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M77.631 336.182C77.631 336.182 82.676 337.505 81.018 338.624C79.361 339.744 77.354 338.202 77.354 338.202L77.631 336.182z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M157.4 411.201C157.4 411.201 155.8 411.201 151.8 413.201C149.8 413.201 138.6 416.801 133 426.801C133 426.801 145.4 417.201 157.4 411.201z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M245.116 503.847C245.257 504.105 245.312 504.525 245.604 504.542C246.262 504.582 247.495 504.883 247.37 504.247C246.522 499.941 245.648 495.004 241.515 493.197C240.876 492.918 239.434 493.331 239.36 494.215C239.233 495.739 239.116 497.088 239.425 498.554C239.725 499.975 241.883 499.985 242.8 498.601C243.736 500.273 244.168 502.116 245.116 503.847z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M234.038 508.581C234.786 509.994 234.659 511.853 236.074 512.416C236.814 512.71 238.664 511.735 238.246 510.661C237.444 508.6 237.056 506.361 235.667 504.55C235.467 504.288 235.707 503.755 235.547 503.427C234.953 502.207 233.808 501.472 232.4 501.801C231.285 504.004 232.433 506.133 233.955 507.842C234.091 507.994 233.925 508.37 234.038 508.581z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M194.436 503.391C194.328 503.014 194.29 502.551 194.455 502.23C194.986 501.197 195.779 500.075 195.442 499.053C195.094 497.997 193.978 498.179 193.328 498.748C192.193 499.742 192.144 501.568 191.453 502.927C191.257 503.313 191.308 503.886 190.867 504.277C190.393 504.698 189.953 506.222 190.049 506.793C190.102 507.106 189.919 517.014 190.141 516.751C190.76 516.018 193.81 506.284 193.879 505.392C193.936 504.661 194.668 504.196 194.436 503.391z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M168.798 496.599C171.432 494.1 174.222 491.139 173.78 487.427C173.664 486.451 171.889 486.978 171.702 487.824C170.9 491.449 168.861 494.11 166.293 496.502C164.097 498.549 162.235 504.893 162 505.401C165.697 500.145 167.954 497.399 168.798 496.599z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M155.224 490.635C155.747 490.265 155.445 489.774 155.662 489.442C156.615 487.984 157.916 486.738 157.934 485C157.937 484.723 157.559 484.414 157.224 484.638C156.947 484.822 156.605 484.952 156.497 485.082C154.467 487.531 153.067 490.202 151.624 493.014C151.441 493.371 150.297 497.862 150.61 497.973C150.849 498.058 152.569 493.877 152.779 493.763C154.042 493.077 154.054 491.462 155.224 490.635z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M171.957 510.179C172.401 509.31 173.977 508.108 173.864 507.219C173.746 506.291 174.214 504.848 173.302 505.536C172.045 506.484 168.596 507.833 168.326 513.641C168.3 514.212 171.274 511.519 171.957 510.179z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M186.4 493.001C186.8 492.333 187.508 492.806 187.967 492.543C188.615 492.171 189.226 491.613 189.518 490.964C190.488 488.815 192.257 486.995 192.4 484.601C190.909 483.196 190.23 485.236 189.6 486.201C188.277 484.554 187.278 486.428 185.978 486.947C185.908 486.975 185.695 486.628 185.62 486.655C184.443 487.095 183.763 488.176 182.765 488.957C182.594 489.091 182.189 488.911 182.042 489.047C181.39 489.65 180.417 489.975 180.137 490.657C179.027 493.364 175.887 495.459 174 503.001C174.381 503.91 178.512 496.359 178.999 495.661C179.835 494.465 179.953 497.322 181.229 496.656C181.28 496.629 181.466 496.867 181.6 497.001C181.794 496.721 182.012 496.492 182.4 496.601C182.4 496.201 182.266 495.645 182.467 495.486C183.704 494.509 183.62 493.441 184.4 492.201C184.858 492.99 185.919 492.271 186.4 493.001z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M246.2 547.401C246.2 547.401 253.6 527.001 249.2 515.801C249.2 515.801 260.6 537.401 256 548.601C256 548.601 255.6 538.201 251.6 533.201C251.6 533.201 247.6 546.001 246.2 547.401z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M231.4 544.801C231.4 544.801 236.8 536.001 228.8 517.601C228.8 517.601 228 538.001 221.2 549.001C221.2 549.001 235.4 528.801 231.4 544.801z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M221.4 542.801C221.4 542.801 221.2 522.801 221.6 519.801C221.6 519.801 217.8 536.401 207.6 546.001C207.6 546.001 222 534.001 221.4 542.801z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M211.8 510.801C211.8 510.801 217.8 524.401 207.8 542.801C207.8 542.801 214.2 530.601 209.4 523.601C209.4 523.601 212 520.201 211.8 510.801z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M192.6 542.401C192.6 542.401 191.6 526.801 193.4 524.601C193.4 524.601 193.6 518.201 193.2 517.201C193.2 517.201 197.2 511.001 197.4 518.401C197.4 518.401 198.8 526.201 201.6 530.801C201.6 530.801 205.2 536.201 205 542.601C205 542.601 195 512.401 192.6 542.401z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M189 514.801C189 514.801 182.4 525.601 180.6 544.601C180.6 544.601 179.2 538.401 183 524.001C183 524.001 187.2 508.601 189 514.801z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M167.2 534.601C167.2 534.601 172.2 529.201 173.6 524.201C173.6 524.201 177.2 508.401 170.8 517.001C170.8 517.001 171 525.001 162.8 532.401C162.8 532.401 167.6 530.001 167.2 534.601z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M161.4 529.601C161.4 529.601 164.8 512.201 165.6 511.401C165.6 511.401 167.4 508.001 164.6 511.201C164.6 511.201 155.8 530.401 151.8 537.001C151.8 537.001 159.8 527.801 161.4 529.601z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M155.6 513.001C155.6 513.001 167.2 490.601 145.4 516.401C145.4 516.401 156.4 506.601 155.6 513.001z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M140.2 498.401C140.2 498.401 145 479.601 147.6 479.801C147.6 479.801 155.8 470.801 149.2 481.401C149.2 481.401 143.2 491.001 143.8 500.801C143.8 500.801 143.2 491.201 140.2 498.401z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M470.5 487C470.5 487 458.5 477 456 473.5C456 473.5 469.5 492 469.5 499C469.5 499 472 491.5 470.5 487z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M476 465C476 465 455 450 451.5 442.5C451.5 442.5 478 472 478 476.5C478 476.5 478.5 467.5 476 465z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M493 311C493 311 481 303 479.5 305C479.5 305 490 311.5 492.5 320C492.5 320 491 311 493 311z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M501.5 391.5L484 379.5C484 379.5 503 396.5 503.5 400.5L501.5 391.5z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='stroke:#000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M110.75 369L132.75 373.75') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='stroke:#000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M161 531C161 531 160.5 527.5 151.5 538') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='stroke:#000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M166.5 536C166.5 536 168.5 529.5 162 534') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='stroke:#000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M220.5 544.5C220.5 544.5 222 533.5 210.5 546.5') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( +, 1) +SAX.endElement(svg) +SAX.endDocument() diff --git a/libxml2/result/svg3.sax2 b/libxml2/result/svg3.sax2 new file mode 100644 index 0000000..b63dff0 --- /dev/null +++ b/libxml2/result/svg3.sax2 @@ -0,0 +1,2407 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(svg, NULL, NULL, 0, 0, 0) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M77....', 149) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M81....', 149) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M108...', 153) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M105...', 157) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M101...', 157) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M90....', 150) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M83....', 149) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M80....', 151) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M91....', 144) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M71....', 105) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M72....', 150) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M72....', 145) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 29) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M70....', 3523) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 29) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M499...', 1458) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M84....', 598) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M333...', 739) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M334...', 757) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M336...', 760) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M337...', 761) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M338...', 762) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M340...', 760) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M341...', 760) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M342...', 760) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M343...', 725) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M345...', 762) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M84....', 637) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M125...', 221) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M265...', 273) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M145...', 431) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M178...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M188...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M201...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M178...', 131) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M179...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M165...', 911) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M170...', 501) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M192...', 262) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M190...', 209) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M194...', 475) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 29) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M190...', 405) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M191...', 219) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M271...', 327) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M228...', 98) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M180...', 137) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M185...', 152) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M190...', 152) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M197...', 154) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M203...', 154) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M210...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M181...', 132) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M215...', 142) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M233...', 211) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M247...', 50) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M253...', 56) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M174...', 179) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M188...', 219) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M111...', 221) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M132...', 208) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M133...', 334) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M177...', 183) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M140...', 161) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M147...', 160) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M154...', 158) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M161...', 158) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M125...', 182) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M190...', 247) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M243...', 361) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M208...', 393) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M208...', 393) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M209...', 393) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M210...', 393) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M244...', 301) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M290...', 155) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M294...', 309) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M247...', 193) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M243...', 200) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M255...', 77) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M245...', 191) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M141...', 411) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M140...', 486) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M148...', 494) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M148...', 484) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M148...', 495) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M140...', 486) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M137...', 119) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M120...', 115) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M128...', 132) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M214...', 1619) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M409...', 389) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M464...', 271) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M463...', 289) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M463...', 287) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M462...', 280) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M462...', 289) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M462...', 250) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M250...', 709) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M389...', 91) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M436...', 125) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M492...', 99) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M304...', 123) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M494...', 111) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M343...', 2441) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M309...', 1201) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M380...', 429) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M368...', 1598) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M291...', 929) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M259...', 1006) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M245...', 383) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M217...', 181) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M233...', 2425) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M251...', 74) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M224...', 84) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M221...', 112) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M222...', 114) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M220...', 6993) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M197...', 185) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M138...', 193) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M138...', 197) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M134...', 195) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M134...', 11) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M89 ...', 570) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M87....', 491) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M91 ...', 497) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M88....', 626) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M79....', 183) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M101...', 359) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M240...', 1223) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M231...', 816) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M294...', 902) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M257...', 3281) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M202...', 837) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M182...', 127) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M142...', 177) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M133...', 289) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M120...', 215) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M349...', 1047) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M339...', 444) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M173...', 503) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M180...', 445) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M177...', 379) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M196...', 438) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M188...', 109) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M181...', 113) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M171...', 105) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M163...', 113) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M201...', 111) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M191...', 114) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M180...', 109) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M173...', 105) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M166...', 111) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M205...', 127) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M215...', 127) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M226...', 127) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M236...', 127) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M209...', 127) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M219...', 127) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M196...', 109) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M123...', 117) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M105...', 111) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M125...', 101) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M129...', 1246) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M126...', 311) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M125...', 125) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M127...', 160) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M129...', 160) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M130...', 158) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M245...', 157) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M242...', 154) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M239...', 158) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M236...', 157) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M204...', 387) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M277...', 379) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M218...', 127) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M211...', 126) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M201...', 126) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M193...', 128) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M235...', 128) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M245...', 126) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M254...', 129) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M264...', 126) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M226...', 126) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M262...', 161) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M265...', 363) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M207...', 143) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M217...', 147) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M229...', 143) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M239...', 137) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M181...', 133) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M172...', 135) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M164...', 137) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M211...', 160) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M222...', 160) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M201...', 158) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M181...', 161) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M193...', 155) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M174...', 159) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M167...', 160) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M236...', 161) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M203...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M213...', 135) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M220...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M228...', 161) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M238...', 161) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M198...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M188...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M249...', 159) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M257...', 159) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M267...', 159) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M156...', 111) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M187...', 105) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M178...', 111) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M82....', 121) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M84....', 121) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M77....', 121) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M157...', 137) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M245...', 349) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M234...', 346) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M194...', 445) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M168...', 247) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M155...', 396) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M171...', 206) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M186...', 803) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M246...', 179) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M231...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M221...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M211...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M192...', 261) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M189...', 131) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M167...', 181) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M161...', 183) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M155...', 99) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M140...', 181) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M470...', 101) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M476...', 97) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M493...', 91) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M501...', 67) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 14) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M110...', 25) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 14) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M161...', 38) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 14) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M166...', 40) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 14) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M220...', 46) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(svg, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/text-4-byte-UTF-16-BE-offset.xml b/libxml2/result/text-4-byte-UTF-16-BE-offset.xml new file mode 100644 index 0000000..8a314d9 Binary files /dev/null and b/libxml2/result/text-4-byte-UTF-16-BE-offset.xml differ diff --git a/libxml2/result/text-4-byte-UTF-16-BE-offset.xml.rde b/libxml2/result/text-4-byte-UTF-16-BE-offset.xml.rde new file mode 100644 index 0000000..6b81333 --- /dev/null +++ b/libxml2/result/text-4-byte-UTF-16-BE-offset.xml.rde @@ -0,0 +1,5 @@ +0 1 body 0 0 +1 3 #text 0 1 + 🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓 + +0 15 body 0 0 diff --git a/libxml2/result/text-4-byte-UTF-16-BE-offset.xml.rdr b/libxml2/result/text-4-byte-UTF-16-BE-offset.xml.rdr new file mode 100644 index 0000000..6b81333 --- /dev/null +++ b/libxml2/result/text-4-byte-UTF-16-BE-offset.xml.rdr @@ -0,0 +1,5 @@ +0 1 body 0 0 +1 3 #text 0 1 + 🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓 + +0 15 body 0 0 diff --git a/libxml2/result/text-4-byte-UTF-16-BE-offset.xml.sax b/libxml2/result/text-4-byte-UTF-16-BE-offset.xml.sax new file mode 100644 index 0000000..4b3acbf --- /dev/null +++ b/libxml2/result/text-4-byte-UTF-16-BE-offset.xml.sax @@ -0,0 +1,21 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(body) +SAX.characters( + , 2) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 197) +SAX.endElement(body) +SAX.endDocument() diff --git a/libxml2/result/text-4-byte-UTF-16-BE-offset.xml.sax2 b/libxml2/result/text-4-byte-UTF-16-BE-offset.xml.sax2 new file mode 100644 index 0000000..835014b --- /dev/null +++ b/libxml2/result/text-4-byte-UTF-16-BE-offset.xml.sax2 @@ -0,0 +1,21 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(body, NULL, NULL, 0, 0, 0) +SAX.characters( + , 2) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 197) +SAX.endElementNs(body, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/text-4-byte-UTF-16-BE.xml b/libxml2/result/text-4-byte-UTF-16-BE.xml new file mode 100644 index 0000000..3f3e3ea Binary files /dev/null and b/libxml2/result/text-4-byte-UTF-16-BE.xml differ diff --git a/libxml2/result/text-4-byte-UTF-16-BE.xml.rde b/libxml2/result/text-4-byte-UTF-16-BE.xml.rde new file mode 100644 index 0000000..e3c48dd --- /dev/null +++ b/libxml2/result/text-4-byte-UTF-16-BE.xml.rde @@ -0,0 +1,5 @@ +0 1 body 0 0 +1 3 #text 0 1 +🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓 + +0 15 body 0 0 diff --git a/libxml2/result/text-4-byte-UTF-16-BE.xml.rdr b/libxml2/result/text-4-byte-UTF-16-BE.xml.rdr new file mode 100644 index 0000000..e3c48dd --- /dev/null +++ b/libxml2/result/text-4-byte-UTF-16-BE.xml.rdr @@ -0,0 +1,5 @@ +0 1 body 0 0 +1 3 #text 0 1 +🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓 + +0 15 body 0 0 diff --git a/libxml2/result/text-4-byte-UTF-16-BE.xml.sax b/libxml2/result/text-4-byte-UTF-16-BE.xml.sax new file mode 100644 index 0000000..301e850 --- /dev/null +++ b/libxml2/result/text-4-byte-UTF-16-BE.xml.sax @@ -0,0 +1,21 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(body) +SAX.characters( +, 1) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 193) +SAX.endElement(body) +SAX.endDocument() diff --git a/libxml2/result/text-4-byte-UTF-16-BE.xml.sax2 b/libxml2/result/text-4-byte-UTF-16-BE.xml.sax2 new file mode 100644 index 0000000..e57e279 --- /dev/null +++ b/libxml2/result/text-4-byte-UTF-16-BE.xml.sax2 @@ -0,0 +1,21 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(body, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 193) +SAX.endElementNs(body, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/text-4-byte-UTF-16-LE-offset.xml b/libxml2/result/text-4-byte-UTF-16-LE-offset.xml new file mode 100644 index 0000000..8a314d9 Binary files /dev/null and b/libxml2/result/text-4-byte-UTF-16-LE-offset.xml differ diff --git a/libxml2/result/text-4-byte-UTF-16-LE-offset.xml.rde b/libxml2/result/text-4-byte-UTF-16-LE-offset.xml.rde new file mode 100644 index 0000000..6b81333 --- /dev/null +++ b/libxml2/result/text-4-byte-UTF-16-LE-offset.xml.rde @@ -0,0 +1,5 @@ +0 1 body 0 0 +1 3 #text 0 1 + 🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓 + +0 15 body 0 0 diff --git a/libxml2/result/text-4-byte-UTF-16-LE-offset.xml.rdr b/libxml2/result/text-4-byte-UTF-16-LE-offset.xml.rdr new file mode 100644 index 0000000..6b81333 --- /dev/null +++ b/libxml2/result/text-4-byte-UTF-16-LE-offset.xml.rdr @@ -0,0 +1,5 @@ +0 1 body 0 0 +1 3 #text 0 1 + 🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓 + +0 15 body 0 0 diff --git a/libxml2/result/text-4-byte-UTF-16-LE-offset.xml.sax b/libxml2/result/text-4-byte-UTF-16-LE-offset.xml.sax new file mode 100644 index 0000000..4b3acbf --- /dev/null +++ b/libxml2/result/text-4-byte-UTF-16-LE-offset.xml.sax @@ -0,0 +1,21 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(body) +SAX.characters( + , 2) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 197) +SAX.endElement(body) +SAX.endDocument() diff --git a/libxml2/result/text-4-byte-UTF-16-LE-offset.xml.sax2 b/libxml2/result/text-4-byte-UTF-16-LE-offset.xml.sax2 new file mode 100644 index 0000000..835014b --- /dev/null +++ b/libxml2/result/text-4-byte-UTF-16-LE-offset.xml.sax2 @@ -0,0 +1,21 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(body, NULL, NULL, 0, 0, 0) +SAX.characters( + , 2) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 197) +SAX.endElementNs(body, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/text-4-byte-UTF-16-LE.xml b/libxml2/result/text-4-byte-UTF-16-LE.xml new file mode 100644 index 0000000..3f3e3ea Binary files /dev/null and b/libxml2/result/text-4-byte-UTF-16-LE.xml differ diff --git a/libxml2/result/text-4-byte-UTF-16-LE.xml.rde b/libxml2/result/text-4-byte-UTF-16-LE.xml.rde new file mode 100644 index 0000000..e3c48dd --- /dev/null +++ b/libxml2/result/text-4-byte-UTF-16-LE.xml.rde @@ -0,0 +1,5 @@ +0 1 body 0 0 +1 3 #text 0 1 +🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓 + +0 15 body 0 0 diff --git a/libxml2/result/text-4-byte-UTF-16-LE.xml.rdr b/libxml2/result/text-4-byte-UTF-16-LE.xml.rdr new file mode 100644 index 0000000..e3c48dd --- /dev/null +++ b/libxml2/result/text-4-byte-UTF-16-LE.xml.rdr @@ -0,0 +1,5 @@ +0 1 body 0 0 +1 3 #text 0 1 +🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓🥓 + +0 15 body 0 0 diff --git a/libxml2/result/text-4-byte-UTF-16-LE.xml.sax b/libxml2/result/text-4-byte-UTF-16-LE.xml.sax new file mode 100644 index 0000000..301e850 --- /dev/null +++ b/libxml2/result/text-4-byte-UTF-16-LE.xml.sax @@ -0,0 +1,21 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(body) +SAX.characters( +, 1) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 193) +SAX.endElement(body) +SAX.endDocument() diff --git a/libxml2/result/text-4-byte-UTF-16-LE.xml.sax2 b/libxml2/result/text-4-byte-UTF-16-LE.xml.sax2 new file mode 100644 index 0000000..e57e279 --- /dev/null +++ b/libxml2/result/text-4-byte-UTF-16-LE.xml.sax2 @@ -0,0 +1,21 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(body, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 300) +SAX.characters(🥓🥓🥓🥓🥓🥓🥓ðŸ, 193) +SAX.endElementNs(body, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/title.xml b/libxml2/result/title.xml new file mode 100644 index 0000000..1b3fe07 --- /dev/null +++ b/libxml2/result/title.xml @@ -0,0 +1,2 @@ + +my title diff --git a/libxml2/result/title.xml.rde b/libxml2/result/title.xml.rde new file mode 100644 index 0000000..b0d2be0 --- /dev/null +++ b/libxml2/result/title.xml.rde @@ -0,0 +1,3 @@ +0 1 title 0 0 +1 3 #text 0 1 my title +0 15 title 0 0 diff --git a/libxml2/result/title.xml.rdr b/libxml2/result/title.xml.rdr new file mode 100644 index 0000000..b0d2be0 --- /dev/null +++ b/libxml2/result/title.xml.rdr @@ -0,0 +1,3 @@ +0 1 title 0 0 +1 3 #text 0 1 my title +0 15 title 0 0 diff --git a/libxml2/result/title.xml.sax b/libxml2/result/title.xml.sax new file mode 100644 index 0000000..2af71e9 --- /dev/null +++ b/libxml2/result/title.xml.sax @@ -0,0 +1,6 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(title) +SAX.characters(my title, 8) +SAX.endElement(title) +SAX.endDocument() diff --git a/libxml2/result/title.xml.sax2 b/libxml2/result/title.xml.sax2 new file mode 100644 index 0000000..6fa4fa9 --- /dev/null +++ b/libxml2/result/title.xml.sax2 @@ -0,0 +1,6 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(my title, 8) +SAX.endElementNs(title, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/tstblanks.xml b/libxml2/result/tstblanks.xml new file mode 100644 index 0000000..2561859 --- /dev/null +++ b/libxml2/result/tstblanks.xml @@ -0,0 +1,2 @@ + +content diff --git a/libxml2/result/tstblanks.xml.rde b/libxml2/result/tstblanks.xml.rde new file mode 100644 index 0000000..7d2e5fa --- /dev/null +++ b/libxml2/result/tstblanks.xml.rde @@ -0,0 +1,3 @@ +0 1 a 0 0 +1 3 #text 0 1 content +0 15 a 0 0 diff --git a/libxml2/result/tstblanks.xml.rdr b/libxml2/result/tstblanks.xml.rdr new file mode 100644 index 0000000..7d2e5fa --- /dev/null +++ b/libxml2/result/tstblanks.xml.rdr @@ -0,0 +1,3 @@ +0 1 a 0 0 +1 3 #text 0 1 content +0 15 a 0 0 diff --git a/libxml2/result/tstblanks.xml.sax b/libxml2/result/tstblanks.xml.sax new file mode 100644 index 0000000..a1f7b8b --- /dev/null +++ b/libxml2/result/tstblanks.xml.sax @@ -0,0 +1,6 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(a, test='passed') +SAX.characters(content, 7) +SAX.endElement(a) +SAX.endDocument() diff --git a/libxml2/result/tstblanks.xml.sax2 b/libxml2/result/tstblanks.xml.sax2 new file mode 100644 index 0000000..45563a4 --- /dev/null +++ b/libxml2/result/tstblanks.xml.sax2 @@ -0,0 +1,6 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(a, NULL, NULL, 0, 1, 0, test='pass...', 6) +SAX.characters(content, 7) +SAX.endElementNs(a, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/undeclared-entity.xml b/libxml2/result/undeclared-entity.xml new file mode 100644 index 0000000..1fd092f --- /dev/null +++ b/libxml2/result/undeclared-entity.xml @@ -0,0 +1,7 @@ + + + + + + &undeclared; + diff --git a/libxml2/result/undeclared-entity.xml.rde b/libxml2/result/undeclared-entity.xml.rde new file mode 100644 index 0000000..065f91b --- /dev/null +++ b/libxml2/result/undeclared-entity.xml.rde @@ -0,0 +1,13 @@ +0 8 #comment 0 1 Having an external DTD makes undeclared entities a warning. +0 10 doc 0 0 +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 elem 1 0 +1 14 #text 0 1 + +1 1 elem 0 0 +1 15 elem 0 0 +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/libxml2/result/undeclared-entity.xml.rdr b/libxml2/result/undeclared-entity.xml.rdr new file mode 100644 index 0000000..29ebf62 --- /dev/null +++ b/libxml2/result/undeclared-entity.xml.rdr @@ -0,0 +1,14 @@ +0 8 #comment 0 1 Having an external DTD makes undeclared entities a warning. +0 10 doc 0 0 +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 elem 1 0 +1 14 #text 0 1 + +1 1 elem 0 0 +2 5 undeclared 0 0 +1 15 elem 0 0 +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/libxml2/result/undeclared-entity.xml.sax b/libxml2/result/undeclared-entity.xml.sax new file mode 100644 index 0000000..90e7e54 --- /dev/null +++ b/libxml2/result/undeclared-entity.xml.sax @@ -0,0 +1,23 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( Having an external DTD makes undeclared entities a warning. ) +SAX.internalSubset(doc, , foo) +SAX.externalSubset(doc, , foo) +SAX.startElement(doc) +SAX.characters( + , 5) +SAX.getEntity(undeclared) +SAX.warning: Entity 'undeclared' not defined +SAX.startElement(elem, attr='') +SAX.endElement(elem) +SAX.characters( + , 5) +SAX.startElement(elem) +SAX.getEntity(undeclared) +SAX.warning: Entity 'undeclared' not defined +SAX.reference(undeclared) +SAX.endElement(elem) +SAX.characters( +, 1) +SAX.endElement(doc) +SAX.endDocument() diff --git a/libxml2/result/undeclared-entity.xml.sax2 b/libxml2/result/undeclared-entity.xml.sax2 new file mode 100644 index 0000000..56f3f3d --- /dev/null +++ b/libxml2/result/undeclared-entity.xml.sax2 @@ -0,0 +1,24 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( Having an external DTD makes undeclared entities a warning. ) +SAX.internalSubset(doc, , foo) +SAX.externalSubset(doc, , foo) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.getEntity(undeclared) +SAX.warning: Entity 'undeclared' not defined +SAX.startElementNs(elem, NULL, NULL, 0, 1, 0, attr='"/> +...', 0) +SAX.endElementNs(elem, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(elem, NULL, NULL, 0, 0, 0) +SAX.getEntity(undeclared) +SAX.warning: Entity 'undeclared' not defined +SAX.reference(undeclared) +SAX.endElementNs(elem, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/utf16bebom.xml b/libxml2/result/utf16bebom.xml new file mode 100644 index 0000000..3b5466d Binary files /dev/null and b/libxml2/result/utf16bebom.xml differ diff --git a/libxml2/result/utf16bebom.xml.rde b/libxml2/result/utf16bebom.xml.rde new file mode 100644 index 0000000..f69338a --- /dev/null +++ b/libxml2/result/utf16bebom.xml.rde @@ -0,0 +1,4 @@ +0 8 #comment 0 1 This file is encoded in UTF-16BE +0 1 repository 0 0 +1 1 namespace 1 0 +0 15 repository 0 0 diff --git a/libxml2/result/utf16bebom.xml.rdr b/libxml2/result/utf16bebom.xml.rdr new file mode 100644 index 0000000..f69338a --- /dev/null +++ b/libxml2/result/utf16bebom.xml.rdr @@ -0,0 +1,4 @@ +0 8 #comment 0 1 This file is encoded in UTF-16BE +0 1 repository 0 0 +1 1 namespace 1 0 +0 15 repository 0 0 diff --git a/libxml2/result/utf16bebom.xml.sax b/libxml2/result/utf16bebom.xml.sax new file mode 100644 index 0000000..5b74a6d --- /dev/null +++ b/libxml2/result/utf16bebom.xml.sax @@ -0,0 +1,8 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( This file is encoded in UTF-16BE ) +SAX.startElement(repository, repositroy_id='test') +SAX.startElement(namespace, name='test') +SAX.endElement(namespace) +SAX.endElement(repository) +SAX.endDocument() diff --git a/libxml2/result/utf16bebom.xml.sax2 b/libxml2/result/utf16bebom.xml.sax2 new file mode 100644 index 0000000..4326890 --- /dev/null +++ b/libxml2/result/utf16bebom.xml.sax2 @@ -0,0 +1,8 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( This file is encoded in UTF-16BE ) +SAX.startElementNs(repository, NULL, NULL, 0, 1, 0, repositroy_id='test...', 4) +SAX.startElementNs(namespace, NULL, NULL, 0, 1, 0, name='test...', 4) +SAX.endElementNs(namespace, NULL, NULL) +SAX.endElementNs(repository, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/utf16bom.xml b/libxml2/result/utf16bom.xml new file mode 100644 index 0000000..6ea296e Binary files /dev/null and b/libxml2/result/utf16bom.xml differ diff --git a/libxml2/result/utf16bom.xml.rde b/libxml2/result/utf16bom.xml.rde new file mode 100644 index 0000000..0fb84c6 --- /dev/null +++ b/libxml2/result/utf16bom.xml.rde @@ -0,0 +1,3 @@ +0 1 repository 0 0 +1 1 namespace 1 0 +0 15 repository 0 0 diff --git a/libxml2/result/utf16bom.xml.rdr b/libxml2/result/utf16bom.xml.rdr new file mode 100644 index 0000000..0fb84c6 --- /dev/null +++ b/libxml2/result/utf16bom.xml.rdr @@ -0,0 +1,3 @@ +0 1 repository 0 0 +1 1 namespace 1 0 +0 15 repository 0 0 diff --git a/libxml2/result/utf16bom.xml.sax b/libxml2/result/utf16bom.xml.sax new file mode 100644 index 0000000..bd9386e --- /dev/null +++ b/libxml2/result/utf16bom.xml.sax @@ -0,0 +1,7 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(repository, repositroy_id='test') +SAX.startElement(namespace, name='test') +SAX.endElement(namespace) +SAX.endElement(repository) +SAX.endDocument() diff --git a/libxml2/result/utf16bom.xml.sax2 b/libxml2/result/utf16bom.xml.sax2 new file mode 100644 index 0000000..2b2db15 --- /dev/null +++ b/libxml2/result/utf16bom.xml.sax2 @@ -0,0 +1,7 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(repository, NULL, NULL, 0, 1, 0, repositroy_id='test...', 4) +SAX.startElementNs(namespace, NULL, NULL, 0, 1, 0, name='test...', 4) +SAX.endElementNs(namespace, NULL, NULL) +SAX.endElementNs(repository, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/utf16lebom.xml b/libxml2/result/utf16lebom.xml new file mode 100644 index 0000000..933640c Binary files /dev/null and b/libxml2/result/utf16lebom.xml differ diff --git a/libxml2/result/utf16lebom.xml.rde b/libxml2/result/utf16lebom.xml.rde new file mode 100644 index 0000000..32a91e4 --- /dev/null +++ b/libxml2/result/utf16lebom.xml.rde @@ -0,0 +1,4 @@ +0 8 #comment 0 1 This file is encoded in UTF-16LE +0 1 repository 0 0 +1 1 namespace 1 0 +0 15 repository 0 0 diff --git a/libxml2/result/utf16lebom.xml.rdr b/libxml2/result/utf16lebom.xml.rdr new file mode 100644 index 0000000..32a91e4 --- /dev/null +++ b/libxml2/result/utf16lebom.xml.rdr @@ -0,0 +1,4 @@ +0 8 #comment 0 1 This file is encoded in UTF-16LE +0 1 repository 0 0 +1 1 namespace 1 0 +0 15 repository 0 0 diff --git a/libxml2/result/utf16lebom.xml.sax b/libxml2/result/utf16lebom.xml.sax new file mode 100644 index 0000000..e699631 --- /dev/null +++ b/libxml2/result/utf16lebom.xml.sax @@ -0,0 +1,8 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( This file is encoded in UTF-16LE ) +SAX.startElement(repository, repositroy_id='test') +SAX.startElement(namespace, name='test') +SAX.endElement(namespace) +SAX.endElement(repository) +SAX.endDocument() diff --git a/libxml2/result/utf16lebom.xml.sax2 b/libxml2/result/utf16lebom.xml.sax2 new file mode 100644 index 0000000..3b62346 --- /dev/null +++ b/libxml2/result/utf16lebom.xml.sax2 @@ -0,0 +1,8 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( This file is encoded in UTF-16LE ) +SAX.startElementNs(repository, NULL, NULL, 0, 1, 0, repositroy_id='test...', 4) +SAX.startElementNs(namespace, NULL, NULL, 0, 1, 0, name='test...', 4) +SAX.endElementNs(namespace, NULL, NULL) +SAX.endElementNs(repository, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/utf8bom.xml b/libxml2/result/utf8bom.xml new file mode 100644 index 0000000..f4e5164 --- /dev/null +++ b/libxml2/result/utf8bom.xml @@ -0,0 +1,2 @@ + + diff --git a/libxml2/result/utf8bom.xml.rde b/libxml2/result/utf8bom.xml.rde new file mode 100644 index 0000000..55ad211 --- /dev/null +++ b/libxml2/result/utf8bom.xml.rde @@ -0,0 +1 @@ +0 1 foo 1 0 diff --git a/libxml2/result/utf8bom.xml.rdr b/libxml2/result/utf8bom.xml.rdr new file mode 100644 index 0000000..55ad211 --- /dev/null +++ b/libxml2/result/utf8bom.xml.rdr @@ -0,0 +1 @@ +0 1 foo 1 0 diff --git a/libxml2/result/utf8bom.xml.sax b/libxml2/result/utf8bom.xml.sax new file mode 100644 index 0000000..792eb94 --- /dev/null +++ b/libxml2/result/utf8bom.xml.sax @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(foo) +SAX.endElement(foo) +SAX.endDocument() diff --git a/libxml2/result/utf8bom.xml.sax2 b/libxml2/result/utf8bom.xml.sax2 new file mode 100644 index 0000000..cf7f20f --- /dev/null +++ b/libxml2/result/utf8bom.xml.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(foo, NULL, NULL, 0, 0, 0) +SAX.endElementNs(foo, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/valid/127772.xml b/libxml2/result/valid/127772.xml new file mode 100644 index 0000000..c1e128f --- /dev/null +++ b/libxml2/result/valid/127772.xml @@ -0,0 +1,5 @@ + + + + b text + diff --git a/libxml2/result/valid/694228.xml b/libxml2/result/valid/694228.xml new file mode 100644 index 0000000..057c926 --- /dev/null +++ b/libxml2/result/valid/694228.xml @@ -0,0 +1,5 @@ + + + + &entity; + diff --git a/libxml2/result/valid/737840.xml b/libxml2/result/valid/737840.xml new file mode 100644 index 0000000..433c6d6 --- /dev/null +++ b/libxml2/result/valid/737840.xml @@ -0,0 +1,10 @@ + + + + + +]> + + ⌖ + diff --git a/libxml2/result/valid/766956.xml.err b/libxml2/result/valid/766956.xml.err new file mode 100644 index 0000000..b4ac1e5 --- /dev/null +++ b/libxml2/result/valid/766956.xml.err @@ -0,0 +1,9 @@ +test/valid/dtds/766956.dtd:2: parser error : PEReference: expecting ';' +%ä%ent; + ^ +test/valid/dtds/766956.dtd:2: parser error : Content error in the external subset +%ä%ent; + ^ +Entity: line 1: +value +^ diff --git a/libxml2/result/valid/766956.xml.err.rdr b/libxml2/result/valid/766956.xml.err.rdr new file mode 100644 index 0000000..4286379 --- /dev/null +++ b/libxml2/result/valid/766956.xml.err.rdr @@ -0,0 +1,10 @@ +test/valid/dtds/766956.dtd:2: parser error : PEReference: expecting ';' +%ä%ent; + ^ +test/valid/dtds/766956.dtd:2: parser error : Content error in the external subset +%ä%ent; + ^ +Entity: line 1: +value +^ +./test/valid/766956.xml : failed to parse diff --git a/libxml2/result/valid/781333.xml b/libxml2/result/valid/781333.xml new file mode 100644 index 0000000..45dc451 --- /dev/null +++ b/libxml2/result/valid/781333.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/libxml2/result/valid/781333.xml.err b/libxml2/result/valid/781333.xml.err new file mode 100644 index 0000000..b401b49 --- /dev/null +++ b/libxml2/result/valid/781333.xml.err @@ -0,0 +1,3 @@ +./test/valid/781333.xml:4: element a: validity error : Element a content does not follow the DTD, expecting ( ..., got + + ^ diff --git a/libxml2/result/valid/781333.xml.err.rdr b/libxml2/result/valid/781333.xml.err.rdr new file mode 100644 index 0000000..dd9df08 --- /dev/null +++ b/libxml2/result/valid/781333.xml.err.rdr @@ -0,0 +1,6 @@ +./test/valid/781333.xml:4: element a: validity error : Element a content does not follow the DTD, expecting ( ..., got + + ^ +./test/valid/781333.xml:5: element a: validity error : Element a content does not follow the DTD, Expecting more children + +^ diff --git a/libxml2/result/valid/REC-xml-19980210.xml b/libxml2/result/valid/REC-xml-19980210.xml new file mode 100644 index 0000000..9fb9103 --- /dev/null +++ b/libxml2/result/valid/REC-xml-19980210.xml @@ -0,0 +1,4154 @@ + + + + + + + + + + +"> + +'"> + + + + + + + + +amp, +lt, +gt, +apos, +quot"> + + +]> + + + +
    +Extensible Markup Language (XML) 1.0 + +REC-xml-&iso6.doc.date; +W3C Recommendation +&draft.day;&draft.month;&draft.year; + + + +http://www.w3.org/TR/1998/REC-xml-&iso6.doc.date; + +http://www.w3.org/TR/1998/REC-xml-&iso6.doc.date;.xml + +http://www.w3.org/TR/1998/REC-xml-&iso6.doc.date;.html + +http://www.w3.org/TR/1998/REC-xml-&iso6.doc.date;.pdf + +http://www.w3.org/TR/1998/REC-xml-&iso6.doc.date;.ps + + + +http://www.w3.org/TR/REC-xml + + + +http://www.w3.org/TR/PR-xml-971208 + + + +Tim Bray +Textuality and Netscape +tbray@textuality.com +Jean Paoli +Microsoft +jeanpa@microsoft.com +C. M. Sperberg-McQueen +University of Illinois at Chicago +cmsmcq@uic.edu + + +

    The Extensible Markup Language (XML) is a subset of +SGML that is completely described in this document. Its goal is to +enable generic SGML to be served, received, and processed on the Web +in the way that is now possible with HTML. XML has been designed for +ease of implementation and for interoperability with both SGML and +HTML.

    +
    + +

    This document has been reviewed by W3C Members and +other interested parties and has been endorsed by the +Director as a W3C Recommendation. It is a stable +document and may be used as reference material or cited +as a normative reference from another document. W3C's +role in making the Recommendation is to draw attention +to the specification and to promote its widespread +deployment. This enhances the functionality and +interoperability of the Web.

    +

    +This document specifies a syntax created by subsetting an existing, +widely used international text processing standard (Standard +Generalized Markup Language, ISO 8879:1986(E) as amended and +corrected) for use on the World Wide Web. It is a product of the W3C +XML Activity, details of which can be found at http://www.w3.org/XML. A list of +current W3C Recommendations and other technical documents can be found +at http://www.w3.org/TR. +

    +

    This specification uses the term URI, which is defined by , a work in progress expected to update and . +

    +

    The list of known errors in this specification is +available at +http://www.w3.org/XML/xml-19980210-errata.

    +

    Please report errors in this document to +xml-editor@w3.org. +

    +
    + + + +

    Chicago, Vancouver, Mountain View, et al.: +World-Wide Web Consortium, XML Working Group, 1996, 1997.

    +
    + +

    Created in electronic form.

    +
    + +English +Extended Backus-Naur Form (formal grammar) + + + +1997-12-03 : CMSMcQ : yet further changes +1997-12-02 : TB : further changes (see TB to XML WG, +2 December 1997) +1997-12-02 : CMSMcQ : deal with as many corrections and +comments from the proofreaders as possible: +entify hard-coded document date in pubdate element, +change expansion of entity WebSGML, +update status description as per Dan Connolly (am not sure +about refernece to Berners-Lee et al.), +add 'The' to abstract as per WG decision, +move Relationship to Existing Standards to back matter and +combine with References, +re-order back matter so normative appendices come first, +re-tag back matter so informative appendices are tagged informdiv1, +remove XXX XXX from list of 'normative' specs in prose, +move some references from Other References to Normative References, +add RFC 1738, 1808, and 2141 to Other References (they are not +normative since we do not require the processor to enforce any +rules based on them), +add reference to 'Fielding draft' (Berners-Lee et al.), +move notation section to end of body, +drop URIchar non-terminal and use SkipLit instead, +lose stray reference to defunct nonterminal 'markupdecls', +move reference to Aho et al. into appendix (Tim's right), +add prose note saying that hash marks and fragment identifiers are +NOT part of the URI formally speaking, and are NOT legal in +system identifiers (processor 'may' signal an error). +Work through: +Tim Bray reacting to James Clark, +Tim Bray on his own, +Eve Maler, + +NOT DONE YET: +change binary / text to unparsed / parsed. +handle James's suggestion about < in attriubte values +uppercase hex characters, +namechar list, + +1997-12-01 : JB : add some column-width parameters +1997-12-01 : CMSMcQ : begin round of changes to incorporate +recent WG decisions and other corrections: +binding sources of character encoding info (27 Aug / 3 Sept), +correct wording of Faust quotation (restore dropped line), +drop SDD from EncodingDecl, +change text at version number 1.0, +drop misleading (wrong!) sentence about ignorables and extenders, +modify definition of PCData to make bar on msc grammatical, +change grammar's handling of internal subset (drop non-terminal markupdecls), +change definition of includeSect to allow conditional sections, +add integral-declaration constraint on internal subset, +drop misleading / dangerous sentence about relationship of +entities with system storage objects, +change table body tag to htbody as per EM change to DTD, +add rule about space normalization in public identifiers, +add description of how to generate our name-space rules from +Unicode character database (needs further work!). + +1997-10-08 : TB : Removed %-constructs again, new rules +for PE appearance. +1997-10-01 : TB : Case-sensitive markup; cleaned up +element-type defs, lotsa little edits for style +1997-09-25 : TB : Change to elm's new DTD, with +substantial detail cleanup as a side-effect +1997-07-24 : CMSMcQ : correct error (lost *) in definition +of ignoreSectContents (thanks to Makoto Murata) +Allow all empty elements to have end-tags, consistent with +SGML TC (as per JJC). +1997-07-23 : CMSMcQ : pre-emptive strike on pending corrections: +introduce the term 'empty-element tag', note that all empty elements +may use it, and elements declared EMPTY must use it. +Add WFC requiring encoding decl to come first in an entity. +Redefine notations to point to PIs as well as binary entities. +Change autodetection table by removing bytes 3 and 4 from +examples with Byte Order Mark. +Add content model as a term and clarify that it applies to both +mixed and element content. + +1997-06-30 : CMSMcQ : change date, some cosmetic changes, +changes to productions for choice, seq, Mixed, NotationType, +Enumeration. Follow James Clark's suggestion and prohibit +conditional sections in internal subset. TO DO: simplify +production for ignored sections as a result, since we don't +need to worry about parsers which don't expand PErefs finding +a conditional section. +1997-06-29 : TB : various edits +1997-06-29 : CMSMcQ : further changes: +Suppress old FINAL EDIT comments and some dead material. +Revise occurrences of % in grammar to exploit Henry Thompson's pun, +especially markupdecl and attdef. +Remove RMD requirement relating to element content (?). + +1997-06-28 : CMSMcQ : Various changes for 1 July draft: +Add text for draconian error handling (introduce +the term Fatal Error). +RE deleta est (changing wording from +original announcement to restrict the requirement to validating +parsers). +Tag definition of validating processor and link to it. +Add colon as name character. +Change def of %operator. +Change standard definitions of lt, gt, amp. +Strip leading zeros from #x00nn forms. +1997-04-02 : CMSMcQ : final corrections of editorial errors +found in last night's proofreading. Reverse course once more on +well-formed: Webster's Second hyphenates it, and that's enough +for me. +1997-04-01 : CMSMcQ : corrections from JJC, EM, HT, and self +1997-03-31 : Tim Bray : many changes +1997-03-29 : CMSMcQ : some Henry Thompson (on entity handling), +some Charles Goldfarb, some ERB decisions (PE handling in miscellaneous +declarations. Changed Ident element to accept def attribute. +Allow normalization of Unicode characters. move def of systemliteral +into section on literals. +1997-03-28 : CMSMcQ : make as many corrections as possible, from +Terry Allen, Norbert Mikula, James Clark, Jon Bosak, Henry Thompson, +Paul Grosso, and self. Among other things: give in on "well formed" +(Terry is right), tentatively rename QuotedCData as AttValue +and Literal as EntityValue to be more informative, since attribute +values are the only place QuotedCData was used, and +vice versa for entity text and Literal. (I'd call it Entity Text, +but 8879 uses that name for both internal and external entities.) +1997-03-26 : CMSMcQ : resynch the two forks of this draft, reapply +my changes dated 03-20 and 03-21. Normalize old 'may not' to 'must not' +except in the one case where it meant 'may or may not'. +1997-03-21 : TB : massive changes on plane flight from Chicago +to Vancouver +1997-03-21 : CMSMcQ : correct as many reported errors as possible. + +1997-03-20 : CMSMcQ : correct typos listed in CMSMcQ hand copy of spec. +1997-03-20 : CMSMcQ : cosmetic changes preparatory to revision for +WWW conference April 1997: restore some of the internal entity +references (e.g. to docdate, etc.), change character xA0 to &nbsp; +and define nbsp as &#160;, and refill a lot of paragraphs for +legibility. +1996-11-12 : CMSMcQ : revise using Tim's edits: +Add list type of NUMBERED and change most lists either to +BULLETS or to NUMBERED. +Suppress QuotedNames, Names (not used). +Correct trivial-grammar doc type decl. +Rename 'marked section' as 'CDATA section' passim. +Also edits from James Clark: +Define the set of characters from which [^abc] subtracts. +Charref should use just [0-9] not Digit. +Location info needs cleaner treatment: remove? (ERB +question). +One example of a PI has wrong pic. +Clarify discussion of encoding names. +Encoding failure should lead to unspecified results; don't +prescribe error recovery. +Don't require exposure of entity boundaries. +Ignore white space in element content. +Reserve entity names of the form u-NNNN. +Clarify relative URLs. +And some of my own: +Correct productions for content model: model cannot +consist of a name, so "elements ::= cp" is no good. + +1996-11-11 : CMSMcQ : revise for style. +Add new rhs to entity declaration, for parameter entities. +1996-11-10 : CMSMcQ : revise for style. +Fix / complete section on names, characters. +Add sections on parameter entities, conditional sections. +Still to do: Add compatibility note on deterministic content models. +Finish stylistic revision. +1996-10-31 : TB : Add Entity Handling section +1996-10-30 : TB : Clean up term & termdef. Slip in +ERB decision re EMPTY. +1996-10-28 : TB : Change DTD. Implement some of Michael's +suggestions. Change comments back to //. Introduce language for +XML namespace reservation. Add section on white-space handling. +Lots more cleanup. +1996-10-24 : CMSMcQ : quick tweaks, implement some ERB +decisions. Characters are not integers. Comments are /* */ not //. +Add bibliographic refs to 10646, HyTime, Unicode. +Rename old Cdata as MsData since it's only seen +in marked sections. Call them attribute-value pairs not +name-value pairs, except once. Internal subset is optional, needs +'?'. Implied attributes should be signaled to the app, not +have values supplied by processor. +1996-10-16 : TB : track down & excise all DSD references; +introduce some EBNF for entity declarations. +1996-10-?? : TB : consistency check, fix up scraps so +they all parse, get formatter working, correct a few productions. +1996-10-10/11 : CMSMcQ : various maintenance, stylistic, and +organizational changes: +Replace a few literals with xmlpio and +pic entities, to make them consistent and ensure we can change pic +reliably when the ERB votes. +Drop paragraph on recognizers from notation section. +Add match, exact match to terminology. +Move old 2.2 XML Processors and Apps into intro. +Mention comments, PIs, and marked sections in discussion of +delimiter escaping. +Streamline discussion of doctype decl syntax. +Drop old section of 'PI syntax' for doctype decl, and add +section on partial-DTD summary PIs to end of Logical Structures +section. +Revise DSD syntax section to use Tim's subset-in-a-PI +mechanism. +1996-10-10 : TB : eliminate name recognizers (and more?) +1996-10-09 : CMSMcQ : revise for style, consistency through 2.3 +(Characters) +1996-10-09 : CMSMcQ : re-unite everything for convenience, +at least temporarily, and revise quickly +1996-10-08 : TB : first major homogenization pass +1996-10-08 : TB : turn "current" attribute on div type into +CDATA +1996-10-02 : TB : remould into skeleton + entities +1996-09-30 : CMSMcQ : add a few more sections prior to exchange + with Tim. +1996-09-20 : CMSMcQ : finish transcribing notes. +1996-09-19 : CMSMcQ : begin transcribing notes for draft. +1996-09-13 : CMSMcQ : made outline from notes of 09-06, +do some housekeeping + + +
    + + +Introduction +

    Extensible Markup Language, abbreviated XML, describes a class of +data objects called XML documents and +partially describes the behavior of +computer programs which process them. XML is an application profile or +restricted form of SGML, the Standard Generalized Markup +Language . +By construction, XML documents +are conforming SGML documents. +

    +

    XML documents are made up of storage units called entities, which contain either parsed +or unparsed data. +Parsed data is made up of characters, +some +of which form character data, +and some of which form markup. +Markup encodes a description of the document's storage layout and +logical structure. XML provides a mechanism to impose constraints on +the storage layout and logical structure.

    +

    A software module +called an XML processor is used to read XML documents +and provide access to their content and structure. It is assumed that an XML processor is +doing its work on behalf of another module, called the +application. This specification describes the +required behavior of an XML processor in terms of how it must read XML +data and the information it must provide to the application.

    + + +Origin and Goals +

    XML was developed by an XML Working Group (originally known as the +SGML Editorial Review Board) formed under the auspices of the World +Wide Web Consortium (W3C) in 1996. +It was chaired by Jon Bosak of Sun +Microsystems with the active participation of an XML Special +Interest Group (previously known as the SGML Working Group) also +organized by the W3C. The membership of the XML Working Group is given +in an appendix. Dan Connolly served as the WG's contact with the W3C. +

    +

    The design goals for XML are: +

    XML shall be straightforwardly usable over the +Internet.

    +

    XML shall support a wide variety of applications.

    +

    XML shall be compatible with SGML.

    +

    It shall be easy to write programs which process XML +documents.

    +

    The number of optional features in XML is to be kept to the +absolute minimum, ideally zero.

    +

    XML documents should be human-legible and reasonably +clear.

    +

    The XML design should be prepared quickly.

    +

    The design of XML shall be formal and concise.

    +

    XML documents shall be easy to create.

    +

    Terseness in XML markup is of minimal importance.

    +

    +

    This specification, +together with associated standards +(Unicode and ISO/IEC 10646 for characters, +Internet RFC 1766 for language identification tags, +ISO 639 for language name codes, and +ISO 3166 for country name codes), +provides all the information necessary to understand +XML Version &XML.version; +and construct computer programs to process it.

    +

    This version of the XML specification + +&doc.distribution;.

    + +
    + + + + + +Terminology + +

    The terminology used to describe XML documents is defined in the body of +this specification. +The terms defined in the following list are used in building those +definitions and in describing the actions of an XML processor: + + + +

    Conforming documents and XML +processors are permitted to but need not behave as +described.

    + + + +

    Conforming documents and XML processors +are required to behave as described; otherwise they are in error. + +

    +
    + + +

    A violation of the rules of this +specification; results are +undefined. Conforming software may detect and report an error and may +recover from it.

    +
    + + +

    An error +which a conforming XML processor +must detect and report to the application. +After encountering a fatal error, the +processor may continue +processing the data to search for further errors and may report such +errors to the application. In order to support correction of errors, +the processor may make unprocessed data from the document (with +intermingled character data and markup) available to the application. +Once a fatal error is detected, however, the processor must not +continue normal processing (i.e., it must not +continue to pass character data and information about the document's +logical structure to the application in the normal way). +

    +
    + + +

    Conforming software may or must (depending on the modal verb in the +sentence) behave as described; if it does, it must +provide users a means to enable or disable the behavior +described.

    +
    + + +

    A rule which applies to all +valid XML documents. +Violations of validity constraints are errors; they must, at user option, +be reported by +validating XML processors.

    +
    + + +

    A rule which applies to all well-formed XML documents. +Violations of well-formedness constraints are +fatal errors.

    +
    + + + +

    (Of strings or names:) +Two strings or names being compared must be identical. +Characters with multiple possible representations in ISO/IEC 10646 (e.g. +characters with +both precomposed and base+diacritic forms) match only if they have the +same representation in both strings. +At user option, processors may normalize such characters to +some canonical form. +No case folding is performed. +(Of strings and rules in the grammar:) +A string matches a grammatical production if it belongs to the +language generated by that production. +(Of content and content models:) +An element matches its declaration when it conforms +in the fashion described in the constraint +. + +

    +
    + + +

    A feature of +XML included solely to ensure that XML remains compatible with SGML. +

    +
    + + +

    A +non-binding recommendation included to increase the chances that XML +documents can be processed by the existing installed base of SGML +processors which predate the +&WebSGML;.

    +
    + +

    +
    + + +
    + + + +Documents + +

    +A data object is an +XML document if it is +well-formed, as +defined in this specification. +A well-formed XML document may in addition be +valid if it meets certain further +constraints.

    + +

    Each XML document has both a logical and a physical structure. +Physically, the document is composed of units called entities. An entity may refer to other entities to cause their +inclusion in the document. A document begins in a "root" or document entity. +Logically, the document is composed of declarations, elements, +comments, +character references, and +processing +instructions, all of which are indicated in the document by explicit +markup. +The logical and physical structures must nest properly, as described +in . +

    + + +Well-Formed XML Documents + +

    +A textual object is +a well-formed XML document if: + +

    Taken as a whole, it +matches the production labeled document.

    +

    It +meets all the well-formedness constraints given in this specification.

    +
    +

    Each of the parsed entities +which is referenced directly or indirectly within the document is +well-formed.

    +

    +

    + +Document +document +prolog +element +Misc* + +

    +

    Matching the document production +implies that: + +

    It contains one or more +elements.

    + + +

    There is exactly +one element, called the root, or document element, no +part of which appears in the content of any other element. +For all other elements, if the start-tag is in the content of another +element, the end-tag is in the content of the same element. More +simply stated, the elements, delimited by start- and end-tags, nest +properly within each other. +

    + +

    +

    As a consequence +of this, +for each non-root element +C in the document, there is one other element P +in the document such that +C is in the content of P, but is not in +the content of any other element that is in the content of +P. +P is referred to as the +parent of C, and C as a +child of P.

    + + +Characters + +

    A parsed entity contains +text, a sequence of +characters, +which may represent markup or character data. +A character +is an atomic unit of text as specified by +ISO/IEC 10646 . +Legal characters are tab, carriage return, line feed, and the legal +graphic characters of Unicode and ISO/IEC 10646. +The use of "compatibility characters", as defined in section 6.8 +of , is discouraged. + + +Character Range + +Char +#x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] +| [#x10000-#x10FFFF] +any Unicode character, excluding the +surrogate blocks, FFFE, and FFFF. + + +

    + +

    The mechanism for encoding character code points into bit patterns may +vary from entity to entity. All XML processors must accept the UTF-8 +and UTF-16 encodings of 10646; the mechanisms for signaling which of +the two is in use, or for bringing other encodings into play, are +discussed later, in . +

    + +
    + + +Common Syntactic Constructs + +

    This section defines some symbols used widely in the grammar.

    +

    S (white space) consists of one or more space (#x20) +characters, carriage returns, line feeds, or tabs. + + +White Space + +S +(#x20 | #x9 | #xD | #xA)+ + + +

    +

    Characters are classified for convenience as letters, digits, or other +characters. Letters consist of an alphabetic or syllabic +base character possibly +followed by one or more combining characters, or of an ideographic +character. +Full definitions of the specific characters in each class +are given in .

    +

    A Name is a token +beginning with a letter or one of a few punctuation characters, and continuing +with letters, digits, hyphens, underscores, colons, or full stops, together +known as name characters. +Names beginning with the string "xml", or any string +which would match (('X'|'x') ('M'|'m') ('L'|'l')), are +reserved for standardization in this or future versions of this +specification. +

    + +

    The colon character within XML names is reserved for experimentation with +name spaces. +Its meaning is expected to be +standardized at some future point, at which point those documents +using the colon for experimental purposes may need to be updated. +(There is no guarantee that any name-space mechanism +adopted for XML will in fact use the colon as a name-space delimiter.) +In practice, this means that authors should not use the colon in XML +names except as part of name-space experiments, but that XML processors +should accept the colon as a name character.

    +
    +

    An +Nmtoken (name token) is any mixture of +name characters. + +Names and Tokens +NameChar +Letter +| Digit +| '.' | '-' | '_' | ':' +| CombiningChar +| Extender + +Name +(Letter | '_' | ':') +(NameChar)* +Names +Name +(S Name)* +Nmtoken +(NameChar)+ +Nmtokens +Nmtoken (S Nmtoken)* + +

    +

    Literal data is any quoted string not containing +the quotation mark used as a delimiter for that string. +Literals are used +for specifying the content of internal entities +(EntityValue), +the values of attributes (AttValue), +and external identifiers +(SystemLiteral). +Note that a SystemLiteral +can be parsed without scanning for markup. + +Literals +EntityValue +'"' +([^%&"] +| PEReference +| Reference)* +'"' + +|  +"'" +([^%&'] +| PEReference +| Reference)* +"'" + +AttValue +'"' +([^<&"] +| Reference)* +'"' + +|  +"'" +([^<&'] +| Reference)* +"'" + +SystemLiteral +('"' [^"]* '"') | ("'" [^']* "'") + + +PubidLiteral +'"' PubidChar* +'"' +| "'" (PubidChar - "'")* "'" + +PubidChar +#x20 | #xD | #xA +| [a-zA-Z0-9] +| [-'()+,./:=?;!*#@$_%] + + +

    + +
    + + +Character Data and Markup + +

    Text consists of intermingled +character +data and markup. +Markup takes the form of +start-tags, +end-tags, +empty-element tags, +entity references, +character references, +comments, +CDATA section delimiters, +document type declarations, and +processing instructions. + +

    +

    All text that is not markup +constitutes the character data of +the document.

    +

    The ampersand character (&) and the left angle bracket (<) +may appear in their literal form only when used as markup +delimiters, or within a comment, a +processing instruction, +or a CDATA section. + +They are also legal within the literal entity +value of an internal entity declaration; see +. + +If they are needed elsewhere, +they must be escaped +using either numeric character references +or the strings +"&amp;" and "&lt;" respectively. +The right angle +bracket (>) may be represented using the string +"&gt;", and must, for +compatibility, +be escaped using +"&gt;" or a character reference +when it appears in the string +"]]>" +in content, +when that string is not marking the end of +a CDATA section. +

    +

    +In the content of elements, character data +is any string of characters which does +not contain the start-delimiter of any markup. +In a CDATA section, character data +is any string of characters not including the CDATA-section-close +delimiter, "]]>".

    +

    +To allow attribute values to contain both single and double quotes, the +apostrophe or single-quote character (') may be represented as +"&apos;", and the double-quote character (") as +"&quot;". + +Character Data + +CharData +[^<&]* - ([^<&]* ']]>' [^<&]*) + + +

    +
    + + +Comments + +

    Comments may +appear anywhere in a document outside other +markup; in addition, +they may appear within the document type declaration +at places allowed by the grammar. +They are not part of the document's character +data; an XML +processor may, but need not, make it possible for an application to +retrieve the text of comments. +For compatibility, the string +"--" (double-hyphen) must not occur within +comments. + +Comments +Comment +'<!--' +((Char - '-') +| ('-' (Char - '-')))* +'-->' + + +

    +

    An example of a comment: +<!&como; declarations for <head> & <body> &comc;> +

    +
    + + +Processing Instructions + +

    Processing +instructions (PIs) allow documents to contain instructions +for applications. + + +Processing Instructions +PI +'<?' PITarget +(S +(Char* - +(Char* &pic; Char*)))? +&pic; +PITarget +Name - +(('X' | 'x') ('M' | 'm') ('L' | 'l')) + + +PIs are not part of the document's character +data, but must be passed through to the application. The +PI begins with a target (PITarget) used +to identify the application to which the instruction is directed. +The target names "XML", "xml", and so on are +reserved for standardization in this or future versions of this +specification. +The +XML Notation mechanism +may be used for +formal declaration of PI targets. +

    +
    + + +CDATA Sections + +

    CDATA sections +may occur +anywhere character data may occur; they are +used to escape blocks of text containing characters which would +otherwise be recognized as markup. CDATA sections begin with the +string "<![CDATA[" and end with the string +"]]>": + +CDATA Sections +CDSect +CDStart +CData +CDEnd +CDStart +'<![CDATA[' + +CData +(Char* - +(Char* ']]>' Char*)) + + +CDEnd +']]>' + + + +Within a CDATA section, only the CDEnd string is +recognized as markup, so that left angle brackets and ampersands may occur in +their literal form; they need not (and cannot) be escaped using +"&lt;" and "&amp;". CDATA sections +cannot nest. +

    + +

    An example of a CDATA section, in which "<greeting>" and +"</greeting>" +are recognized as character data, not +markup: +<![CDATA[<greeting>Hello, world!</greeting>]]> +

    +
    + + +Prolog and Document Type Declaration + +

    XML documents +may, and should, +begin with an XML declaration which specifies +the version of +XML being used. +For example, the following is a complete XML document, well-formed but not +valid: + +Hello, world! +]]> +and so is this: +Hello, world! +]]> +

    + +

    The version number "1.0" should be used to indicate +conformance to this version of this specification; it is an error +for a document to use the value "1.0" +if it does not conform to this version of this specification. +It is the intent +of the XML working group to give later versions of this specification +numbers other than "1.0", but this intent does not +indicate a +commitment to produce any future versions of XML, nor if any are produced, to +use any particular numbering scheme. +Since future versions are not ruled out, this construct is provided +as a means to allow the possibility of automatic version recognition, should +it become necessary. +Processors may signal an error if they receive documents labeled with +versions they do not support. +

    +

    The function of the markup in an XML document is to describe its +storage and logical structure and to associate attribute-value pairs +with its logical structures. XML provides a mechanism, the document type declaration, to define +constraints on the logical structure and to support the use of +predefined storage units. + +An XML document is +valid if it has an associated document type +declaration and if the document +complies with the constraints expressed in it.

    +

    The document type declaration must appear before +the first element in the document. + +Prolog + +prolog +XMLDecl? +Misc* +(doctypedecl +Misc*)? +XMLDecl +&xmlpio; +VersionInfo +EncodingDecl? +SDDecl? +S? +&pic; + +VersionInfo +S 'version' Eq +(' VersionNum ' +| " VersionNum ") + +Eq +S? '=' S? + +VersionNum +([a-zA-Z0-9_.:] | '-')+ + +Misc +Comment | PI | +S + +

    + +

    The XML +document type declaration +contains or points to +markup declarations +that provide a grammar for a +class of documents. +This grammar is known as a document type definition, +or DTD. +The document type declaration can point to an external subset (a +special kind of +external entity) containing markup +declarations, or can +contain the markup declarations directly in an internal subset, or can do +both. +The DTD for a document consists of both subsets taken +together. +

    +

    +A markup declaration is +an element type declaration, +an attribute-list declaration, +an entity declaration, or +a notation declaration. + +These declarations may be contained in whole or in part +within parameter entities, +as described in the well-formedness and validity constraints below. +For fuller information, see +.

    + +Document Type Definition + +doctypedecl +'<!DOCTYPE' S +Name (S +ExternalID)? +S? ('[' +(markupdecl +| PEReference +| S)* +']' +S?)? '>' + + +markupdecl +elementdecl +| AttlistDecl +| EntityDecl +| NotationDecl +| PI +| Comment + + + + + + + + +

    The markup declarations may be made up in whole or in part of +the replacement text of +parameter entities. +The productions later in this specification for +individual nonterminals (elementdecl, +AttlistDecl, and so on) describe +the declarations after all the parameter entities have been +included.

    + + +Root Element Type +

    +The Name in the document type declaration must +match the element type of the root element. +

    +
    + + +Proper Declaration/PE Nesting +

    Parameter-entity +replacement text must be properly nested +with markup declarations. +That is to say, if either the first character +or the last character of a markup +declaration (markupdecl above) +is contained in the replacement text for a +parameter-entity reference, +both must be contained in the same replacement text.

    +
    + +PEs in Internal Subset +

    In the internal DTD subset, +parameter-entity references +can occur only where markup declarations can occur, not +within markup declarations. (This does not apply to +references that occur in +external parameter entities or to the external subset.) +

    +
    +

    +Like the internal subset, the external subset and +any external parameter entities referred to in the DTD +must consist of a series of complete markup declarations of the types +allowed by the non-terminal symbol +markupdecl, interspersed with white space +or parameter-entity references. +However, portions of the contents +of the +external subset or of external parameter entities may conditionally be ignored +by using +the conditional section +construct; this is not allowed in the internal subset. + + +External Subset + +extSubset +TextDecl? +extSubsetDecl +extSubsetDecl +( +markupdecl +| conditionalSect +| PEReference +| S +)* + + +

    +

    The external subset and external parameter entities also differ +from the internal subset in that in them, +parameter-entity references +are permitted within markup declarations, +not only between markup declarations.

    +

    An example of an XML document with a document type declaration: + + +Hello, world! +]]> +The system identifier +"hello.dtd" gives the URI of a DTD for the document.

    +

    The declarations can also be given locally, as in this +example: + + +]> +Hello, world! +]]> +If both the external and internal subsets are used, the +internal subset is considered to occur before the external subset. + +This has the effect that entity and attribute-list declarations in the +internal subset take precedence over those in the external subset. +

    +
    + + +Standalone Document Declaration +

    Markup declarations can affect the content of the document, +as passed from an XML processor +to an application; examples are attribute defaults and entity +declarations. +The standalone document declaration, +which may appear as a component of the XML declaration, signals +whether or not there are such declarations which appear external to +the document entity. + +Standalone Document Declaration + +SDDecl + +S +'standalone' Eq +(("'" ('yes' | 'no') "'") | ('"' ('yes' | 'no') '"')) + + + +

    +

    +In a standalone document declaration, the value "yes" indicates +that there +are no markup declarations external to the document +entity (either in the DTD external subset, or in an +external parameter entity referenced from the internal subset) +which affect the information passed from the XML processor to +the application. +The value "no" indicates that there are or may be such +external markup declarations. +Note that the standalone document declaration only +denotes the presence of external declarations; the presence, in a +document, of +references to external entities, when those entities are +internally declared, +does not change its standalone status.

    +

    If there are no external markup declarations, the standalone document +declaration has no meaning. +If there are external markup declarations but there is no standalone +document declaration, the value "no" is assumed.

    +

    Any XML document for which standalone="no" holds can +be converted algorithmically to a standalone document, +which may be desirable for some network delivery applications.

    + +Standalone Document Declaration +

    The standalone document declaration must have +the value "no" if any external markup declarations +contain declarations of:

    +

    attributes with default values, if +elements to which +these attributes apply appear in the document without +specifications of values for these attributes, or

    +

    entities (other than &magicents;), +if references to those +entities appear in the document, or

    +
    +

    attributes with values subject to +normalization, where the +attribute appears in the document with a value which will +change as a result of normalization, or

    +
    + +

    element types with element content, +if white space occurs +directly within any instance of those types. +

    +
    + +
    +

    An example XML declaration with a standalone document declaration:<?xml version="&XML.version;" standalone='yes'?>

    +
    + +White Space Handling + +

    In editing XML documents, it is often convenient to use "white space" +(spaces, tabs, and blank lines, denoted by the nonterminal +S in this specification) to +set apart the markup for greater readability. Such white space is typically +not intended for inclusion in the delivered version of the document. +On the other hand, "significant" white space that should be preserved in the +delivered version is common, for example in poetry and +source code.

    +

    An XML processor +must always pass all characters in a document that are not +markup through to the application. A +validating XML processor must also inform the application +which of these characters constitute white space appearing +in element content. +

    +

    A special attribute +named xml:space may be attached to an element +to signal an intention that in that element, +white space should be preserved by applications. +In valid documents, this attribute, like any other, must be +declared if it is used. +When declared, it must be given as an +enumerated type whose only +possible values are "default" and "preserve". +For example:]]>

    +

    The value "default" signals that applications' +default white-space processing modes are acceptable for this element; the +value "preserve" indicates the intent that applications preserve +all the white space. +This declared intent is considered to apply to all elements within the content +of the element where it is specified, unless overridden with another instance +of the xml:space attribute. +

    +

    The root element of any document +is considered to have signaled no intentions as regards application space +handling, unless it provides a value for +this attribute or the attribute is declared with a default value. +

    + +
    + +End-of-Line Handling +

    XML parsed entities are often stored in +computer files which, for editing convenience, are organized into lines. +These lines are typically separated by some combination of the characters +carriage-return (#xD) and line-feed (#xA).

    +

    To simplify the tasks of applications, +wherever an external parsed entity or the literal entity value +of an internal parsed entity contains either the literal +two-character sequence "#xD#xA" or a standalone literal +#xD, an XML processor must +pass to the application the single character #xA. +(This behavior can +conveniently be produced by normalizing all +line breaks to #xA on input, before parsing.) +

    +
    + +Language Identification +

    In document processing, it is often useful to +identify the natural or formal language +in which the content is +written. +A special attribute named +xml:lang may be inserted in +documents to specify the +language used in the contents and attribute values +of any element in an XML document. +In valid documents, this attribute, like any other, must be +declared if it is used. +The values of the attribute are language identifiers as defined +by , "Tags for the Identification of Languages": + +Language Identification +LanguageID +Langcode +('-' Subcode)* +Langcode +ISO639Code | +IanaCode | +UserCode + +ISO639Code +([a-z] | [A-Z]) ([a-z] | [A-Z]) +IanaCode +('i' | 'I') '-' ([a-z] | [A-Z])+ +UserCode +('x' | 'X') '-' ([a-z] | [A-Z])+ +Subcode +([a-z] | [A-Z])+ + +The Langcode may be any of the following: + +

    a two-letter language code as defined by +, "Codes +for the representation of names of languages"

    +

    a language identifier registered with the Internet +Assigned Numbers Authority ; these begin with the +prefix "i-" (or "I-")

    +

    a language identifier assigned by the user, or agreed on +between parties in private use; these must begin with the +prefix "x-" or "X-" in order to ensure that they do not conflict +with names later standardized or registered with IANA

    +

    +

    There may be any number of Subcode segments; if +the first +subcode segment exists and the Subcode consists of two +letters, then it must be a country code from +, "Codes +for the representation of names of countries." +If the first +subcode consists of more than two letters, it must be +a subcode for the language in question registered with IANA, +unless the Langcode begins with the prefix +"x-" or +"X-".

    +

    It is customary to give the language code in lower case, and +the country code (if any) in upper case. +Note that these values, unlike other names in XML documents, +are case insensitive.

    +

    For example: +The quick brown fox jumps over the lazy dog.

    +

    What colour is it?

    +

    What color is it?

    + + Habe nun, ach! Philosophie, + Juristerei, und Medizin + und leider auch Theologie + durchaus studiert mit heißem Bemüh'n. + ]]>

    + +

    The intent declared with xml:lang is considered to apply to +all attributes and content of the element where it is specified, +unless overridden with an instance of xml:lang +on another element within that content.

    + +

    A simple declaration for xml:lang might take +the form +xml:lang NMTOKEN #IMPLIED +but specific default values may also be given, if appropriate. In a +collection of French poems for English students, with glosses and +notes in English, the xml:lang attribute might be declared this way: + + + ]]> +

    + +
    +
    + + + +Logical Structures + +

    Each XML document contains one or more +elements, the boundaries of which are +either delimited by start-tags +and end-tags, or, for empty elements, by an empty-element tag. Each element has a type, +identified by name, sometimes called its "generic +identifier" (GI), and may have a set of +attribute specifications. Each attribute specification +has a name and a value. +

    +Element +element +EmptyElemTag +| STag content +ETag + + + + +

    This specification does not constrain the semantics, use, or (beyond +syntax) names of the element types and attributes, except that names +beginning with a match to (('X'|'x')('M'|'m')('L'|'l')) +are reserved for standardization in this or future versions of this +specification. +

    + +Element Type Match +

    +The Name in an element's end-tag must match +the element type in +the start-tag. +

    +
    + +Element Valid +

    An element is +valid if +there is a declaration matching +elementdecl where the +Name matches the element type, and +one of the following holds:

    + +

    The declaration matches EMPTY and the element has no +content.

    +

    The declaration matches children and +the sequence of +child elements +belongs to the language generated by the regular expression in +the content model, with optional white space (characters +matching the nonterminal S) between each pair +of child elements.

    +

    The declaration matches Mixed and +the content consists of character +data and child elements +whose types match names in the content model.

    +

    The declaration matches ANY, and the types +of any child elements have +been declared.

    +
    +
    + + +Start-Tags, End-Tags, and Empty-Element Tags + +

    The beginning of every +non-empty XML element is marked by a start-tag. + +Start-tag + +STag +'<' Name +(S Attribute)* +S? '>' + + +Attribute +Name Eq +AttValue + + + + + +The Name in +the start- and end-tags gives the +element's type. + +The Name-AttValue pairs are +referred to as +the attribute specifications of the element, +with the +Name in each pair +referred to as the attribute name and +the content of the +AttValue (the text between the +' or " delimiters) +as the attribute value. +

    + +Unique Att Spec +

    +No attribute name may appear more than once in the same start-tag +or empty-element tag. +

    +
    + +Attribute Value Type +

    +The attribute must have been declared; the value must be of the type +declared for it. +(For attribute types, see .) +

    +
    + +No External Entity References +

    +Attribute values cannot contain direct or indirect entity references +to external entities. +

    +
    + +No < in Attribute Values +

    The replacement text of any entity +referred to directly or indirectly in an attribute +value (other than "&lt;") must not contain +a <. +

    +

    An example of a start-tag: +<termdef id="dt-dog" term="dog">

    +

    The end of every element +that begins with a start-tag must +be marked by an end-tag +containing a name that echoes the element's type as given in the +start-tag: + +End-tag + +ETag +'</' Name +S? '>' + + +

    +

    An example of an end-tag:</termdef>

    +

    The +text between the start-tag and +end-tag is called the element's +content: + +Content of Elements + +content +(element | CharData +| Reference | CDSect +| PI | Comment)* + + + +

    +

    If an element is empty, +it must be represented either by a start-tag immediately followed +by an end-tag or by an empty-element tag. +An +empty-element tag takes a special form: + +Tags for Empty Elements + +EmptyElemTag +'<' Name (S +Attribute)* S? +'/>' + + + + +

    +

    Empty-element tags may be used for any element which has no +content, whether or not it is declared using the keyword +EMPTY. +For interoperability, the empty-element +tag must be used, and can only be used, for elements which are +declared EMPTY.

    +

    Examples of empty elements: +<IMG align="left" + src="http://www.w3.org/Icons/WWW/w3c_home" /> +<br></br> +<br/>

    +
    + + +Element Type Declarations + +

    The element structure of an +XML document may, for +validation purposes, +be constrained +using element type and attribute-list declarations. +An element type declaration constrains the element's +content. +

    + +

    Element type declarations often constrain which element types can +appear as children of the element. +At user option, an XML processor may issue a warning +when a declaration mentions an element type for which no declaration +is provided, but this is not an error.

    +

    An element +type declaration takes the form: + +Element Type Declaration + +elementdecl +'<!ELEMENT' S +Name +S +contentspec +S? '>' + +contentspec +'EMPTY' +| 'ANY' +| Mixed +| children + + + + +where the Name gives the element type +being declared. +

    + + +Unique Element Type Declaration +

    +No element type may be declared more than once. +

    +
    + +

    Examples of element type declarations: +<!ELEMENT br EMPTY> +<!ELEMENT p (#PCDATA|emph)* > +<!ELEMENT %name.para; %content.para; > +<!ELEMENT container ANY>

    + + +Element Content + +

    An element type has +element content when elements of that +type must contain only child +elements (no character data), optionally separated by +white space (characters matching the nonterminal +S). + +In this case, the +constraint includes a content model, a simple grammar governing +the allowed types of the child +elements and the order in which they are allowed to appear. +The grammar is built on +content particles (cps), which consist of names, +choice lists of content particles, or +sequence lists of content particles: + +Element-content Models + +children +(choice +| seq) +('?' | '*' | '+')? +cp +(Name +| choice +| seq) +('?' | '*' | '+')? +choice +'(' S? cp +( S? '|' S? cp )* +S? ')' + +seq +'(' S? cp +( S? ',' S? cp )* +S? ')' + + + + +where each Name is the type of an element which may +appear as a child. +Any content +particle in a choice list may appear in the element content at the location where +the choice list appears in the grammar; +content particles occurring in a sequence list must each +appear in the element content in the +order given in the list. +The optional character following a name or list governs +whether the element or the content particles in the list may occur one +or more (+), zero or more (*), or zero or +one times (?). +The absence of such an operator means that the element or content particle +must appear exactly once. +This syntax +and meaning are identical to those used in the productions in this +specification.

    +

    +The content of an element matches a content model if and only if it is +possible to trace out a path through the content model, obeying the +sequence, choice, and repetition operators and matching each element in +the content against an element type in the content model. For compatibility, it is an error +if an element in the document can +match more than one occurrence of an element type in the content model. +For more information, see . + + +

    + +Proper Group/PE Nesting +

    Parameter-entity +replacement text must be properly nested +with parenthetized groups. +That is to say, if either of the opening or closing parentheses +in a choice, seq, or +Mixed construct +is contained in the replacement text for a +parameter entity, +both must be contained in the same replacement text.

    +

    For interoperability, +if a parameter-entity reference appears in a +choice, seq, or +Mixed construct, its replacement text +should not be empty, and +neither the first nor last non-blank +character of the replacement text should be a connector +(| or ,). +

    +
    +

    Examples of element-content models: +<!ELEMENT spec (front, body, back?)> +<!ELEMENT div1 (head, (p | list | note)*, div2*)> +<!ELEMENT dictionary-body (%div.mix; | %dict.mix;)*>

    +
    + + +Mixed Content + +

    An element +type has +mixed content when elements of that type may contain +character data, optionally interspersed with +child elements. +In this case, the types of the child elements +may be constrained, but not their order or their number of occurrences: + +Mixed-content Declaration + +Mixed +'(' S? +'#PCDATA' +(S? +'|' +S? +Name)* +S? +')*' +| '(' S? '#PCDATA' S? ')' + + + + + + +where the Names give the types of elements +that may appear as children. +

    + +No Duplicate Types +

    The same name must not appear more than once in a single mixed-content +declaration. +

    +

    Examples of mixed content declarations: +<!ELEMENT p (#PCDATA|a|ul|b|i|em)*> +<!ELEMENT p (#PCDATA | %font; | %phrase; | %special; | %form;)* > +<!ELEMENT b (#PCDATA)>

    +
    +
    + + +Attribute-List Declarations + +

    Attributes are used to associate +name-value pairs with elements. +Attribute specifications may appear only within start-tags +and empty-element tags; +thus, the productions used to +recognize them appear in . +Attribute-list +declarations may be used: + +

    To define the set of attributes pertaining to a given +element type.

    +

    To establish type constraints for these +attributes.

    +

    To provide default values +for attributes.

    + +

    +

    +Attribute-list declarations specify the name, data type, and default +value (if any) of each attribute associated with a given element type: + +Attribute-list Declaration +AttlistDecl +'<!ATTLIST' S +Name +AttDef* +S? '>' + +AttDef +S Name +S AttType +S DefaultDecl + + +The Name in the +AttlistDecl rule is the type of an element. At +user option, an XML processor may issue a warning if attributes are +declared for an element type not itself declared, but this is not an +error. The Name in the +AttDef rule is +the name of the attribute.

    +

    +When more than one AttlistDecl is provided for a +given element type, the contents of all those provided are merged. When +more than one definition is provided for the same attribute of a +given element type, the first declaration is binding and later +declarations are ignored. +For interoperability, writers of DTDs +may choose to provide at most one attribute-list declaration +for a given element type, at most one attribute definition +for a given attribute name, and at least one attribute definition +in each attribute-list declaration. +For interoperability, an XML processor may at user option +issue a warning when more than one attribute-list declaration is +provided for a given element type, or more than one attribute definition +is provided +for a given attribute, but this is not an error. +

    + + +Attribute Types + +

    XML attribute types are of three kinds: a string type, a +set of tokenized types, and enumerated types. The string type may take +any literal string as a value; the tokenized types have varying lexical +and semantic constraints, as noted: + +Attribute Types + +AttType +StringType +| TokenizedType +| EnumeratedType + + +StringType +'CDATA' + +TokenizedType +'ID' + + + +| 'IDREF' + +| 'IDREFS' + +| 'ENTITY' + +| 'ENTITIES' + +| 'NMTOKEN' + +| 'NMTOKENS' + + + +

    + +ID +

    +Values of type ID must match the +Name production. +A name must not appear more than once in +an XML document as a value of this type; i.e., ID values must uniquely +identify the elements which bear them. +

    +
    + +One ID per Element Type +

    No element type may have more than one ID attribute specified.

    +
    + +ID Attribute Default +

    An ID attribute must have a declared default of #IMPLIED or +#REQUIRED.

    +
    + +IDREF +

    +Values of type IDREF must match +the Name production, and +values of type IDREFS must match +Names; +each Name must match the value of an ID attribute on +some element in the XML document; i.e. IDREF values must +match the value of some ID attribute. +

    +
    + +Entity Name +

    +Values of type ENTITY +must match the Name production, +values of type ENTITIES must match +Names; +each Name must +match the +name of an unparsed entity declared in the +DTD. +

    +
    + +Name Token +

    +Values of type NMTOKEN must match the +Nmtoken production; +values of type NMTOKENS must +match Nmtokens. +

    +
    + +

    Enumerated attributes can take one +of a list of values provided in the declaration. There are two +kinds of enumerated types: + +Enumerated Attribute Types +EnumeratedType +NotationType +| Enumeration + +NotationType +'NOTATION' +S +'(' +S? +Name +(S? '|' S? +Name)* +S? ')' + + +Enumeration +'(' S? +Nmtoken +(S? '|' +S? +Nmtoken)* +S? +')' + + +A NOTATION attribute identifies a +notation, declared in the +DTD with associated system and/or public identifiers, to +be used in interpreting the element to which the attribute +is attached. +

    + + +Notation Attributes +

    +Values of this type must match +one of the notation names included in +the declaration; all notation names in the declaration must +be declared. +

    +
    + +Enumeration +

    +Values of this type +must match one of the Nmtoken tokens in the +declaration. +

    +
    +

    For interoperability, the same +Nmtoken should not occur more than once in the +enumerated attribute types of a single element type. +

    +
    + + +Attribute Defaults + +

    An attribute declaration provides +information on whether +the attribute's presence is required, and if not, how an XML processor should +react if a declared attribute is absent in a document. + +Attribute Defaults + +DefaultDecl +'#REQUIRED' +| '#IMPLIED' +| (('#FIXED' S)? AttValue) + + + + + + + + +

    +

    In an attribute declaration, #REQUIRED means that the +attribute must always be provided, #IMPLIED that no default +value is provided. + +If the +declaration +is neither #REQUIRED nor #IMPLIED, then the +AttValue value contains the declared +default value; the #FIXED keyword states that +the attribute must always have the default value. +If a default value +is declared, when an XML processor encounters an omitted attribute, it +is to behave as though the attribute were present with +the declared default value.

    + +Required Attribute +

    If the default declaration is the keyword #REQUIRED, then +the attribute must be specified for +all elements of the type in the attribute-list declaration. +

    + +Attribute Default Legal +

    +The declared +default value must meet the lexical constraints of the declared attribute type. +

    +
    + +Fixed Attribute Default +

    If an attribute has a default value declared with the +#FIXED keyword, instances of that attribute must +match the default value. +

    + +

    Examples of attribute-list declarations: +<!ATTLIST termdef + id ID #REQUIRED + name CDATA #IMPLIED> +<!ATTLIST list + type (bullets|ordered|glossary) "ordered"> +<!ATTLIST form + method CDATA #FIXED "POST">

    +
    + +Attribute-Value Normalization +

    Before the value of an attribute is passed to the application +or checked for validity, the +XML processor must normalize it as follows: + +

    a character reference is processed by appending the referenced +character to the attribute value

    +

    an entity reference is processed by recursively processing the +replacement text of the entity

    +

    a whitespace character (#x20, #xD, #xA, #x9) is processed by +appending #x20 to the normalized value, except that only a single #x20 +is appended for a "#xD#xA" sequence that is part of an external +parsed entity or the literal entity value of an internal parsed +entity

    +

    other characters are processed by appending them to the normalized +value

    +
    +

    +

    If the declared value is not CDATA, then the XML processor must +further process the normalized attribute value by discarding any +leading and trailing space (#x20) characters, and by replacing +sequences of space (#x20) characters by a single space (#x20) +character.

    +

    +All attributes for which no declaration has been read should be treated +by a non-validating parser as if declared +CDATA. +

    +
    +
    + +Conditional Sections +

    +Conditional sections are portions of the +document type declaration external subset +which are +included in, or excluded from, the logical structure of the DTD based on +the keyword which governs them. + +Conditional Section + +conditionalSect +includeSect +| ignoreSect + + +includeSect +'<![' S? 'INCLUDE' S? '[' + +extSubsetDecl +']]>' + + +ignoreSect +'<![' S? 'IGNORE' S? '[' +ignoreSectContents* +']]>' + + +ignoreSectContents +Ignore +('<![' ignoreSectContents ']]>' +Ignore)* +Ignore +Char* - +(Char* ('<![' | ']]>') +Char*) + + + + +

    +

    Like the internal and external DTD subsets, a conditional section +may contain one or more complete declarations, +comments, processing instructions, +or nested conditional sections, intermingled with white space. +

    +

    If the keyword of the +conditional section is INCLUDE, then the contents of the conditional +section are part of the DTD. +If the keyword of the conditional +section is IGNORE, then the contents of the conditional section are +not logically part of the DTD. +Note that for reliable parsing, the contents of even ignored +conditional sections must be read in order to +detect nested conditional sections and ensure that the end of the +outermost (ignored) conditional section is properly detected. +If a conditional section with a +keyword of INCLUDE occurs within a larger conditional +section with a keyword of IGNORE, both the outer and the +inner conditional sections are ignored.

    +

    If the keyword of the conditional section is a +parameter-entity reference, the parameter entity must be replaced by its +content before the processor decides whether to +include or ignore the conditional section.

    +

    An example: +<!ENTITY % draft 'INCLUDE' > +<!ENTITY % final 'IGNORE' > + +<![%draft;[ +<!ELEMENT book (comments*, title, body, supplements?)> +]]> +<![%final;[ +<!ELEMENT book (title, body, supplements?)> +]]> + +

    +
    + + + + +
    + + + +Physical Structures + +

    An XML document may consist +of one or many storage units. These are called +entities; they all have content and are all +(except for the document entity, see below, and +the external DTD subset) +identified by name. + +Each XML document has one entity +called the document entity, which serves +as the starting point for the XML +processor and may contain the whole document.

    +

    Entities may be either parsed or unparsed. +A parsed entity's +contents are referred to as its +replacement text; +this text is considered an +integral part of the document.

    + +

    An +unparsed entity +is a resource whose contents may or may not be +text, and if text, may not be XML. +Each unparsed entity +has an associated notation, identified by name. +Beyond a requirement +that an XML processor make the identifiers for the entity and +notation available to the application, +XML places no constraints on the contents of unparsed entities. +

    +

    +Parsed entities are invoked by name using entity references; +unparsed entities by name, given in the value of ENTITY +or ENTITIES +attributes.

    +

    General entities +are entities for use within the document content. +In this specification, general entities are sometimes referred +to with the unqualified term entity when this leads +to no ambiguity. +Parameter entities +are parsed entities for use within the DTD. +These two types of entities use different forms of reference and +are recognized in different contexts. +Furthermore, they occupy different namespaces; a parameter entity and +a general entity with the same name are two distinct entities. +

    + + +Character and Entity References +

    +A character reference refers to a specific character in the +ISO/IEC 10646 character set, for example one not directly accessible from +available input devices. + +Character Reference +CharRef +'&#' [0-9]+ ';' +| '&hcro;' [0-9a-fA-F]+ ';' + + + + +Legal Character +

    Characters referred to using character references must +match the production for +Char.

    + +If the character reference begins with "&#x", the digits and +letters up to the terminating ; provide a hexadecimal +representation of the character's code point in ISO/IEC 10646. +If it begins just with "&#", the digits up to the terminating +; provide a decimal representation of the character's +code point. + +

    +

    An entity +reference refers to the content of a named entity. +References to +parsed general entities +use ampersand (&) and semicolon (;) as +delimiters. + +Parameter-entity references use percent-sign (%) and +semicolon +(;) as delimiters. +

    + +Entity Reference +Reference +EntityRef +| CharRef +EntityRef +'&' Name ';' + + + + + +PEReference +'%' Name ';' + + + + + + + +Entity Declared +

    In a document without any DTD, a document with only an internal +DTD subset which contains no parameter entity references, or a document with +"standalone='yes'", +the Name given in the entity reference must +match that in an +entity declaration, except that +well-formed documents need not declare +any of the following entities: &magicents;. +The declaration of a parameter entity must precede any reference to it. +Similarly, the declaration of a general entity must precede any +reference to it which appears in a default value in an attribute-list +declaration.

    +

    Note that if entities are declared in the external subset or in +external parameter entities, a non-validating processor is +not obligated to read +and process their declarations; for such documents, the rule that +an entity must be declared is a well-formedness constraint only +if standalone='yes'.

    +
    + +Entity Declared +

    In a document with an external subset or external parameter +entities with "standalone='no'", +the Name given in the entity reference must match that in an +entity declaration. +For interoperability, valid documents should declare the entities +&magicents;, in the form +specified in . +The declaration of a parameter entity must precede any reference to it. +Similarly, the declaration of a general entity must precede any +reference to it which appears in a default value in an attribute-list +declaration.

    +
    + + +Parsed Entity +

    +An entity reference must not contain the name of an unparsed entity. Unparsed entities may be referred +to only in attribute values declared to +be of type ENTITY or ENTITIES. +

    +
    + +No Recursion +

    +A parsed entity must not contain a recursive reference to itself, +either directly or indirectly. +

    +
    + +In DTD +

    +Parameter-entity references may only appear in the +DTD. +

    +
    +

    Examples of character and entity references: +Type <key>less-than</key> (&hcro;3C;) to save options. +This document was prepared on &docdate; and +is classified &security-level;.

    +

    Example of a parameter-entity reference: + + + +%ISOLat2;]]>

    +
    + + +Entity Declarations + +

    +Entities are declared thus: + +Entity Declaration + +EntityDecl +GEDecl | PEDecl + + +GEDecl +'<!ENTITY' S Name +S EntityDef +S? '>' + +PEDecl +'<!ENTITY' S '%' S +Name S +PEDef S? '>' + + +EntityDef +EntityValue +| (ExternalID +NDataDecl?) + + + +PEDef +EntityValue +| ExternalID + + +The Name identifies the entity in an +entity reference or, in the case of an +unparsed entity, in the value of an ENTITY or ENTITIES +attribute. +If the same entity is declared more than once, the first declaration +encountered is binding; at user option, an XML processor may issue a +warning if entities are declared multiple times. +

    + + +Internal Entities + +

    If +the entity definition is an +EntityValue, +the defined entity is called an internal entity. +There is no separate physical +storage object, and the content of the entity is given in the +declaration. +Note that some processing of entity and character references in the +literal entity value may be required to +produce the correct replacement +text: see . +

    +

    An internal entity is a parsed +entity.

    +

    Example of an internal entity declaration: +<!ENTITY Pub-Status "This is a pre-release of the + specification.">

    +
    + + +External Entities + +

    If the entity is not +internal, it is an external +entity, declared as follows: + +External Entity Declaration + +ExternalID +'SYSTEM' S +SystemLiteral +| 'PUBLIC' S +PubidLiteral +S +SystemLiteral + + +NDataDecl +S 'NDATA' S +Name + + +If the NDataDecl is present, this is a +general unparsed +entity; otherwise it is a parsed entity.

    + +Notation Declared +

    +The Name must match the declared name of a +notation. +

    +
    +

    The +SystemLiteral +is called the entity's system identifier. It is a URI, +which may be used to retrieve the entity. +Note that the hash mark (#) and fragment identifier +frequently used with URIs are not, formally, part of the URI itself; +an XML processor may signal an error if a fragment identifier is +given as part of a system identifier. +Unless otherwise provided by information outside the scope of this +specification (e.g. a special XML element type defined by a particular +DTD, or a processing instruction defined by a particular application +specification), relative URIs are relative to the location of the +resource within which the entity declaration occurs. +A URI might thus be relative to the +document entity, to the entity +containing the external DTD subset, +or to some other external parameter entity. +

    +

    An XML processor should handle a non-ASCII character in a URI by +representing the character in UTF-8 as one or more bytes, and then +escaping these bytes with the URI escaping mechanism (i.e., by +converting each byte to %HH, where HH is the hexadecimal notation of the +byte value).

    +

    +In addition to a system identifier, an external identifier may +include a public identifier. +An XML processor attempting to retrieve the entity's content may use the public +identifier to try to generate an alternative URI. If the processor +is unable to do so, it must use the URI specified in the system +literal. Before a match is attempted, all strings +of white space in the public identifier must be normalized to single space characters (#x20), +and leading and trailing white space must be removed.

    +

    Examples of external entity declarations: +<!ENTITY open-hatch + SYSTEM "http://www.textuality.com/boilerplate/OpenHatch.xml"> +<!ENTITY open-hatch + PUBLIC "-//Textuality//TEXT Standard open-hatch boilerplate//EN" + "http://www.textuality.com/boilerplate/OpenHatch.xml"> +<!ENTITY hatch-pic + SYSTEM "../grafix/OpenHatch.gif" + NDATA gif >

    +
    + +
    + + +Parsed Entities + +The Text Declaration +

    External parsed entities may each begin with a text +declaration. + +Text Declaration + +TextDecl +&xmlpio; +VersionInfo? +EncodingDecl +S? &pic; + + + +

    +

    The text declaration must be provided literally, not +by reference to a parsed entity. +No text declaration may appear at any position other than the beginning of +an external parsed entity.

    +
    + +Well-Formed Parsed Entities +

    The document entity is well-formed if it matches the production labeled +document. +An external general +parsed entity is well-formed if it matches the production labeled +extParsedEnt. +An external parameter +entity is well-formed if it matches the production labeled +extPE. + +Well-Formed External Parsed Entity +extParsedEnt +TextDecl? +content + +extPE +TextDecl? +extSubsetDecl + + +An internal general parsed entity is well-formed if its replacement text +matches the production labeled +content. +All internal parameter entities are well-formed by definition. +

    +

    A consequence of well-formedness in entities is that the logical +and physical structures in an XML document are properly nested; no +start-tag, +end-tag, +empty-element tag, +element, +comment, +processing instruction, +character +reference, or +entity reference +can begin in one entity and end in another.

    +
    + +Character Encoding in Entities + +

    Each external parsed entity in an XML document may use a different +encoding for its characters. All XML processors must be able to read +entities in either UTF-8 or UTF-16. + +

    +

    Entities encoded in UTF-16 must +begin with the Byte Order Mark described by ISO/IEC 10646 Annex E and +Unicode Appendix B (the ZERO WIDTH NO-BREAK SPACE character, #xFEFF). +This is an encoding signature, not part of either the markup or the +character data of the XML document. +XML processors must be able to use this character to +differentiate between UTF-8 and UTF-16 encoded documents.

    +

    Although an XML processor is required to read only entities in +the UTF-8 and UTF-16 encodings, it is recognized that other encodings are +used around the world, and it may be desired for XML processors +to read entities that use them. +Parsed entities which are stored in an encoding other than +UTF-8 or UTF-16 must begin with a text +declaration containing an encoding declaration: + +Encoding Declaration +EncodingDecl +S +'encoding' Eq +('"' EncName '"' | +"'" EncName "'" ) + + +EncName +[A-Za-z] ([A-Za-z0-9._] | '-')* +Encoding name contains only Latin characters + + +In the document entity, the encoding +declaration is part of the XML declaration. +The EncName is the name of the encoding used. +

    + +

    In an encoding declaration, the values +"UTF-8", +"UTF-16", +"ISO-10646-UCS-2", and +"ISO-10646-UCS-4" should be +used for the various encodings and transformations of Unicode / +ISO/IEC 10646, the values +"ISO-8859-1", +"ISO-8859-2", ... +"ISO-8859-9" should be used for the parts of ISO 8859, and +the values +"ISO-2022-JP", +"Shift_JIS", and +"EUC-JP" +should be used for the various encoded forms of JIS X-0208-1997. XML +processors may recognize other encodings; it is recommended that +character encodings registered (as charsets) +with the Internet Assigned Numbers +Authority , other than those just listed, should be +referred to +using their registered names. +Note that these registered names are defined to be +case-insensitive, so processors wishing to match against them +should do so in a case-insensitive +way.

    +

    In the absence of information provided by an external +transport protocol (e.g. HTTP or MIME), +it is an error for an entity including +an encoding declaration to be presented to the XML processor +in an encoding other than that named in the declaration, +for an encoding declaration to occur other than at the beginning +of an external entity, or for +an entity which begins with neither a Byte Order Mark nor an encoding +declaration to use an encoding other than UTF-8. +Note that since ASCII +is a subset of UTF-8, ordinary ASCII entities do not strictly need +an encoding declaration.

    + +

    It is a fatal error when an XML processor +encounters an entity with an encoding that it is unable to process.

    +

    Examples of encoding declarations: +<?xml encoding='UTF-8'?> +<?xml encoding='EUC-JP'?>

    +
    +
    + +XML Processor Treatment of Entities and References +

    The table below summarizes the contexts in which character references, +entity references, and invocations of unparsed entities might appear and the +required behavior of an XML processor in +each case. +The labels in the leftmost column describe the recognition context: + + +

    as a reference +anywhere after the start-tag and +before the end-tag of an element; corresponds +to the nonterminal content.

    + + + +

    as a reference within either the value of an attribute in a +start-tag, or a default +value in an attribute declaration; +corresponds to the nonterminal +AttValue.

    + + +

    as a Name, not a reference, appearing either as +the value of an +attribute which has been declared as type ENTITY, or as one of +the space-separated tokens in the value of an attribute which has been +declared as type ENTITIES.

    +
    + +

    as a reference +within a parameter or internal entity's +literal entity value in +the entity's declaration; corresponds to the nonterminal +EntityValue.

    + +

    as a reference within either the internal or external subsets of the +DTD, but outside +of an EntityValue or +AttValue.

    +
    +

    + + + +Entity Type +Character + + +Parameter +Internal +General +External Parsed +General +Unparsed + + + +Reference +in Content +Not recognized +Included +Included if validating +Forbidden +Included + + +Reference +in Attribute Value +Not recognized +Included in literal +Forbidden +Forbidden +Included + + +Occurs as +Attribute Value +Not recognized +Forbidden +Forbidden +Notify +Not recognized + + +Reference +in EntityValue +Included in literal +Bypassed +Bypassed +Forbidden +Included + + +Reference +in DTD +Included as PE +Forbidden +Forbidden +Forbidden +Forbidden + + + + +Not Recognized +

    Outside the DTD, the % character has no +special significance; thus, what would be parameter entity references in the +DTD are not recognized as markup in content. +Similarly, the names of unparsed entities are not recognized except +when they appear in the value of an appropriately declared attribute. +

    +
    + +Included +

    An entity is +included when its +replacement text is retrieved +and processed, in place of the reference itself, +as though it were part of the document at the location the +reference was recognized. +The replacement text may contain both +character data +and (except for parameter entities) markup, +which must be recognized in +the usual way, except that the replacement text of entities used to escape +markup delimiters (the entities &magicents;) is always treated as +data. (The string "AT&amp;T;" expands to +"AT&T;" and the remaining ampersand is not recognized +as an entity-reference delimiter.) +A character reference is included when the indicated +character is processed in place of the reference itself. +

    +
    + +Included If Validating +

    When an XML processor recognizes a reference to a parsed entity, in order +to validate +the document, the processor must +include its +replacement text. +If the entity is external, and the processor is not +attempting to validate the XML document, the +processor may, but need not, +include the entity's replacement text. +If a non-validating parser does not include the replacement text, +it must inform the application that it recognized, but did not +read, the entity.

    +

    This rule is based on the recognition that the automatic inclusion +provided by the SGML and XML entity mechanism, primarily designed +to support modularity in authoring, is not necessarily +appropriate for other applications, in particular document browsing. +Browsers, for example, when encountering an external parsed entity reference, +might choose to provide a visual indication of the entity's +presence and retrieve it for display only on demand. +

    +
    + +Forbidden +

    The following are forbidden, and constitute +fatal errors: + +

    the appearance of a reference to an +unparsed entity. +

    +

    the appearance of any character or general-entity reference in the +DTD except within an EntityValue or +AttValue.

    +

    a reference to an external entity in an attribute value.

    +
    + +

    +
    + +Included in Literal +

    When an entity reference appears in an +attribute value, or a parameter entity reference appears in a literal entity +value, its replacement text is +processed in place of the reference itself as though it +were part of the document at the location the reference was recognized, +except that a single or double quote character in the replacement text +is always treated as a normal data character and will not terminate the +literal. +For example, this is well-formed: + +]]> +while this is not: +<!ENTITY EndAttr "27'" > +<element attribute='a-&EndAttr;> +

    + +Notify +

    When the name of an unparsed +entity appears as a token in the +value of an attribute of declared type ENTITY or ENTITIES, +a validating processor must inform the +application of the system +and public (if any) +identifiers for both the entity and its associated +notation.

    +
    + +Bypassed +

    When a general entity reference appears in the +EntityValue in an entity declaration, +it is bypassed and left as is.

    +
    + +Included as PE +

    Just as with external parsed entities, parameter entities +need only be included if +validating. +When a parameter-entity reference is recognized in the DTD +and included, its +replacement +text is enlarged by the attachment of one leading and one following +space (#x20) character; the intent is to constrain the replacement +text of parameter +entities to contain an integral number of grammatical tokens in the DTD. +

    +
    + +
    + +Construction of Internal Entity Replacement Text +

    In discussing the treatment +of internal entities, it is +useful to distinguish two forms of the entity's value. +The literal +entity value is the quoted string actually +present in the entity declaration, corresponding to the +non-terminal EntityValue. +The replacement +text is the content of the entity, after +replacement of character references and parameter-entity +references. +

    + +

    The literal entity value +as given in an internal entity declaration +(EntityValue) may contain character, +parameter-entity, and general-entity references. +Such references must be contained entirely within the +literal entity value. +The actual replacement text that is +included as described above +must contain the replacement text of any +parameter entities referred to, and must contain the character +referred to, in place of any character references in the +literal entity value; however, +general-entity references must be left as-is, unexpanded. +For example, given the following declarations: + + + +]]> +then the replacement text for the entity "book" is: +La Peste: Albert Camus, +© 1947 Éditions Gallimard. &rights; +The general-entity reference "&rights;" would be expanded +should the reference "&book;" appear in the document's +content or an attribute value.

    +

    These simple rules may have complex interactions; for a detailed +discussion of a difficult example, see +. +

    + +
    + +Predefined Entities +

    Entity and character +references can both be used to escape the left angle bracket, +ampersand, and other delimiters. A set of general entities +(&magicents;) is specified for this purpose. +Numeric character references may also be used; they are +expanded immediately when recognized and must be treated as +character data, so the numeric character references +"&#60;" and "&#38;" may be used to +escape < and & when they occur +in character data.

    +

    All XML processors must recognize these entities whether they +are declared or not. +For interoperability, +valid XML documents should declare these +entities, like any others, before using them. +If the entities in question are declared, they must be declared +as internal entities whose replacement text is the single +character being escaped or a character reference to +that character, as shown below. + + + + + +]]> +Note that the < and & characters +in the declarations of "lt" and "amp" +are doubly escaped to meet the requirement that entity replacement +be well-formed. +

    +
    + + +Notation Declarations + +

    Notations identify by +name the format of unparsed +entities, the +format of elements which bear a notation attribute, +or the application to which +a processing instruction is +addressed.

    +

    +Notation declarations +provide a name for the notation, for use in +entity and attribute-list declarations and in attribute specifications, +and an external identifier for the notation which may allow an XML +processor or its client application to locate a helper application +capable of processing data in the given notation. + +Notation Declarations +NotationDecl +'<!NOTATION' S Name +S +(ExternalID | +PublicID) +S? '>' +PublicID +'PUBLIC' S +PubidLiteral + + +

    +

    XML processors must provide applications with the name and external +identifier(s) of any notation declared and referred to in an attribute +value, attribute definition, or entity declaration. They may +additionally resolve the external identifier into the +system identifier, +file name, or other information needed to allow the +application to call a processor for data in the notation described. (It +is not an error, however, for XML documents to declare and refer to +notations for which notation-specific applications are not available on +the system where the XML processor or application is running.)

    +
    + + + +Document Entity + +

    The document +entity serves as the root of the entity +tree and a starting-point for an XML +processor. +This specification does +not specify how the document entity is to be located by an XML +processor; unlike other entities, the document entity has no name and might +well appear on a processor input stream +without any identification at all.

    +
    + + +
    + + + +Conformance + + +Validating and Non-Validating Processors +

    Conforming XML processors fall into two +classes: validating and non-validating.

    +

    Validating and non-validating processors alike must report +violations of this specification's well-formedness constraints +in the content of the +document entity and any +other parsed entities that +they read.

    +

    +Validating processors must report +violations of the constraints expressed by the declarations in the +DTD, and +failures to fulfill the validity constraints given +in this specification. + +To accomplish this, validating XML processors must read and process the entire +DTD and all external parsed entities referenced in the document. +

    +

    Non-validating processors are required to check only the +document entity, including +the entire internal DTD subset, for well-formedness. + +While they are not required to check the document for validity, +they are required to +process all the declarations they read in the +internal DTD subset and in any parameter entity that they +read, up to the first reference +to a parameter entity that they do not read; that is to +say, they must +use the information in those declarations to +normalize attribute values, +include the replacement text of +internal entities, and supply +default attribute values. + +They must not process +entity declarations or +attribute-list declarations +encountered after a reference to a parameter entity that is not +read, since the entity may have contained overriding declarations. +

    +
    + +Using XML Processors +

    The behavior of a validating XML processor is highly predictable; it +must read every piece of a document and report all well-formedness and +validity violations. +Less is required of a non-validating processor; it need not read any +part of the document other than the document entity. +This has two effects that may be important to users of XML processors: + +

    Certain well-formedness errors, specifically those that require +reading external entities, may not be detected by a non-validating processor. +Examples include the constraints entitled +Entity Declared, +Parsed Entity, and +No Recursion, as well +as some of the cases described as +forbidden in +.

    +

    The information passed from the processor to the application may +vary, depending on whether the processor reads +parameter and external entities. +For example, a non-validating processor may not +normalize attribute values, +include the replacement text of +internal entities, or supply +default attribute values, +where doing so depends on having read declarations in +external or parameter entities.

    + +

    +

    For maximum reliability in interoperating between different XML +processors, applications which use non-validating processors should not +rely on any behaviors not required of such processors. +Applications which require facilities such as the use of default +attributes or internal entities which are declared in external +entities should use validating XML processors.

    +
    +
    + + +Notation + +

    The formal grammar of XML is given in this specification using a simple +Extended Backus-Naur Form (EBNF) notation. Each rule in the grammar defines +one symbol, in the form +symbol ::= expression

    +

    Symbols are written with an initial capital letter if they are +defined by a regular expression, or with an initial lower case letter +otherwise. +Literal strings are quoted. + +

    + +

    Within the expression on the right-hand side of a rule, the following +expressions are used to match strings of one or more characters: + + + +

    where N is a hexadecimal integer, the +expression matches the character in ISO/IEC 10646 whose canonical +(UCS-4) +code value, when interpreted as an unsigned binary number, has +the value indicated. The number of leading zeros in the +#xN form is insignificant; the number of leading +zeros in the corresponding code value +is governed by the character +encoding in use and is not significant for XML.

    + + + +

    matches any character +with a value in the range(s) indicated (inclusive).

    +
    + + +

    matches any character +with a value outside the +range indicated.

    +
    + + +

    matches any character +with a value not among the characters given.

    +
    + + +

    matches a literal string matching +that given inside the double quotes.

    +
    + + +

    matches a literal string matching +that given inside the single quotes.

    +
    + +These symbols may be combined to match more complex patterns as follows, +where A and B represent simple expressions: + + + +

    expression is treated as a unit +and may be combined as described in this list.

    +
    + + +

    matches A or nothing; optional A.

    +
    + + +

    matches A followed by B.

    +
    + + +

    matches A or B but not both.

    +
    + + +

    matches any string that matches A but does not match +B. +

    +
    + + +

    matches one or more occurrences of A.

    +
    + + +

    matches zero or more occurrences of A.

    +
    + +
    +Other notations used in the productions are: + + + +

    comment.

    +
    + + +

    well-formedness constraint; this identifies by name a +constraint on +well-formed documents +associated with a production.

    +
    + + +

    validity constraint; this identifies by name a constraint on +valid documents associated with +a production.

    +
    +
    +

    + + + + + + + + + +References + +Normative References + + + +(Internet Assigned Numbers Authority) Official Names for +Character Sets, +ed. Keld Simonsen et al. +See ftp://ftp.isi.edu/in-notes/iana/assignments/character-sets. + + + +IETF (Internet Engineering Task Force). +RFC 1766: Tags for the Identification of Languages, +ed. H. Alvestrand. +1995. + + + +(International Organization for Standardization). +ISO 639:1988 (E). +Code for the representation of names of languages. +[Geneva]: International Organization for +Standardization, 1988. + + +(International Organization for Standardization). +ISO 3166-1:1997 (E). +Codes for the representation of names of countries and their subdivisions +— Part 1: Country codes +[Geneva]: International Organization for +Standardization, 1997. + +ISO +(International Organization for Standardization). +ISO/IEC 10646-1993 (E). Information technology — Universal +Multiple-Octet Coded Character Set (UCS) — Part 1: +Architecture and Basic Multilingual Plane. +[Geneva]: International Organization for +Standardization, 1993 (plus amendments AM 1 through AM 7). + + +The Unicode Consortium. +The Unicode Standard, Version 2.0. +Reading, Mass.: Addison-Wesley Developers Press, 1996. + + + + + +Other References + + + +Aho, Alfred V., +Ravi Sethi, and Jeffrey D. Ullman. +Compilers: Principles, Techniques, and Tools. +Reading: Addison-Wesley, 1986, rpt. corr. 1988. + + +Berners-Lee, T., R. Fielding, and L. Masinter. +Uniform Resource Identifiers (URI): Generic Syntax and +Semantics. +1997. +(Work in progress; see updates to RFC1738.) + +Brüggemann-Klein, Anne. +Regular Expressions into Finite Automata. +Extended abstract in I. Simon, Hrsg., LATIN 1992, +S. 97-98. Springer-Verlag, Berlin 1992. +Full Version in Theoretical Computer Science 120: 197-213, 1993. + + + +Brüggemann-Klein, Anne, +and Derick Wood. +Deterministic Regular Languages. +Universität Freiburg, Institut für Informatik, +Bericht 38, Oktober 1991. + + +James Clark. +Comparison of SGML and XML. See +http://www.w3.org/TR/NOTE-sgml-xml-971215. + + +IETF (Internet Engineering Task Force). +RFC 1738: Uniform Resource Locators (URL), +ed. T. Berners-Lee, L. Masinter, M. McCahill. +1994. + + + +IETF (Internet Engineering Task Force). +RFC 1808: Relative Uniform Resource Locators, +ed. R. Fielding. +1995. + + + +IETF (Internet Engineering Task Force). +RFC 2141: URN Syntax, +ed. R. Moats. +1997. + + +ISO +(International Organization for Standardization). +ISO 8879:1986(E). Information processing — Text and Office +Systems — Standard Generalized Markup Language (SGML). First +edition — 1986-10-15. [Geneva]: International Organization for +Standardization, 1986. + + + +ISO +(International Organization for Standardization). +ISO/IEC 10744-1992 (E). Information technology — +Hypermedia/Time-based Structuring Language (HyTime). + +[Geneva]: International Organization for +Standardization, 1992. +Extended Facilities Annexe. +[Geneva]: International Organization for +Standardization, 1996. + + + + + + + + +Character Classes +

    Following the characteristics defined in the Unicode standard, +characters are classed as base characters (among others, these +contain the alphabetic characters of the Latin alphabet, without +diacritics), ideographic characters, and combining characters (among +others, this class contains most diacritics); these classes combine +to form the class of letters. Digits and extenders are +also distinguished. + +Characters + +Letter +BaseChar +| Ideographic +BaseChar +[#x0041-#x005A] +| [#x0061-#x007A] +| [#x00C0-#x00D6] +| [#x00D8-#x00F6] +| [#x00F8-#x00FF] +| [#x0100-#x0131] +| [#x0134-#x013E] +| [#x0141-#x0148] +| [#x014A-#x017E] +| [#x0180-#x01C3] +| [#x01CD-#x01F0] +| [#x01F4-#x01F5] +| [#x01FA-#x0217] +| [#x0250-#x02A8] +| [#x02BB-#x02C1] +| #x0386 +| [#x0388-#x038A] +| #x038C +| [#x038E-#x03A1] +| [#x03A3-#x03CE] +| [#x03D0-#x03D6] +| #x03DA +| #x03DC +| #x03DE +| #x03E0 +| [#x03E2-#x03F3] +| [#x0401-#x040C] +| [#x040E-#x044F] +| [#x0451-#x045C] +| [#x045E-#x0481] +| [#x0490-#x04C4] +| [#x04C7-#x04C8] +| [#x04CB-#x04CC] +| [#x04D0-#x04EB] +| [#x04EE-#x04F5] +| [#x04F8-#x04F9] +| [#x0531-#x0556] +| #x0559 +| [#x0561-#x0586] +| [#x05D0-#x05EA] +| [#x05F0-#x05F2] +| [#x0621-#x063A] +| [#x0641-#x064A] +| [#x0671-#x06B7] +| [#x06BA-#x06BE] +| [#x06C0-#x06CE] +| [#x06D0-#x06D3] +| #x06D5 +| [#x06E5-#x06E6] +| [#x0905-#x0939] +| #x093D +| [#x0958-#x0961] +| [#x0985-#x098C] +| [#x098F-#x0990] +| [#x0993-#x09A8] +| [#x09AA-#x09B0] +| #x09B2 +| [#x09B6-#x09B9] +| [#x09DC-#x09DD] +| [#x09DF-#x09E1] +| [#x09F0-#x09F1] +| [#x0A05-#x0A0A] +| [#x0A0F-#x0A10] +| [#x0A13-#x0A28] +| [#x0A2A-#x0A30] +| [#x0A32-#x0A33] +| [#x0A35-#x0A36] +| [#x0A38-#x0A39] +| [#x0A59-#x0A5C] +| #x0A5E +| [#x0A72-#x0A74] +| [#x0A85-#x0A8B] +| #x0A8D +| [#x0A8F-#x0A91] +| [#x0A93-#x0AA8] +| [#x0AAA-#x0AB0] +| [#x0AB2-#x0AB3] +| [#x0AB5-#x0AB9] +| #x0ABD +| #x0AE0 +| [#x0B05-#x0B0C] +| [#x0B0F-#x0B10] +| [#x0B13-#x0B28] +| [#x0B2A-#x0B30] +| [#x0B32-#x0B33] +| [#x0B36-#x0B39] +| #x0B3D +| [#x0B5C-#x0B5D] +| [#x0B5F-#x0B61] +| [#x0B85-#x0B8A] +| [#x0B8E-#x0B90] +| [#x0B92-#x0B95] +| [#x0B99-#x0B9A] +| #x0B9C +| [#x0B9E-#x0B9F] +| [#x0BA3-#x0BA4] +| [#x0BA8-#x0BAA] +| [#x0BAE-#x0BB5] +| [#x0BB7-#x0BB9] +| [#x0C05-#x0C0C] +| [#x0C0E-#x0C10] +| [#x0C12-#x0C28] +| [#x0C2A-#x0C33] +| [#x0C35-#x0C39] +| [#x0C60-#x0C61] +| [#x0C85-#x0C8C] +| [#x0C8E-#x0C90] +| [#x0C92-#x0CA8] +| [#x0CAA-#x0CB3] +| [#x0CB5-#x0CB9] +| #x0CDE +| [#x0CE0-#x0CE1] +| [#x0D05-#x0D0C] +| [#x0D0E-#x0D10] +| [#x0D12-#x0D28] +| [#x0D2A-#x0D39] +| [#x0D60-#x0D61] +| [#x0E01-#x0E2E] +| #x0E30 +| [#x0E32-#x0E33] +| [#x0E40-#x0E45] +| [#x0E81-#x0E82] +| #x0E84 +| [#x0E87-#x0E88] +| #x0E8A +| #x0E8D +| [#x0E94-#x0E97] +| [#x0E99-#x0E9F] +| [#x0EA1-#x0EA3] +| #x0EA5 +| #x0EA7 +| [#x0EAA-#x0EAB] +| [#x0EAD-#x0EAE] +| #x0EB0 +| [#x0EB2-#x0EB3] +| #x0EBD +| [#x0EC0-#x0EC4] +| [#x0F40-#x0F47] +| [#x0F49-#x0F69] +| [#x10A0-#x10C5] +| [#x10D0-#x10F6] +| #x1100 +| [#x1102-#x1103] +| [#x1105-#x1107] +| #x1109 +| [#x110B-#x110C] +| [#x110E-#x1112] +| #x113C +| #x113E +| #x1140 +| #x114C +| #x114E +| #x1150 +| [#x1154-#x1155] +| #x1159 +| [#x115F-#x1161] +| #x1163 +| #x1165 +| #x1167 +| #x1169 +| [#x116D-#x116E] +| [#x1172-#x1173] +| #x1175 +| #x119E +| #x11A8 +| #x11AB +| [#x11AE-#x11AF] +| [#x11B7-#x11B8] +| #x11BA +| [#x11BC-#x11C2] +| #x11EB +| #x11F0 +| #x11F9 +| [#x1E00-#x1E9B] +| [#x1EA0-#x1EF9] +| [#x1F00-#x1F15] +| [#x1F18-#x1F1D] +| [#x1F20-#x1F45] +| [#x1F48-#x1F4D] +| [#x1F50-#x1F57] +| #x1F59 +| #x1F5B +| #x1F5D +| [#x1F5F-#x1F7D] +| [#x1F80-#x1FB4] +| [#x1FB6-#x1FBC] +| #x1FBE +| [#x1FC2-#x1FC4] +| [#x1FC6-#x1FCC] +| [#x1FD0-#x1FD3] +| [#x1FD6-#x1FDB] +| [#x1FE0-#x1FEC] +| [#x1FF2-#x1FF4] +| [#x1FF6-#x1FFC] +| #x2126 +| [#x212A-#x212B] +| #x212E +| [#x2180-#x2182] +| [#x3041-#x3094] +| [#x30A1-#x30FA] +| [#x3105-#x312C] +| [#xAC00-#xD7A3] + +Ideographic +[#x4E00-#x9FA5] +| #x3007 +| [#x3021-#x3029] + +CombiningChar +[#x0300-#x0345] +| [#x0360-#x0361] +| [#x0483-#x0486] +| [#x0591-#x05A1] +| [#x05A3-#x05B9] +| [#x05BB-#x05BD] +| #x05BF +| [#x05C1-#x05C2] +| #x05C4 +| [#x064B-#x0652] +| #x0670 +| [#x06D6-#x06DC] +| [#x06DD-#x06DF] +| [#x06E0-#x06E4] +| [#x06E7-#x06E8] +| [#x06EA-#x06ED] +| [#x0901-#x0903] +| #x093C +| [#x093E-#x094C] +| #x094D +| [#x0951-#x0954] +| [#x0962-#x0963] +| [#x0981-#x0983] +| #x09BC +| #x09BE +| #x09BF +| [#x09C0-#x09C4] +| [#x09C7-#x09C8] +| [#x09CB-#x09CD] +| #x09D7 +| [#x09E2-#x09E3] +| #x0A02 +| #x0A3C +| #x0A3E +| #x0A3F +| [#x0A40-#x0A42] +| [#x0A47-#x0A48] +| [#x0A4B-#x0A4D] +| [#x0A70-#x0A71] +| [#x0A81-#x0A83] +| #x0ABC +| [#x0ABE-#x0AC5] +| [#x0AC7-#x0AC9] +| [#x0ACB-#x0ACD] +| [#x0B01-#x0B03] +| #x0B3C +| [#x0B3E-#x0B43] +| [#x0B47-#x0B48] +| [#x0B4B-#x0B4D] +| [#x0B56-#x0B57] +| [#x0B82-#x0B83] +| [#x0BBE-#x0BC2] +| [#x0BC6-#x0BC8] +| [#x0BCA-#x0BCD] +| #x0BD7 +| [#x0C01-#x0C03] +| [#x0C3E-#x0C44] +| [#x0C46-#x0C48] +| [#x0C4A-#x0C4D] +| [#x0C55-#x0C56] +| [#x0C82-#x0C83] +| [#x0CBE-#x0CC4] +| [#x0CC6-#x0CC8] +| [#x0CCA-#x0CCD] +| [#x0CD5-#x0CD6] +| [#x0D02-#x0D03] +| [#x0D3E-#x0D43] +| [#x0D46-#x0D48] +| [#x0D4A-#x0D4D] +| #x0D57 +| #x0E31 +| [#x0E34-#x0E3A] +| [#x0E47-#x0E4E] +| #x0EB1 +| [#x0EB4-#x0EB9] +| [#x0EBB-#x0EBC] +| [#x0EC8-#x0ECD] +| [#x0F18-#x0F19] +| #x0F35 +| #x0F37 +| #x0F39 +| #x0F3E +| #x0F3F +| [#x0F71-#x0F84] +| [#x0F86-#x0F8B] +| [#x0F90-#x0F95] +| #x0F97 +| [#x0F99-#x0FAD] +| [#x0FB1-#x0FB7] +| #x0FB9 +| [#x20D0-#x20DC] +| #x20E1 +| [#x302A-#x302F] +| #x3099 +| #x309A + +Digit +[#x0030-#x0039] +| [#x0660-#x0669] +| [#x06F0-#x06F9] +| [#x0966-#x096F] +| [#x09E6-#x09EF] +| [#x0A66-#x0A6F] +| [#x0AE6-#x0AEF] +| [#x0B66-#x0B6F] +| [#x0BE7-#x0BEF] +| [#x0C66-#x0C6F] +| [#x0CE6-#x0CEF] +| [#x0D66-#x0D6F] +| [#x0E50-#x0E59] +| [#x0ED0-#x0ED9] +| [#x0F20-#x0F29] + +Extender +#x00B7 +| #x02D0 +| #x02D1 +| #x0387 +| #x0640 +| #x0E46 +| #x0EC6 +| #x3005 +| [#x3031-#x3035] +| [#x309D-#x309E] +| [#x30FC-#x30FE] + + + + +

    +

    The character classes defined here can be derived from the +Unicode character database as follows: + + +

    Name start characters must have one of the categories Ll, Lu, +Lo, Lt, Nl.

    + + +

    Name characters other than Name-start characters +must have one of the categories Mc, Me, Mn, Lm, or Nd.

    +
    + +

    Characters in the compatibility area (i.e. with character code +greater than #xF900 and less than #xFFFE) are not allowed in XML +names.

    +
    + +

    Characters which have a font or compatibility decomposition (i.e. those +with a "compatibility formatting tag" in field 5 of the database -- +marked by field 5 beginning with a "<") are not allowed.

    +
    + +

    The following characters are treated as name-start characters +rather than name characters, because the property file classifies +them as Alphabetic: [#x02BB-#x02C1], #x0559, #x06E5, #x06E6.

    +
    + +

    Characters #x20DD-#x20E0 are excluded (in accordance with +Unicode, section 5.14).

    +
    + +

    Character #x00B7 is classified as an extender, because the +property list so identifies it.

    +
    + +

    Character #x0387 is added as a name character, because #x00B7 +is its canonical equivalent.

    +
    + +

    Characters ':' and '_' are allowed as name-start characters.

    +
    + +

    Characters '-' and '.' are allowed as name characters.

    +
    + +

    +
    + +XML and SGML + +

    XML is designed to be a subset of SGML, in that every +valid XML document should also be a +conformant SGML document. +For a detailed comparison of the additional restrictions that XML places on +documents beyond those of SGML, see . +

    +
    + +Expansion of Entity and Character References +

    This appendix contains some examples illustrating the +sequence of entity- and character-reference recognition and +expansion, as specified in .

    +

    +If the DTD contains the declaration +An ampersand (&#38;) may be escaped +numerically (&#38;#38;) or with a general entity +(&amp;).

    " > +]]> +then the XML processor will recognize the character references +when it parses the entity declaration, and resolve them before +storing the following string as the +value of the entity "example": +An ampersand (&) may be escaped +numerically (&#38;) or with a general entity +(&amp;).

    +]]>
    +A reference in the document to "&example;" +will cause the text to be reparsed, at which time the +start- and end-tags of the "p" element will be recognized +and the three references will be recognized and expanded, +resulting in a "p" element with the following content +(all data, no delimiters or markup): + +

    +

    A more complex example will illustrate the rules and their +effects fully. In the following example, the line numbers are +solely for reference. + +2 +4 +5 ' > +6 %xx; +7 ]> +8 This sample shows a &tricky; method. +]]> +This produces the following: + +

    in line 4, the reference to character 37 is expanded immediately, +and the parameter entity "xx" is stored in the symbol +table with the value "%zz;". Since the replacement text +is not rescanned, the reference to parameter entity "zz" +is not recognized. (And it would be an error if it were, since +"zz" is not yet declared.)

    +

    in line 5, the character reference "&#60;" is +expanded immediately and the parameter entity "zz" is +stored with the replacement text +"<!ENTITY tricky "error-prone" >", +which is a well-formed entity declaration.

    +

    in line 6, the reference to "xx" is recognized, +and the replacement text of "xx" (namely +"%zz;") is parsed. The reference to "zz" +is recognized in its turn, and its replacement text +("<!ENTITY tricky "error-prone" >") is parsed. +The general entity "tricky" has now been +declared, with the replacement text "error-prone".

    +

    +in line 8, the reference to the general entity "tricky" is +recognized, and it is expanded, so the full content of the +"test" element is the self-describing (and ungrammatical) string +This sample shows a error-prone method. +

    + +

    +
    + +Deterministic Content Models +

    For compatibility, it is +required +that content models in element type declarations be deterministic. +

    + +

    SGML +requires deterministic content models (it calls them +"unambiguous"); XML processors built using SGML systems may +flag non-deterministic content models as errors.

    +

    For example, the content model ((b, c) | (b, d)) is +non-deterministic, because given an initial b the parser +cannot know which b in the model is being matched without +looking ahead to see which element follows the b. +In this case, the two references to +b can be collapsed +into a single reference, making the model read +(b, (c | d)). An initial b now clearly +matches only a single name in the content model. The parser doesn't +need to look ahead to see what follows; either c or +d would be accepted.

    +

    More formally: a finite state automaton may be constructed from the +content model using the standard algorithms, e.g. algorithm 3.5 +in section 3.9 +of Aho, Sethi, and Ullman . +In many such algorithms, a follow set is constructed for each +position in the regular expression (i.e., each leaf +node in the +syntax tree for the regular expression); +if any position has a follow set in which +more than one following position is +labeled with the same element type name, +then the content model is in error +and may be reported as an error. +

    +

    Algorithms exist which allow many but not all non-deterministic +content models to be reduced automatically to equivalent deterministic +models; see Brüggemann-Klein 1991 .

    +
    + +Autodetection of Character Encodings +

    The XML encoding declaration functions as an internal label on each +entity, indicating which character encoding is in use. Before an XML +processor can read the internal label, however, it apparently has to +know what character encoding is in use—which is what the internal label +is trying to indicate. In the general case, this is a hopeless +situation. It is not entirely hopeless in XML, however, because XML +limits the general case in two ways: each implementation is assumed +to support only a finite set of character encodings, and the XML +encoding declaration is restricted in position and content in order to +make it feasible to autodetect the character encoding in use in each +entity in normal cases. Also, in many cases other sources of information +are available in addition to the XML data stream itself. +Two cases may be distinguished, +depending on whether the XML entity is presented to the +processor without, or with, any accompanying +(external) information. We consider the first case first. +

    +

    +Because each XML entity not in UTF-8 or UTF-16 format must +begin with an XML encoding declaration, in which the first characters +must be '<?xml', any conforming processor can detect, +after two to four octets of input, which of the following cases apply. +In reading this list, it may help to know that in UCS-4, '<' is +"#x0000003C" and '?' is "#x0000003F", and the Byte +Order Mark required of UTF-16 data streams is "#xFEFF".

    +

    + + +

    00 00 00 3C: UCS-4, big-endian machine (1234 order)

    + + +

    3C 00 00 00: UCS-4, little-endian machine (4321 order)

    +
    + +

    00 00 3C 00: UCS-4, unusual octet order (2143)

    +
    + +

    00 3C 00 00: UCS-4, unusual octet order (3412)

    +
    + +

    FE FF: UTF-16, big-endian

    +
    + +

    FF FE: UTF-16, little-endian

    +
    + +

    00 3C 00 3F: UTF-16, big-endian, no Byte Order Mark +(and thus, strictly speaking, in error)

    +
    + +

    3C 00 3F 00: UTF-16, little-endian, no Byte Order Mark +(and thus, strictly speaking, in error)

    +
    + +

    3C 3F 78 6D: UTF-8, ISO 646, ASCII, some part of ISO 8859, +Shift-JIS, EUC, or any other 7-bit, 8-bit, or mixed-width encoding +which ensures that the characters of ASCII have their normal positions, +width, +and values; the actual encoding declaration must be read to +detect which of these applies, but since all of these encodings +use the same bit patterns for the ASCII characters, the encoding +declaration itself may be read reliably +

    +
    + +

    4C 6F A7 94: EBCDIC (in some flavor; the full +encoding declaration must be read to tell which code page is in +use)

    +
    + +

    other: UTF-8 without an encoding declaration, or else +the data stream is corrupt, fragmentary, or enclosed in +a wrapper of some kind

    +
    + +

    +

    +This level of autodetection is enough to read the XML encoding +declaration and parse the character-encoding identifier, which is +still necessary to distinguish the individual members of each family +of encodings (e.g. to tell UTF-8 from 8859, and the parts of 8859 +from each other, or to distinguish the specific EBCDIC code page in +use, and so on). +

    +

    +Because the contents of the encoding declaration are restricted to +ASCII characters, a processor can reliably read the entire encoding +declaration as soon as it has detected which family of encodings is in +use. Since in practice, all widely used character encodings fall into +one of the categories above, the XML encoding declaration allows +reasonably reliable in-band labeling of character encodings, even when +external sources of information at the operating-system or +transport-protocol level are unreliable. +

    +

    +Once the processor has detected the character encoding in use, it can +act appropriately, whether by invoking a separate input routine for +each case, or by calling the proper conversion function on each +character of input. +

    +

    +Like any self-labeling system, the XML encoding declaration will not +work if any software changes the entity's character set or encoding +without updating the encoding declaration. Implementors of +character-encoding routines should be careful to ensure the accuracy +of the internal and external information used to label the entity. +

    +

    The second possible case occurs when the XML entity is accompanied +by encoding information, as in some file systems and some network +protocols. +When multiple sources of information are available, + +their relative +priority and the preferred method of handling conflict should be +specified as part of the higher-level protocol used to deliver XML. +Rules for the relative priority of the internal label and the +MIME-type label in an external header, for example, should be part of the +RFC document defining the text/xml and application/xml MIME types. In +the interests of interoperability, however, the following rules +are recommended. + +

    If an XML entity is in a file, the Byte-Order Mark +and encoding-declaration PI are used (if present) to determine the +character encoding. All other heuristics and sources of information +are solely for error recovery. +

    +

    If an XML entity is delivered with a +MIME type of text/xml, then the charset parameter +on the MIME type determines the +character encoding method; all other heuristics and sources of +information are solely for error recovery. +

    +

    If an XML entity is delivered +with a +MIME type of application/xml, then the Byte-Order Mark and +encoding-declaration PI are used (if present) to determine the +character encoding. All other heuristics and sources of +information are solely for error recovery. +

    + +These rules apply only in the absence of protocol-level documentation; +in particular, when the MIME types text/xml and application/xml are +defined, the recommendations of the relevant RFC will supersede +these rules. +

    + +
    + + +W3C XML Working Group + +

    This specification was prepared and approved for publication by the +W3C XML Working Group (WG). WG approval of this specification does +not necessarily imply that all WG members voted for its approval. +The current and former members of the XML WG are:

    + + +Jon Bosak, SunChair +James ClarkTechnical Lead +Tim Bray, Textuality and NetscapeXML Co-editor +Jean Paoli, MicrosoftXML Co-editor +C. M. Sperberg-McQueen, U. of Ill.XML +Co-editor +Dan Connolly, W3CW3C Liaison +Paula Angerstein, Texcel +Steve DeRose, INSO +Dave Hollander, HP +Eliot Kimber, ISOGEN +Eve Maler, ArborText +Tom Magliery, NCSA +Murray Maloney, Muzmo and Grif +Makoto Murata, Fuji Xerox Information Systems +Joel Nava, Adobe +Conleth O'Connell, Vignette +Peter Sharpe, SoftQuad +John Tigue, DataChannel + + +
    +
    +
    + diff --git a/libxml2/result/valid/UTF16Entity.xml b/libxml2/result/valid/UTF16Entity.xml new file mode 100644 index 0000000..63cbba2 --- /dev/null +++ b/libxml2/result/valid/UTF16Entity.xml @@ -0,0 +1,8 @@ + + + + + +]> + &utf16b; &utf16l; diff --git a/libxml2/result/valid/cond_sect1.xml b/libxml2/result/valid/cond_sect1.xml new file mode 100644 index 0000000..dd2e5b4 --- /dev/null +++ b/libxml2/result/valid/cond_sect1.xml @@ -0,0 +1,8 @@ + + + +]> + + text + diff --git a/libxml2/result/valid/cond_sect2.xml.err b/libxml2/result/valid/cond_sect2.xml.err new file mode 100644 index 0000000..653fbc1 --- /dev/null +++ b/libxml2/result/valid/cond_sect2.xml.err @@ -0,0 +1,12 @@ +test/valid/dtds/cond_sect2.dtd:15: parser error : Parameter entity must match extSubsetDecl + %ent; + ^ +Entity: line 1: +]]> +^ +test/valid/dtds/cond_sect2.dtd:15: parser error : Content error in the external subset + %ent; + ^ +Entity: line 1: +]]> +^ diff --git a/libxml2/result/valid/cond_sect2.xml.err.rdr b/libxml2/result/valid/cond_sect2.xml.err.rdr new file mode 100644 index 0000000..28d3b2d --- /dev/null +++ b/libxml2/result/valid/cond_sect2.xml.err.rdr @@ -0,0 +1,13 @@ +test/valid/dtds/cond_sect2.dtd:15: parser error : Parameter entity must match extSubsetDecl + %ent; + ^ +Entity: line 1: +]]> +^ +test/valid/dtds/cond_sect2.dtd:15: parser error : Content error in the external subset + %ent; + ^ +Entity: line 1: +]]> +^ +./test/valid/cond_sect2.xml : failed to parse diff --git a/libxml2/result/valid/dia.xml b/libxml2/result/valid/dia.xml new file mode 100644 index 0000000..01e3253 --- /dev/null +++ b/libxml2/result/valid/dia.xml @@ -0,0 +1,139 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libxml2/result/valid/huge.xml b/libxml2/result/valid/huge.xml new file mode 100644 index 0000000..648c1b9 --- /dev/null +++ b/libxml2/result/valid/huge.xml @@ -0,0 +1,6 @@ + + + +]> +test diff --git a/libxml2/result/valid/id1.xml b/libxml2/result/valid/id1.xml new file mode 100644 index 0000000..4f0b9f7 --- /dev/null +++ b/libxml2/result/valid/id1.xml @@ -0,0 +1,13 @@ + + + + + + +]> + + + + + diff --git a/libxml2/result/valid/id2.xml b/libxml2/result/valid/id2.xml new file mode 100644 index 0000000..0cef4a6 --- /dev/null +++ b/libxml2/result/valid/id2.xml @@ -0,0 +1,14 @@ + + + + + + +"> +]> + + + &dest; + + diff --git a/libxml2/result/valid/id3.xml b/libxml2/result/valid/id3.xml new file mode 100644 index 0000000..623603c --- /dev/null +++ b/libxml2/result/valid/id3.xml @@ -0,0 +1,14 @@ + + + + + + + +]> + + + &dest; + + diff --git a/libxml2/result/valid/index.xml b/libxml2/result/valid/index.xml new file mode 100644 index 0000000..959c66b --- /dev/null +++ b/libxml2/result/valid/index.xml @@ -0,0 +1,808 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + + + 20011022T154508Z + + + + + afp.com + 20011022 + mmd--deutsch--journal--spo + 1 + urn:NewsML:afp.com:20011022:mmd--deutsch--journal--spo:1 + + HINTERGRUND + + + + 20011022T154508Z + 20011022T154508Z + + + + + + + + + + + + + + Berliner SPD führt Gespräche mit FDP und Grünen + + + + + + INFOGRAFIK: Das Berliner Wahlergebnis + + + + + + Schwierige Koalitionsverhandlungen in Berlin + + + + + + Die Lieblingsfarben des Kanzlers sind Rot Gelb Grün + + + + + + INFOGRAFIK: Wen wählt Wowereit? + + + + + + CDU ist auch in kommunalen Rathäusern der Verlierer + + + + + + Gutes Abschneiden der PDS hat verschiedene Gründe + + + + + + Ans Regieren hat sich Klaus Wowereit gewöhnt + + + + + + Steffel brachte CDU nicht auf Erfolgskurs + + + + + + Sibyll Klotz: Vollblutpolitikerin mit "Berliner Schnauze" + + + + + + Mit Gysi muss weiter gerechnet werden + + + + + + Rexrodt - das Stehaufmännchen der Berliner FDP + + + + + + diff --git a/libxml2/result/valid/mixed_ns.xml b/libxml2/result/valid/mixed_ns.xml new file mode 100644 index 0000000..d8aedb8 --- /dev/null +++ b/libxml2/result/valid/mixed_ns.xml @@ -0,0 +1,16 @@ + + + + + + + +]> +
    + Some text. + + Some text. + + Some text. + diff --git a/libxml2/result/valid/notes.xml b/libxml2/result/valid/notes.xml new file mode 100644 index 0000000..6ab3aa3 --- /dev/null +++ b/libxml2/result/valid/notes.xml @@ -0,0 +1,3 @@ + + + diff --git a/libxml2/result/valid/ns.xml b/libxml2/result/valid/ns.xml new file mode 100644 index 0000000..ddade86 --- /dev/null +++ b/libxml2/result/valid/ns.xml @@ -0,0 +1,7 @@ + + + + +]> + diff --git a/libxml2/result/valid/ns2.xml b/libxml2/result/valid/ns2.xml new file mode 100644 index 0000000..beacf15 --- /dev/null +++ b/libxml2/result/valid/ns2.xml @@ -0,0 +1,11 @@ + + + + + + +]> + + + diff --git a/libxml2/result/valid/objednavka.xml b/libxml2/result/valid/objednavka.xml new file mode 100644 index 0000000..b0ffd92 --- /dev/null +++ b/libxml2/result/valid/objednavka.xml @@ -0,0 +1,39 @@ + + + + + Jan Novák + BÄ›lehradská 147 + Praha 2 + 12000 + + + Petra Nováková + Anglická 15 + Praha 2 + 12000 + + DPD + dobírka + 2004-11-14 + 2004-11-19 + + + 2N7-516 + SekaÄka na trávu + 1 + 2999 + http://example.org/sekacka.html + + + Q3Y-116 + Travní semeno + 2.5 + 127.50 + + + + <Řádka>O dodávku mám zájem pouze v případÄ›, že se jedná o trávu v odrůdÄ› konopí. + <Řádka>Dále jsem se chtÄ›l zeptat, zda je doprava zdarma. + + diff --git a/libxml2/result/valid/pe-in-text-decl.xml.err b/libxml2/result/valid/pe-in-text-decl.xml.err new file mode 100644 index 0000000..bead5f0 --- /dev/null +++ b/libxml2/result/valid/pe-in-text-decl.xml.err @@ -0,0 +1,3 @@ +test/valid/dtds/pe-in-text-decl.dtd:1: parser error : parsing XML declaration: '?>' expected + + ^ diff --git a/libxml2/result/valid/pe-in-text-decl.xml.err.rdr b/libxml2/result/valid/pe-in-text-decl.xml.err.rdr new file mode 100644 index 0000000..df424e7 --- /dev/null +++ b/libxml2/result/valid/pe-in-text-decl.xml.err.rdr @@ -0,0 +1,4 @@ +test/valid/dtds/pe-in-text-decl.dtd:1: parser error : parsing XML declaration: '?>' expected + + ^ +./test/valid/pe-in-text-decl.xml : failed to parse diff --git a/libxml2/result/valid/pe-latin1.xml b/libxml2/result/valid/pe-latin1.xml new file mode 100644 index 0000000..0014899 --- /dev/null +++ b/libxml2/result/valid/pe-latin1.xml @@ -0,0 +1,7 @@ + + + + +]> +&latin1; diff --git a/libxml2/result/valid/pe-test.xml b/libxml2/result/valid/pe-test.xml new file mode 100644 index 0000000..b7ccbcf --- /dev/null +++ b/libxml2/result/valid/pe-test.xml @@ -0,0 +1,3 @@ + + +&ent; diff --git a/libxml2/result/valid/pe-val-latin1.xml b/libxml2/result/valid/pe-val-latin1.xml new file mode 100644 index 0000000..4da3720 --- /dev/null +++ b/libxml2/result/valid/pe-val-latin1.xml @@ -0,0 +1,3 @@ + + +&latin1; diff --git a/libxml2/result/valid/rss.xml b/libxml2/result/valid/rss.xml new file mode 100644 index 0000000..642fb80 --- /dev/null +++ b/libxml2/result/valid/rss.xml @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + + +PP + + diff --git a/libxml2/result/valid/rss.xml.err b/libxml2/result/valid/rss.xml.err new file mode 100644 index 0000000..2ec7c9e --- /dev/null +++ b/libxml2/result/valid/rss.xml.err @@ -0,0 +1,3 @@ +./test/valid/rss.xml:177: element rss: validity error : Element rss does not carry attribute version + + ^ diff --git a/libxml2/result/valid/rss.xml.err.rdr b/libxml2/result/valid/rss.xml.err.rdr new file mode 100644 index 0000000..2ec7c9e --- /dev/null +++ b/libxml2/result/valid/rss.xml.err.rdr @@ -0,0 +1,3 @@ +./test/valid/rss.xml:177: element rss: validity error : Element rss does not carry attribute version + + ^ diff --git a/libxml2/result/valid/t10.xml b/libxml2/result/valid/t10.xml new file mode 100644 index 0000000..b60f2f9 --- /dev/null +++ b/libxml2/result/valid/t10.xml @@ -0,0 +1,12 @@ + + + + +]> + + + + + + diff --git a/libxml2/result/valid/t11.xml b/libxml2/result/valid/t11.xml new file mode 100644 index 0000000..d871787 --- /dev/null +++ b/libxml2/result/valid/t11.xml @@ -0,0 +1,3 @@ + + +&peInCdata; diff --git a/libxml2/result/valid/t4.dtd.err b/libxml2/result/valid/t4.dtd.err new file mode 100644 index 0000000..d4576e3 --- /dev/null +++ b/libxml2/result/valid/t4.dtd.err @@ -0,0 +1,3 @@ +./test/valid/t4.dtd:1: parser error : StartTag: invalid element name + + ^ diff --git a/libxml2/result/valid/t4.xml b/libxml2/result/valid/t4.xml new file mode 100644 index 0000000..c198f76 --- /dev/null +++ b/libxml2/result/valid/t4.xml @@ -0,0 +1,3 @@ + + +&abc; diff --git a/libxml2/result/valid/t4a.dtd.err b/libxml2/result/valid/t4a.dtd.err new file mode 100644 index 0000000..38db989 --- /dev/null +++ b/libxml2/result/valid/t4a.dtd.err @@ -0,0 +1,3 @@ +./test/valid/t4a.dtd:1: parser error : StartTag: invalid element name + + ^ diff --git a/libxml2/result/valid/t4a.xml b/libxml2/result/valid/t4a.xml new file mode 100644 index 0000000..37e80f7 --- /dev/null +++ b/libxml2/result/valid/t4a.xml @@ -0,0 +1,3 @@ + + +&abc; diff --git a/libxml2/result/valid/t6.dtd.err b/libxml2/result/valid/t6.dtd.err new file mode 100644 index 0000000..487c07d --- /dev/null +++ b/libxml2/result/valid/t6.dtd.err @@ -0,0 +1,3 @@ +./test/valid/t6.dtd:1: parser error : StartTag: invalid element name + + ^ diff --git a/libxml2/result/valid/t6.xml b/libxml2/result/valid/t6.xml new file mode 100644 index 0000000..23f2d25 --- /dev/null +++ b/libxml2/result/valid/t6.xml @@ -0,0 +1,3 @@ + + +&abc; diff --git a/libxml2/result/valid/t8.xml.err b/libxml2/result/valid/t8.xml.err new file mode 100644 index 0000000..983e435 --- /dev/null +++ b/libxml2/result/valid/t8.xml.err @@ -0,0 +1,6 @@ +./test/valid/t8.xml:6: parser error : Content error in the internal subset +%defroot; %defmiddle; %deftest; + ^ +Entity: line 1: +<!ELEMENT root (middle) > +^ diff --git a/libxml2/result/valid/t8.xml.err.rdr b/libxml2/result/valid/t8.xml.err.rdr new file mode 100644 index 0000000..7d06fd1 --- /dev/null +++ b/libxml2/result/valid/t8.xml.err.rdr @@ -0,0 +1,7 @@ +./test/valid/t8.xml:6: parser error : Content error in the internal subset +%defroot; %defmiddle; %deftest; + ^ +Entity: line 1: +<!ELEMENT root (middle) > +^ +./test/valid/t8.xml : failed to parse diff --git a/libxml2/result/valid/t8a.xml.err b/libxml2/result/valid/t8a.xml.err new file mode 100644 index 0000000..f4994bd --- /dev/null +++ b/libxml2/result/valid/t8a.xml.err @@ -0,0 +1,6 @@ +./test/valid/t8a.xml:6: parser error : Content error in the internal subset +%defroot;%defmiddle;%deftest; + ^ +Entity: line 1: +<!ELEMENT root (middle) > +^ diff --git a/libxml2/result/valid/t8a.xml.err.rdr b/libxml2/result/valid/t8a.xml.err.rdr new file mode 100644 index 0000000..8deb824 --- /dev/null +++ b/libxml2/result/valid/t8a.xml.err.rdr @@ -0,0 +1,7 @@ +./test/valid/t8a.xml:6: parser error : Content error in the internal subset +%defroot;%defmiddle;%deftest; + ^ +Entity: line 1: +<!ELEMENT root (middle) > +^ +./test/valid/t8a.xml : failed to parse diff --git a/libxml2/result/valid/t9.xml b/libxml2/result/valid/t9.xml new file mode 100644 index 0000000..6950b14 --- /dev/null +++ b/libxml2/result/valid/t9.xml @@ -0,0 +1,10 @@ + +"> +"> +"> + + + +]> +sample diff --git a/libxml2/result/valid/t9a.xml b/libxml2/result/valid/t9a.xml new file mode 100644 index 0000000..6950b14 --- /dev/null +++ b/libxml2/result/valid/t9a.xml @@ -0,0 +1,10 @@ + +"> +"> +"> + + + +]> +sample diff --git a/libxml2/result/valid/xhtml1.xhtml b/libxml2/result/valid/xhtml1.xhtml new file mode 100644 index 0000000..98b7991 --- /dev/null +++ b/libxml2/result/valid/xhtml1.xhtml @@ -0,0 +1,1453 @@ + + + + + +XHTML 1.0: The Extensible HyperText Markup +Language + + + + + +

    W3C

    + +

    XHTML 1.0: +The Extensible HyperText Markup Language

    + +

    A Reformulation of HTML 4.0 in XML 1.0

    + +

    W3C Proposed Recommendation 10 December 1999

    + +
    +
    This version:
    + +
    +http://www.w3.org/TR/1999/PR-xhtml1-19991210
    +(Postscript version, +PDF version, +ZIP archive, or +Gzip'd TAR archive) +
    + +
    Latest version:
    + +
    +http://www.w3.org/TR/xhtml1
    + +
    Previous versions:
    + +
    +http://www.w3.org/TR/1999/WD-xhtml1-19991124
    +
    +http://www.w3.org/TR/1999/PR-xhtml1-19990824
    + +
    Authors:
    + +
    See acknowledgements.
    +
    + + +
    +
    + +

    Abstract

    + +

    This specification defines XHTML 1.0, a reformulation of HTML +4.0 as an XML 1.0 application, and three DTDs corresponding to +the ones defined by HTML 4.0. The semantics of the elements and +their attributes are defined in the W3C Recommendation for HTML +4.0. These semantics provide the foundation for future +extensibility of XHTML. Compatibility with existing HTML user +agents is possible by following a small set of guidelines.

    + +

    Status of this document

    + +

    This section describes the status of this document at the time +of its publication. Other documents may supersede this document. The +latest status of this document series is maintained at the W3C.

    + +

    This specification is a Proposed Recommendation of the HTML Working Group. It is +a revision of the Proposed Recommendation dated 24 August +1999 incorporating changes as a result of comments from the Proposed +Recommendation review, and +comments and further deliberations of the W3C HTML Working Group. A +diff-marked version from the previous +proposed recommendation is available for comparison purposes.

    + +

    On 10 December 1999, this document enters a + +Proposed Recommendation review period. From that date until 8 January +2000, +W3C Advisory Committee representatives are encouraged +to review this specification and return comments in their completed +ballots to w3c-html-review@w3.org. Please send any comments of a +confidential nature in separate email to w3t-html@w3.org, which is +visible to the Team only.

    + +

    No sooner than 14 days after the end of the review period, the +Director will announce the document's disposition: it may become a W3C +Recommendation (possibly with minor changes), it may revert to Working +Draft status, or it may be dropped as a W3C work item.

    + +

    Publication as a Proposed Recommendation does not imply endorsement +by the W3C membership. This is still a draft document and may be +updated, replaced or obsoleted by other documents at any time. It is +inappropriate to cite W3C Proposed Recommendation as other than "work +in progress."

    + +

    This document has been produced as part of the W3C HTML Activity. The goals of +the HTML Working +Group (members +only) are discussed in the HTML Working Group +charter (members +only).

    + +

    A list of current W3C Recommendations and other technical documents +can be found at http://www.w3.org/TR.

    + +

    Public discussion on HTML features takes place on the mailing list www-html@w3.org (archive). The W3C +staff contact for work on HTML is Dave +Raggett.

    + +

    Please report errors in this document to www-html-editor@w3.org.

    + +

    The list of known errors in this specification is available at http://www.w3.org/1999/12/PR-xhtml1-19991210-errata.

    + +

    Contents

    + + + + +

    1. What is XHTML?

    + +

    XHTML is a family of current and future document types and modules that +reproduce, subset, and extend HTML 4.0 [HTML]. XHTML family document types are XML based, +and ultimately are designed to work in conjunction with XML-based user agents. +The details of this family and its evolution are +discussed in more detail in the section on Future +Directions.

    + +

    XHTML 1.0 (this specification) is the first document type in the XHTML +family. It is a reformulation of the three HTML 4.0 document types as +applications of XML 1.0 [XML]. It is intended +to be used as a language for content that is both XML-conforming and, if some +simple guidelines are followed, +operates in HTML 4.0 conforming user agents. Developers who migrate +their content to XHTML 1.0 will realize the following benefits:

    + +
      +
    • XHTML documents are XML conforming. As such, they are readily viewed, +edited, and validated with standard XML tools.
    • +
    • XHTML documents can be written to +to operate as well or better than they did before in existing +HTML 4.0-conforming user agents as well as in new, XHTML 1.0 conforming user +agents.
    • +
    • XHTML documents can utilize applications (e.g. scripts and applets) that rely +upon either the HTML Document Object Model or the XML Document Object Model [DOM].
    • +
    • As the XHTML family evolves, documents conforming to XHTML 1.0 will be more +likely to interoperate within and among various XHTML environments.
    • +
    + +

    The XHTML family is the next step in the evolution of the Internet. By +migrating to XHTML today, content developers can enter the XML world with all +of its attendant benefits, while still remaining confident in their +content's backward and future compatibility.

    + +

    1.1 What is HTML 4.0?

    + +

    HTML 4.0 [HTML] is an SGML (Standard +Generalized Markup Language) application conforming to +International Standard ISO 8879, and is widely regarded as the +standard publishing language of the World Wide Web.

    + +

    SGML is a language for describing markup languages, +particularly those used in electronic document exchange, document +management, and document publishing. HTML is an example of a +language defined in SGML.

    + +

    SGML has been around since the middle 1980's and has remained +quite stable. Much of this stability stems from the fact that the +language is both feature-rich and flexible. This flexibility, +however, comes at a price, and that price is a level of +complexity that has inhibited its adoption in a diversity of +environments, including the World Wide Web.

    + +

    HTML, as originally conceived, was to be a language for the +exchange of scientific and other technical documents, suitable +for use by non-document specialists. HTML addressed the problem +of SGML complexity by specifying a small set of structural and +semantic tags suitable for authoring relatively simple documents. +In addition to simplifying the document structure, HTML added +support for hypertext. Multimedia capabilities were added +later.

    + +

    In a remarkably short space of time, HTML became wildly +popular and rapidly outgrew its original purpose. Since HTML's +inception, there has been rapid invention of new elements for use +within HTML (as a standard) and for adapting HTML to vertical, +highly specialized, markets. This plethora of new elements has +led to compatibility problems for documents across different +platforms.

    + +

    As the heterogeneity of both software and platforms rapidly +proliferate, it is clear that the suitability of 'classic' HTML +4.0 for use on these platforms is somewhat limited.

    + +

    1.2 What is XML?

    + +

    XML is the shorthand for Extensible Markup +Language, and is an acronym of Extensible Markup Language [XML].

    + +

    XML was conceived as a means of regaining the power and +flexibility of SGML without most of its complexity. Although a +restricted form of SGML, XML nonetheless preserves most of SGML's +power and richness, and yet still retains all of SGML's commonly +used features.

    + +

    While retaining these beneficial features, XML removes many of +the more complex features of SGML that make the authoring and +design of suitable software both difficult and costly.

    + +

    1.3 Why the need for XHTML?

    + +

    The benefits of migrating to XHTML 1.0 are described above. Some of the +benefits of migrating to XHTML in general are:

    + +
      +
    • Document developers and user agent designers are constantly +discovering new ways to express their ideas through new markup. In XML, it is +relatively easy to introduce new elements or additional element +attributes. The XHTML family is designed to accommodate these extensions +through XHTML modules and techniques for developing new XHTML-conforming +modules (described in the forthcoming XHTML Modularization specification). +These modules will permit the combination of existing and +new feature sets when developing content and when designing new user +agents.
    • + +
    • Alternate ways of accessing the Internet are constantly being +introduced. Some estimates indicate that by the year 2002, 75% of +Internet document viewing will be carried out on these alternate +platforms. The XHTML family is designed with general user agent +interoperability in mind. Through a new user agent and document profiling +mechanism, servers, proxies, and user agents will be able to perform +best effort content transformation. Ultimately, it will be possible to +develop XHTML-conforming content that is usable by any XHTML-conforming +user agent.
    • + +
    + +

    2. Definitions

    + +

    2.1 Terminology

    + +

    The following terms are used in this specification. These +terms extend the definitions in +[RFC2119] in ways based upon similar definitions in ISO/IEC +9945-1:1990 [POSIX.1]:

    + +
    +
    Implementation-defined
    + +
    A value or behavior is implementation-defined when it is left +to the implementation to define [and document] the corresponding +requirements for correct document construction.
    + +
    May
    + +
    With respect to implementations, the word "may" is to be +interpreted as an optional feature that is not required in this +specification but can be provided. With respect to Document Conformance, the word "may" means that +the optional feature must not be used. The term "optional" has +the same definition as "may".
    + +
    Must
    + +
    In this specification, the word "must" is to be interpreted +as a mandatory requirement on the implementation or on Strictly +Conforming XHTML Documents, depending upon the context. The term +"shall" has the same definition as "must".
    + +
    Reserved
    + +
    A value or behavior is unspecified, but it is not allowed to +be used by Conforming Documents nor to be supported by a +Conforming User Agents.
    + +
    Should
    + +
    With respect to implementations, the word "should" is to be +interpreted as an implementation recommendation, but not a +requirement. With respect to documents, the word "should" is to +be interpreted as recommended programming practice for documents +and a requirement for Strictly Conforming XHTML Documents.
    + +
    Supported
    + +
    Certain facilities in this specification are optional. If a +facility is supported, it behaves as specified by this +specification.
    + +
    Unspecified
    + +
    When a value or behavior is unspecified, the specification +defines no portability requirements for a facility on an +implementation even when faced with a document that uses the +facility. A document that requires specific behavior in such an +instance, rather than tolerating any behavior when using that +facility, is not a Strictly Conforming XHTML Document.
    +
    + +

    2.2 General Terms

    + +
    +
    Attribute
    + +
    An attribute is a parameter to an element declared in the +DTD. An attribute's type and value range, including a possible +default value, are defined in the DTD.
    + +
    DTD
    + +
    A DTD, or document type definition, is a collection of XML +declarations that, as a collection, defines the legal structure, +elements, and +attributes that are available for use in a document that +complies to the DTD.
    + +
    Document
    + +
    A document is a stream of data that, after being combined +with any other streams it references, is structured such that it +holds information contained within +elements that are organized as defined in the associated +DTD. See Document +Conformance for more information.
    + +
    Element
    + +
    An element is a document structuring unit declared in the +DTD. The element's content model is +defined in the DTD, and additional +semantics may be defined in the prose description of the +element.
    + +
    Facilities
    + +
    Functionality includes elements, +attributes, and the semantics +associated with those elements and +attributes. An implementation +supporting that functionality is said to provide the necessary +facilities.
    + +
    Implementation
    + +
    An implementation is a system that provides collection of +facilities and services that supports +this specification. See User Agent +Conformance for more information.
    + +
    Parsing
    + +
    Parsing is the act whereby a +document is scanned, and the information contained within +the document is filtered into the +context of the elements in which the +information is structured.
    + +
    Rendering
    + +
    Rendering is the act whereby the information in a document is presented. This presentation is +done in the form most appropriate to the environment (e.g. +aurally, visually, in print).
    + +
    User Agent
    + +
    A user agent is an implementation +that retrieves and processes XHTML documents. See User Agent Conformance for more information.
    + +
    Validation
    + +
    Validation is a process whereby +documents are verified against the associated DTD, ensuring that the structure, use of elements, and use of +attributes are consistent with the definitions in the +DTD.
    + +
    Well-formed
    + +
    A document is well-formed when it +is structured according to the rules defined in Section 2.1 of +the XML 1.0 Recommendation [XML]. +Basically, this definition states that elements, delimited by +their start and end tags, are nested properly within one +another.
    +
    + + +

    3. Normative Definition of +XHTML 1.0

    + +

    3.1 Document +Conformance

    + +

    This version of XHTML provides a definition of strictly +conforming XHTML documents, which are restricted to tags and +attributes from the XHTML namespace. See Section 3.1.2 for information on using XHTML +with other namespaces, for instance, to include metadata +expressed in RDF within XHTML documents.

    + +

    3.1.1 Strictly Conforming +Documents

    + +

    A Strictly Conforming XHTML Document is a document that +requires only the facilities described as mandatory in this +specification. Such a document must meet all of the following +criteria:

    + +
      +
    1. +

      It must validate against one of the three DTDs found in Appendix A.

      +
    2. + +
    3. +

      The root element of the document must be +<html>.

      +
    4. + +
    5. +

      The root element of the document must designate the XHTML +namespace using the xmlns attribute [XMLNAMES]. The namespace for XHTML is +defined to be +http://www.w3.org/1999/xhtml.

      +
    6. + +
    7. +

      There must be a DOCTYPE declaration in the document prior to +the root element. The public identifier included in +the DOCTYPE declaration must reference one of the three DTDs +found in Appendix A using the respective +Formal Public Identifier. The system identifier may be changed to reflect +local system conventions.

      + +
      +<!DOCTYPE html 
      +     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
      +     "http://www.w3.org/TR/1999/PR-xhtml1-19991210/DTD/xhtml1-strict.dtd>
      +
      +<!DOCTYPE html 
      +     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
      +     "http://www.w3.org/TR/1999/PR-xhtml1-19991210/DTD/xhtml1-transitional.dtd>
      +
      +<!DOCTYPE html 
      +     PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
      +     "http://www.w3.org/TR/1999/PR-xhtml1-19991210/DTD/xhtml1-frameset.dtd>
      +
      +
    8. +
    + +

    Here is an example of a minimal XHTML document.

    + +
    +
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!DOCTYPE html 
    +     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    +    "http://www.w3.org/TR/1999/PR-xhtml1-19991210/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    +  <head>
    +    <title>Virtual Library</title>
    +  </head>
    +  <body>
    +    <p>Moved to <a href="http://vlib.org/">vlib.org</a>.</p>
    +  </body>
    +</html>
    +
    + +

    Note that in this example, the XML declaration is included. An XML +declaration like the one above is +not required in all XML documents. XHTML document authors are strongly encouraged to use XML declarations in all their documents. Such a declaration is required +when the character encoding of the document is other than the default UTF-8 or +UTF-16.

    + +

    3.1.2 Using XHTML with +other namespaces

    + +

    The XHTML namespace may be used with other XML namespaces +as per [XMLNAMES], although such +documents are not strictly conforming XHTML 1.0 documents as +defined above. Future work by W3C will address ways to specify +conformance for documents involving multiple namespaces.

    + +

    The following example shows the way in which XHTML 1.0 could +be used in conjunction with the MathML Recommendation:

    + +
    +
    +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    +  <head>
    +    <title>A Math Example</title>
    +  </head>
    +  <body>
    +    <p>The following is MathML markup:</p>
    +    <math xmlns="http://www.w3.org/1998/Math/MathML">
    +      <apply> <log/>
    +        <logbase>
    +          <cn> 3 </cn>
    +        </logbase>
    +        <ci> x </ci>
    +      </apply>
    +    </math>
    +  </body>
    +</html>
    +
    +
    + +

    The following example shows the way in which XHTML 1.0 markup +could be incorporated into another XML namespace:

    + +
    +
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!-- initially, the default namespace is "books" -->
    +<book xmlns='urn:loc.gov:books'
    +    xmlns:isbn='urn:ISBN:0-395-36341-6' xml:lang="en" lang="en">
    +  <title>Cheaper by the Dozen</title>
    +  <isbn:number>1568491379</isbn:number>
    +  <notes>
    +    <!-- make HTML the default namespace for a hypertext commentary -->
    +    <p xmlns='http://www.w3.org/1999/xhtml'>
    +        This is also available <a href="http://www.w3.org/">online</a>.
    +    </p>
    +  </notes>
    +</book>
    +
    +
    + +

    3.2 User Agent +Conformance

    + +

    A conforming user agent must meet all of the following +criteria:

    + +
      +
    1. In order to be consistent with the XML 1.0 Recommendation [XML], the user agent must parse and evaluate +an XHTML document for well-formedness. If the user agent claims +to be a validating user agent, it must also validate documents +against their referenced DTDs according to +[XML].
    2. + +
    3. When the user agent claims to support +facilities defined within this specification or required by +this specification through normative reference, it must do so in +ways consistent with the facilities' definition.
    4. + +
    5. When a user agent processes an XHTML document as generic XML, +it shall only recognize attributes of type +ID (e.g. the id attribute on most XHTML elements) +as fragment identifiers.
    6. + +
    7. If a user agent encounters an element it does not recognize, +it must render the element's content.
    8. + +
    9. If a user agent encounters an attribute it does not +recognize, it must ignore the entire attribute specification +(i.e., the attribute and its value).
    10. + +
    11. If a user agent encounters an attribute value it doesn't +recognize, it must use the default attribute value.
    12. + +
    13. If it encounters an entity reference (other than one +of the predefined entities) for which the User Agent has +processed no declaration (which could happen if the declaration +is in the external subset which the User Agent hasn't read), the entity +reference should be rendered as the characters (starting +with the ampersand and ending with the semi-colon) that +make up the entity reference.
    14. + +
    15. When rendering content, User Agents that encounter +characters or character entity references that are recognized but not renderable should display the document in such a way that it is obvious to the user that normal rendering has not taken place.
    16. + +
    17. +The following characters are defined in [XML] as whitespace characters: + +
        +
      • Space (&#x0020;)
      • +
      • Tab (&#x0009;)
      • +
      • Carriage return (&#x000D;)
      • +
      • Line feed (&#x000A;)
      • +
      + +

      +The XML processor normalizes different system's line end codes into one +single line-feed character, that is passed up to the application. The XHTML +user agent in addition, must treat the following characters as whitespace: +

      + +
        +
      • Form feed (&#x000C;)
      • +
      • Zero-width space (&#x200B;)
      • +
      + +

      +In elements where the 'xml:space' attribute is set to 'preserve', the user +agent must leave all whitespace characters intact (with the exception of +leading and trailing whitespace characters, which should be removed). +Otherwise, whitespace +is handled according to the following rules: +

      + +
        +
      • +All whitespace surrounding block elements should be removed. +
      • +
      • +Comments are removed entirely and do not affect whitespace handling. One +whitespace character on either side of a comment is treated as two white +space characters. +
      • +
      • +Leading and trailing whitespace inside a block element must be removed. +
      • +
      • Line feed characters within a block element must be converted into a +space (except when the 'xml:space' attribute is set to 'preserve'). +
      • +
      • +A sequence of white space characters must be reduced to a single space +character (except when the 'xml:space' attribute is set to 'preserve'). +
      • +
      • +With regard to rendition, +the User Agent should render the content in a +manner appropriate to the language in which the content is written. +In languages whose primary script is Latinate, the ASCII space +character is typically used to encode both grammatical word boundaries and +typographic whitespace; in languages whose script is related to Nagari +(e.g., Sanskrit, Thai, etc.), grammatical boundaries may be encoded using +the ZW 'space' character, but will not typically be represented by +typographic whitespace in rendered output; languages using Arabiform scripts +may encode typographic whitespace using a space character, but may also use +the ZW space character to delimit 'internal' grammatical boundaries (what +look like words in Arabic to an English eye frequently encode several words, +e.g. 'kitAbuhum' = 'kitAbu-hum' = 'book them' == their book); and languages +in the Chinese script tradition typically neither encode such delimiters nor +use typographic whitespace in this way. +
      • +
      + +

      Whitespace in attribute values is processed according to [XML].

      +
    18. +
    + + +

    4. Differences with HTML +4.0

    + +

    Due to the fact that XHTML is an XML application, certain +practices that were perfectly legal in SGML-based HTML 4.0 [HTML] must be changed.

    + +

    4.1 Documents must be +well-formed

    + +

    Well-formedness is a new concept +introduced by [XML]. Essentially this +means that all elements must either have closing tags or be +written in a special form (as described below), and that all the +elements must nest.

    + +

    Although overlapping is illegal in SGML, it was widely +tolerated in existing browsers.

    + +
    +

    CORRECT: nested elements.

    + +

    <p>here is an emphasized +<em>paragraph</em>.</p>

    +
    + +
    +

    INCORRECT: overlapping elements

    + +

    <p>here is an emphasized +<em>paragraph.</p></em>

    +
    + +

    4.2 Element and attribute +names must be in lower case

    + +

    XHTML documents must use lower case for all HTML element and +attribute names. This difference is necessary because XML is +case-sensitive e.g. <li> and <LI> are different +tags.

    + +

    4.3 For non-empty elements, +end tags are required

    + +

    In SGML-based HTML 4.0 certain elements were permitted to omit +the end tag; with the elements that followed implying closure. +This omission is not permitted in XML-based XHTML. All elements +other than those declared in the DTD as EMPTY must +have an end tag.

    + +
    +

    CORRECT: terminated elements

    + +

    <p>here is a paragraph.</p><p>here is +another paragraph.</p>

    +
    + +
    +

    INCORRECT: unterminated elements

    + +

    <p>here is a paragraph.<p>here is another +paragraph.

    +
    + +

    4.4 Attribute values must +always be quoted

    + +

    All attribute values must be quoted, even those which appear +to be numeric.

    + +
    +

    CORRECT: quoted attribute values

    + +

    <table rows="3">

    +
    + +
    +

    INCORRECT: unquoted attribute values

    + +

    <table rows=3>

    +
    + +

    4.5 Attribute +Minimization

    + +

    XML does not support attribute minimization. Attribute-value +pairs must be written in full. Attribute names such as +compact and checked cannot occur in elements +without their value being specified.

    + +
    +

    CORRECT: unminimized attributes

    + +

    <dl compact="compact">

    +
    + +
    +

    INCORRECT: minimized attributes

    + +

    <dl compact>

    +
    + +

    4.6 Empty Elements

    + +

    Empty elements must either have an end tag or the start tag must end with />. For instance, +<br/> or <hr></hr>. See HTML Compatibility Guidelines for information on ways to +ensure this is backward compatible with HTML 4.0 user agents.

    + +
    +

    CORRECT: terminated empty tags

    + +

    <br/><hr/>

    +
    + +
    +

    INCORRECT: unterminated empty tags

    + +

    <br><hr>

    +
    + +

    4.7 Whitespace handling in +attribute values

    + +

    In attribute values, user agents will strip leading and +trailing whitespace from attribute values and map sequences +of one or more whitespace characters (including line breaks) to +a single inter-word space (an ASCII space character for western +scripts). See +Section 3.3.3 of [XML].

    + +

    4.8 Script and Style +elements

    + +

    In XHTML, the script and style elements are declared as having +#PCDATA content. As a result, < and +& will be treated as the start of markup, and +entities such as &lt; and &amp; +will be recognized as entity references by the XML processor to +< and & respectively. Wrapping +the content of the script or style element within a +CDATA marked section avoids the expansion of these +entities.

    + +
    +
    +<script>
    + <![CDATA[
    + ... unescaped script content ...
    + ]]>
    + </script>
    +
    +
    + +

    CDATA sections are recognized by the XML +processor and appear as nodes in the Document Object Model, see + +Section 1.3 of the DOM Level 1 Recommendation [DOM].

    + +

    An alternative is to use external script and style +documents.

    + +

    4.9 SGML exclusions

    + +

    SGML gives the writer of a DTD the ability to exclude specific +elements from being contained within an element. Such +prohibitions (called "exclusions") are not possible in XML.

    + +

    For example, the HTML 4.0 Strict DTD forbids the nesting of an +'a' element within another 'a' element +to any descendant depth. It is not possible to spell out such +prohibitions in XML. Even though these prohibitions cannot be +defined in the DTD, certain elements should not be nested. A +summary of such elements and the elements that should not be +nested in them is found in the normative +Appendix B.

    + +

    4.10 The elements with 'id' and 'name' +attributes

    + +

    HTML 4.0 defined the name attribute for the elements +a, +applet, frame, +iframe, img, and map. +HTML 4.0 also introduced +the id attribute. Both of these attributes are designed to be +used as fragment identifiers.

    +

    In XML, fragment identifiers are of type ID, and +there can only be a single attribute of type ID per element. +Therefore, in XHTML 1.0 the id +attribute is defined to be of type ID. In order to +ensure that XHTML 1.0 documents are well-structured XML documents, XHTML 1.0 +documents MUST use the id attribute when defining fragment +identifiers, even on elements that historically have also had a +name attribute. +See the HTML Compatibility +Guidelines for information on ensuring such anchors are backwards +compatible when serving XHTML documents as media type text/html. +

    +

    Note that in XHTML 1.0, the name attribute of these +elements is formally deprecated, and will be removed in a +subsequent version of XHTML.

    + + +

    5. Compatibility Issues

    + +

    Although there is no requirement for XHTML 1.0 documents to be +compatible with existing user agents, in practice this is easy to +accomplish. Guidelines for creating compatible documents can be +found in Appendix C.

    + +

    5.1 Internet Media Type

    +

    As of the publication of this recommendation, the general +recommended MIME labeling for XML-based applications +has yet to be resolved.

    + +

    However, XHTML Documents which follow the guidelines set forth +in Appendix C, "HTML Compatibility Guidelines" may be +labeled with the Internet Media Type "text/html", as they +are compatible with most HTML browsers. This document +makes no recommendation about MIME labeling of other +XHTML documents.

    + + +

    6. Future Directions

    + +

    XHTML 1.0 provides the basis for a family of document types +that will extend and subset XHTML, in order to support a wide +range of new devices and applications, by defining modules and +specifying a mechanism for combining these modules. This +mechanism will enable the extension and sub-setting of XHTML 1.0 +in a uniform way through the definition of new modules.

    + +

    6.1 Modularizing HTML

    + +

    As the use of XHTML moves from the traditional desktop user +agents to other platforms, it is clear that not all of the XHTML +elements will be required on all platforms. For example a hand +held device or a cell-phone may only support a subset of XHTML +elements.

    + +

    The process of modularization breaks XHTML up into a series of +smaller element sets. These elements can then be recombined to +meet the needs of different communities.

    + +

    These modules will be defined in a later W3C document.

    + +

    6.2 Subsets and +Extensibility

    + +

    Modularization brings with it several advantages:

    + +
      +
    • +

      It provides a formal mechanism for sub-setting XHTML.

      +
    • + +
    • +

      It provides a formal mechanism for extending XHTML.

      +
    • + +
    • +

      It simplifies the transformation between document types.

      +
    • + +
    • +

      It promotes the reuse of modules in new document types.

      +
    • +
    + +

    6.3 Document +Profiles

    + +

    A document profile specifies the syntax and semantics of a set +of documents. Conformance to a document profile provides a basis +for interoperability guarantees. The document profile specifies +the facilities required to process documents of that type, e.g. +which image formats can be used, levels of scripting, style sheet +support, and so on.

    + +

    For product designers this enables various groups to define +their own standard profile.

    + +

    For authors this will obviate the need to write several +different versions of documents for different clients.

    + +

    For special groups such as chemists, medical doctors, or +mathematicians this allows a special profile to be built using +standard HTML elements plus a group of elements geared to the +specialist's needs.

    + + +

    +Appendix A. DTDs

    + +

    This appendix is normative.

    + +

    These DTDs and entity sets form a normative part of this +specification. The complete set of DTD files together with an XML +declaration and SGML Open Catalog is included in the zip file for this specification.

    + +

    A.1 Document Type +Definitions

    + +

    These DTDs approximate the HTML 4.0 DTDs. It is likely that +when the DTDs are modularized, a method of DTD construction will +be employed that corresponds more closely to HTML 4.0.

    + + + +

    A.2 Entity Sets

    + +

    The XHTML entity sets are the same as for HTML 4.0, but have +been modified to be valid XML 1.0 entity declarations. Note the +entity for the Euro currency sign (&euro; or +&#8364; or &#x20AC;) is defined +as part of the special characters.

    + + + + +

    Appendix B. Element +Prohibitions

    + +

    This appendix is normative.

    + +

    The following elements have prohibitions on which elements +they can contain (see Section 4.9). This +prohibition applies to all depths of nesting, i.e. it contains +all the descendant elements.

    + +
    a
    +
    +cannot contain other a elements.
    +
    pre
    +
    cannot contain the img, object, +big, small, sub, or +sup elements.
    + +
    button
    +
    cannot contain the input, select, +textarea, label, button, +form, fieldset, iframe or +isindex elements.
    +
    label
    +
    cannot contain other label elements.
    +
    form
    +
    cannot contain other form elements.
    +
    + + +

    Appendix C. +HTML Compatibility Guidelines

    + +

    This appendix is informative.

    + +

    This appendix summarizes design guidelines for authors who +wish their XHTML documents to render on existing HTML user +agents.

    + +

    C.1 Processing Instructions

    +

    Be aware that processing instructions are rendered on some +user agents. However, also note that when the XML declaration is not included +in a document, the document can only use the default character encodings UTF-8 +or UTF-16.

    + +

    C.2 Empty Elements

    +

    Include a space before the trailing / and +> of empty elements, e.g. +<br />, +<hr /> and <img +src="karen.jpg" alt="Karen" />. Also, use the +minimized tag syntax for empty elements, e.g. <br />, as the alternative syntax <br></br> allowed by XML +gives uncertain results in many existing user agents.

    + +

    C.3 Element Minimization and Empty Element Content

    +

    Given an empty instance of an element whose content model is +not EMPTY (for example, an empty title or paragraph) +do not use the minimized form (e.g. use +<p> </p> and not +<p />).

    + +

    C.4 Embedded Style Sheets and Scripts

    +

    Use external style sheets if your style sheet uses +< or & or ]]> or --. Use +external scripts if your script uses < or +& or ]]> or --. Note that XML parsers +are permitted to silently remove the contents of comments. Therefore, the historical +practice of "hiding" scripts and style sheets within comments to make the +documents backward compatible is likely to not work as expected in XML-based +implementations.

    + +

    C.5 Line Breaks within Attribute Values

    +

    Avoid line breaks and multiple whitespace characters within +attribute values. These are handled inconsistently by user +agents.

    + +

    C.6 Isindex

    +

    Don't include more than one isindex element in +the document head. The isindex element +is deprecated in favor of the input element.

    + +

    C.7 The lang and xml:lang Attributes

    +

    Use both the lang and xml:lang +attributes when specifying the language of an element. The value +of the xml:lang attribute takes precedence.

    + +

    C.8 Fragment Identifiers

    +

    In XML, URIs [RFC2396] that end with fragment identifiers of the form +"#foo" do not refer to elements with an attribute +name="foo"; rather, they refer to elements with an +attribute defined to be of type ID, e.g., the +id attribute in HTML 4.0. Many existing HTML clients don't +support the use of ID-type attributes in this way, +so identical values may be supplied for both of these attributes to ensure +maximum forward and backward compatibility (e.g., <a id="foo" name="foo">...</a>).

    + +

    Further, since the set of +legal values for attributes of type ID is much smaller than +for those of type CDATA, the type of the name +attribute has been changed to NMTOKEN. This attribute is +constrained such that it can only have the same values as type +ID, or as the Name production in XML 1.0 Section +2.5, production 5. Unfortunately, this constraint cannot be expressed in the +XHTML 1.0 DTDs. Because of this change, care must be taken when +converting existing HTML documents. The values of these attributes +must be unique within the document, valid, and any references to these +fragment identifiers (both +internal and external) must be updated should the values be changed during +conversion.

    +

    Finally, note that XHTML 1.0 has deprecated the +name attribute of the a, applet, frame, iframe, img, and map +elements, and it will be +removed from XHTML in subsequent versions.

    + +

    C.9 Character Encoding

    +

    To specify a character encoding in the document, use both the +encoding attribute specification on the xml declaration (e.g. +<?xml version="1.0" +encoding="EUC-JP"?>) and a meta http-equiv statement +(e.g. <meta http-equiv="Content-type" +content='text/html; charset="EUC-JP"' />). The +value of the encoding attribute of the xml processing instruction +takes precedence.

    + +

    C.10 Boolean Attributes

    +

    Some HTML user agents are unable to interpret boolean +attributes when these appear in their full (non-minimized) form, +as required by XML 1.0. Note this problem doesn't effect user +agents compliant with HTML 4.0. The following attributes are +involved: compact, nowrap, +ismap, declare, noshade, +checked, disabled, readonly, +multiple, selected, +noresize, defer.

    + +

    C.11 Document Object Model and XHTML

    +

    +The Document Object Model level 1 Recommendation [DOM] +defines document object model interfaces for XML and HTML 4.0. The HTML 4.0 +document object model specifies that HTML element and attribute names are +returned in upper-case. The XML document object model specifies that +element and attribute names are returned in the case they are specified. In +XHTML 1.0, elements and attributes are specified in lower-case. This apparent difference can be +addressed in two ways: +

    +
      +
    1. Applications that access XHTML documents served as Internet media type +text/html +via the DOM can use the HTML DOM, +and can rely upon element and attribute names being returned in +upper-case from those interfaces.
    2. +
    3. Applications that access XHTML documents served as Internet media types +text/xml or application/xml +can also use the XML DOM. Elements and attributes will be returned in lower-case. +Also, some XHTML elements may or may +not appear +in the object tree because they are optional in the content model +(e.g. the tbody element within +table). This occurs because in HTML 4.0 some elements were +permitted to be minimized such that their start and end tags are both omitted +(an SGML feature). +This is not possible in XML. Rather than require document authors to insert +extraneous elements, XHTML has made the elements optional. +Applications need to adapt to this +accordingly.
    4. +
    + +

    C.12 Using Ampersands in Attribute Values

    +

    +When an attribute value contains an ampersand, it must be expressed as a character +entity reference +(e.g. "&amp;"). For example, when the +href attribute +of the a element refers to a +CGI script that takes parameters, it must be expressed as +http://my.site.dom/cgi-bin/myscript.pl?class=guest&amp;name=user +rather than as +http://my.site.dom/cgi-bin/myscript.pl?class=guest&name=user. +

    + +

    C.13 Cascading Style Sheets (CSS) and XHTML

    + +

    The Cascading Style Sheets level 2 Recommendation [CSS2] defines style +properties which are applied to the parse tree of the HTML or XML +document. Differences in parsing will produce different visual or +aural results, depending on the selectors used. The following hints +will reduce this effect for documents which are served without +modification as both media types:

    + +
      +
    1. +CSS style sheets for XHTML should use lower case element and +attribute names.
    2. + + +
    3. In tables, the tbody element will be inferred by the parser of an +HTML user agent, but not by the parser of an XML user agent. Therefore +you should always explicitly add a tbody element if it is referred to +in a CSS selector.
    4. + +
    5. Within the XHTML name space, user agents are expected to +recognize the "id" attribute as an attribute of type ID. +Therefore, style sheets should be able to continue using the +shorthand "#" selector syntax even if the user agent does not read +the DTD.
    6. + +
    7. Within the XHTML name space, user agents are expected to +recognize the "class" attribute. Therefore, style sheets should be +able to continue using the shorthand "." selector syntax.
    8. + +
    9. +CSS defines different conformance rules for HTML and XML documents; +be aware that the HTML rules apply to XHTML documents delivered as +HTML and the XML rules apply to XHTML documents delivered as XML.
    10. +
    + +

    Appendix D. +Acknowledgements

    + +

    This appendix is informative.

    + +

    This specification was written with the participation of the +members of the W3C HTML working group:

    + +
    +
    Steven Pemberton, CWI (HTML Working Group Chair)
    +Murray Altheim, Sun Microsystems
    +Daniel Austin, CNET: The Computer Network
    +Frank Boumphrey, HTML Writers Guild
    +John Burger, Mitre
    +Andrew W. Donoho, IBM
    +Sam Dooley, IBM
    +Klaus Hofrichter, GMD
    +Philipp Hoschka, W3C
    +Masayasu Ishikawa, W3C
    +Warner ten Kate, Philips Electronics
    +Peter King, Phone.com
    +Paula Klante, JetForm
    +Shin'ichi Matsui, W3C/Panasonic
    +Shane McCarron, Applied Testing and Technology (The Open Group through August +1999)
    +Ann Navarro, HTML Writers Guild
    +Zach Nies, Quark
    +Dave Raggett, W3C/HP (W3C lead for HTML)
    +Patrick Schmitz, Microsoft
    +Sebastian Schnitzenbaumer, Stack Overflow
    +Chris Wilson, Microsoft
    +Ted Wugofski, Gateway 2000
    +Dan Zigmond, WebTV Networks
    +
    + + +

    Appendix E. References

    + +

    This appendix is informative.

    + +
    + +
    [CSS2]
    + +
    "Cascading Style Sheets, level 2 (CSS2) Specification", B. +Bos, H. W. Lie, C. Lilley, I. Jacobs, 12 May 1998.
    +Available at: +http://www.w3.org/TR/REC-CSS2
    + +
    [DOM]
    + +
    "Document Object Model (DOM) Level 1 Specification", Lauren +Wood et al., 1 October 1998.
    +Available at: +http://www.w3.org/TR/REC-DOM-Level-1
    + +
    [HTML]
    + +
    "HTML 4.01 Specification", D. Raggett, A. Le Hors, I. +Jacobs, 24 August 1999.
    +Available at: +http://www.w3.org/TR/1999/PR-html40-19990824
    + +
    [POSIX.1]
    + +
    "ISO/IEC 9945-1:1990 Information Technology - Portable +Operating System Interface (POSIX) - Part 1: System Application +Program Interface (API) [C Language]", Institute of Electrical +and Electronics Engineers, Inc, 1990.
    + +
    +[RFC2046]
    + +
    "RFC2046: Multipurpose Internet Mail Extensions (MIME) Part +Two: Media Types", N. Freed and N. Borenstein, November +1996.
    +Available at +http://www.ietf.org/rfc/rfc2046.txt. Note that this RFC +obsoletes RFC1521, RFC1522, and RFC1590.
    + +
    +[RFC2119]
    + +
    "RFC2119: Key words for use in RFCs to Indicate Requirement +Levels", S. Bradner, March 1997.
    +Available at: +http://www.ietf.org/rfc/rfc2119.txt
    + +
    +[RFC2376]
    + +
    "RFC2376: XML Media Types", E. Whitehead, M. Murata, July +1998.
    +Available at: +http://www.ietf.org/rfc/rfc2376.txt
    + +
    +[RFC2396]
    + +
    "RFC2396: Uniform Resource Identifiers (URI): Generic +Syntax", T. Berners-Lee, R. Fielding, L. Masinter, August +1998.
    +This document updates RFC1738 and RFC1808.
    +Available at: +http://www.ietf.org/rfc/rfc2396.txt
    + +
    [XML]
    + +
    "Extensible Markup Language (XML) 1.0 Specification", T. +Bray, J. Paoli, C. M. Sperberg-McQueen, 10 February 1998.
    +Available at: +http://www.w3.org/TR/REC-xml
    + +
    [XMLNAMES]
    + +
    "Namespaces in XML", T. Bray, D. Hollander, A. Layman, 14 +January 1999.
    +XML namespaces provide a simple method for qualifying names used +in XML documents by associating them with namespaces identified +by URI.
    +Available at: +http://www.w3.org/TR/REC-xml-names
    + +
    +

    +Level Triple-A conformance icon, W3C-WAI Web Content Accessibility Guidelines 1.0

    + + + diff --git a/libxml2/result/valid/xlink.xml b/libxml2/result/valid/xlink.xml new file mode 100644 index 0000000..7b35a0f --- /dev/null +++ b/libxml2/result/valid/xlink.xml @@ -0,0 +1,525 @@ + + + +]> + + + + + + + +
    + XML Linking Language (XLink) + Version 1.0 + WD-xlink-19990527 + World Wide Web Consortium Working Draft + 29May1999 + +

    This draft is for public discussion.

    +
    + http://www.w3.org/XML/Group/1999/05/WD-xlink-current + + + http://www.w3.org/XML/Group/1999/05/WD-xlink-19990527 + http://www.w3.org/XML/Group/1999/05/WD-xlink-19990505 + http://www.w3.org/TR/1998/WD-xlink-19980303 + http://www.w3.org/TR/WD-xml-link-970630 + + + + + + Steve DeRose + Inso Corp. and Brown University + Steven_DeRose@Brown.edu + + + David Orchard + IBM Corp. + dorchard@ca.ibm.com + + + Ben Trafford + Invited Expert + bent@exemplary.net + + + + + +

    This is a W3C Working Draft for review by W3C members and other interested parties. It is a draft document and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use W3C Working Drafts as reference material or to cite them as other than "work in progress". A list of current W3C working drafts can be found at http://www.w3.org/TR.

    +

    Note: Since working drafts are subject to frequent change, you are advised to reference the above URI, rather than the URIs for working drafts themselves. Some of the work remaining is described in .

    +

    This work is part of the W3C XML Activity (for current status, see http://www.w3.org/XML/Activity ). For information about the XPointer language which is expected to be used with XLink, see http://www.w3.org/TR/WD-xptr. +

    +

    See http://www.w3.org/TR/NOTE-xlink-principles for additional background on the design principles informing XLink.

    +

    Also see http://www.w3.org/TR/NOTE-xlink-req/ for the XLink requirements that this document attempts to satisfy.

    +
    + + + +

    This specification defines constructs that may be inserted into XML DTDs, schemas and document instances to describe links between objects. It uses XML syntax to create structures that can describe the simple unidirectional hyperlinks of today's HTML as well as more sophisticated links.

    +
    + + +

    Burlington, Seekonk, et al.: World-Wide Web Consortium, XML Working Group, 1998.

    +
    + + +

    Created in electronic form.

    +
    + + + English + Extended Backus-Naur Form (formal grammar) + + + + + 1997-01-15 : Skeleton draft by TB + 1997-01-24 : Fleshed out by sjd + 1997-04-08 : Substantive draft + 1997-06-30 : Public draft + 1997-08-01 : Public draft + 1997-08-05 : Prose/organization work by sjd + 1997-10-14: Conformance and design principles; a bit of cleanup by elm + 1997-11-07: Update for editorial issues per issues doc, by sjd. + 1997-12-01: Update for editorial issues per issues doc in preparation for F2F meeting, by sjd. + 1998-01-13: Editorial cleanup, addition of new design principles, by elm. + 1998-02-27: Splitting out of XLink and XPointer, by elm. + 1998-03-03: Moved most of the XPointer locator stuff here. elm + 1999-04-24: Editorial rewrites to represent new ideas on XLink, especially the inclusion of arcs. bent + 1999-05-05: Prose/organization work by dorchard. Moved much of the semantics section around, from: locators, link semantics, remote resource semantics, local resource semantics; to: resource semantics, locators, behavior semantics, link semantics, arc semantics + 1999-05-12: Prose/organization work. Re-organized some of the sections, removed XML constructs from the document, added descriptive prose, edited document text for clarity. Rewrote the link recognition section. bent + 1999-05-17: Further prose work. Added non-normative examples. Clarified arcs. bent + 1999-05-23: Edited for grammar and clarity. bent + 1999-05-27: Final once-over before sending to group. Fixed sjd's email address. bent + + +
    + + + + Introduction +

    This specification defines constructs that may be inserted into XML DTDs, schemas, and document instances to describe links between objects. A link, as the term is used here, is an explicit relationship between two or more data objects or portions of data objects. This specification is concerned with the syntax used to assert link existence and describe link characteristics. Implicit (unasserted) relationships, for example that of one word to the next or that of a word in a text to its entry in an on-line dictionary are obviously important, but outside its scope.

    +

    Links are asserted by elements contained in XML document instances. The simplest case is very like an HTML A link, and has these characteristics: + +

    The link is expressed at one of its ends (similar to the A element in some document)

    +

    Users can only initiate travel from that end to the other

    +

    The link's effect on windows, frames, go-back lists, stylesheets in use, and so on is mainly determined by browsers, not by the link itself. For example, traveral of A links normally replaces the current view, perhaps with a user option to open a new window.

    +

    The link goes to only one destination (although a server may have great freedom in finding or dynamically creating that destination).

    + +

    +

    While this set of characteristics is already very powerful and obviously has proven itself highly useful and effective, each of these assumptions also limits the range of hypertext functionality. The linking model defined here provides ways to create links that go beyond each of these specific characteristics, thus providing features previously available mostly in dedicated hypermedia systems. +

    + + + Origin and Goals +

    Following is a summary of the design principles governing XLink: + +

    XLink must be straightforwardly usable over the Internet.

    +

    XLink must be usable by a wide variety of link usage domains and classes of linking application software.

    +

    XLink must support HTML 4.0 linking constructs.

    +

    The XLink expression language must be XML.

    +

    The XLink design must be formal, concise, and illustrative.

    +

    XLinks must be human-readable and human-writable.

    +

    XLinks may reside within or outside the documents in which the + participating resources reside.

    +

    XLink must represent the abstract structure and significance of links.

    +

    XLink must be feasible to implement.

    +

    XLink must be informed by knowledge of established hypermedia systems and standards.

    + +

    +
    + + + + Relationship to Existing Standards +

    Three standards have been especially influential: + +

    HTML: Defines several SGML element types that represent links.

    +

    HyTime: Defines inline and out-of-line link structures and some semantic features, including traversal control and presentation of objects. +

    +

    Text Encoding Initiative Guidelines (TEI P3): Provides structures for creating links, aggregate objects, and link collections out of them.

    + +

    +

    Many other linking systems have also informed this design, especially Dexter, FRESS, MicroCosm, and InterMedia.

    +
    + + + Terminology +

    The following basic terms apply in this document. + + + +

    A symbolic representation of traversal behavior in links, especially the direction, context and timing of traversal.

    + + + +

    A representation of the relevant structure specified by the tags and attributes in an XML document, based on "groves" as defined in the ISO DSSSL standard.

    +
    + + +

    Abstractly, a link which serves as one of its own resources. Concretely, a link where the content of the linking element serves as a participating resource. + HTML A, HyTime clink, and TEI XREF + are all inline links.

    +
    + + +

    An explicit relationship between two or more data objects or portions of data objects.

    +
    + + +

    An element that asserts the existence and describes the characteristics of a link.

    +
    + + +

    The content of an inlinelinking element. Note that the content of the linking element could be explicitly pointed to by means of a regular locator in the same linking element, in which case the resource is considered remote, not local.

    +
    + + +

    Data, provided as part of a link, which identifies a + resource.

    +
    + + +

    A link whose traversal can be initiated from more than one of its participating resources. Note that being able to "go back" after following a one-directional link does not make the link multidirectional.

    +
    + + +

    A link whose content does not serve as one of the link's participating resources . Such links presuppose a notion like extended link groups, which instruct application software where to look for links. Out-of-line links are generally required for supporting multidirectional traversal and for allowing read-only resources to have outgoing links.

    +
    + +

    In the context of link behavior, a parsed link is any link whose content is transcluded into the document where the link originated. The use of the term "parsed" directly refers to the concept in XML of a + parsed entity.

    +
    + + +

    A resource that belongs to a link. All resources are potential contributors to a link; participating resources are the actual contributors to a particular link.

    +
    + + +

    Any participating resource of a link that is pointed to with a locator.

    +
    + + +

    In the abstract sense, an addressable unit of information or service that is participating in a link. Examples include files, images, documents, programs, and query results. Concretely, anything reachable by the use of a locator in some linking element. Note that this term and its definition are taken from the basic specifications governing the World Wide Web. +

    +
    + + +

    A portion of a resource, pointed to as the precise destination of a link. As one example, a link might specify that an entire document be retrieved and displayed, but that some specific part(s) of it is the specific linked data, to be treated in an application-appropriate manner such as indication by highlighting, scrolling, etc.

    +
    + + +

    The action of using a link; that is, of accessing a resource. Traversal may be initiated by a user action (for example, clicking on the displayed content of a linking element) or occur under program control.

    +
    + +

    +
    + + + Notation +

    The formal grammar for locators is given using a simple Extended Backus-Naur Form (EBNF) location, as described in the XML specification.

    + +
    +
    + + + Locator Syntax +

    The locator for a resource is typically provided by means of a Uniform Resource Identifier, or URI. XPointers can be used in conjunction with the URI structure, as fragment identifiers, to specify a more precise sub-resource.

    + +

    A locator generally contains a URI, as described in IETF RFCs and . As these RFCs state, the URI may include a trailing query (marked by a leading "?"), and be followed by a "#" and a fragment identifier, with the query interpreted by the host providing the indicated resource, and the interpretation of the fragment identifier dependent on the data type of the indicated resource.

    + +

    In order to locate XML documents and portions of documents, a locator value may contain either a URI or a fragment identifier, or both. Any fragment identifier for pointing into XML must be an XPointer.

    +

    Special syntax may be used to request the use of particular processing models in accessing the locator's resource. This is designed to reflect the realities of network operation, where it may or may not be desirable to exercise fine control over the distribution of work between local and remote processors. + + Locator + + Locator + URI + | Connector (XPointer | Name) + | URI Connector (XPointer | Name) + + + Connector'#' | '|' + + + URIURIchar* + + +

    +

    In this discussion, the term designated resource refers to the resource which an entire locator serves to locate. The following rules apply: + + +

    The URI, if provided, locates a resource called the containing resource.

    + + +

    If the URI is not provided, the containing resource is considered to be the document in which the linking element is contained. +

    + +

    If an XPointer is provided, the designated resource is a sub-resource + of the containing resource; otherwise the designated resource is the + containing resource.

    +
    + + +

    If the Connector is followed directly by a Name, the Name is shorthand for the XPointer"id(Name)"; that is, the sub-resource is the element in the containing resource that has an XML ID attribute whose value matches the Name. This shorthand is to encourage use of the robust id addressing mode.

    +
    + + +

    If the connector is "#", this signals an intent that the containing resource is to be fetched as a whole from the host that provides it, and that the XPointer processing to extract the sub-resource + is to be performed on the client, that is to say on the same system where the linking element is recognized and processed.

    +
    + +

    If the connector is "|", no intent is signaled as to what processing model is to be used to go about accessing the designated resource.

    +
    + +

    +

    Note that the definition of a URI includes an optional query component.

    +

    In the case where the URI contains a query (to be interpreted by the server), information providers and authors of server software are urged to use queries as follows: + + Query + + Query'XML-XPTR=' ( XPointer | Name) + + +

    + +
    + + + Link Recognition +

    The existence of a link is asserted by a linking element. Linking elements must be recognized reliably by application software in order to provide appropriate display and behavior. There are several ways link recognition could be accomplished: for example, reserving element type names, reserving attributes names, leaving the matter of recognition entirely up to stylesheets and application software, or using the XLink namespace to specify element names and attribute names that would be recognized by namespace and XLink-aware processors. Using element and attribute names within the XLink namespace provides a balance between giving users control of their own markup language design and keeping the identification of linking elements simple and unambiguous.

    +

    The two approaches to identifying linking elements are relatively simple to implement. For example, here's how the HTML A element would be declared using attributes within the XLink namespace, and then how an element within the XLink namespace might do the same: + <A xlink:type="simple" xlink:href="http://www.w3.org/TR/wd-xlink/" +xlink:title="The Xlink Working Draft">The XLink Working Draft.</A> + <xlink:simple href="http://www.w3.org/TR/wd-xlink/" +title="The XLink Working Draft">The XLink Working Draft</xlink:simple> + Any arbitrary element can be made into an XLink by using the xlink:type attribute. And, of course, the explicit XLink elements may be used, as well. This document will go on to describe the linking attributes that are associated with linking elements. It may be assumed by the reader that these attributes would require the xlink namespace prefix if they existed within an arbitrary element, or that they may be used directly if they exist within an explicit Xlink element.

    + +
    + + + + Linking Attributes +

    XLink has several attributes associated with the variety of links it may represent. These attributes define four main concepts: locators, arcs, behaviors, and semantics. Locators define where the actual resource is located. Arcs define the traversal of links. Where does the link come from? Where does it go to? All this information can be stored in the arc attributes. Behaviors define how the link is activated, and what the application should do with the resource being linked to. Semantics define useful information that the application may use, and enables the link for such specalized targets as constricted devices and accessibility software.

    + + + Locator Attributes +

    The only locator attribute at this time is href. This attribute must contain either a string in the form of a URI that defines the remote resource being linked to, a string containing a fragment identifier that links to a local resource, or a string containing a URI with a fragment identifier concacenated onto it.

    +
    + + + Arc Attributes +

    Arcs contain two attributes, from and to. The from attribute may contain a string containing the content of a role attribute from the resource being linked from. The purpose of the from attribute is to define where this link is being actuated from.

    +

    The to attribute may contain a string containing the content of a role attribute from the resource being linked to. The purpose of the to attribute is to define where this link traverses to.

    +

    The application may use this information in a number of ways, especially in a complex hypertext system, but it is mainly useful in providing context for application behavior.

    + +
    + + + Behavior Attributes +

    There are two attributes associated with behavior: show and actuate. The show attribute defines how the remote resource is to be revealed to the user. It has three options: new, parsed, and replace. The new option indicates that the remote resource should be shown in a new window (or other device context) without replacing the previous content. The parsed option, relating directly to the XML concept of a parsed entity, indicates that the content should be integrated into the document from which the link was actuated. The replace option is the one most commonly seen on the World Wide Web, where the document being linked from is entirely replaced by the object being linked to.

    +

    The actuate attribute defines how the link is initiated. It has two options: user and auto. The user option indicates that the link must be initiated by some sort of human-initiated selection, such as clicking on an HTML anchor. The auto option indicates that the link is automatically initiated when the application deems that the user has reached the link. It then follows the behavior set out in the show option.

    + +
    + + + Semantic Attributes +

    There are two attributes associated with semantics, role and title. The role attribute is a generic string used to describe the function of the link's content. For example, a poem might have a link with a role="stanza". The role is also used as an identifier for the from and to attributes of arcs.

    +

    The title attribute is designed to provide human-readable text describing the link. It is very useful for those who have text-based applications, whether that be due to a constricted device that cannot display the link's content, or if it's being read by an application to a visually-impaired user, or if it's being used to create a table of links. The title attribute contains a simple, descriptive string.

    +
    +
    + + + Linking Elements +

    There are several kinds of linking elements in XLink: simple links, locators, arcs, and extended links. These elements may be instantiated via element declarations from the XLink namespace, or they may be instantiated via attribute declarations from the XLink namespace. Both kinds of instantiation are described in the definition of each linking element.

    +

    The simple link is used to declare a link that approximates the functionality of the HTML A element. It has, however, a few added features to increase its value, including the potential declaration of semantics and behavior. The locator elements are used to define the resource being linked to. Some links may contain multiple locators, representing a choice of potential links to be traversed. The arcs are used to define the traversal semantics of the link. Finally, an extended linking element differs from a simple link in that it can connect any number of resources, not just one local resource (optionally) and one remote resource, and in that extended links are more often out-of-line than simple links.

    + + + Simple Links + +

    The following are two examples of linking elements, each showing all the possible attributes that can be associated with a simple link. Here is the explicit XLink simple linking element. + <!ELEMENT xlink:simple ANY> +<!ATTLIST xlink:slink + href CDATA #REQUIRED + role CDATA #IMPLIED + title CDATA #IMPLIED + show (new|parsed|replace) "replace" + actuate (user|auto) "user" +> + And here is how to make an arbitrary element into a simple link. + <!ELEMENT xlink:simple ANY> +<!ATTLIST foo + xlink:type (simple|extended|locator|arc) #FIXED "simple" + xlink:href CDATA #REQUIRED + xlink:role CDATA #IMPLIED + xlink:title CDATA #IMPLIED + xlink:show (new|parsed|replace) "replace" + xlink:actuate (user|auto) "user" +> + Here is how the first example might look in a document: +<xlink:simple href="http://www.w3.org/TR/wd-xlink" role="working draft" + title="The XLink Working Draft" show="replace" actuate="user"> +The XLink Working Draft.</xlink:simple> +<foo xlink:href="http://www.w3.org/TR/wd-xlink" xlink:role="working draft" + xlink:title="The XLink Working Draft" xlink:show="new" xlink:actuate="user"> +The XLink Working Draft.</foo> + Alternately, a simple link could be as terse as this: +<foo xlink:href="#stanza1">The First Stanza.</foo> +

    +

    + There are no constraints on the contents of a simple linking element. In + the sample declaration above, it is given a content model of ANY + to illustrate that any content model or declared content is acceptable. In + a valid document, every element that is significant to XLink must still conform + to the constraints expressed in its governing DTD.

    +

    Note that it is meaningful to have an out-of-line simple link, although + such links are uncommon. They are called "one-ended" and are typically used + to associate discrete semantic properties with locations. The properties might + be expressed by attributes on the link, the link's element type name, or in + some other way, and are not considered full-fledged resources of the link. + Most out-of-line links are extended links, as these have a far wider range + of uses.

    +
    + + +Extended Links +

    An extended link differs from a simple link in that it can connect any number of resources, not just one local resource (optionally) and one remote resource, and in that extended links are more often out-of-line than simple links.

    +

    These additional capabilities of extended links are required for: + + +

    Enabling outgoing links in documents that cannot be modified to add an inline link

    + + +

    Creating links to and from resources in formats with no native support for embedded links (such as most multimedia formats)

    +
    + +

    Applying and filtering sets of relevant links on demand

    +
    +

    Enabling other advanced hypermedia capabilities

    + +

    +

    Application software might be expected to provide traversal among all of a link's participating resources (subject to semantic constraints outside the scope of this specification) and to signal the fact that a given resource or sub-resource participates in one or more links when it is displayed (even though there is no markup at exactly that point to signal it).

    +

    A linking element for an extended link contains a series of child elements that serve as locators and arcs. Because an extended link can have more than one remote resource, it separates out linking itself from the mechanisms used to locate each resource (whereas a simple link combines the two).

    +

    The xlink:type attribute value for an extended link must be extended, if the link is being instantiated on an arbitrary element. Note that extended links introduce variants of the show and actuate behavior attributes. These attributes, the showdefault and actuatedefault define the same behavior as their counterparts. However, in this case, they are considered to define the default behavior for all the linking elements that they contain.

    +

    However, when a linking element within an extended link has a show or actuate attribute of its own, that attribute overrides the defaults set on the extended linking element.

    +

    The extended linking element itself retains those attributes relevant to the link as a whole, and to its local resource if any. Following are two sample declaration for an extended link. The first is an example of the explicit XLink extended link: + +<!ELEMENT xlink:extended ((xlink:arc | xlink:locator)*)> +<!ATTLIST xlink:extended + role CDATA #IMPLIED + title CDATA #IMPLIED + showdefault (new|parsed|replace) #IMPLIED + actuatedefault (user|auto) #IMPLIED > + + The second is an example of an arbitrary element being used an extended link: + +<!ELEMENT foo ((xlink:arc | xlink:locator)*)> +<!ATTLIST foo + xlink:type (simple|extended|locator|arc) #FIXED "extended" + xlink:role CDATA #IMPLIED + xlink:title CDATA #IMPLIED + xlink:showdefault (new|parsed|replace) #IMPLIED + xlink:actuatedefault (user|auto) #IMPLIED > + + The following two examples demonstrate how each of the above might appear within a document instance. Note that the content of these examples would be other elements. For brevity's sake, they've been left blank. The first example shows how the link might appear, using an explicit XLink extended link: + +<xlink:extended role="address book" title="Ben's Address Book" showdefault="replace" actuatedefault="user"> ... </xlink:extended> + + And the second shows how the link might appear, using an arbitrary element: + +<foo xlink:type="extended" xlink:role="address book" xlink:title="Ben's Address Book" xlink:showdefault="replace" xlink:actuatedefault="user"> ... </foo> +

    + +
    + + + Arc Elements +

    An arc is contained within an extended link for the purpose of defining traversal behavior. More than one arc may be associated with a link. Otherwise, arc elements function exactly as the arc attributes might lead on to expect.

    + +
    + +
    + +Conformance +

    An element conforms to XLink if: +

    The element has an xml:link attribute whose value is +one of the attribute values prescribed by this specification, and

    +

    the element and all of its attributes and content adhere to the +syntactic +requirements imposed by the chosen xml:link attribute value, +as prescribed in this specification.

    +

    +

    Note that conformance is assessed at the level of individual elements, +rather than whole XML documents, because XLink and non-XLink linking mechanisms +may be used side by side in any one document.

    +

    An application conforms to XLink if it interprets XLink-conforming elements +according to all required semantics prescribed by this specification and, +for any optional semantics it chooses to support, supports them in the way +prescribed.

    +
    + + +Unfinished Work + +Structured Titles +

    The simple title mechanism described in this draft is insufficient to cope +with internationalization or the use of multimedia in link titles. A future +version will provide a mechanism for the use of structured link titles.

    +
    +
    + +References + +Eve Maler and Steve DeRose, editors. +XML Pointer Language (XPointer) V1.0. ArborText, Inso, and Brown +University. Burlington, Seekonk, et al.: World Wide Web Consortium, 1998. +(See http://www.w3.org/TR/WD-xptr + .) +ISO (International Organization for +Standardization). ISO/IEC 10744-1992 (E). Information technology +- Hypermedia/Time-based Structuring Language (HyTime). [Geneva]: +International Organization for Standardization, 1992. Extended +Facilities +Annex. [Geneva]: International Organization for Standardization, +1996. (See http://www.ornl.go +v/sgml/wg8/hytime/html/is10744r.html ). +IETF (Internet Engineering Task +Force). +RFC 1738: Uniform Resource Locators. 1991. (See +http://www.w3.org/Addressing/rfc1738.txt). +IETF (Internet Engineering Task +Force). +RFC 1808: Relative Uniform Resource Locators. 1995. (See http://www.w3.org/Addressing/rfc +1808.txt ). +C. M. Sperberg-McQueen and Lou Burnard, editors. + +Guidelines for Electronic Text Encoding and Interchange. Association +for Computers and the Humanities (ACH), Association for Computational +Linguistics +(ACL), and Association for Literary and Linguistic Computing (ALLC). Chicago, +Oxford: Text Encoding Initiative, 1994. +]Steven J. DeRose and David G. Durand. 1995. "The +TEI Hypertext Guidelines." In Computing and the Humanities +29(3). +Reprinted in Text Encoding Initiative: Background and +Context, +ed. Nancy Ide and Jean ronis , ISBN 0-7923-3704-2. + +
    + diff --git a/libxml2/result/valid/xlink.xml.err b/libxml2/result/valid/xlink.xml.err new file mode 100644 index 0000000..c0eea7c --- /dev/null +++ b/libxml2/result/valid/xlink.xml.err @@ -0,0 +1,4 @@ +./test/valid/xlink.xml:450: element termdef: validity error : ID dt-arc already defined +

    An arc is contained within an e + ^ +./test/valid/xlink.xml:199: element termref: validity error : IDREF attribute def references an unknown ID "dt-xlg" diff --git a/libxml2/result/valid/xlink.xml.err.rdr b/libxml2/result/valid/xlink.xml.err.rdr new file mode 100644 index 0000000..38594f4 --- /dev/null +++ b/libxml2/result/valid/xlink.xml.err.rdr @@ -0,0 +1,4 @@ +./test/valid/xlink.xml:450: element termdef: validity error : ID dt-arc already defined +

    An + + + + + + + + + + + + + + +

    If automatic testing failed, select Failed + + + + + .

    + + + diff --git a/libxml2/result/wap.xml.rde b/libxml2/result/wap.xml.rde new file mode 100644 index 0000000..6867382 --- /dev/null +++ b/libxml2/result/wap.xml.rde @@ -0,0 +1,70 @@ +0 10 wml 0 0 +0 8 #comment 0 1 (C) 1999, 2000 WAP Forum Ltd. All rights reserved +0 1 wml 0 0 +1 14 #text 0 1 + +1 1 card 0 0 +2 14 #text 0 1 + +2 1 onevent 0 0 +3 14 #text 0 1 + +3 1 go 0 0 +4 14 #text 0 1 + +4 1 postfield 1 0 +4 14 #text 0 1 + +4 1 postfield 1 0 +4 14 #text 0 1 + +4 1 postfield 1 0 +4 14 #text 0 1 + +4 1 postfield 1 0 +4 14 #text 0 1 + +4 1 postfield 1 0 +4 14 #text 0 1 + +4 1 postfield 1 0 +4 14 #text 0 1 + +3 15 go 0 0 +3 14 #text 0 1 + +2 15 onevent 0 0 +2 14 #text 0 1 + +2 1 p 0 0 +3 3 #text 0 1 If automatic testing failed, select +3 1 anchor 0 0 +4 3 #text 0 1 Failed +4 1 go 0 0 +5 14 #text 0 1 + +5 1 postfield 1 0 +5 1 postfield 1 0 +5 14 #text 0 1 + +5 1 postfield 1 0 +5 14 #text 0 1 + +5 1 postfield 1 0 +5 14 #text 0 1 + +5 1 postfield 1 0 +5 14 #text 0 1 + +5 1 postfield 1 0 +4 15 go 0 0 +3 15 anchor 0 0 +3 3 #text 0 1 . +2 15 p 0 0 +2 14 #text 0 1 + +1 15 card 0 0 +1 14 #text 0 1 + + +0 15 wml 0 0 diff --git a/libxml2/result/wap.xml.rdr b/libxml2/result/wap.xml.rdr new file mode 100644 index 0000000..6867382 --- /dev/null +++ b/libxml2/result/wap.xml.rdr @@ -0,0 +1,70 @@ +0 10 wml 0 0 +0 8 #comment 0 1 (C) 1999, 2000 WAP Forum Ltd. All rights reserved +0 1 wml 0 0 +1 14 #text 0 1 + +1 1 card 0 0 +2 14 #text 0 1 + +2 1 onevent 0 0 +3 14 #text 0 1 + +3 1 go 0 0 +4 14 #text 0 1 + +4 1 postfield 1 0 +4 14 #text 0 1 + +4 1 postfield 1 0 +4 14 #text 0 1 + +4 1 postfield 1 0 +4 14 #text 0 1 + +4 1 postfield 1 0 +4 14 #text 0 1 + +4 1 postfield 1 0 +4 14 #text 0 1 + +4 1 postfield 1 0 +4 14 #text 0 1 + +3 15 go 0 0 +3 14 #text 0 1 + +2 15 onevent 0 0 +2 14 #text 0 1 + +2 1 p 0 0 +3 3 #text 0 1 If automatic testing failed, select +3 1 anchor 0 0 +4 3 #text 0 1 Failed +4 1 go 0 0 +5 14 #text 0 1 + +5 1 postfield 1 0 +5 1 postfield 1 0 +5 14 #text 0 1 + +5 1 postfield 1 0 +5 14 #text 0 1 + +5 1 postfield 1 0 +5 14 #text 0 1 + +5 1 postfield 1 0 +5 14 #text 0 1 + +5 1 postfield 1 0 +4 15 go 0 0 +3 15 anchor 0 0 +3 3 #text 0 1 . +2 15 p 0 0 +2 14 #text 0 1 + +1 15 card 0 0 +1 14 #text 0 1 + + +0 15 wml 0 0 diff --git a/libxml2/result/wap.xml.sax b/libxml2/result/wap.xml.sax new file mode 100644 index 0000000..ca89e70 --- /dev/null +++ b/libxml2/result/wap.xml.sax @@ -0,0 +1,86 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(wml, -//WAPFORUM//DTD WML 1.1//EN, http://dark.wapit.com/vswap/tests/wap/DTD/wml11.dtd) +SAX.externalSubset(wml, -//WAPFORUM//DTD WML 1.1//EN, http://dark.wapit.com/vswap/tests/wap/DTD/wml11.dtd) +SAX.comment( (C) 1999, 2000 WAP Forum Ltd. All rights reserved ) +SAX.startElement(wml) +SAX.characters( +, 1) +SAX.startElement(card, id='card1') +SAX.characters( +, 1) +SAX.startElement(onevent, type='onenterforward') +SAX.characters( +, 1) +SAX.startElement(go, href='/vswap/run/result.eml') +SAX.characters( + , 9) +SAX.startElement(postfield, name='var', value='$test') +SAX.endElement(postfield) +SAX.characters( + , 9) +SAX.startElement(postfield, name='v', value='dark') +SAX.endElement(postfield) +SAX.characters( + , 9) +SAX.startElement(postfield, name='ts', value='0003') +SAX.endElement(postfield) +SAX.characters( + , 9) +SAX.startElement(postfield, name='tp', value='wml/state/variables/parsing/1') +SAX.endElement(postfield) +SAX.characters( + , 9) +SAX.startElement(postfield, name='ti', value='1') +SAX.endElement(postfield) +SAX.characters( + , 9) +SAX.startElement(postfield, name='expected', value='var:pass') +SAX.endElement(postfield) +SAX.characters( +, 1) +SAX.endElement(go) +SAX.characters( +, 1) +SAX.endElement(onevent) +SAX.characters( +, 1) +SAX.startElement(p) +SAX.characters(If automatic testing failed, s, 36) +SAX.startElement(anchor) +SAX.characters(Failed, 6) +SAX.startElement(go, href='/vswap/run/result.eml') +SAX.characters( + , 9) +SAX.startElement(postfield, name='SUBMIT', value='No') +SAX.endElement(postfield) +SAX.startElement(postfield, name='v', value='dark') +SAX.endElement(postfield) +SAX.characters( + , 9) +SAX.startElement(postfield, name='ts', value='0003') +SAX.endElement(postfield) +SAX.characters( + , 9) +SAX.startElement(postfield, name='tp', value='wml/state/variables/parsing/1') +SAX.endElement(postfield) +SAX.characters( + , 9) +SAX.startElement(postfield, name='ti', value='1') +SAX.endElement(postfield) +SAX.characters( + , 9) +SAX.startElement(postfield, name='expected', value='var:pass') +SAX.endElement(postfield) +SAX.endElement(go) +SAX.endElement(anchor) +SAX.characters(., 1) +SAX.endElement(p) +SAX.characters( +, 1) +SAX.endElement(card) +SAX.characters( + +, 2) +SAX.endElement(wml) +SAX.endDocument() diff --git a/libxml2/result/wap.xml.sax2 b/libxml2/result/wap.xml.sax2 new file mode 100644 index 0000000..6d40b25 --- /dev/null +++ b/libxml2/result/wap.xml.sax2 @@ -0,0 +1,87 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(wml, -//WAPFORUM//DTD WML 1.1//EN, http://dark.wapit.com/vswap/tests/wap/DTD/wml11.dtd) +SAX.externalSubset(wml, -//WAPFORUM//DTD WML 1.1//EN, http://dark.wapit.com/vswap/tests/wap/DTD/wml11.dtd) +SAX.comment( (C) 1999, 2000 WAP Forum Ltd. All rights reserved ) +SAX.startElementNs(wml, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.startElementNs(card, NULL, NULL, 0, 1, 0, id='card...', 5) +SAX.characters( +, 1) +SAX.startElementNs(onevent, NULL, NULL, 0, 1, 0, type='onen...', 14) +SAX.characters( +, 1) +SAX.startElementNs(go, NULL, NULL, 0, 1, 0, href='/vsw...', 21) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='var"...', 3, value='$tes...', 5) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='v" v...', 1, value='dark...', 4) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='ts" ...', 2, value='0003...', 4) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='tp" ...', 2, value='wml/...', 29) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='ti" ...', 2, value='1"/>...', 1) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='expe...', 8, value='var:...', 8) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(go, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(onevent, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters(If automatic testing failed, s, 36) +SAX.startElementNs(anchor, NULL, NULL, 0, 0, 0) +SAX.characters(Failed, 6) +SAX.startElementNs(go, NULL, NULL, 0, 1, 0, href='/vsw...', 21) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='SUBM...', 6, value='No"/...', 2) +SAX.endElementNs(postfield, NULL, NULL) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='v" +v...', 1, value='dark...', 4) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='ts" ...', 2, value='0003...', 4) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='tp" ...', 2, value='wml/...', 29) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='ti" ...', 2, value='1"/>...', 1) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='expe...', 8, value='var:...', 8) +SAX.endElementNs(postfield, NULL, NULL) +SAX.endElementNs(go, NULL, NULL) +SAX.endElementNs(anchor, NULL, NULL) +SAX.characters(., 1) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(card, NULL, NULL) +SAX.characters( + +, 2) +SAX.endElementNs(wml, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/winblanks.xml b/libxml2/result/winblanks.xml new file mode 100644 index 0000000..0044aa2 --- /dev/null +++ b/libxml2/result/winblanks.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/libxml2/result/winblanks.xml.rde b/libxml2/result/winblanks.xml.rde new file mode 100644 index 0000000..2f6a5d3 --- /dev/null +++ b/libxml2/result/winblanks.xml.rde @@ -0,0 +1,13 @@ +0 1 a 0 0 +1 14 #text 0 1 + +1 1 B 0 0 +2 14 #text 0 1 + +2 1 C 1 0 +2 14 #text 0 1 + +1 15 B 0 0 +1 14 #text 0 1 + +0 15 a 0 0 diff --git a/libxml2/result/winblanks.xml.rdr b/libxml2/result/winblanks.xml.rdr new file mode 100644 index 0000000..2f6a5d3 --- /dev/null +++ b/libxml2/result/winblanks.xml.rdr @@ -0,0 +1,13 @@ +0 1 a 0 0 +1 14 #text 0 1 + +1 1 B 0 0 +2 14 #text 0 1 + +2 1 C 1 0 +2 14 #text 0 1 + +1 15 B 0 0 +1 14 #text 0 1 + +0 15 a 0 0 diff --git a/libxml2/result/winblanks.xml.sax b/libxml2/result/winblanks.xml.sax new file mode 100644 index 0000000..72e39d5 --- /dev/null +++ b/libxml2/result/winblanks.xml.sax @@ -0,0 +1,18 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(a) +SAX.characters( + , 5) +SAX.startElement(B) +SAX.characters( + , 9) +SAX.startElement(C) +SAX.endElement(C) +SAX.characters( , 3) +SAX.characters( +, 1) +SAX.endElement(B) +SAX.characters( +, 1) +SAX.endElement(a) +SAX.endDocument() diff --git a/libxml2/result/winblanks.xml.sax2 b/libxml2/result/winblanks.xml.sax2 new file mode 100644 index 0000000..6e9d693 --- /dev/null +++ b/libxml2/result/winblanks.xml.sax2 @@ -0,0 +1,18 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(a, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(B, NULL, NULL, 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(C, NULL, NULL, 0, 0, 0) +SAX.endElementNs(C, NULL, NULL) +SAX.characters( , 3) +SAX.characters( +, 1) +SAX.endElementNs(B, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(a, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/wml.xml b/libxml2/result/wml.xml new file mode 100644 index 0000000..3a96562 --- /dev/null +++ b/libxml2/result/wml.xml @@ -0,0 +1,10 @@ + + + + +

    + Cinéma
    +

    + +
    +
    diff --git a/libxml2/result/wml.xml.rde b/libxml2/result/wml.xml.rde new file mode 100644 index 0000000..1bb28d4 --- /dev/null +++ b/libxml2/result/wml.xml.rde @@ -0,0 +1,24 @@ +0 10 wml 0 0 +0 1 wml 0 0 +1 14 #text 0 1 + +1 1 card 0 0 +2 14 #text 0 1 + +2 1 p 0 0 +3 14 #text 0 1 + +3 1 a 0 0 +4 3 #text 0 1 Cinéma +3 15 a 0 0 +3 1 br 1 0 +3 14 #text 0 1 + +2 15 p 0 0 +2 14 #text 0 1 + + +1 15 card 0 0 +1 14 #text 0 1 + +0 15 wml 0 0 diff --git a/libxml2/result/wml.xml.rdr b/libxml2/result/wml.xml.rdr new file mode 100644 index 0000000..1bb28d4 --- /dev/null +++ b/libxml2/result/wml.xml.rdr @@ -0,0 +1,24 @@ +0 10 wml 0 0 +0 1 wml 0 0 +1 14 #text 0 1 + +1 1 card 0 0 +2 14 #text 0 1 + +2 1 p 0 0 +3 14 #text 0 1 + +3 1 a 0 0 +4 3 #text 0 1 Cinéma +3 15 a 0 0 +3 1 br 1 0 +3 14 #text 0 1 + +2 15 p 0 0 +2 14 #text 0 1 + + +1 15 card 0 0 +1 14 #text 0 1 + +0 15 wml 0 0 diff --git a/libxml2/result/wml.xml.sax b/libxml2/result/wml.xml.sax new file mode 100644 index 0000000..46959bb --- /dev/null +++ b/libxml2/result/wml.xml.sax @@ -0,0 +1,31 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(wml, -//WAPFORUM//DTD WML 1.1//EN, http://www.wapforum.org/DTD/wml_1.1.xml) +SAX.externalSubset(wml, -//WAPFORUM//DTD WML 1.1//EN, http://www.wapforum.org/DTD/wml_1.1.xml) +SAX.startElement(wml) +SAX.characters( + , 3) +SAX.startElement(card, id='card1', title='Rubriques 75008') +SAX.characters( + , 2) +SAX.startElement(p) +SAX.characters( + , 3) +SAX.startElement(a, href='rubmenu.asp?CP=75008&RB=01') +SAX.characters(Cin, 3) +SAX.characters(é, 2) +SAX.characters(ma, 2) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + , 2) +SAX.endElement(p) +SAX.characters( + +, 2) +SAX.endElement(card) +SAX.characters( +, 1) +SAX.endElement(wml) +SAX.endDocument() diff --git a/libxml2/result/wml.xml.sax2 b/libxml2/result/wml.xml.sax2 new file mode 100644 index 0000000..bc86149 --- /dev/null +++ b/libxml2/result/wml.xml.sax2 @@ -0,0 +1,31 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(wml, -//WAPFORUM//DTD WML 1.1//EN, http://www.wapforum.org/DTD/wml_1.1.xml) +SAX.externalSubset(wml, -//WAPFORUM//DTD WML 1.1//EN, http://www.wapforum.org/DTD/wml_1.1.xml) +SAX.startElementNs(wml, NULL, NULL, 0, 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(card, NULL, NULL, 0, 2, 0, id='card...', 5, title='Rubr...', 15) +SAX.characters( + , 2) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(a, NULL, NULL, 0, 1, 0, href='rubm...', 30) +SAX.characters(Cin, 3) +SAX.characters(é, 2) +SAX.characters(ma, 2) +SAX.endElementNs(a, NULL, NULL) +SAX.startElementNs(br, NULL, NULL, 0, 0, 0) +SAX.endElementNs(br, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + +, 2) +SAX.endElementNs(card, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(wml, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/xhtml1 b/libxml2/result/xhtml1 new file mode 100644 index 0000000..6c06a95 --- /dev/null +++ b/libxml2/result/xhtml1 @@ -0,0 +1,30 @@ + + + + + + Virtual Library + + + + +

    Moved to example.org.

    + + + foo + +

    + +

    coucou

    +

    salut

    + +

    test

    + +
    +
    Internet Engineering Task Force
    +
    An organization which establishes technical standards for the Internet
    +
    + + diff --git a/libxml2/result/xhtml1.rde b/libxml2/result/xhtml1.rde new file mode 100644 index 0000000..4d2cc24 --- /dev/null +++ b/libxml2/result/xhtml1.rde @@ -0,0 +1,95 @@ +0 10 html 0 0 +0 8 #comment 0 1 3.1.1 3/ +0 1 html 0 0 +1 14 #text 0 1 + +1 1 head 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Virtual Library +2 15 title 0 0 +2 14 #text 0 1 + +1 15 head 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 4.8 +1 14 #text 0 1 + +1 1 script 0 0 +2 3 #text 0 1 + ... unescaped script < content ... + +1 15 script 0 0 +1 14 #text 0 1 + +1 1 body 0 0 +2 14 #text 0 1 + +2 1 p 0 0 +3 3 #text 0 1 Moved to +3 1 a 0 0 +4 3 #text 0 1 example.org +3 15 a 0 0 +3 3 #text 0 1 . +2 15 p 0 0 +2 14 #text 0 1 + +1 15 body 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 C2 +1 14 #text 0 1 + +1 1 img 1 0 +1 14 #text 0 1 + +1 8 #comment 0 1 C3 +1 14 #text 0 1 + +1 1 p 1 0 +1 14 #text 0 1 + +1 8 #comment 0 1 C7 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 coucou +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 salut +1 15 p 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 C8 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 test +1 15 p 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 4.5 +1 14 #text 0 1 + +1 1 dl 0 0 +2 14 #text 0 1 + +2 1 dt 0 0 +3 3 #text 0 1 Internet Engineering Task Force +2 15 dt 0 0 +2 14 #text 0 1 + +2 1 dd 0 0 +3 3 #text 0 1 An organization which establishes technical standards for the Internet +2 15 dd 0 0 +2 14 #text 0 1 + +1 15 dl 0 0 +1 14 #text 0 1 + + +0 15 html 0 0 diff --git a/libxml2/result/xhtml1.rdr b/libxml2/result/xhtml1.rdr new file mode 100644 index 0000000..4d2cc24 --- /dev/null +++ b/libxml2/result/xhtml1.rdr @@ -0,0 +1,95 @@ +0 10 html 0 0 +0 8 #comment 0 1 3.1.1 3/ +0 1 html 0 0 +1 14 #text 0 1 + +1 1 head 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Virtual Library +2 15 title 0 0 +2 14 #text 0 1 + +1 15 head 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 4.8 +1 14 #text 0 1 + +1 1 script 0 0 +2 3 #text 0 1 + ... unescaped script < content ... + +1 15 script 0 0 +1 14 #text 0 1 + +1 1 body 0 0 +2 14 #text 0 1 + +2 1 p 0 0 +3 3 #text 0 1 Moved to +3 1 a 0 0 +4 3 #text 0 1 example.org +3 15 a 0 0 +3 3 #text 0 1 . +2 15 p 0 0 +2 14 #text 0 1 + +1 15 body 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 C2 +1 14 #text 0 1 + +1 1 img 1 0 +1 14 #text 0 1 + +1 8 #comment 0 1 C3 +1 14 #text 0 1 + +1 1 p 1 0 +1 14 #text 0 1 + +1 8 #comment 0 1 C7 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 coucou +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 salut +1 15 p 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 C8 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 test +1 15 p 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 4.5 +1 14 #text 0 1 + +1 1 dl 0 0 +2 14 #text 0 1 + +2 1 dt 0 0 +3 3 #text 0 1 Internet Engineering Task Force +2 15 dt 0 0 +2 14 #text 0 1 + +2 1 dd 0 0 +3 3 #text 0 1 An organization which establishes technical standards for the Internet +2 15 dd 0 0 +2 14 #text 0 1 + +1 15 dl 0 0 +1 14 #text 0 1 + + +0 15 html 0 0 diff --git a/libxml2/result/xhtml1.sax b/libxml2/result/xhtml1.sax new file mode 100644 index 0000000..624fa38 --- /dev/null +++ b/libxml2/result/xhtml1.sax @@ -0,0 +1,103 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(html, -//W3C//DTD XHTML 1.0 Strict//EN, http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd) +SAX.externalSubset(html, -//W3C//DTD XHTML 1.0 Strict//EN, http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd) +SAX.comment( 3.1.1 3/ ) +SAX.startElement(html, xml:lang='en', lang='en') +SAX.characters( + , 3) +SAX.startElement(head) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Virtual Library, 15) +SAX.endElement(title) +SAX.characters( + , 3) +SAX.endElement(head) +SAX.characters( + , 3) +SAX.comment( 4.8 ) +SAX.characters( + , 3) +SAX.startElement(script, type='text/javascript') +SAX.characters( + ... unescaped script , 24) +SAX.characters(<, 1) +SAX.characters( content ... + , 15) +SAX.endElement(script) +SAX.characters( + , 3) +SAX.startElement(body) +SAX.characters( + , 5) +SAX.startElement(p) +SAX.characters(Moved to , 9) +SAX.startElement(a, href='http://example.org/') +SAX.characters(example.org, 11) +SAX.endElement(a) +SAX.characters(., 1) +SAX.endElement(p) +SAX.characters( + , 3) +SAX.endElement(body) +SAX.characters( + , 3) +SAX.comment( C2 ) +SAX.characters( + , 3) +SAX.startElement(img, src='foo.gif', alt='foo') +SAX.endElement(img) +SAX.characters( + , 3) +SAX.comment( C3 ) +SAX.characters( + , 3) +SAX.startElement(p) +SAX.endElement(p) +SAX.characters( + , 3) +SAX.comment( C7 ) +SAX.characters( + , 3) +SAX.startElement(p, lang='fr') +SAX.characters(coucou, 6) +SAX.endElement(p) +SAX.characters( + , 3) +SAX.startElement(p, xml:lang='fr') +SAX.characters(salut, 5) +SAX.endElement(p) +SAX.characters( + , 3) +SAX.comment( C8 ) +SAX.characters( + , 3) +SAX.startElement(p, name='fragid') +SAX.characters(test, 4) +SAX.endElement(p) +SAX.characters( + , 3) +SAX.comment( 4.5 ) +SAX.characters( + , 3) +SAX.startElement(dl, compact='') +SAX.characters( + , 3) +SAX.startElement(dt) +SAX.characters(Internet Engineering Task Forc, 31) +SAX.endElement(dt) +SAX.characters( + , 3) +SAX.startElement(dd) +SAX.characters(An organization which establis, 70) +SAX.endElement(dd) +SAX.characters( + , 3) +SAX.endElement(dl) +SAX.characters( + +, 2) +SAX.endElement(html) +SAX.endDocument() diff --git a/libxml2/result/xhtml1.sax2 b/libxml2/result/xhtml1.sax2 new file mode 100644 index 0000000..e6952c8 --- /dev/null +++ b/libxml2/result/xhtml1.sax2 @@ -0,0 +1,104 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(html, -//W3C//DTD XHTML 1.0 Strict//EN, http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd) +SAX.externalSubset(html, -//W3C//DTD XHTML 1.0 Strict//EN, http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd) +SAX.comment( 3.1.1 3/ ) +SAX.startElementNs(html, NULL, NULL, 0, 2, 0, xml:lang='en" ...', 2, lang='en">...', 2) +SAX.characters( + , 3) +SAX.startElementNs(head, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Virtual Library, 15) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(head, NULL, NULL) +SAX.characters( + , 3) +SAX.comment( 4.8 ) +SAX.characters( + , 3) +SAX.startElementNs(script, NULL, NULL, 0, 1, 0, type='text...', 15) +SAX.characters( + ... unescaped script , 24) +SAX.characters(<, 1) +SAX.characters( content ... + , 15) +SAX.endElementNs(script, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(body, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters(Moved to , 9) +SAX.startElementNs(a, NULL, NULL, 0, 1, 0, href='http...', 19) +SAX.characters(example.org, 11) +SAX.endElementNs(a, NULL, NULL) +SAX.characters(., 1) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(body, NULL, NULL) +SAX.characters( + , 3) +SAX.comment( C2 ) +SAX.characters( + , 3) +SAX.startElementNs(img, NULL, NULL, 0, 2, 0, src='foo....', 7, alt='foo"...', 3) +SAX.endElementNs(img, NULL, NULL) +SAX.characters( + , 3) +SAX.comment( C3 ) +SAX.characters( + , 3) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 3) +SAX.comment( C7 ) +SAX.characters( + , 3) +SAX.startElementNs(p, NULL, NULL, 0, 1, 0, lang='fr">...', 2) +SAX.characters(coucou, 6) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(p, NULL, NULL, 0, 1, 0, xml:lang='fr">...', 2) +SAX.characters(salut, 5) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 3) +SAX.comment( C8 ) +SAX.characters( + , 3) +SAX.startElementNs(p, NULL, NULL, 0, 1, 0, name='frag...', 6) +SAX.characters(test, 4) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 3) +SAX.comment( 4.5 ) +SAX.characters( + , 3) +SAX.startElementNs(dl, NULL, NULL, 0, 1, 0, compact='"> + ...', 0) +SAX.characters( + , 3) +SAX.startElementNs(dt, NULL, NULL, 0, 0, 0) +SAX.characters(Internet Engineering Task Forc, 31) +SAX.endElementNs(dt, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(dd, NULL, NULL, 0, 0, 0) +SAX.characters(An organization which establis, 70) +SAX.endElementNs(dd, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(dl, NULL, NULL) +SAX.characters( + +, 2) +SAX.endElementNs(html, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/xhtmlcomp b/libxml2/result/xhtmlcomp new file mode 100644 index 0000000..4ce634c --- /dev/null +++ b/libxml2/result/xhtmlcomp @@ -0,0 +1,7 @@ + + + + +

    a b

    + + diff --git a/libxml2/result/xhtmlcomp.rde b/libxml2/result/xhtmlcomp.rde new file mode 100644 index 0000000..97517b7 --- /dev/null +++ b/libxml2/result/xhtmlcomp.rde @@ -0,0 +1,19 @@ +0 10 html 0 0 +0 1 html 0 0 +1 14 #text 0 1 + +1 1 body 0 0 +2 14 #text 0 1 + +2 1 h1 0 0 +3 1 abbr 0 0 +4 3 #text 0 1 a +3 15 abbr 0 0 +3 3 #text 0 1 b +2 15 h1 0 0 +2 14 #text 0 1 + +1 15 body 0 0 +1 14 #text 0 1 + +0 15 html 0 0 diff --git a/libxml2/result/xhtmlcomp.rdr b/libxml2/result/xhtmlcomp.rdr new file mode 100644 index 0000000..97517b7 --- /dev/null +++ b/libxml2/result/xhtmlcomp.rdr @@ -0,0 +1,19 @@ +0 10 html 0 0 +0 1 html 0 0 +1 14 #text 0 1 + +1 1 body 0 0 +2 14 #text 0 1 + +2 1 h1 0 0 +3 1 abbr 0 0 +4 3 #text 0 1 a +3 15 abbr 0 0 +3 3 #text 0 1 b +2 15 h1 0 0 +2 14 #text 0 1 + +1 15 body 0 0 +1 14 #text 0 1 + +0 15 html 0 0 diff --git a/libxml2/result/xhtmlcomp.sax b/libxml2/result/xhtmlcomp.sax new file mode 100644 index 0000000..a7a0d69 --- /dev/null +++ b/libxml2/result/xhtmlcomp.sax @@ -0,0 +1,23 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(html, -//W3C//DTD XHTML 1.0 Strict//EN, http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd) +SAX.externalSubset(html, -//W3C//DTD XHTML 1.0 Strict//EN, http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd) +SAX.startElement(html) +SAX.characters( + , 3) +SAX.startElement(body) +SAX.characters( + , 5) +SAX.startElement(h1) +SAX.startElement(abbr) +SAX.characters(a, 1) +SAX.endElement(abbr) +SAX.characters( b, 2) +SAX.endElement(h1) +SAX.characters( + , 3) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.endDocument() diff --git a/libxml2/result/xhtmlcomp.sax2 b/libxml2/result/xhtmlcomp.sax2 new file mode 100644 index 0000000..085b770 --- /dev/null +++ b/libxml2/result/xhtmlcomp.sax2 @@ -0,0 +1,23 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(html, -//W3C//DTD XHTML 1.0 Strict//EN, http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd) +SAX.externalSubset(html, -//W3C//DTD XHTML 1.0 Strict//EN, http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd) +SAX.startElementNs(html, NULL, NULL, 0, 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(body, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(h1, NULL, NULL, 0, 0, 0) +SAX.startElementNs(abbr, NULL, NULL, 0, 0, 0) +SAX.characters(a, 1) +SAX.endElementNs(abbr, NULL, NULL) +SAX.characters( b, 2) +SAX.endElementNs(h1, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(body, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(html, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/xml1 b/libxml2/result/xml1 new file mode 100644 index 0000000..d32f56c --- /dev/null +++ b/libxml2/result/xml1 @@ -0,0 +1,7 @@ + +An ampersand (&#38;) may be escaped + numerically (&#38;#38;) or with a general entity + (&amp;).

    "> +]> +&example; diff --git a/libxml2/result/xml1.rde b/libxml2/result/xml1.rde new file mode 100644 index 0000000..ecd6154 --- /dev/null +++ b/libxml2/result/xml1.rde @@ -0,0 +1,8 @@ +0 10 test 0 0 +0 1 test 0 0 +1 1 p 0 0 +2 3 #text 0 1 An ampersand (&) may be escaped + numerically (&) or with a general entity + (&). +1 15 p 0 0 +0 15 test 0 0 diff --git a/libxml2/result/xml1.rdr b/libxml2/result/xml1.rdr new file mode 100644 index 0000000..9c9b943 --- /dev/null +++ b/libxml2/result/xml1.rdr @@ -0,0 +1,4 @@ +0 10 test 0 0 +0 1 test 0 0 +1 5 example 0 0 +0 15 test 0 0 diff --git a/libxml2/result/xml1.sax b/libxml2/result/xml1.sax new file mode 100644 index 0000000..13f881b --- /dev/null +++ b/libxml2/result/xml1.sax @@ -0,0 +1,23 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(test, , ) +SAX.entityDecl(example, 1, (null), (null),

    An ampersand (&) may be escaped + numerically (&#38;) or with a general entity + (&amp;).

    ) +SAX.getEntity(example) +SAX.externalSubset(test, , ) +SAX.startElement(test) +SAX.getEntity(example) +SAX.startElement(p) +SAX.characters(An ampersand (, 14) +SAX.characters(&, 1) +SAX.characters() may be escaped + numerically , 31) +SAX.characters(&, 1) +SAX.characters(#38;) or with a general entity, 34) +SAX.characters(&, 1) +SAX.characters(amp;)., 6) +SAX.endElement(p) +SAX.reference(example) +SAX.endElement(test) +SAX.endDocument() diff --git a/libxml2/result/xml1.sax2 b/libxml2/result/xml1.sax2 new file mode 100644 index 0000000..7b220f2 --- /dev/null +++ b/libxml2/result/xml1.sax2 @@ -0,0 +1,23 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(test, , ) +SAX.entityDecl(example, 1, (null), (null),

    An ampersand (&) may be escaped + numerically (&#38;) or with a general entity + (&amp;).

    ) +SAX.getEntity(example) +SAX.externalSubset(test, , ) +SAX.startElementNs(test, NULL, NULL, 0, 0, 0) +SAX.getEntity(example) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters(An ampersand (, 14) +SAX.characters(&, 1) +SAX.characters() may be escaped + numerically , 31) +SAX.characters(&, 1) +SAX.characters(#38;) or with a general entity, 34) +SAX.characters(&, 1) +SAX.characters(amp;)., 6) +SAX.endElementNs(p, NULL, NULL) +SAX.reference(example) +SAX.endElementNs(test, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/xml2 b/libxml2/result/xml2 new file mode 100644 index 0000000..b26b358 --- /dev/null +++ b/libxml2/result/xml2 @@ -0,0 +1,8 @@ + + + +'> + +]> +This sample shows a &tricky; method. diff --git a/libxml2/result/xml2.rde b/libxml2/result/xml2.rde new file mode 100644 index 0000000..cfdf217 --- /dev/null +++ b/libxml2/result/xml2.rde @@ -0,0 +1,4 @@ +0 10 test 0 0 +0 1 test 0 0 +1 3 #text 0 1 This sample shows a error-prone method. +0 15 test 0 0 diff --git a/libxml2/result/xml2.rdr b/libxml2/result/xml2.rdr new file mode 100644 index 0000000..05dce2a --- /dev/null +++ b/libxml2/result/xml2.rdr @@ -0,0 +1,6 @@ +0 10 test 0 0 +0 1 test 0 0 +1 3 #text 0 1 This sample shows a +1 5 tricky 0 0 +1 3 #text 0 1 method. +0 15 test 0 0 diff --git a/libxml2/result/xml2.sax b/libxml2/result/xml2.sax new file mode 100644 index 0000000..c52e078 --- /dev/null +++ b/libxml2/result/xml2.sax @@ -0,0 +1,21 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(test, , ) +SAX.elementDecl(test, 3, ...) +SAX.entityDecl(xx, 4, (null), (null), %zz;) +SAX.getParameterEntity(xx) +SAX.entityDecl(zz, 4, (null), (null), ) +SAX.getParameterEntity(zz) +SAX.getParameterEntity(xx) +SAX.getParameterEntity(zz) +SAX.entityDecl(tricky, 1, (null), (null), error-prone) +SAX.getEntity(tricky) +SAX.externalSubset(test, , ) +SAX.startElement(test) +SAX.characters(This sample shows a , 20) +SAX.getEntity(tricky) +SAX.characters(error-prone, 11) +SAX.reference(tricky) +SAX.characters( method., 8) +SAX.endElement(test) +SAX.endDocument() diff --git a/libxml2/result/xml2.sax2 b/libxml2/result/xml2.sax2 new file mode 100644 index 0000000..1bbd66f --- /dev/null +++ b/libxml2/result/xml2.sax2 @@ -0,0 +1,21 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(test, , ) +SAX.elementDecl(test, 3, ...) +SAX.entityDecl(xx, 4, (null), (null), %zz;) +SAX.getParameterEntity(xx) +SAX.entityDecl(zz, 4, (null), (null), ) +SAX.getParameterEntity(zz) +SAX.getParameterEntity(xx) +SAX.getParameterEntity(zz) +SAX.entityDecl(tricky, 1, (null), (null), error-prone) +SAX.getEntity(tricky) +SAX.externalSubset(test, , ) +SAX.startElementNs(test, NULL, NULL, 0, 0, 0) +SAX.characters(This sample shows a , 20) +SAX.getEntity(tricky) +SAX.characters(error-prone, 11) +SAX.reference(tricky) +SAX.characters( method., 8) +SAX.endElementNs(test, NULL, NULL) +SAX.endDocument() diff --git a/libxml2/result/xmlid/id_err1.xml b/libxml2/result/xmlid/id_err1.xml new file mode 100644 index 0000000..2e47afd --- /dev/null +++ b/libxml2/result/xmlid/id_err1.xml @@ -0,0 +1,2 @@ +Object is a Node Set : +Set contains 0 nodes: diff --git a/libxml2/result/xmlid/id_err1.xml.err b/libxml2/result/xmlid/id_err1.xml.err new file mode 100644 index 0000000..42df6b8 --- /dev/null +++ b/libxml2/result/xmlid/id_err1.xml.err @@ -0,0 +1,3 @@ +./test/xmlid/id_err1.xml:1: parser error : xml:id : attribute value 0bar is not an NCName + + ^ diff --git a/libxml2/result/xmlid/id_err2.xml b/libxml2/result/xmlid/id_err2.xml new file mode 100644 index 0000000..33ee896 --- /dev/null +++ b/libxml2/result/xmlid/id_err2.xml @@ -0,0 +1,6 @@ +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT foo + ATTRIBUTE id + TEXT + content=bar diff --git a/libxml2/result/xmlid/id_err2.xml.err b/libxml2/result/xmlid/id_err2.xml.err new file mode 100644 index 0000000..66c9066 --- /dev/null +++ b/libxml2/result/xmlid/id_err2.xml.err @@ -0,0 +1,3 @@ +./test/xmlid/id_err2.xml:3: parser error : xml:id : attribute type should be ID + + ^ diff --git a/libxml2/result/xmlid/id_tst1.xml b/libxml2/result/xmlid/id_tst1.xml new file mode 100644 index 0000000..33ee896 --- /dev/null +++ b/libxml2/result/xmlid/id_tst1.xml @@ -0,0 +1,6 @@ +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT foo + ATTRIBUTE id + TEXT + content=bar diff --git a/libxml2/result/xmlid/id_tst2.xml b/libxml2/result/xmlid/id_tst2.xml new file mode 100644 index 0000000..856a320 --- /dev/null +++ b/libxml2/result/xmlid/id_tst2.xml @@ -0,0 +1,6 @@ +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT n:foo + ATTRIBUTE id + TEXT + content=bar diff --git a/libxml2/result/xmlid/id_tst2.xml.err b/libxml2/result/xmlid/id_tst2.xml.err new file mode 100644 index 0000000..390d48d --- /dev/null +++ b/libxml2/result/xmlid/id_tst2.xml.err @@ -0,0 +1,3 @@ +./test/xmlid/id_tst2.xml:1: namespace error : Namespace prefix n on foo is not defined + + ^ diff --git a/libxml2/result/xmlid/id_tst3.xml b/libxml2/result/xmlid/id_tst3.xml new file mode 100644 index 0000000..6d8865c --- /dev/null +++ b/libxml2/result/xmlid/id_tst3.xml @@ -0,0 +1,6 @@ +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT f:o:o + ATTRIBUTE id + TEXT + content=bar diff --git a/libxml2/result/xmlid/id_tst3.xml.err b/libxml2/result/xmlid/id_tst3.xml.err new file mode 100644 index 0000000..bafdcde --- /dev/null +++ b/libxml2/result/xmlid/id_tst3.xml.err @@ -0,0 +1,3 @@ +./test/xmlid/id_tst3.xml:1: namespace error : Failed to parse QName 'f:o:o' + + ^ diff --git a/libxml2/result/xmlid/id_tst4.xml b/libxml2/result/xmlid/id_tst4.xml new file mode 100644 index 0000000..33ee896 --- /dev/null +++ b/libxml2/result/xmlid/id_tst4.xml @@ -0,0 +1,6 @@ +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT foo + ATTRIBUTE id + TEXT + content=bar diff --git a/libxml2/result/xmlid/id_tst4.xml.err b/libxml2/result/xmlid/id_tst4.xml.err new file mode 100644 index 0000000..36c78c8 --- /dev/null +++ b/libxml2/result/xmlid/id_tst4.xml.err @@ -0,0 +1,3 @@ +./test/xmlid/id_tst4.xml:3: element err: validity error : ID bar already defined + + ^ diff --git a/libxml2/run_and_diff.cmake b/libxml2/run_and_diff.cmake new file mode 100644 index 0000000..81a113e --- /dev/null +++ b/libxml2/run_and_diff.cmake @@ -0,0 +1,44 @@ +# Ensure output directory exists +get_filename_component(_outdir "${STDOUT}" DIRECTORY) +file(MAKE_DIRECTORY "${_outdir}") + +# Run the program +execute_process( + COMMAND "${PROG}" --shell "${XML}" + INPUT_FILE "${STDIN}" + OUTPUT_FILE "${STDOUT}" + ERROR_FILE "${STDERR}" + RESULT_VARIABLE rc + WORKING_DIRECTORY "${WORKDIR}" + ) + +if(NOT rc EQUAL 0) + message(STATUS "Program exited with ${rc}") +endif() + +# Diff stdout +if(NOT EXISTS "${EXPECTED_STDOUT}") + message(FATAL_ERROR "Missing expected stdout file: ${EXPECTED_STDOUT}") +endif() + +execute_process( + COMMAND ${CMAKE_COMMAND} -E compare_files + "${STDOUT}" "${EXPECTED_STDOUT}" + RESULT_VARIABLE cmp_stdout +) + +if(NOT cmp_stdout EQUAL 0) + message(FATAL_ERROR "stdout does not match expected") +endif() + +# Diff stderr if it exists +if(EXISTS "${EXPECTED_STDERR}") + execute_process( + COMMAND ${CMAKE_COMMAND} -E compare_files + "${STDERR}" "${EXPECTED_STDERR}" + RESULT_VARIABLE cmp_stderr + ) + if(NOT cmp_stderr EQUAL 0) + message(FATAL_ERROR "stderr does not match expected") + endif() +endif() diff --git a/libxml2/runsuite.c b/libxml2/runsuite.c new file mode 100644 index 0000000..b2b13c5 --- /dev/null +++ b/libxml2/runsuite.c @@ -0,0 +1,1353 @@ +/* + * runsuite.c: C program to run libxml2 against published testsuites + * + * See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#include "libxml.h" +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#if (defined(LIBXML_RELAXNG_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)) && \ + defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) +#include + +#include +#include + +#include +#include +#include + +#define LOGFILE "runsuite.log" +#define EXPECTED_XMP_ERROR_COUNT 3 + +static FILE *logfile = NULL; +static int verbose = 0; + +/************************************************************************ + * * + * File name and path utilities * + * * + ************************************************************************/ + +static int checkTestFile(const char *filename) { + struct stat buf; + + if (stat(filename, &buf) == -1) + return(0); + +#if defined(_WIN32) + if (!(buf.st_mode & _S_IFREG)) + return(0); +#else + if (!S_ISREG(buf.st_mode)) + return(0); +#endif + + return(1); +} + +/************************************************************************ + * * + * Libxml2 specific routines * + * * + ************************************************************************/ + +static int nb_tests = 0; +static int nb_errors = 0; +static int nb_internals = 0; +static int nb_schematas = 0; +static int nb_unimplemented = 0; +static int nb_leaks = 0; + +/* + * Trapping the error messages at the generic level to grab the equivalent of + * stderr messages on CLI tools. + */ +static char testErrors[32769]; +static int testErrorsSize = 0; + +static void test_log(const char *msg, ...) { + va_list args; + if (logfile != NULL) { + fprintf(logfile, "\n------------\n"); + va_start(args, msg); + vfprintf(logfile, msg, args); + va_end(args); + fprintf(logfile, "%s", testErrors); + testErrorsSize = 0; testErrors[0] = 0; + } + if (verbose) { + va_start(args, msg); + vfprintf(stderr, msg, args); + va_end(args); + } +} + +static void +testErrorHandler(void *ctx ATTRIBUTE_UNUSED, const char *msg, ...) { + va_list args; + int res; + + if (testErrorsSize >= 32768) + return; + va_start(args, msg); + res = vsnprintf(&testErrors[testErrorsSize], + 32768 - testErrorsSize, + msg, args); + va_end(args); + if (testErrorsSize + res >= 32768) { + /* buffer is full */ + testErrorsSize = 32768; + testErrors[testErrorsSize] = 0; + } else { + testErrorsSize += res; + } + testErrors[testErrorsSize] = 0; +} + +static xmlXPathContextPtr ctxtXPath; + +static void +initializeLibxml2(void) { + xmlMemSetup(xmlMemFree, xmlMemMalloc, xmlMemRealloc, xmlMemoryStrdup); + xmlInitParser(); + ctxtXPath = xmlXPathNewContext(NULL); + /* + * Deactivate the cache if created; otherwise we have to create/free it + * for every test, since it will confuse the memory leak detection. + * Note that normally this need not be done, since the cache is not + * created until set explicitly with xmlXPathContextSetCache(); + * but for test purposes it is sometimes useful to activate the + * cache by default for the whole library. + */ + if (ctxtXPath->cache != NULL) + xmlXPathContextSetCache(ctxtXPath, 0, -1, 0); + /* used as default namespace in xstc tests */ + xmlXPathRegisterNs(ctxtXPath, BAD_CAST "ts", BAD_CAST "TestSuite"); + xmlXPathRegisterNs(ctxtXPath, BAD_CAST "xlink", + BAD_CAST "http://www.w3.org/1999/xlink"); + xmlSetGenericErrorFunc(NULL, testErrorHandler); +#ifdef LIBXML_CATALOG_ENABLED + xmlInitializeCatalog(); + xmlCatalogSetDefaults(XML_CATA_ALLOW_NONE); +#endif +#ifdef LIBXML_SCHEMAS_ENABLED + xmlSchemaInitTypes(); +#endif +#ifdef LIBXML_RELAXNG_ENABLED + xmlRelaxNGInitTypes(); +#endif +} + +static xmlNodePtr +getNext(xmlNodePtr cur, const char *xpath) { + xmlNodePtr ret = NULL; + xmlXPathObjectPtr res; + xmlXPathCompExprPtr comp; + + if ((cur == NULL) || (cur->doc == NULL) || (xpath == NULL)) + return(NULL); + ctxtXPath->doc = cur->doc; + ctxtXPath->node = cur; + comp = xmlXPathCompile(BAD_CAST xpath); + if (comp == NULL) { + fprintf(stderr, "Failed to compile %s\n", xpath); + return(NULL); + } + res = xmlXPathCompiledEval(comp, ctxtXPath); + xmlXPathFreeCompExpr(comp); + if (res == NULL) + return(NULL); + if ((res->type == XPATH_NODESET) && + (res->nodesetval != NULL) && + (res->nodesetval->nodeNr > 0) && + (res->nodesetval->nodeTab != NULL)) + ret = res->nodesetval->nodeTab[0]; + xmlXPathFreeObject(res); + return(ret); +} + +static xmlChar * +getString(xmlNodePtr cur, const char *xpath) { + xmlChar *ret = NULL; + xmlXPathObjectPtr res; + xmlXPathCompExprPtr comp; + + if ((cur == NULL) || (cur->doc == NULL) || (xpath == NULL)) + return(NULL); + ctxtXPath->doc = cur->doc; + ctxtXPath->node = cur; + comp = xmlXPathCompile(BAD_CAST xpath); + if (comp == NULL) { + fprintf(stderr, "Failed to compile %s\n", xpath); + return(NULL); + } + res = xmlXPathCompiledEval(comp, ctxtXPath); + xmlXPathFreeCompExpr(comp); + if (res == NULL) + return(NULL); + if (res->type == XPATH_STRING) { + ret = res->stringval; + res->stringval = NULL; + } + xmlXPathFreeObject(res); + return(ret); +} + +/************************************************************************ + * * + * Test test/xsdtest/xsdtestsuite.xml * + * * + ************************************************************************/ + +#ifdef LIBXML_RELAXNG_ENABLED + +/* + * that's needed to implement + */ +#define MAX_ENTITIES 20 +static char *testEntitiesName[MAX_ENTITIES]; +static char *testEntitiesValue[MAX_ENTITIES]; +static int nb_entities = 0; +static void resetEntities(void) { + int i; + + for (i = 0;i < nb_entities;i++) { + if (testEntitiesName[i] != NULL) + xmlFree(testEntitiesName[i]); + if (testEntitiesValue[i] != NULL) + xmlFree(testEntitiesValue[i]); + } + nb_entities = 0; +} +static int addEntity(char *name, char *content) { + if (nb_entities >= MAX_ENTITIES) { + fprintf(stderr, "Too many entities defined\n"); + return(-1); + } + testEntitiesName[nb_entities] = name; + testEntitiesValue[nb_entities] = content; + nb_entities++; + return(0); +} + +static xmlParserErrors +testResourceLoader(void *vctxt ATTRIBUTE_UNUSED, const char *URL, + const char *ID ATTRIBUTE_UNUSED, + xmlResourceType type ATTRIBUTE_UNUSED, + xmlParserInputFlags flags ATTRIBUTE_UNUSED, + xmlParserInputPtr *out) { + int i; + + for (i = 0; i < nb_entities; i++) { + if (!strcmp(testEntitiesName[i], URL)) { + *out = xmlNewInputFromString(testEntitiesName[i], + testEntitiesValue[i], + XML_INPUT_BUF_STATIC); + return(XML_ERR_OK); + } + } + + return(xmlNewInputFromUrl(URL, 0, out)); +} + +static int +fatalError(void) { + fprintf(stderr, "Exitting tests on fatal error\n"); + exit(1); +} + +static int +xsdIncorrectTestCase(xmlNodePtr cur) { + xmlNodePtr test; + xmlBufferPtr buf; + xmlRelaxNGParserCtxtPtr pctxt; + xmlRelaxNGPtr rng = NULL; + int ret = 0, memt; + + cur = getNext(cur, "./incorrect[1]"); + if (cur == NULL) { + return(0); + } + + test = getNext(cur, "./*"); + if (test == NULL) { + test_log("Failed to find test in correct line %ld\n", + xmlGetLineNo(cur)); + return(1); + } + + memt = xmlMemUsed(); + /* + * dump the schemas to a buffer, then reparse it and compile the schemas + */ + buf = xmlBufferCreate(); + if (buf == NULL) { + fprintf(stderr, "out of memory !\n"); + fatalError(); + } + xmlBufferSetAllocationScheme(buf, XML_BUFFER_ALLOC_DOUBLEIT); + xmlNodeDump(buf, test->doc, test, 0, 0); + pctxt = xmlRelaxNGNewMemParserCtxt( + (const char *) xmlBufferContent(buf), xmlBufferLength(buf)); + xmlRelaxNGSetParserErrors(pctxt, testErrorHandler, testErrorHandler, + pctxt); + xmlRelaxNGSetResourceLoader(pctxt, testResourceLoader, NULL); + rng = xmlRelaxNGParse(pctxt); + xmlRelaxNGFreeParserCtxt(pctxt); + if (rng != NULL) { + test_log("Failed to detect incorrect RNG line %ld\n", + xmlGetLineNo(test)); + ret = 1; + goto done; + } + +done: + if (buf != NULL) + xmlBufferFree(buf); + if (rng != NULL) + xmlRelaxNGFree(rng); + xmlResetLastError(); + if (memt != xmlMemUsed()) { + test_log("Validation of tests starting line %ld leaked %d\n", + xmlGetLineNo(cur), xmlMemUsed() - memt); + nb_leaks++; + } + return(ret); +} + +static xmlChar *composeDir(const xmlChar *dir, const xmlChar *path) { + char buf[500]; + + if (dir == NULL) return(xmlStrdup(path)); + if (path == NULL) return(NULL); + + snprintf(buf, 500, "%s/%s", (const char *) dir, (const char *) path); + return(xmlStrdup((const xmlChar *) buf)); +} + +static void +installResources(xmlNodePtr tst, const xmlChar *base) { + xmlNodePtr test; + xmlBufferPtr buf; + xmlChar *name, *content, *res; + + buf = xmlBufferCreate(); + if (buf == NULL) { + fprintf(stderr, "out of memory !\n"); + fatalError(); + } + xmlBufferSetAllocationScheme(buf, XML_BUFFER_ALLOC_DOUBLEIT); + xmlNodeDump(buf, tst->doc, tst, 0, 0); + + while (tst != NULL) { + test = getNext(tst, "./*"); + if (test != NULL) { + xmlBufferEmpty(buf); + xmlNodeDump(buf, test->doc, test, 0, 0); + name = getString(tst, "string(@name)"); + content = xmlStrdup(xmlBufferContent(buf)); + if ((name != NULL) && (content != NULL)) { + res = composeDir(base, name); + xmlFree(name); + addEntity((char *) res, (char *) content); + } else { + if (name != NULL) xmlFree(name); + if (content != NULL) xmlFree(content); + } + } + tst = getNext(tst, "following-sibling::resource[1]"); + } + if (buf != NULL) + xmlBufferFree(buf); +} + +static void +installDirs(xmlNodePtr tst, const xmlChar *base) { + xmlNodePtr test; + xmlChar *name, *res; + + name = getString(tst, "string(@name)"); + if (name == NULL) + return; + res = composeDir(base, name); + xmlFree(name); + if (res == NULL) { + return; + } + /* Now process resources and subdir recursively */ + test = getNext(tst, "./resource[1]"); + if (test != NULL) { + installResources(test, res); + } + test = getNext(tst, "./dir[1]"); + while (test != NULL) { + installDirs(test, res); + test = getNext(test, "following-sibling::dir[1]"); + } + xmlFree(res); +} + +static int +xsdTestCase(xmlNodePtr tst) { + xmlNodePtr test, tmp, cur; + xmlBufferPtr buf; + xmlDocPtr doc = NULL; + xmlRelaxNGParserCtxtPtr pctxt; + xmlRelaxNGValidCtxtPtr ctxt; + xmlRelaxNGPtr rng = NULL; + int ret = 0, mem, memt; + xmlChar *dtd; + + resetEntities(); + testErrorsSize = 0; testErrors[0] = 0; + + tmp = getNext(tst, "./dir[1]"); + if (tmp != NULL) { + installDirs(tmp, NULL); + } + tmp = getNext(tst, "./resource[1]"); + if (tmp != NULL) { + installResources(tmp, NULL); + } + + cur = getNext(tst, "./correct[1]"); + if (cur == NULL) { + return(xsdIncorrectTestCase(tst)); + } + + test = getNext(cur, "./*"); + if (test == NULL) { + fprintf(stderr, "Failed to find test in correct line %ld\n", + xmlGetLineNo(cur)); + return(1); + } + + memt = xmlMemUsed(); + /* + * dump the schemas to a buffer, then reparse it and compile the schemas + */ + buf = xmlBufferCreate(); + if (buf == NULL) { + fprintf(stderr, "out of memory !\n"); + fatalError(); + } + xmlBufferSetAllocationScheme(buf, XML_BUFFER_ALLOC_DOUBLEIT); + xmlNodeDump(buf, test->doc, test, 0, 0); + pctxt = xmlRelaxNGNewMemParserCtxt( + (const char *) xmlBufferContent(buf), xmlBufferLength(buf)); + xmlRelaxNGSetParserErrors(pctxt, testErrorHandler, testErrorHandler, + pctxt); + xmlRelaxNGSetResourceLoader(pctxt, testResourceLoader, NULL); + rng = xmlRelaxNGParse(pctxt); + xmlRelaxNGFreeParserCtxt(pctxt); + + if (rng == NULL) { + test_log("Failed to parse RNGtest line %ld\n", + xmlGetLineNo(test)); + nb_errors++; + ret = 1; + goto done; + } + /* + * now scan all the siblings of correct to process the tests + */ + tmp = getNext(cur, "following-sibling::valid[1]"); + while (tmp != NULL) { + dtd = xmlGetProp(tmp, BAD_CAST "dtd"); + test = getNext(tmp, "./*"); + if (test == NULL) { + fprintf(stderr, "Failed to find test in line %ld\n", + xmlGetLineNo(tmp)); + + } else { + xmlBufferEmpty(buf); + if (dtd != NULL) + xmlBufferAdd(buf, dtd, -1); + xmlNodeDump(buf, test->doc, test, 0, 0); + + /* + * We are ready to run the test + */ + mem = xmlMemUsed(); + doc = xmlReadMemory((const char *) xmlBufferContent(buf), + xmlBufferLength(buf), "test", NULL, 0); + if (doc == NULL) { + test_log("Failed to parse valid instance line %ld\n", + xmlGetLineNo(tmp)); + nb_errors++; + } else { + nb_tests++; + ctxt = xmlRelaxNGNewValidCtxt(rng); + xmlRelaxNGSetValidErrors(ctxt, + testErrorHandler, testErrorHandler, ctxt); + ret = xmlRelaxNGValidateDoc(ctxt, doc); + xmlRelaxNGFreeValidCtxt(ctxt); + if (ret > 0) { + test_log("Failed to validate valid instance line %ld\n", + xmlGetLineNo(tmp)); + nb_errors++; + } else if (ret < 0) { + test_log("Internal error validating instance line %ld\n", + xmlGetLineNo(tmp)); + nb_errors++; + } + xmlFreeDoc(doc); + } + xmlResetLastError(); + if (mem != xmlMemUsed()) { + test_log("Validation of instance line %ld leaked %d\n", + xmlGetLineNo(tmp), xmlMemUsed() - mem); + nb_leaks++; + } + } + if (dtd != NULL) + xmlFree(dtd); + tmp = getNext(tmp, "following-sibling::valid[1]"); + } + /* + * now scan all the siblings of correct to process the tests + */ + tmp = getNext(cur, "following-sibling::invalid[1]"); + while (tmp != NULL) { + test = getNext(tmp, "./*"); + if (test == NULL) { + fprintf(stderr, "Failed to find test in line %ld\n", + xmlGetLineNo(tmp)); + + } else { + xmlBufferEmpty(buf); + xmlNodeDump(buf, test->doc, test, 0, 0); + + /* + * We are ready to run the test + */ + mem = xmlMemUsed(); + doc = xmlReadMemory((const char *) xmlBufferContent(buf), + xmlBufferLength(buf), "test", NULL, 0); + if (doc == NULL) { + test_log("Failed to parse valid instance line %ld\n", + xmlGetLineNo(tmp)); + nb_errors++; + } else { + nb_tests++; + ctxt = xmlRelaxNGNewValidCtxt(rng); + xmlRelaxNGSetValidErrors(ctxt, + testErrorHandler, testErrorHandler, ctxt); + ret = xmlRelaxNGValidateDoc(ctxt, doc); + xmlRelaxNGFreeValidCtxt(ctxt); + if (ret == 0) { + test_log("Failed to detect invalid instance line %ld\n", + xmlGetLineNo(tmp)); + nb_errors++; + } else if (ret < 0) { + test_log("Internal error validating instance line %ld\n", + xmlGetLineNo(tmp)); + nb_errors++; + } + xmlFreeDoc(doc); + } + xmlResetLastError(); + if (mem != xmlMemUsed()) { + test_log("Validation of instance line %ld leaked %d\n", + xmlGetLineNo(tmp), xmlMemUsed() - mem); + nb_leaks++; + } + } + tmp = getNext(tmp, "following-sibling::invalid[1]"); + } + +done: + if (buf != NULL) + xmlBufferFree(buf); + if (rng != NULL) + xmlRelaxNGFree(rng); + xmlResetLastError(); + if ((memt != xmlMemUsed()) && (memt != 0)) { + test_log("Validation of tests starting line %ld leaked %d\n", + xmlGetLineNo(cur), xmlMemUsed() - memt); + nb_leaks++; + } + return(ret); +} + +static int +xsdTestSuite(xmlNodePtr cur) { + if (verbose) { + xmlChar *doc = getString(cur, "string(documentation)"); + + if (doc != NULL) { + printf("Suite %s\n", doc); + xmlFree(doc); + } + } + cur = getNext(cur, "./testCase[1]"); + while (cur != NULL) { + xsdTestCase(cur); + cur = getNext(cur, "following-sibling::testCase[1]"); + } + + return(0); +} + +static int +xsdTest(void) { + xmlDocPtr doc; + xmlNodePtr cur; + const char *filename = "test/xsdtest/xsdtestsuite.xml"; + int ret = 0; + + doc = xmlReadFile(filename, NULL, XML_PARSE_NOENT); + if (doc == NULL) { + fprintf(stderr, "Failed to parse %s\n", filename); + return(-1); + } + printf("## XML Schemas datatypes test suite from James Clark\n"); + + cur = xmlDocGetRootElement(doc); + if ((cur == NULL) || (!xmlStrEqual(cur->name, BAD_CAST "testSuite"))) { + fprintf(stderr, "Unexpected format %s\n", filename); + ret = -1; + goto done; + } + + cur = getNext(cur, "./testSuite[1]"); + if ((cur == NULL) || (!xmlStrEqual(cur->name, BAD_CAST "testSuite"))) { + fprintf(stderr, "Unexpected format %s\n", filename); + ret = -1; + goto done; + } + while (cur != NULL) { + xsdTestSuite(cur); + cur = getNext(cur, "following-sibling::testSuite[1]"); + } + +done: + if (doc != NULL) + xmlFreeDoc(doc); + return(ret); +} + +static int +rngTestSuite(xmlNodePtr cur) { + if (verbose) { + xmlChar *doc = getString(cur, "string(documentation)"); + + if (doc != NULL) { + printf("Suite %s\n", doc); + xmlFree(doc); + } else { + doc = getString(cur, "string(section)"); + if (doc != NULL) { + printf("Section %s\n", doc); + xmlFree(doc); + } + } + } + cur = getNext(cur, "./testSuite[1]"); + while (cur != NULL) { + xsdTestSuite(cur); + cur = getNext(cur, "following-sibling::testSuite[1]"); + } + + return(0); +} + +static int +rngTest1(void) { + xmlDocPtr doc; + xmlNodePtr cur; + const char *filename = "test/relaxng/OASIS/spectest.xml"; + int ret = 0; + + doc = xmlReadFile(filename, NULL, XML_PARSE_NOENT); + if (doc == NULL) { + fprintf(stderr, "Failed to parse %s\n", filename); + return(-1); + } + printf("## Relax NG test suite from James Clark\n"); + + cur = xmlDocGetRootElement(doc); + if ((cur == NULL) || (!xmlStrEqual(cur->name, BAD_CAST "testSuite"))) { + fprintf(stderr, "Unexpected format %s\n", filename); + ret = -1; + goto done; + } + + cur = getNext(cur, "./testSuite[1]"); + if ((cur == NULL) || (!xmlStrEqual(cur->name, BAD_CAST "testSuite"))) { + fprintf(stderr, "Unexpected format %s\n", filename); + ret = -1; + goto done; + } + while (cur != NULL) { + rngTestSuite(cur); + cur = getNext(cur, "following-sibling::testSuite[1]"); + } + +done: + if (doc != NULL) + xmlFreeDoc(doc); + return(ret); +} + +static int +rngTest2(void) { + xmlDocPtr doc; + xmlNodePtr cur; + const char *filename = "test/relaxng/testsuite.xml"; + int ret = 0; + + doc = xmlReadFile(filename, NULL, XML_PARSE_NOENT); + if (doc == NULL) { + fprintf(stderr, "Failed to parse %s\n", filename); + return(-1); + } + printf("## Relax NG test suite for libxml2\n"); + + cur = xmlDocGetRootElement(doc); + if ((cur == NULL) || (!xmlStrEqual(cur->name, BAD_CAST "testSuite"))) { + fprintf(stderr, "Unexpected format %s\n", filename); + ret = -1; + goto done; + } + + cur = getNext(cur, "./testSuite[1]"); + if ((cur == NULL) || (!xmlStrEqual(cur->name, BAD_CAST "testSuite"))) { + fprintf(stderr, "Unexpected format %s\n", filename); + ret = -1; + goto done; + } + while (cur != NULL) { + xsdTestSuite(cur); + cur = getNext(cur, "following-sibling::testSuite[1]"); + } + +done: + if (doc != NULL) + xmlFreeDoc(doc); + return(ret); +} + +/* Returns 1 for success */ +static int tryValidateElement(xmlRelaxNGValidCtxtPtr ctx, xmlDocPtr doc, xmlNodePtr elem) +{ + int rc = xmlRelaxNGValidatePushElement(ctx, doc, elem); + if (rc == 0) + { + /* Streaming is not possible, validate full element instead */ + rc = xmlRelaxNGValidateFullElement(ctx, doc, elem); + if (rc == 1) + return 1; + + Fail: + xmlRelaxNGValidCtxtClearErrors(ctx); + xmlResetLastError(); + return 0; + } + else if (rc == 1) + { + xmlNodePtr child; + int success = 1; + for (child = xmlFirstElementChild(elem); child != NULL; child = xmlNextElementSibling(child)) + { + /* Validate children elements recursively. + * NOTE: There may be no children to validate, + * as for example for defines */ + success = tryValidateElement(ctx, doc, child); + if (!success) + break; + } + + if (xmlRelaxNGValidatePopElement(ctx, doc, elem) == 0) + goto Fail; + + return success; + } + else + { + goto Fail; + } +} + +static int +rngTestStreaming(void) { + int mem; + int rc; + int error_count = 0; + xmlDocPtr schema_doc; + xmlDocPtr xmp_packet_doc = NULL; + xmlRelaxNGParserCtxtPtr rng_parser_ctx; + xmlRelaxNGPtr schema = NULL; + xmlRelaxNGValidCtxtPtr validation_ctx = NULL; + xmlNodePtr xmpmeta; + xmlNodePtr rdf; + xmlNodePtr description; + xmlNodePtr child; + const xmlChar* error_arr[EXPECTED_XMP_ERROR_COUNT] = { NULL }; + const char* schema_filepath = "test/relaxng/ISO19005-1-XMP_Packet.rng"; + const char* xmp_packet_filepath = "test/relaxng/TestXMPInvalid1.xmp"; + + mem = xmlMemUsed(); + + schema_doc = xmlReadFile(schema_filepath, NULL, 0); + if (schema_doc == NULL) { + fprintf(stderr, "RNG Streaming: Failed to parse %s\n", schema_filepath); + return(-1); + } + + rng_parser_ctx = xmlRelaxNGNewDocParserCtxt(schema_doc); + if (rng_parser_ctx == NULL) { + xmlFreeDoc(schema_doc); + fprintf(stderr, "RNG Streaming: Failed to create Relax NG parser context\n"); + return(-1); + } + + xmlFreeDoc(schema_doc); + schema = xmlRelaxNGParse(rng_parser_ctx); + if (rng_parser_ctx == NULL) { + xmlRelaxNGFreeParserCtxt(rng_parser_ctx); + fprintf(stderr, "RNG Streaming: Failed to parse Relax NG schema\n"); + return(-1); + } + + xmlRelaxNGFreeParserCtxt(rng_parser_ctx); + validation_ctx = xmlRelaxNGNewValidCtxt(schema); + if (rng_parser_ctx == NULL) { + xmlRelaxNGFree(schema); + fprintf(stderr, "RNG Streaming: Failed to create Relax NG validation context\n"); + return(-1); + } + + xmp_packet_doc = xmlReadFile(xmp_packet_filepath, NULL, 0); + if (xmp_packet_doc == NULL) { + xmlRelaxNGFreeValidCtxt(validation_ctx); + xmlRelaxNGFree(schema); + fprintf(stderr, "RNG Streaming: Failed to parse %s\n", xmp_packet_filepath); + return(-1); + } + + xmpmeta = xmlDocGetRootElement(xmp_packet_doc); + if (xmpmeta == NULL || xmlStrcmp(BAD_CAST "xmpmeta", xmpmeta->name) != 0) { + fprintf(stderr, "RNG Streaming: Unable to find element\n"); + rc = -1; + goto Exit; + } + + rdf = xmlFirstElementChild(xmpmeta); + if (rdf == NULL || xmlStrcmp(BAD_CAST "RDF", rdf->name) != 0) { + fprintf(stderr, "RNG Streaming: Unable to find element\n"); + rc = -1; + goto Exit; + } + + description = xmlFirstElementChild(rdf); + if (description == NULL || xmlStrcmp(BAD_CAST "Description", description->name) != 0) { + fprintf(stderr, "RNG Streaming: Unable to find element\n"); + rc = -1; + goto Exit; + } + + /* Push enclosing/preamble elements */ + rc = xmlRelaxNGValidatePushElement(validation_ctx, xmp_packet_doc, xmpmeta); /* */ + if (rc != 1) + goto FailPushPopEnclosing; + rc = xmlRelaxNGValidatePushElement(validation_ctx, xmp_packet_doc, rdf); /* */ + if (rc != 1) + goto FailPushPopEnclosing; + rc = xmlRelaxNGValidatePushElement(validation_ctx, xmp_packet_doc, description); /* */ + if (rc != 1) + goto FailPushPopEnclosing; + + for (child = xmlFirstElementChild(description); child != NULL; child = xmlNextElementSibling(child)) + { + if (!tryValidateElement(validation_ctx, xmp_packet_doc, child)) + { + error_count++; + if (error_count > EXPECTED_XMP_ERROR_COUNT) { + fprintf(stderr, "RNG Streaming: Unexpected error count\n"); + rc = -1; + goto Exit; + } + + error_arr[error_count - 1] = child->name; + } + } + + rc = xmlRelaxNGValidatePopElement(validation_ctx, xmp_packet_doc, description); /* */ + if (rc != 1) + goto FailPushPopEnclosing; + rc = xmlRelaxNGValidatePopElement(validation_ctx, xmp_packet_doc, rdf); /* */ + if (rc != 1) + goto FailPushPopEnclosing; + rc = xmlRelaxNGValidatePopElement(validation_ctx, xmp_packet_doc, xmpmeta); /* */ + if (rc != 1) + goto FailPushPopEnclosing; + + if (error_count < EXPECTED_XMP_ERROR_COUNT + || xmlStrcmp(error_arr[0], BAD_CAST "MetadataDate") != 0 + || xmlStrcmp(error_arr[1], BAD_CAST "Trapped") != 0 + || xmlStrcmp(error_arr[2], BAD_CAST "Ignore") != 0) { + fprintf(stderr, "RNG Streaming: Invalid known errors\n"); + rc = -1; + goto Exit; + } + + rc = 0; + goto Exit; + +FailPushPopEnclosing: + fprintf(stderr, "RNG Streaming: Unable to push/pop packet enclosing elements\n"); + rc = -1; + +Exit: + xmlRelaxNGFreeValidCtxt(validation_ctx); + xmlRelaxNGFree(schema); + xmlFreeDoc(xmp_packet_doc); + + if (mem != xmlMemUsed()) { + fprintf(stderr, "RNG Streaming: Test leaked\n"); + nb_leaks++; + } + + return rc; +} + +#endif /* LIBXML_RELAXNG_ENABLED */ + +/************************************************************************ + * * + * Schemas test suites from W3C/NIST/MS/Sun * + * * + ************************************************************************/ + +#ifdef LIBXML_SCHEMAS_ENABLED +static int +xstcTestInstance(xmlNodePtr cur, xmlSchemaPtr schemas, + const xmlChar *spath, const char *base) { + xmlChar *href = NULL; + xmlChar *path = NULL; + xmlChar *validity = NULL; + xmlSchemaValidCtxtPtr ctxt = NULL; + xmlDocPtr doc = NULL; + int ret = 0, mem; + + xmlResetLastError(); + testErrorsSize = 0; testErrors[0] = 0; + mem = xmlMemUsed(); + href = getString(cur, + "string(ts:instanceDocument/@xlink:href)"); + if ((href == NULL) || (href[0] == 0)) { + test_log("testGroup line %ld misses href for schemaDocument\n", + xmlGetLineNo(cur)); + ret = -1; + goto done; + } + path = xmlBuildURI(href, BAD_CAST base); + if (path == NULL) { + fprintf(stderr, + "Failed to build path to schemas testGroup line %ld : %s\n", + xmlGetLineNo(cur), href); + ret = -1; + goto done; + } + if (checkTestFile((const char *) path) <= 0) { + test_log("schemas for testGroup line %ld is missing: %s\n", + xmlGetLineNo(cur), path); + ret = -1; + goto done; + } + validity = getString(cur, + "string(ts:expected/@validity)"); + if (validity == NULL) { + fprintf(stderr, "instanceDocument line %ld misses expected validity\n", + xmlGetLineNo(cur)); + ret = -1; + goto done; + } + nb_tests++; + doc = xmlReadFile((const char *) path, NULL, XML_PARSE_NOENT); + if (doc == NULL) { + fprintf(stderr, "instance %s fails to parse\n", path); + ret = -1; + nb_errors++; + goto done; + } + + ctxt = xmlSchemaNewValidCtxt(schemas); + xmlSchemaSetValidErrors(ctxt, testErrorHandler, testErrorHandler, ctxt); + ret = xmlSchemaValidateDoc(ctxt, doc); + + if (xmlStrEqual(validity, BAD_CAST "valid")) { + if (ret > 0) { + test_log("valid instance %s failed to validate against %s\n", + path, spath); + nb_errors++; + } else if (ret < 0) { + test_log("valid instance %s got internal error validating %s\n", + path, spath); + nb_internals++; + nb_errors++; + } + } else if (xmlStrEqual(validity, BAD_CAST "invalid")) { + if (ret == 0) { + test_log("Failed to detect invalid instance %s against %s\n", + path, spath); + nb_errors++; + } + } else { + test_log("instanceDocument line %ld has unexpected validity value%s\n", + xmlGetLineNo(cur), validity); + ret = -1; + goto done; + } + +done: + if (href != NULL) xmlFree(href); + if (path != NULL) xmlFree(path); + if (validity != NULL) xmlFree(validity); + if (ctxt != NULL) xmlSchemaFreeValidCtxt(ctxt); + if (doc != NULL) xmlFreeDoc(doc); + xmlResetLastError(); + if (mem != xmlMemUsed()) { + test_log("Validation of tests starting line %ld leaked %d\n", + xmlGetLineNo(cur), xmlMemUsed() - mem); + nb_leaks++; + } + return(ret); +} + +static int +xstcTestGroup(xmlNodePtr cur, const char *base) { + xmlChar *href = NULL; + xmlChar *path = NULL; + xmlChar *validity = NULL; + xmlSchemaPtr schemas = NULL; + xmlSchemaParserCtxtPtr ctxt; + xmlNodePtr instance; + int ret = 0, mem; + + xmlResetLastError(); + testErrorsSize = 0; testErrors[0] = 0; + mem = xmlMemUsed(); + href = getString(cur, + "string(ts:schemaTest/ts:schemaDocument/@xlink:href)"); + if ((href == NULL) || (href[0] == 0)) { + test_log("testGroup line %ld misses href for schemaDocument\n", + xmlGetLineNo(cur)); + ret = -1; + goto done; + } + path = xmlBuildURI(href, BAD_CAST base); + if (path == NULL) { + test_log("Failed to build path to schemas testGroup line %ld : %s\n", + xmlGetLineNo(cur), href); + ret = -1; + goto done; + } + if (checkTestFile((const char *) path) <= 0) { + test_log("schemas for testGroup line %ld is missing: %s\n", + xmlGetLineNo(cur), path); + ret = -1; + goto done; + } + validity = getString(cur, + "string(ts:schemaTest/ts:expected/@validity)"); + if (validity == NULL) { + test_log("testGroup line %ld misses expected validity\n", + xmlGetLineNo(cur)); + ret = -1; + goto done; + } + nb_tests++; + if (xmlStrEqual(validity, BAD_CAST "valid")) { + nb_schematas++; + ctxt = xmlSchemaNewParserCtxt((const char *) path); + xmlSchemaSetParserErrors(ctxt, testErrorHandler, testErrorHandler, + ctxt); + schemas = xmlSchemaParse(ctxt); + xmlSchemaFreeParserCtxt(ctxt); + if (schemas == NULL) { + test_log("valid schemas %s failed to parse\n", + path); + ret = 1; + nb_errors++; + } + if ((ret == 0) && (strstr(testErrors, "nimplemented") != NULL)) { + test_log("valid schemas %s hit an unimplemented block\n", + path); + ret = 1; + nb_unimplemented++; + nb_errors++; + } + instance = getNext(cur, "./ts:instanceTest[1]"); + while (instance != NULL) { + if (schemas != NULL) { + xstcTestInstance(instance, schemas, path, base); + } else { + /* + * We'll automatically mark the instances as failed + * if the schema was broken. + */ + nb_errors++; + } + instance = getNext(instance, + "following-sibling::ts:instanceTest[1]"); + } + } else if (xmlStrEqual(validity, BAD_CAST "invalid")) { + nb_schematas++; + ctxt = xmlSchemaNewParserCtxt((const char *) path); + xmlSchemaSetParserErrors(ctxt, testErrorHandler, testErrorHandler, + ctxt); + schemas = xmlSchemaParse(ctxt); + xmlSchemaFreeParserCtxt(ctxt); + if (schemas != NULL) { + test_log("Failed to detect error in schemas %s\n", + path); + nb_errors++; + ret = 1; + } + if ((ret == 0) && (strstr(testErrors, "nimplemented") != NULL)) { + nb_unimplemented++; + test_log("invalid schemas %s hit an unimplemented block\n", + path); + ret = 1; + nb_errors++; + } + } else { + test_log("testGroup line %ld misses unexpected validity value%s\n", + xmlGetLineNo(cur), validity); + ret = -1; + goto done; + } + +done: + if (href != NULL) xmlFree(href); + if (path != NULL) xmlFree(path); + if (validity != NULL) xmlFree(validity); + if (schemas != NULL) xmlSchemaFree(schemas); + xmlResetLastError(); + if (mem != xmlMemUsed()) { + test_log("Processing test line %ld %s leaked %d\n", + xmlGetLineNo(cur), path, xmlMemUsed() - mem); + nb_leaks++; + } + return(ret); +} + +static int +xstcMetadata(const char *metadata, const char *base) { + xmlDocPtr doc; + xmlNodePtr cur; + xmlChar *contributor; + xmlChar *name; + int ret = 0; + + doc = xmlReadFile(metadata, NULL, XML_PARSE_NOENT); + if (doc == NULL) { + fprintf(stderr, "Failed to parse %s\n", metadata); + return(-1); + } + + cur = xmlDocGetRootElement(doc); + if ((cur == NULL) || (!xmlStrEqual(cur->name, BAD_CAST "testSet"))) { + fprintf(stderr, "Unexpected format %s\n", metadata); + return(-1); + } + contributor = xmlGetProp(cur, BAD_CAST "contributor"); + if (contributor == NULL) { + contributor = xmlStrdup(BAD_CAST "Unknown"); + } + name = xmlGetProp(cur, BAD_CAST "name"); + if (name == NULL) { + name = xmlStrdup(BAD_CAST "Unknown"); + } + printf("## %s test suite for Schemas version %s\n", contributor, name); + xmlFree(contributor); + xmlFree(name); + + cur = getNext(cur, "./ts:testGroup[1]"); + if ((cur == NULL) || (!xmlStrEqual(cur->name, BAD_CAST "testGroup"))) { + fprintf(stderr, "Unexpected format %s\n", metadata); + ret = -1; + goto done; + } + while (cur != NULL) { + xstcTestGroup(cur, base); + cur = getNext(cur, "following-sibling::ts:testGroup[1]"); + } + +done: + xmlFreeDoc(doc); + return(ret); +} +#endif /* LIBXML_SCHEMAS_ENABLED */ + +/************************************************************************ + * * + * The driver for the tests * + * * + ************************************************************************/ + +int +main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { + int ret = 0; + int old_errors, old_tests, old_leaks; +#ifdef LIBXML_RELAXNG_ENABLED + int expected_errors; +#endif + + logfile = fopen(LOGFILE, "wb"); + if (logfile == NULL) { + fprintf(stderr, + "Could not open the log file, running in verbose mode\n"); + verbose = 1; + } + initializeLibxml2(); + + if ((argc >= 2) && (!strcmp(argv[1], "-v"))) + verbose = 1; + +#ifdef LIBXML_RELAXNG_ENABLED + if (rngTestStreaming() != 0) + nb_errors++; + + old_errors = nb_errors; + old_tests = nb_tests; + old_leaks = nb_leaks; + xsdTest(); + expected_errors = 3; + printf("Ran %d tests, %d errors, %d leaks\n", + nb_tests - old_tests, + nb_errors - old_errors, + nb_leaks - old_leaks); + if (nb_errors - old_errors == expected_errors) { + printf("%d errors were expected\n", expected_errors); + nb_errors = old_errors; + } else { + printf("%d errors were expected, got %d errors\n", + expected_errors, nb_errors - old_errors); + nb_errors = old_errors + 1; + } + + old_errors = nb_errors; + old_tests = nb_tests; + old_leaks = nb_leaks; + rngTest1(); + if ((nb_errors == old_errors) && (nb_leaks == old_leaks)) + printf("Ran %d tests, no errors\n", nb_tests - old_tests); + else + printf("Ran %d tests, %d errors, %d leaks\n", + nb_tests - old_tests, + nb_errors - old_errors, + nb_leaks - old_leaks); + + old_errors = nb_errors; + old_tests = nb_tests; + old_leaks = nb_leaks; + rngTest2(); + if ((nb_errors == old_errors) && (nb_leaks == old_leaks)) + printf("Ran %d tests, no errors\n", nb_tests - old_tests); + else + printf("Ran %d tests, %d errors, %d leaks\n", + nb_tests - old_tests, + nb_errors - old_errors, + nb_leaks - old_leaks); +#endif /* LIBXML_RELAXNG_ENABLED */ + +#ifdef LIBXML_SCHEMAS_ENABLED + old_errors = nb_errors; + old_tests = nb_tests; + old_leaks = nb_leaks; + nb_internals = 0; + nb_schematas = 0; + xstcMetadata("xstc/Tests/Metadata/NISTXMLSchemaDatatypes.testSet", + "xstc/Tests/Metadata/"); + if ((nb_errors == old_errors) && (nb_leaks == old_leaks)) + printf("Ran %d tests (%d schemata), no errors\n", + nb_tests - old_tests, nb_schematas); + else + printf("Ran %d tests (%d schemata), %d errors (%d internals), %d leaks\n", + nb_tests - old_tests, + nb_schematas, + nb_errors - old_errors, + nb_internals, + nb_leaks - old_leaks); + + old_errors = nb_errors; + old_tests = nb_tests; + old_leaks = nb_leaks; + nb_internals = 0; + nb_schematas = 0; + xstcMetadata("xstc/Tests/Metadata/SunXMLSchema1-0-20020116.testSet", + "xstc/Tests/"); + if ((nb_errors == old_errors) && (nb_leaks == old_leaks)) { + printf("Ran %d tests (%d schemata), no errors\n", + nb_tests - old_tests, nb_schematas); + } else { + printf("Ran %d tests (%d schemata), %d errors (%d internals), %d leaks\n", + nb_tests - old_tests, + nb_schematas, + nb_errors - old_errors, + nb_internals, + nb_leaks - old_leaks); + printf("Some errors were expected.\n"); + nb_errors = old_errors; + } + + old_errors = nb_errors; + old_tests = nb_tests; + old_leaks = nb_leaks; + nb_internals = 0; + nb_schematas = 0; + xstcMetadata("xstc/Tests/Metadata/MSXMLSchema1-0-20020116.testSet", + "xstc/Tests/"); + if ((nb_errors == old_errors) && (nb_leaks == old_leaks)) { + printf("Ran %d tests (%d schemata), no errors\n", + nb_tests - old_tests, nb_schematas); + } else { + printf("Ran %d tests (%d schemata), %d errors (%d internals), %d leaks\n", + nb_tests - old_tests, + nb_schematas, + nb_errors - old_errors, + nb_internals, + nb_leaks - old_leaks); + printf("Some errors were expected.\n"); + nb_errors = old_errors; + } +#endif /* LIBXML_SCHEMAS_ENABLED */ + + if ((nb_errors == 0) && (nb_leaks == 0)) { + ret = 0; + printf("Total %d tests, no errors\n", + nb_tests); + } else { + ret = 1; + printf("Total %d tests, %d errors, %d leaks\n", + nb_tests, nb_errors, nb_leaks); + } + xmlXPathFreeContext(ctxtXPath); + xmlCleanupParser(); + + if (logfile != NULL) + fclose(logfile); + return(ret); +} +#else /* !RELAXNG && !SCHEMAS */ +int +main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { + fprintf(stderr, "runsuite requires support for schemas and xpath in libxml2\n"); +} +#endif diff --git a/libxml2/runtest.c b/libxml2/runtest.c new file mode 100644 index 0000000..113e161 --- /dev/null +++ b/libxml2/runtest.c @@ -0,0 +1,5940 @@ +/* + * runtest.c: C program to run libxml2 regression tests without + * requiring make or Python, and reducing platform dependencies + * to a strict minimum. + * + * To compile on Unixes: + * cc -o runtest `xml2-config --cflags` runtest.c `xml2-config --libs` -lpthread + * + * See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#define XML_DEPRECATED +#define XML_DEPRECATED_MEMBER + +#include "libxml.h" +#include +#include +#include + +#include +#include + +#ifdef _WIN32 + #include +#else + #include +#endif + +#ifdef LIBXML_ZLIB_ENABLED +#include +#endif + +#include +#include +#include +#include +#include +#include + +#ifdef LIBXML_OUTPUT_ENABLED +#ifdef LIBXML_READER_ENABLED +#include +#endif + +#ifdef LIBXML_XINCLUDE_ENABLED +#include +#endif + +#ifdef LIBXML_XPATH_ENABLED +#include +#include +#ifdef LIBXML_XPTR_ENABLED +#include +#endif +#endif + +#ifdef LIBXML_RELAXNG_ENABLED +#include +#endif + +#ifdef LIBXML_SCHEMAS_ENABLED +#include +#include +#endif + +#ifdef LIBXML_SCHEMATRON_ENABLED +#include +#endif + +#ifdef LIBXML_PATTERN_ENABLED +#include +#endif + +#ifdef LIBXML_C14N_ENABLED +#include +#endif + +#ifdef LIBXML_HTML_ENABLED +#include +#include +#endif + +#if defined(LIBXML_THREAD_ENABLED) && defined(LIBXML_CATALOG_ENABLED) +#include +#include +#endif + +#ifdef LIBXML_CATALOG_ENABLED +#include +#endif + +/* + * pseudo flag for the unification of HTML and XML tests + */ +#define XML_PARSE_HTML 1 << 30 + +/* + * O_BINARY is just for Windows compatibility - if it isn't defined + * on this system, avoid any compilation error + */ +#ifdef O_BINARY +#define RD_FLAGS O_RDONLY | O_BINARY +#define WR_FLAGS O_WRONLY | O_CREAT | O_TRUNC | O_BINARY +#else +#define RD_FLAGS O_RDONLY +#define WR_FLAGS O_WRONLY | O_CREAT | O_TRUNC +#endif + +typedef int (*functest) (const char *filename, const char *result, + const char *error, int options); + +typedef struct testDesc testDesc; +typedef testDesc *testDescPtr; +struct testDesc { + const char *desc; /* description of the test */ + functest func; /* function implementing the test */ + const char *in; /* glob to path for input files */ + const char *out; /* output directory */ + const char *suffix;/* suffix for output files */ + const char *err; /* suffix for error output files */ + int options; /* parser options for the test */ +}; + +static int update_results = 0; +static char* temp_directory = NULL; +static int checkTestFile(const char *filename); + +#if defined(_WIN32) + +#include + +typedef struct +{ + size_t gl_pathc; /* Count of paths matched so far */ + char **gl_pathv; /* List of matched pathnames. */ + size_t gl_offs; /* Slots to reserve in 'gl_pathv'. */ +} glob_t; + +#define GLOB_DOOFFS 0 +static int glob(const char *pattern, ATTRIBUTE_UNUSED int flags, + ATTRIBUTE_UNUSED int errfunc(const char *epath, int eerrno), + glob_t *pglob) { + glob_t *ret; + WIN32_FIND_DATA FindFileData; + HANDLE hFind; + unsigned int nb_paths = 0; + char directory[500]; + int len; + + if ((pattern == NULL) || (pglob == NULL)) return(-1); + + strncpy(directory, pattern, 499); + for (len = strlen(directory);len >= 0;len--) { + if (directory[len] == '/') { + len++; + directory[len] = 0; + break; + } + } + if (len <= 0) + len = 0; + + + ret = pglob; + memset(ret, 0, sizeof(glob_t)); + + hFind = FindFirstFileA(pattern, &FindFileData); + if (hFind == INVALID_HANDLE_VALUE) + return(0); + nb_paths = 20; + ret->gl_pathv = (char **) xmlMalloc(nb_paths * sizeof(char *)); + if (ret->gl_pathv == NULL) { + FindClose(hFind); + return(-1); + } + strncpy(directory + len, FindFileData.cFileName, 499 - len); + ret->gl_pathv[ret->gl_pathc] = xmlMemStrdup(directory); + if (ret->gl_pathv[ret->gl_pathc] == NULL) + goto done; + ret->gl_pathc++; + while(FindNextFileA(hFind, &FindFileData)) { + if (FindFileData.cFileName[0] == '.') + continue; + if (ret->gl_pathc + 2 > nb_paths) { + char **tmp = xmlRealloc(ret->gl_pathv, nb_paths * 2 * sizeof(char *)); + if (tmp == NULL) + break; + ret->gl_pathv = tmp; + nb_paths *= 2; + } + strncpy(directory + len, FindFileData.cFileName, 499 - len); + ret->gl_pathv[ret->gl_pathc] = xmlMemStrdup(directory); + if (ret->gl_pathv[ret->gl_pathc] == NULL) + break; + ret->gl_pathc++; + } + ret->gl_pathv[ret->gl_pathc] = NULL; + +done: + FindClose(hFind); + return(0); +} + + + +static void globfree(glob_t *pglob) { + unsigned int i; + if (pglob == NULL) + return; + + for (i = 0;i < pglob->gl_pathc;i++) { + if (pglob->gl_pathv[i] != NULL) + xmlFree(pglob->gl_pathv[i]); + } + xmlFree(pglob->gl_pathv); +} + +#elif HAVE_DECL_GLOB + +#include + +#else /* _WIN32, HAVE_DECL_GLOB */ + +#define GLOB_DOOFFS 0 + +typedef struct { + size_t gl_pathc; /* Count of paths matched so far */ + char **gl_pathv; /* List of matched pathnames. */ + size_t gl_offs; /* Slots to reserve in 'gl_pathv'. */ +} glob_t; + +static int +glob(const char *pattern ATTRIBUTE_UNUSED, int flags ATTRIBUTE_UNUSED, + int errfunc(const char *epath, int eerrno) ATTRIBUTE_UNUSED, + glob_t *pglob) { + pglob->gl_pathc = 0; + pglob->gl_pathv = NULL; + + return(0); +} + +static void +globfree(glob_t *pglob ATTRIBUTE_UNUSED) { +} + +#endif /* _WIN32, HAVE_DECL_GLOB */ + +/************************************************************************ + * * + * Libxml2 specific routines * + * * + ************************************************************************/ + +static int nb_tests = 0; +static int nb_errors = 0; +static int nb_leaks = 0; + +static int +fatalError(void) { + fprintf(stderr, "Exitting tests on fatal error\n"); + exit(1); +} + +/* + * Trapping the error messages at the generic level to grab the equivalent of + * stderr messages on CLI tools. + */ +static char testErrors[32769]; +static int testErrorsSize = 0; + +static void +testErrorHandler(void *ctx ATTRIBUTE_UNUSED, const char *msg, ...) { + va_list args; + int res; + + if (testErrorsSize >= 32768) + return; + va_start(args, msg); + res = vsnprintf(&testErrors[testErrorsSize], + 32768 - testErrorsSize, + msg, args); + va_end(args); + if (testErrorsSize + res >= 32768) { + /* buffer is full */ + testErrorsSize = 32768; + testErrors[testErrorsSize] = 0; + } else { + testErrorsSize += res; + } + testErrors[testErrorsSize] = 0; +} + +static void +testStructuredErrorHandler(void *ctx ATTRIBUTE_UNUSED, const xmlError *err) { + xmlFormatError(err, testErrorHandler, NULL); +} + +static void +initializeLibxml2(void) { + /* + * This verifies that xmlInitParser doesn't allocate memory with + * xmlMalloc + */ + xmlFree = NULL; + xmlMalloc = NULL; + xmlRealloc = NULL; + xmlMemStrdup = NULL; + xmlInitParser(); + xmlMemSetup(xmlMemFree, xmlMemMalloc, xmlMemRealloc, xmlMemoryStrdup); +#ifdef LIBXML_CATALOG_ENABLED + /* + * Disable system catalog which could cause lazy memory allocations + * resulting in false positive memory leaks. + */ +#ifdef _WIN32 + putenv("XML_CATALOG_FILES="); +#else + setenv("XML_CATALOG_FILES", "", 1); +#endif + xmlInitializeCatalog(); +#endif +#ifdef LIBXML_RELAXNG_ENABLED + xmlRelaxNGInitTypes(); +#endif +#ifdef LIBXML_SCHEMAS_ENABLED + xmlSchemaInitTypes(); +#endif +} + + +/************************************************************************ + * * + * File name and path utilities * + * * + ************************************************************************/ + +static const char *baseFilename(const char *filename) { + const char *cur; + if (filename == NULL) + return(NULL); + cur = &filename[strlen(filename)]; + while ((cur > filename) && (*cur != '/')) + cur--; + if (*cur == '/') + return(cur + 1); + return(cur); +} + +static char *resultFilename(const char *filename, const char *out, + const char *suffix) { + const char *base; + char res[500]; + char suffixbuff[500]; + +/************* + if ((filename[0] == 't') && (filename[1] == 'e') && + (filename[2] == 's') && (filename[3] == 't') && + (filename[4] == '/')) + filename = &filename[5]; + *************/ + + base = baseFilename(filename); + if (suffix == NULL) + suffix = ".tmp"; + if (out == NULL) + out = ""; + + strncpy(suffixbuff,suffix,499); + + if (snprintf(res, 499, "%s%s%s", out, base, suffixbuff) >= 499) + res[499] = 0; + return(xmlMemStrdup(res)); +} + +static int checkTestFile(const char *filename) { + struct stat buf; + + if (stat(filename, &buf) == -1) + return(0); + +#if defined(_WIN32) + if (!(buf.st_mode & _S_IFREG)) + return(0); +#else + if (!S_ISREG(buf.st_mode)) + return(0); +#endif + + return(1); +} + +static int compareFiles(const char *r1 /* temp */, const char *r2 /* result */) { + int res1, res2, total; + int fd1, fd2; + char bytes1[4096]; + char bytes2[4096]; + + if (update_results) { + fd1 = open(r1, RD_FLAGS); + if (fd1 < 0) + return(-1); + fd2 = open(r2, WR_FLAGS, 0644); + if (fd2 < 0) { + close(fd1); + return(-1); + } + total = 0; + do { + res1 = read(fd1, bytes1, 4096); + if (res1 <= 0) + break; + total += res1; + res2 = write(fd2, bytes1, res1); + if (res2 <= 0 || res2 != res1) + break; + } while (1); + close(fd2); + close(fd1); + if (total == 0) + unlink(r2); + return(res1 != 0); + } + + fd1 = open(r1, RD_FLAGS); + if (fd1 < 0) + return(-1); + fd2 = open(r2, RD_FLAGS); + while (1) { + res1 = read(fd1, bytes1, 4096); + res2 = fd2 >= 0 ? read(fd2, bytes2, 4096) : 0; + if ((res1 != res2) || (res1 < 0)) { + close(fd1); + if (fd2 >= 0) + close(fd2); + return(1); + } + if (res1 == 0) + break; + if (memcmp(bytes1, bytes2, res1) != 0) { + close(fd1); + if (fd2 >= 0) + close(fd2); + return(1); + } + } + close(fd1); + if (fd2 >= 0) + close(fd2); + return(0); +} + +static int compareFileMem(const char *filename, const char *mem, int size) { + int res; + int fd; + char bytes[4096]; + int idx = 0; + struct stat info; + + if (update_results) { + if (size == 0) { + unlink(filename); + return(0); + } + fd = open(filename, WR_FLAGS, 0644); + if (fd < 0) { + fprintf(stderr, "failed to open %s for writing", filename); + return(-1); + } + res = write(fd, mem, size); + close(fd); + return(res != size); + } + + if (stat(filename, &info) < 0) { + if (size == 0) + return(0); + fprintf(stderr, "failed to stat %s\n", filename); + return(-1); + } + if (info.st_size != size) { + fprintf(stderr, "file %s is %ld bytes, result is %d bytes\n", + filename, (long) info.st_size, size); + return(-1); + } + fd = open(filename, RD_FLAGS); + if (fd < 0) { + fprintf(stderr, "failed to open %s for reading", filename); + return(-1); + } + while (idx < size) { + res = read(fd, bytes, 4096); + if (res <= 0) + break; + if (res + idx > size) + break; + if (memcmp(bytes, &mem[idx], res) != 0) { + int ix; + for (ix=0; ix 0) { + siz += res; + } + close(fd); +#if !defined(_WIN32) + if (siz != info.st_size) { + xmlFree(base); + return(-1); + } +#endif + base[siz] = 0; + *mem = base; + *size = siz; + return(0); +} + +static int unloadMem(const char *mem) { + xmlFree((char *)mem); + return(0); +} + +/************************************************************************ + * * + * Tests implementations * + * * + ************************************************************************/ + +/************************************************************************ + * * + * Parse to SAX based tests * + * * + ************************************************************************/ + +static FILE *SAXdebug = NULL; + +/* + * empty SAX block + */ +static xmlSAXHandler emptySAXHandlerStruct = { + NULL, /* internalSubset */ + NULL, /* isStandalone */ + NULL, /* hasInternalSubset */ + NULL, /* hasExternalSubset */ + NULL, /* resolveEntity */ + NULL, /* getEntity */ + NULL, /* entityDecl */ + NULL, /* notationDecl */ + NULL, /* attributeDecl */ + NULL, /* elementDecl */ + NULL, /* unparsedEntityDecl */ + NULL, /* setDocumentLocator */ + NULL, /* startDocument */ + NULL, /* endDocument */ + NULL, /* startElement */ + NULL, /* endElement */ + NULL, /* reference */ + NULL, /* characters */ + NULL, /* ignorableWhitespace */ + NULL, /* processingInstruction */ + NULL, /* comment */ + NULL, /* xmlParserWarning */ + NULL, /* xmlParserError */ + NULL, /* xmlParserError */ + NULL, /* getParameterEntity */ + NULL, /* cdataBlock; */ + NULL, /* externalSubset; */ + 1, + NULL, + NULL, /* startElementNs */ + NULL, /* endElementNs */ + NULL /* xmlStructuredErrorFunc */ +}; + +typedef struct { + const char *filename; + xmlHashTablePtr generalEntities; + xmlHashTablePtr parameterEntities; +} debugContext; + +static xmlSAXHandlerPtr emptySAXHandler = &emptySAXHandlerStruct; +static int callbacks = 0; +static int quiet = 0; + +/** + * Is this document tagged standalone ? + * + * @param ctxt An XML parser context + * @returns 1 if true + */ +static int +isStandaloneDebug(void *ctx ATTRIBUTE_UNUSED) +{ + callbacks++; + if (quiet) + return(0); + fprintf(SAXdebug, "SAX.isStandalone()\n"); + return(0); +} + +/** + * Does this document has an internal subset + * + * @param ctxt An XML parser context + * @returns 1 if true + */ +static int +hasInternalSubsetDebug(void *ctx ATTRIBUTE_UNUSED) +{ + callbacks++; + if (quiet) + return(0); + fprintf(SAXdebug, "SAX.hasInternalSubset()\n"); + return(0); +} + +/** + * Does this document has an external subset + * + * @param ctxt An XML parser context + * @returns 1 if true + */ +static int +hasExternalSubsetDebug(void *ctx ATTRIBUTE_UNUSED) +{ + callbacks++; + if (quiet) + return(0); + fprintf(SAXdebug, "SAX.hasExternalSubset()\n"); + return(0); +} + +/** + * Does this document has an internal subset + * + * @param ctxt An XML parser context + */ +static void +internalSubsetDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, + const xmlChar *ExternalID, const xmlChar *SystemID) +{ + callbacks++; + if (quiet) + return; + if (name == NULL) + name = BAD_CAST "(null)"; + fprintf(SAXdebug, "SAX.internalSubset(%s,", name); + if (ExternalID == NULL) + fprintf(SAXdebug, " ,"); + else + fprintf(SAXdebug, " %s,", ExternalID); + if (SystemID == NULL) + fprintf(SAXdebug, " )\n"); + else + fprintf(SAXdebug, " %s)\n", SystemID); +} + +/** + * Does this document has an external subset + * + * @param ctxt An XML parser context + */ +static void +externalSubsetDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, + const xmlChar *ExternalID, const xmlChar *SystemID) +{ + callbacks++; + if (quiet) + return; + fprintf(SAXdebug, "SAX.externalSubset(%s,", name); + if (ExternalID == NULL) + fprintf(SAXdebug, " ,"); + else + fprintf(SAXdebug, " %s,", ExternalID); + if (SystemID == NULL) + fprintf(SAXdebug, " )\n"); + else + fprintf(SAXdebug, " %s)\n", SystemID); +} + +/** + * Special entity resolver, better left to the parser, it has + * more context than the application layer. + * The default behaviour is to NOT resolve the entities, in that case + * the ENTITY_REF nodes are built in the structure (and the parameter + * values). + * + * @param ctxt An XML parser context + * @param publicId The public ID of the entity + * @param systemId The system ID of the entity + * @returns the xmlParserInput if inlined or NULL for DOM behaviour. + */ +static xmlParserInputPtr +resolveEntityDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *publicId, const xmlChar *systemId) +{ + callbacks++; + if (quiet) + return(NULL); + /* xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx; */ + + + fprintf(SAXdebug, "SAX.resolveEntity("); + if (publicId != NULL) + fprintf(SAXdebug, "%s", (char *)publicId); + else + fprintf(SAXdebug, " "); + if (systemId != NULL) + fprintf(SAXdebug, ", %s)\n", (char *)systemId); + else + fprintf(SAXdebug, ", )\n"); +/********* + if (systemId != NULL) { + return(xmlNewInputFromFile(ctxt, (char *) systemId)); + } + *********/ + return(NULL); +} + +/** + * Get an entity by name + * + * @param ctxt An XML parser context + * @param name The entity name + * @returns the xmlParserInput if inlined or NULL for DOM behaviour. + */ +static xmlEntityPtr +getEntityDebug(void *ctx, const xmlChar *name) +{ + debugContext *ctxt = ctx; + + callbacks++; + if (quiet) + return(NULL); + fprintf(SAXdebug, "SAX.getEntity(%s)\n", name); + + return(xmlHashLookup(ctxt->generalEntities, name)); +} + +/** + * Get a parameter entity by name + * + * @param ctxt An XML parser context + * @param name The entity name + * @returns the xmlParserInput + */ +static xmlEntityPtr +getParameterEntityDebug(void *ctx, const xmlChar *name) +{ + debugContext *ctxt = ctx; + + callbacks++; + if (quiet) + return(NULL); + fprintf(SAXdebug, "SAX.getParameterEntity(%s)\n", name); + + return(xmlHashLookup(ctxt->parameterEntities, name)); +} + + +/** + * An entity definition has been parsed + * + * @param ctxt An XML parser context + * @param name the entity name + * @param type the entity type + * @param publicId The public ID of the entity + * @param systemId The system ID of the entity + * @param content the entity value (without processing). + */ +static void +entityDeclDebug(void *ctx, const xmlChar *name, int type, + const xmlChar *publicId, const xmlChar *systemId, xmlChar *content) +{ + debugContext *ctxt = ctx; + xmlEntityPtr ent; + const xmlChar *nullstr = BAD_CAST "(null)"; + + ent = xmlNewEntity(NULL, name, type, publicId, systemId, content); + if (systemId != NULL) + ent->URI = xmlBuildURI(systemId, (const xmlChar *) ctxt->filename); + + if ((type == XML_INTERNAL_PARAMETER_ENTITY) || + (type == XML_EXTERNAL_PARAMETER_ENTITY)) + xmlHashAddEntry(ctxt->parameterEntities, name, ent); + else + xmlHashAddEntry(ctxt->generalEntities, name, ent); + + /* not all libraries handle printing null pointers nicely */ + if (publicId == NULL) + publicId = nullstr; + if (systemId == NULL) + systemId = nullstr; + if (content == NULL) + content = (xmlChar *)nullstr; + callbacks++; + if (quiet) + return; + fprintf(SAXdebug, "SAX.entityDecl(%s, %d, %s, %s, %s)\n", + name, type, publicId, systemId, content); +} + +/** + * An attribute definition has been parsed + * + * @param ctxt An XML parser context + * @param name the attribute name + * @param type the attribute type + */ +static void +attributeDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar * elem, + const xmlChar * name, int type, int def, + const xmlChar * defaultValue, xmlEnumerationPtr tree) +{ + callbacks++; + if (quiet) + return; + if (defaultValue == NULL) + fprintf(SAXdebug, "SAX.attributeDecl(%s, %s, %d, %d, NULL, ...)\n", + elem, name, type, def); + else + fprintf(SAXdebug, "SAX.attributeDecl(%s, %s, %d, %d, %s, ...)\n", + elem, name, type, def, defaultValue); + xmlFreeEnumeration(tree); +} + +/** + * An element definition has been parsed + * + * @param ctxt An XML parser context + * @param name the element name + * @param type the element type + * @param content the element value (without processing). + */ +static void +elementDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, int type, + xmlElementContentPtr content ATTRIBUTE_UNUSED) +{ + callbacks++; + if (quiet) + return; + fprintf(SAXdebug, "SAX.elementDecl(%s, %d, ...)\n", + name, type); +} + +/** + * What to do when a notation declaration has been parsed. + * + * @param ctxt An XML parser context + * @param name The name of the notation + * @param publicId The public ID of the entity + * @param systemId The system ID of the entity + */ +static void +notationDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, + const xmlChar *publicId, const xmlChar *systemId) +{ + callbacks++; + if (quiet) + return; + fprintf(SAXdebug, "SAX.notationDecl(%s, %s, %s)\n", + (char *) name, (char *) publicId, (char *) systemId); +} + +/** + * What to do when an unparsed entity declaration is parsed + * + * @param ctxt An XML parser context + * @param name The name of the entity + * @param publicId The public ID of the entity + * @param systemId The system ID of the entity + * @param notationName the name of the notation + */ +static void +unparsedEntityDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, + const xmlChar *publicId, const xmlChar *systemId, + const xmlChar *notationName) +{ +const xmlChar *nullstr = BAD_CAST "(null)"; + + if (publicId == NULL) + publicId = nullstr; + if (systemId == NULL) + systemId = nullstr; + if (notationName == NULL) + notationName = nullstr; + callbacks++; + if (quiet) + return; + fprintf(SAXdebug, "SAX.unparsedEntityDecl(%s, %s, %s, %s)\n", + (char *) name, (char *) publicId, (char *) systemId, + (char *) notationName); +} + +/** + * Receive the document locator at startup, actually xmlDefaultSAXLocator + * Everything is available on the context, so this is useless in our case. + * + * @param ctxt An XML parser context + * @param loc A SAX Locator + */ +static void +setDocumentLocatorDebug(void *ctx ATTRIBUTE_UNUSED, xmlSAXLocatorPtr loc ATTRIBUTE_UNUSED) +{ + callbacks++; + if (quiet) + return; + fprintf(SAXdebug, "SAX.setDocumentLocator()\n"); +} + +/** + * called when the document start being processed. + * + * @param ctxt An XML parser context + */ +static void +startDocumentDebug(void *ctx ATTRIBUTE_UNUSED) +{ + callbacks++; + if (quiet) + return; + fprintf(SAXdebug, "SAX.startDocument()\n"); +} + +/** + * called when the document end has been detected. + * + * @param ctxt An XML parser context + */ +static void +endDocumentDebug(void *ctx ATTRIBUTE_UNUSED) +{ + callbacks++; + if (quiet) + return; + fprintf(SAXdebug, "SAX.endDocument()\n"); +} + +/** + * called when an opening tag has been processed. + * + * @param ctxt An XML parser context + * @param name The element name + */ +static void +startElementDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, const xmlChar **atts) +{ + int i; + + callbacks++; + if (quiet) + return; + fprintf(SAXdebug, "SAX.startElement(%s", (char *) name); + if (atts != NULL) { + for (i = 0;(atts[i] != NULL);i++) { + fprintf(SAXdebug, ", %s='", atts[i++]); + if (atts[i] != NULL) + fprintf(SAXdebug, "%s'", atts[i]); + } + } + fprintf(SAXdebug, ")\n"); +} + +/** + * called when the end of an element has been detected. + * + * @param ctxt An XML parser context + * @param name The element name + */ +static void +endElementDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name) +{ + callbacks++; + if (quiet) + return; + fprintf(SAXdebug, "SAX.endElement(%s)\n", (char *) name); +} + +/** + * receiving some chars from the parser. + * Question: how much at a time ??? + * + * @param ctxt An XML parser context + * @param ch a xmlChar string + * @param len the number of xmlChar + */ +static void +charactersDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *ch, int len) +{ + char output[40]; + int i; + + callbacks++; + if (quiet) + return; + for (i = 0;(isax, emptySAXHandler, sizeof(xmlSAXHandler)); + xmlCtxtUseOptions(ctxt, options); + xmlParseDocument(ctxt); + ret = ctxt->wellFormed ? 0 : ctxt->errNo; + xmlFreeDoc(ctxt->myDoc); + xmlFreeParserCtxt(ctxt); + } + if (ret == XML_ERR_UNDECLARED_ENTITY) { + fprintf(SAXdebug, "xmlParseDocument returned error %d\n", ret); + ret = 0; + } + if (ret != 0) { + fprintf(stderr, "Failed to parse %s\n", filename); + ret = 1; + goto done; + } +#ifdef LIBXML_HTML_ENABLED + if (options & XML_PARSE_HTML) { + htmlParserCtxtPtr ctxt; + + ctxt = htmlNewSAXParserCtxt(debugHTMLSAXHandler, NULL); + htmlCtxtReadFile(ctxt, filename, NULL, options); + htmlFreeParserCtxt(ctxt); + ret = 0; + } else +#endif + { + debugContext userData; + xmlParserCtxtPtr ctxt = xmlCreateFileParserCtxt(filename); + + if (options & XML_PARSE_SAX1) { + memcpy(ctxt->sax, debugSAXHandler, sizeof(xmlSAXHandler)); + options -= XML_PARSE_SAX1; + } else { + memcpy(ctxt->sax, debugSAX2Handler, sizeof(xmlSAXHandler)); + } + userData.filename = filename; + userData.generalEntities = xmlHashCreate(0); + userData.parameterEntities = xmlHashCreate(0); + ctxt->userData = &userData; + xmlCtxtUseOptions(ctxt, options); + xmlParseDocument(ctxt); + ret = ctxt->wellFormed ? 0 : ctxt->errNo; + xmlHashFree(userData.generalEntities, hashFreeEntity); + xmlHashFree(userData.parameterEntities, hashFreeEntity); + xmlFreeDoc(ctxt->myDoc); + xmlFreeParserCtxt(ctxt); + } + fclose(SAXdebug); + if (compareFiles(temp, result)) { + fprintf(stderr, "Got a difference for %s\n", filename); + ret = 1; + } + +done: + if (temp != NULL) { + unlink(temp); + xmlFree(temp); + } + + return(ret); +} + +#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_PUSH_ENABLED) +typedef struct { + int dataState; + int inCharacters; + const xmlChar *startTag; +} xmlTokenizerConfig; + +static void +startDocumentTokenizer(void *ctx) { + xmlParserCtxtPtr ctxt = ctx; + xmlTokenizerConfig *config = ctxt->_private; + + ctxt->instate = XML_PARSER_CONTENT; + + if (config->dataState != 0) { + ctxt->endCheckState = config->dataState; + ctxt->name = config->startTag; + } +} + +static void +pendingTokenizer(xmlTokenizerConfig *config) { + if (config->inCharacters) { + fprintf(SAXdebug, "\n"); + config->inCharacters = 0; + } +} + +static void +internalSubsetTokenizer(void *ctx, const xmlChar *name, + const xmlChar *publicId, const xmlChar *systemId) { + xmlParserCtxtPtr ctxt = ctx; + xmlTokenizerConfig *config = ctxt->_private; + + pendingTokenizer(config); + + fprintf(SAXdebug, "DOCTYPE\n%s\n%s\n%s\n", + name ? name : BAD_CAST "", + publicId ? publicId : BAD_CAST "", + systemId ? systemId : BAD_CAST ""); +} + +static void +startElementTokenizer(void *ctx, const xmlChar *name, const xmlChar **atts) { + xmlParserCtxtPtr ctxt = ctx; + xmlTokenizerConfig *config = ctxt->_private; + int i; + + pendingTokenizer(config); + + fprintf(SAXdebug, "StartTag\n%s", name); + if (atts != NULL) { + for (i = 0; atts[i] != NULL; i += 2) { + fprintf(SAXdebug, " %s=", atts[i]); + if (atts[i+1] != NULL) + fprintf(SAXdebug, "%s", atts[i+1]); + } + } + fprintf(SAXdebug, "\n"); +} + +static void +endElementTokenizer(void *ctx, const xmlChar *name) { + xmlParserCtxtPtr ctxt = ctx; + xmlTokenizerConfig *config = ctxt->_private; + + pendingTokenizer(config); + + fprintf(SAXdebug, "EndTag\n%s\n", name); +} + +static void +charactersTokenizer(void *ctx, const xmlChar *ch, int len) { + xmlParserCtxtPtr ctxt = ctx; + xmlTokenizerConfig *config = ctxt->_private; + + if (!config->inCharacters) { + fprintf(SAXdebug, "Character\n"); + config->inCharacters = 1; + } + + fwrite(ch, 1, len, SAXdebug); +} + +static void +commentTokenizer(void *ctx, const xmlChar *value) { + xmlParserCtxtPtr ctxt = ctx; + xmlTokenizerConfig *config = ctxt->_private; + + pendingTokenizer(config); + + fprintf(SAXdebug, "Comment\n%s\n", value); +} + +static void +endDocumentTokenizer(void *ctx) { + xmlParserCtxtPtr ctxt = ctx; + xmlTokenizerConfig *config = ctxt->_private; + + pendingTokenizer(config); +} + +static xmlSAXHandler tokenizeHtmlSAXHandler = { + internalSubsetTokenizer, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + startDocumentTokenizer, + endDocumentTokenizer, + startElementTokenizer, + endElementTokenizer, + NULL, + charactersTokenizer, + NULL, + NULL, + commentTokenizer, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1, + NULL, + NULL, + NULL, + NULL +}; + +/** + * Parse a file using the SAX API and check for errors. + * + * @param filename the file to parse + * @param result the file with expected result + * @param err the file with error messages + * @returns 0 in case of success, an error code otherwise + */ +static int +htmlTokenizerTest(const char *filename, const char *result, + const char *err ATTRIBUTE_UNUSED, + int options) { + xmlTokenizerConfig config; + char startTag[31]; + FILE *input; + char *temp; + unsigned testNum, dataState, size; + int ret = 0, counter = 0; + + nb_tests++; + temp = resultFilename(filename, temp_directory, ".res"); + if (temp == NULL) { + fprintf(stderr, "out of memory\n"); + fatalError(); + } + + SAXdebug = fopen(temp, "wb"); + if (SAXdebug == NULL) { + fprintf(stderr, "Failed to write to %s\n", temp); + xmlFree(temp); + return(-1); + } + + input = fopen(filename, "rb"); + if (input == NULL) { + fprintf(stderr, "%s: failed to open\n", filename); + return(-1); + } + + while (fscanf(input, "%u %30s %u %u%*1[\n]", + &testNum, startTag, &dataState, &size) >= 4) { + htmlParserCtxtPtr ctxt; + char *data; + + fprintf(SAXdebug, "%d\n", counter++); + + data = xmlMalloc(size + 1); + if (fread(data, 1, size, input) != size) { + fprintf(stderr, "%s:%d: unexpected eof\n", filename, counter); + return(-1); + } + + ctxt = htmlCreatePushParserCtxt(&tokenizeHtmlSAXHandler, NULL, NULL, 0, + NULL, XML_CHAR_ENCODING_UTF8); + config.dataState = dataState; + config.startTag = BAD_CAST startTag; + config.inCharacters = 0; + ctxt->_private = &config; + /* Skip charset auto-detection */ + ctxt->instate = XML_PARSER_XML_DECL; + htmlCtxtUseOptions(ctxt, options | HTML_PARSE_HTML5); + htmlParseChunk(ctxt, data, size, 1); + htmlFreeParserCtxt(ctxt); + + xmlFree(data); + } + if (!feof(input)) { + fprintf(stderr, "%s:%d: invalid format\n", filename, counter); + return(-1); + } + + fclose(input); + fclose(SAXdebug); + + if (compareFiles(temp, result)) { + fprintf(stderr, "Got a difference for %s\n", filename); + ret = 1; + } + + if (temp != NULL) { + unlink(temp); + xmlFree(temp); + } + + return(ret); +} +#endif /* HTML */ + +/************************************************************************ + * * + * Parse to tree based tests * + * * + ************************************************************************/ +/** + * Parse a file using the old #xmlParseFile API, then serialize back + * reparse the result and serialize again, then check for deviation + * in serialization. + * + * @param filename the file to parse + * @param result the file with expected result + * @param err the file with error messages: unused + * @returns 0 in case of success, an error code otherwise + */ +static int +oldParseTest(const char *filename, const char *result, + const char *err ATTRIBUTE_UNUSED, + int options ATTRIBUTE_UNUSED) { + xmlDocPtr doc; + char *temp; + int res = 0; + + nb_tests++; + /* + * base of the test, parse with the old API + */ +#ifdef LIBXML_SAX1_ENABLED + xmlGetWarningsDefaultValue = 0; + doc = xmlParseFile(filename); + xmlGetWarningsDefaultValue = 1; +#else + doc = xmlReadFile(filename, NULL, XML_PARSE_NOWARNING); +#endif + if (doc == NULL) + return(1); + temp = resultFilename(filename, temp_directory, ".res"); + if (temp == NULL) { + fprintf(stderr, "out of memory\n"); + fatalError(); + } + xmlSaveFile(temp, doc); + if (compareFiles(temp, result)) { + res = 1; + } + xmlFreeDoc(doc); + + /* + * Parse the saved result to make sure the round trip is okay + */ +#ifdef LIBXML_SAX1_ENABLED + xmlGetWarningsDefaultValue = 0; + doc = xmlParseFile(temp); + xmlGetWarningsDefaultValue = 1; +#else + doc = xmlReadFile(temp, NULL, XML_PARSE_NOWARNING); +#endif + if (doc == NULL) + return(1); + xmlSaveFile(temp, doc); + if (compareFiles(temp, result)) { + res = 1; + } + xmlFreeDoc(doc); + + if (temp != NULL) { + unlink(temp); + xmlFree(temp); + } + + return(res); +} + +#ifdef LIBXML_PUSH_ENABLED +/** + * Parse a file using the Push API, then serialize back + * to check for content. + * + * @param filename the file to parse + * @param result the file with expected result + * @param err the file with error messages: unused + * @returns 0 in case of success, an error code otherwise + */ +static int +pushParseTest(const char *filename, const char *result, + const char *err ATTRIBUTE_UNUSED, + int options) { + xmlParserCtxtPtr ctxt; + xmlDocPtr doc; + const char *base; + int size, res; + int cur = 0; + int chunkSize = 4; + + nb_tests++; + /* + * load the document in memory and work from there. + */ + if (loadMem(filename, &base, &size) != 0) { + fprintf(stderr, "Failed to load %s\n", filename); + return(-1); + } + + if (chunkSize > size) + chunkSize = size; + +#ifdef LIBXML_HTML_ENABLED + if (options & XML_PARSE_HTML) + ctxt = htmlCreatePushParserCtxt(NULL, NULL, base + cur, chunkSize, filename, + XML_CHAR_ENCODING_NONE); + else +#endif + ctxt = xmlCreatePushParserCtxt(NULL, NULL, base + cur, chunkSize, filename); + xmlCtxtSetErrorHandler(ctxt, testStructuredErrorHandler, NULL); + xmlCtxtUseOptions(ctxt, options); + cur += chunkSize; + chunkSize = 1024; + do { + if (cur + chunkSize >= size) { +#ifdef LIBXML_HTML_ENABLED + if (options & XML_PARSE_HTML) + htmlParseChunk(ctxt, base + cur, size - cur, 1); + else +#endif + xmlParseChunk(ctxt, base + cur, size - cur, 1); + break; + } else { +#ifdef LIBXML_HTML_ENABLED + if (options & XML_PARSE_HTML) + htmlParseChunk(ctxt, base + cur, chunkSize, 0); + else +#endif + xmlParseChunk(ctxt, base + cur, chunkSize, 0); + cur += chunkSize; + } + } while (cur < size); + doc = ctxt->myDoc; +#ifdef LIBXML_HTML_ENABLED + if (options & XML_PARSE_HTML) + res = 1; + else +#endif + res = ctxt->wellFormed; + xmlFreeParserCtxt(ctxt); + xmlFree((char *)base); + if (!res) { + xmlFreeDoc(doc); + fprintf(stderr, "Failed to parse %s\n", filename); + return(-1); + } +#ifdef LIBXML_HTML_ENABLED + if (options & XML_PARSE_HTML) + htmlDocDumpMemory(doc, (xmlChar **) &base, &size); + else +#endif + xmlDocDumpMemory(doc, (xmlChar **) &base, &size); + xmlFreeDoc(doc); + res = compareFileMem(result, base, size); + if ((base == NULL) || (res != 0)) { + if (base != NULL) + xmlFree((char *)base); + fprintf(stderr, "Result for %s failed in %s\n", filename, result); + return(-1); + } + xmlFree((char *)base); + if (err != NULL) { + res = compareFileMem(err, testErrors, testErrorsSize); + if (res != 0) { + fprintf(stderr, "Error for %s failed\n", filename); + return(-1); + } + } + return(0); +} + +static int pushBoundaryCount; +static int pushBoundaryRefCount; +static int pushBoundaryCharsCount; +static int pushBoundaryCDataCount; + +static void +internalSubsetBnd(void *ctx, const xmlChar *name, const xmlChar *externalID, + const xmlChar *systemID) { + pushBoundaryCount++; + xmlSAX2InternalSubset(ctx, name, externalID, systemID); +} + +static void +referenceBnd(void *ctx, const xmlChar *name) { + pushBoundaryRefCount++; + xmlSAX2Reference(ctx, name); +} + +static void +charactersBnd(void *ctx, const xmlChar *ch, int len) { + pushBoundaryCount++; + pushBoundaryCharsCount++; + xmlSAX2Characters(ctx, ch, len); +} + +static void +cdataBlockBnd(void *ctx, const xmlChar *ch, int len) { + pushBoundaryCount++; + pushBoundaryCDataCount++; + xmlSAX2CDataBlock(ctx, ch, len); +} + +static void +processingInstructionBnd(void *ctx, const xmlChar *target, + const xmlChar *data) { + pushBoundaryCount++; + xmlSAX2ProcessingInstruction(ctx, target, data); +} + +static void +commentBnd(void *ctx, const xmlChar *value) { + xmlParserCtxtPtr ctxt = ctx; + if (ctxt->inSubset == 0) + pushBoundaryCount++; + xmlSAX2Comment(ctx, value); +} + +static void +startElementBnd(void *ctx, const xmlChar *xname, const xmlChar **atts) { + const char *name = (const char *)xname; + + /* Some elements might be created automatically. */ + if ((strcmp(name, "html") != 0) && + (strcmp(name, "body") != 0) && + (strcmp(name, "head") != 0) && + (strcmp(name, "p") != 0)) { + pushBoundaryCount++; + } + xmlSAX2StartElement(ctx, xname, atts); +} + +static void +endElementBnd(void *ctx, const xmlChar *name) { + /*pushBoundaryCount++;*/ + xmlSAX2EndElement(ctx, name); +} + +static void +startElementNsBnd(void *ctx, const xmlChar *localname, const xmlChar *prefix, + const xmlChar *URI, int nb_namespaces, + const xmlChar **namespaces, int nb_attributes, + int nb_defaulted, const xmlChar **attributes) { + pushBoundaryCount++; + xmlSAX2StartElementNs(ctx, localname, prefix, URI, nb_namespaces, + namespaces, nb_attributes, nb_defaulted, attributes); +} + +static void +endElementNsBnd(void *ctx, const xmlChar *localname, const xmlChar *prefix, + const xmlChar *URI) { + /*pushBoundaryCount++;*/ + xmlSAX2EndElementNs(ctx, localname, prefix, URI); +} + +/** + * Test whether the push parser detects boundaries between syntactical + * elements correctly. + * + * @param filename the file to parse + * @param result the file with expected result + * @param err the file with error messages: unused + * @returns 0 in case of success, an error code otherwise + */ +static int +pushBoundaryTest(const char *filename, const char *result, + const char *err ATTRIBUTE_UNUSED, + int options) { + xmlParserCtxtPtr ctxt; + xmlDocPtr doc; + xmlSAXHandler bndSAX; + const char *base; + int size, res, numCallbacks; + int cur = 0; + unsigned long avail, oldConsumed, consumed; + + /* + * HTML encoding detection doesn't work when data is fed bytewise. + */ + if (strcmp(filename, "./test/HTML/xml-declaration-1.html") == 0) + return(0); + + /* + * If the parser made progress, check that exactly one construct was + * processed and that the input buffer is (almost) empty. + * Since we use a chunk size of 1, this tests whether content is + * processed as early as possible. + */ + + nb_tests++; + + memset(&bndSAX, 0, sizeof(bndSAX)); +#ifdef LIBXML_HTML_ENABLED + if (options & XML_PARSE_HTML) { + xmlSAX2InitHtmlDefaultSAXHandler(&bndSAX); + bndSAX.startElement = startElementBnd; + bndSAX.endElement = endElementBnd; + } else +#endif + { + xmlSAXVersion(&bndSAX, 2); + bndSAX.startElementNs = startElementNsBnd; + bndSAX.endElementNs = endElementNsBnd; + } + + bndSAX.internalSubset = internalSubsetBnd; + bndSAX.reference = referenceBnd; + bndSAX.characters = charactersBnd; + bndSAX.cdataBlock = cdataBlockBnd; + bndSAX.processingInstruction = processingInstructionBnd; + bndSAX.comment = commentBnd; + + /* + * load the document in memory and work from there. + */ + if (loadMem(filename, &base, &size) != 0) { + fprintf(stderr, "Failed to load %s\n", filename); + return(-1); + } + +#ifdef LIBXML_HTML_ENABLED + if (options & XML_PARSE_HTML) + ctxt = htmlCreatePushParserCtxt(&bndSAX, NULL, base, 1, filename, + XML_CHAR_ENCODING_NONE); + else +#endif + ctxt = xmlCreatePushParserCtxt(&bndSAX, NULL, base, 1, filename); + xmlCtxtSetErrorHandler(ctxt, testStructuredErrorHandler, NULL); + xmlCtxtUseOptions(ctxt, options); + cur = 1; + consumed = 0; + numCallbacks = 0; + avail = 0; + while ((cur < size) && (numCallbacks <= 1) && (avail <= 0)) { + int terminate = (cur + 1 >= size); + int isText = 0; + + if (ctxt->instate == XML_PARSER_CONTENT) { + int firstChar = (ctxt->input->end > ctxt->input->cur) ? + *ctxt->input->cur : + base[cur]; + + if (options & XML_PARSE_HTML) { + isText = ((ctxt->endCheckState) || (firstChar != '<')); + } else { + isText = ((firstChar != '<') && (firstChar != '&')); + } + } + + oldConsumed = ctxt->input->consumed + + (unsigned long) (ctxt->input->cur - ctxt->input->base); + + pushBoundaryCount = 0; + pushBoundaryRefCount = 0; + pushBoundaryCharsCount = 0; + pushBoundaryCDataCount = 0; + +#ifdef LIBXML_HTML_ENABLED + if (options & XML_PARSE_HTML) + htmlParseChunk(ctxt, base + cur, 1, terminate); + else +#endif + xmlParseChunk(ctxt, base + cur, 1, terminate); + cur += 1; + + /* + * Callback check: Check that only a single construct was parsed. + */ + if (pushBoundaryRefCount > 0) { + numCallbacks = 1; + } else { + numCallbacks = pushBoundaryCount; + if (pushBoundaryCharsCount > 1) { + if (options & XML_PARSE_HTML) { + /* + * The HTML parser can generate a mix of chars and + * references. + */ + numCallbacks -= pushBoundaryCharsCount - 1; + } else { + /* + * Allow two chars callbacks. This can happen when + * multi-byte chars are split across buffer boundaries. + */ + numCallbacks -= 1; + } + } + if (options & XML_PARSE_HTML) { + /* + * Allow multiple cdata callbacks in HTML mode. + */ + if (pushBoundaryCDataCount > 1) + numCallbacks -= pushBoundaryCDataCount - 1; + } + } + + /* + * Buffer check: If input was consumed, check that the input + * buffer is (almost) empty. + */ + consumed = ctxt->input->consumed + + (unsigned long) (ctxt->input->cur - ctxt->input->base); + if ((ctxt->instate != XML_PARSER_DTD) && + (consumed >= 4) && + (consumed != oldConsumed)) { + size_t max = 0; + + avail = ctxt->input->end - ctxt->input->cur; + + if ((options & XML_PARSE_HTML) && + (ctxt->instate == XML_PARSER_END_TAG)) { + /* Something related to script parsing. */ + max = 3; + } else if (isText) { + int c = *ctxt->input->cur; + + if ((options & XML_PARSE_HTML) && + (ctxt->endCheckState)) { + max = strlen((const char *) ctxt->name) + 2; + } else if (c == '&') { + max = (options & XML_PARSE_HTML) ? 32 : 1; + } else if (c == '<') { + max = 1; + } else { + /* 3 bytes for partial UTF-8 */ + max = 3; + } + } else if (ctxt->instate == XML_PARSER_CDATA_SECTION) { + /* 2 bytes for terminator, 3 bytes for UTF-8 */ + max = 5; + } + + if (avail <= max) + avail = 0; + } + } + doc = ctxt->myDoc; +#ifdef LIBXML_HTML_ENABLED + if (options & XML_PARSE_HTML) + res = 1; + else +#endif + res = ctxt->wellFormed; + xmlFreeParserCtxt(ctxt); + xmlFree((char *)base); + if (numCallbacks > 1) { + xmlFreeDoc(doc); + fprintf(stderr, "Failed push boundary callback test (%d@%lu-%lu): %s\n", + numCallbacks, oldConsumed, consumed, filename); + return(-1); + } + if (avail > 0) { + xmlFreeDoc(doc); + fprintf(stderr, "Failed push boundary buffer test (%lu@%lu): %s\n", + avail, consumed, filename); + return(-1); + } + if (!res) { + xmlFreeDoc(doc); + fprintf(stderr, "Failed to parse %s\n", filename); + return(-1); + } +#ifdef LIBXML_HTML_ENABLED + if (options & XML_PARSE_HTML) + htmlDocDumpMemory(doc, (xmlChar **) &base, &size); + else +#endif + xmlDocDumpMemory(doc, (xmlChar **) &base, &size); + xmlFreeDoc(doc); + res = compareFileMem(result, base, size); + if ((base == NULL) || (res != 0)) { + if (base != NULL) + xmlFree((char *)base); + fprintf(stderr, "Result for %s failed in %s\n", filename, result); + return(-1); + } + xmlFree((char *)base); + if (err != NULL) { + res = compareFileMem(err, testErrors, testErrorsSize); + if (res != 0) { + fprintf(stderr, "Error for %s failed\n", filename); + return(-1); + } + } + return(0); +} +#endif + +static char * +dumpNodeList(xmlNodePtr list) { + xmlBufferPtr buffer; + xmlSaveCtxtPtr save; + xmlNodePtr cur; + char *ret; + + buffer = xmlBufferCreate(); + save = xmlSaveToBuffer(buffer, "UTF-8", 0); + for (cur = list; cur != NULL; cur = cur->next) + xmlSaveTree(save, cur); + xmlSaveClose(save); + + ret = (char *) xmlBufferDetach(buffer); + xmlBufferFree(buffer); + return(ret); +} + +static int +testParseContent(xmlParserCtxtPtr ctxt, xmlDocPtr doc, const char *filename) { + xmlParserInputPtr input; + xmlNodePtr root = NULL, list; + char *content, *roundTrip; + int ret = 0; + + /* + * Undeclared entities aren't a fatal error if there's an + * external DTD. When parsing content, we assume there's no + * DTD, so the undeclared entity test would fail. + */ + if (strcmp(filename, "./test/undeclared-entity.xml") == 0) + return 0; + + if (ctxt->html) { + xmlNodePtr cur; + + if (doc == NULL || doc->children == NULL) + return 0; + for (cur = doc->children->children; cur != NULL; cur = cur->next) { + if (xmlStrEqual(cur->name, BAD_CAST "body")) { + root = cur; + break; + } + } + } else { + root = xmlDocGetRootElement(doc); + } + if (root == NULL) + return 0; + + content = dumpNodeList(root->children); + + input = xmlNewInputFromString(NULL, content, XML_INPUT_BUF_STATIC); + list = xmlCtxtParseContent(ctxt, input, root, 0); + roundTrip = dumpNodeList(list); + if (strcmp(content, roundTrip) != 0) { + fprintf(stderr, "xmlCtxtParseContent failed for %s\n", filename); + ret = -1; + } + xmlFree(roundTrip); + xmlFreeNodeList(list); + + /* xmlParseInNodeContext uses the document's encoding. */ + xmlFree(doc->encoding); + doc->encoding = xmlStrdup(BAD_CAST "UTF-8"); + xmlParseInNodeContext(root, content, strlen(content), + ctxt->options | XML_PARSE_NOERROR, + &list); + roundTrip = dumpNodeList(list); + if (strcmp(content, roundTrip) != 0) { + fprintf(stderr, "xmlParseInNodeContext failed for %s\n", filename); + ret = -1; + } + xmlFree(roundTrip); + xmlFreeNodeList(list); + + xmlFree(content); + return(ret); +} + +/** + * Parse a file using the old #xmlReadMemory API, then serialize back + * reparse the result and serialize again, then check for deviation + * in serialization. + * + * @param filename the file to parse + * @param result the file with expected result + * @param err the file with error messages: unused + * @returns 0 in case of success, an error code otherwise + */ +static int +memParseTest(const char *filename, const char *result, + const char *err ATTRIBUTE_UNUSED, + int options) { + xmlParserCtxtPtr ctxt; + xmlDocPtr doc; + const char *base; + int size, res; + int ret = 0; + + options |= XML_PARSE_NOWARNING; + + nb_tests++; + /* + * load and parse the memory + */ + if (loadMem(filename, &base, &size) != 0) { + fprintf(stderr, "Failed to load %s\n", filename); + return(-1); + } + + ctxt = xmlNewParserCtxt(); + doc = xmlCtxtReadMemory(ctxt, base, size, filename, NULL, options); + unloadMem(base); + if (doc == NULL) { + return(1); + } + xmlDocDumpMemory(doc, (xmlChar **) &base, &size); + res = compareFileMem(result, base, size); + if ((base == NULL) || (res != 0)) { + fprintf(stderr, "Result for %s failed in %s\n", filename, result); + ret = -1; + } + + if (testParseContent(ctxt, doc, filename) < 0) + ret = -1; + + xmlFreeDoc(doc); + xmlFreeParserCtxt(ctxt); + xmlFree((char *)base); + return(ret); +} + +/** + * Parse a file with entity resolution, then serialize back + * reparse the result and serialize again, then check for deviation + * in serialization. + * + * @param filename the file to parse + * @param result the file with expected result + * @param err the file with error messages: unused + * @returns 0 in case of success, an error code otherwise + */ +static int +noentParseTest(const char *filename, const char *result, + const char *err ATTRIBUTE_UNUSED, + int options) { + xmlDocPtr doc; + char *temp; + int res = 0; + + nb_tests++; + /* + * base of the test, parse with the old API + */ + doc = xmlReadFile(filename, NULL, + options | XML_PARSE_NOWARNING | XML_PARSE_NOERROR); + if (doc == NULL) + return(1); + temp = resultFilename(filename, temp_directory, ".res"); + if (temp == NULL) { + fprintf(stderr, "Out of memory\n"); + fatalError(); + } + xmlSaveFile(temp, doc); + if (compareFiles(temp, result)) { + res = 1; + } + xmlFreeDoc(doc); + + /* + * Parse the saved result to make sure the round trip is okay + */ + doc = xmlReadFile(filename, NULL, + options | XML_PARSE_NOWARNING | XML_PARSE_NOERROR); + if (doc == NULL) + return(1); + xmlSaveFile(temp, doc); + if (compareFiles(temp, result)) { + res = 1; + } + xmlFreeDoc(doc); + + if (temp != NULL) { + unlink(temp); + xmlFree(temp); + } + return(res); +} + +#ifdef LIBXML_XINCLUDE_ENABLED +/** + * Parse a file and run xmlXIncludeProcess() to verify that doc->parseFlags + * is propagated properly. + * + * @param filename the file to parse + * @param result the file with expected result + * @param err the file with error messages + * @returns 0 in case of success, an error code otherwise + */ +static int +xincludeProcessTest(const char *filename, const char *result, const char *err, + int options) { + xmlParserCtxtPtr ctxt; + xmlDocPtr doc; + xmlChar *base = NULL; + int size, res; + int ret = 0; + + nb_tests++; + + /* Create a new parser context */ + ctxt = xmlNewParserCtxt(); + if (ctxt == NULL) + return(-1); + + /* Load the data from `filename` into a parser context */ + xmlCtxtSetErrorHandler(ctxt, testStructuredErrorHandler, NULL); + doc = xmlCtxtReadFile(ctxt, filename, NULL, options); + xmlFreeParserCtxt(ctxt); + + /* Check if `doc` was created successfully */ + if (doc == NULL) { + testErrorHandler(NULL, "%s : failed to parse\n", filename); + return(-1); + } + + /* + * Run xmlXIncludeProcess() with a structured error handler to check that + * the parse flags are propagated. + */ + xmlSetStructuredErrorFunc(NULL, testStructuredErrorHandler); + xmlXIncludeProcess(doc); + xmlSetStructuredErrorFunc(NULL, NULL); + + /* Check the result and for any errors */ + if (result) { + xmlDocDumpMemory(doc, &base, &size); + res = compareFileMem(result, (char *) base, size); + xmlFree(base); + if (res != 0) { + fprintf(stderr, "Result for %s failed in %s\n", filename, result); + ret = -1; + } + } + + if ((ret == 0) && (err != NULL)) { + res = compareFileMem(err, testErrors, testErrorsSize); + if (res != 0) { + fprintf(stderr, "Error for %s failed\n", filename); + ret = -1; + } + } + + xmlFreeDoc(doc); + return(ret); +} +#endif + +/** + * Parse a file using the #xmlReadFile API and check for errors. + * + * @param filename the file to parse + * @param result the file with expected result + * @param err the file with error messages + * @returns 0 in case of success, an error code otherwise + */ +static int +errParseTest(const char *filename, const char *result, const char *err, + int options) { + xmlParserCtxtPtr ctxt; + xmlDocPtr doc; + int size, res = 0; + int ret = 0; + + nb_tests++; +#ifdef LIBXML_HTML_ENABLED + if (options & XML_PARSE_HTML) { + ctxt = htmlNewParserCtxt(); + xmlCtxtSetErrorHandler(ctxt, testStructuredErrorHandler, NULL); + doc = htmlCtxtReadFile(ctxt, filename, NULL, options); + } else +#endif + { + ctxt = xmlNewParserCtxt(); + xmlCtxtSetErrorHandler(ctxt, testStructuredErrorHandler, NULL); + doc = xmlCtxtReadFile(ctxt, filename, NULL, options); +#ifdef LIBXML_XINCLUDE_ENABLED + if (options & XML_PARSE_XINCLUDE) { + xmlXIncludeCtxtPtr xinc = NULL; + + xinc = xmlXIncludeNewContext(doc); + xmlXIncludeSetErrorHandler(xinc, testStructuredErrorHandler, NULL); + xmlXIncludeSetFlags(xinc, options); + if (xmlXIncludeProcessNode(xinc, (xmlNodePtr) doc) < 0) { + testErrorHandler(NULL, "%s : failed to parse\n", filename); + xmlFreeDoc(doc); + doc = NULL; + } + xmlXIncludeFreeContext(xinc); + } +#endif + } + if (result) { + xmlChar *base = NULL; + + if (doc == NULL) { + base = xmlStrdup(BAD_CAST ""); + size = 0; + } else { +#ifdef LIBXML_HTML_ENABLED + if (options & XML_PARSE_HTML) { + htmlDocDumpMemory(doc, &base, &size); + } else +#endif + xmlDocDumpMemory(doc, &base, &size); + } + res = compareFileMem(result, (char *) base, size); + xmlFree(base); + } + + if (res != 0) { + fprintf(stderr, "Result for %s failed in %s\n", filename, result); + ret = -1; + } else if (err != NULL) { + res = compareFileMem(err, testErrors, testErrorsSize); + if (res != 0) { + fprintf(stderr, "Error for %s failed\n", filename); + ret = -1; + } + } else if (options & XML_PARSE_DTDVALID) { + if (testErrorsSize != 0) { + fprintf(stderr, "Validation for %s failed\n", filename); + ret = -1; + } + } + + if (testParseContent(ctxt, doc, filename) < 0) + ret = -1; + + xmlFreeDoc(doc); + xmlFreeParserCtxt(ctxt); + return(ret); +} + +#if defined(LIBXML_VALID_ENABLED) || defined(LIBXML_HTML_ENABLED) +/** + * Parse a file using the #xmlReadFd API and check for errors. + * + * @param filename the file to parse + * @param result the file with expected result + * @param err the file with error messages + * @returns 0 in case of success, an error code otherwise + */ +static int +fdParseTest(const char *filename, const char *result, const char *err, + int options) { + xmlParserCtxtPtr ctxt; + xmlDocPtr doc; + const char *base = NULL; + int size, res = 0, fd; + + nb_tests++; + fd = open(filename, RD_FLAGS); +#ifdef LIBXML_HTML_ENABLED + if (options & XML_PARSE_HTML) { + ctxt = htmlNewParserCtxt(); + xmlCtxtSetErrorHandler(ctxt, testStructuredErrorHandler, NULL); + doc = htmlCtxtReadFd(ctxt, fd, filename, NULL, options); + htmlFreeParserCtxt(ctxt); + } else +#endif + { + ctxt = xmlNewParserCtxt(); + xmlCtxtSetErrorHandler(ctxt, testStructuredErrorHandler, NULL); + doc = xmlCtxtReadFd(ctxt, fd, filename, NULL, options); + xmlFreeParserCtxt(ctxt); + } + close(fd); + if (result) { + if (doc == NULL) { + base = ""; + size = 0; + } else { +#ifdef LIBXML_HTML_ENABLED + if (options & XML_PARSE_HTML) { + htmlDocDumpMemory(doc, (xmlChar **) &base, &size); + } else +#endif + xmlDocDumpMemory(doc, (xmlChar **) &base, &size); + } + res = compareFileMem(result, base, size); + } + if (doc != NULL) { + if (base != NULL) + xmlFree((char *)base); + xmlFreeDoc(doc); + } + if (res != 0) { + fprintf(stderr, "Result for %s failed in %s\n", filename, result); + return(-1); + } + if (err != NULL) { + res = compareFileMem(err, testErrors, testErrorsSize); + if (res != 0) { + fprintf(stderr, "Error for %s failed\n", filename); + return(-1); + } + } else if (options & XML_PARSE_DTDVALID) { + if (testErrorsSize != 0) + fprintf(stderr, "Validation for %s failed\n", filename); + } + + return(0); +} +#endif + + +#ifdef LIBXML_READER_ENABLED +/************************************************************************ + * * + * Reader based tests * + * * + ************************************************************************/ + +static void processNode(FILE *out, xmlTextReaderPtr reader) { + const xmlChar *name, *value; + int type, empty; + + type = xmlTextReaderNodeType(reader); + empty = xmlTextReaderIsEmptyElement(reader); + + name = xmlTextReaderConstName(reader); + if (name == NULL) + name = BAD_CAST "--"; + + value = xmlTextReaderConstValue(reader); + + + fprintf(out, "%d %d %s %d %d", + xmlTextReaderDepth(reader), + type, + name, + empty, + xmlTextReaderHasValue(reader)); + if (value == NULL) + fprintf(out, "\n"); + else { + fprintf(out, " %s\n", value); + } +} +static int +streamProcessTest(const char *filename, const char *result, const char *err, + xmlTextReaderPtr reader, const char *rng, + int options ATTRIBUTE_UNUSED) { + int ret; + char *temp = NULL; + FILE *t = NULL; + + if (reader == NULL) + return(-1); + + nb_tests++; + if (result != NULL) { + temp = resultFilename(filename, temp_directory, ".res"); + if (temp == NULL) { + fprintf(stderr, "Out of memory\n"); + fatalError(); + } + t = fopen(temp, "wb"); + if (t == NULL) { + fprintf(stderr, "Can't open temp file %s\n", temp); + xmlFree(temp); + return(-1); + } + } +#ifdef LIBXML_RELAXNG_ENABLED + if (rng != NULL) { + ret = xmlTextReaderRelaxNGValidate(reader, rng); + if (ret < 0) { + testErrorHandler(NULL, "Relax-NG schema %s failed to compile\n", + rng); + fclose(t); + if (temp != NULL) { + unlink(temp); + xmlFree(temp); + } + return(0); + } + } +#endif + ret = xmlTextReaderRead(reader); + while (ret == 1) { + if ((t != NULL) && (rng == NULL)) + processNode(t, reader); + ret = xmlTextReaderRead(reader); + } + if (ret != 0) { + testErrorHandler(NULL, "%s : failed to parse\n", filename); + } + if (rng != NULL) { + if (xmlTextReaderIsValid(reader) != 1) { + testErrorHandler(NULL, "%s fails to validate\n", filename); + } else { + testErrorHandler(NULL, "%s validates\n", filename); + } + } + if (t != NULL) { + fclose(t); + ret = compareFiles(temp, result); + if (temp != NULL) { + unlink(temp); + xmlFree(temp); + } + if (ret) { + fprintf(stderr, "Result for %s failed in %s\n", filename, result); + return(-1); + } + } + if (err != NULL) { + ret = compareFileMem(err, testErrors, testErrorsSize); + if (ret != 0) { + fprintf(stderr, "Error for %s failed\n", filename); + printf("%s", testErrors); + return(-1); + } + } + + return(0); +} + +#ifdef __linux__ + +/** + * Parse a file using the reader for Fd and checks that the corresponding fd is + * correctly closed and there's no memory leak + * + * @param filename the file to parse + * @param result the file with expected result + * @param err the file with error messages + * @returns 0 in case of success, an error code otherwise + */ +static int +xmlReaderForFdTest(const char *filename, const char *result ATTRIBUTE_UNUSED, + const char *err ATTRIBUTE_UNUSED, int options ATTRIBUTE_UNUSED) { + xmlTextReaderPtr reader; + int fd = 0; + int ret; + + fd = open(filename, O_RDONLY, 0); + if (fd == -1) { + fprintf(stderr, "Error opening test file %s\n", filename); + return 1; + } + + reader = xmlReaderForFd(fd, filename, NULL, 0); + if (reader) { + xmlFreeTextReader(reader); + } else { + fprintf(stderr, "Error creating reader for file %s\n", filename); + ret = 1; + } + + /* Ensure that no new fd was created and never closed */ + ret = fcntl(fd + 1, F_GETFD); + if (ret != -1) { + fprintf(stderr, "File descriptor %d was not closed correctly %s\n", fd + 1, filename); + } else { + ret = 0; + } + + /* Ensure that the manual open fd is still open */ + ret = fcntl(fd, F_GETFD); + if (ret != 0) { + fprintf(stderr, "File descriptor %d was early closed correctly %s\n", fd, filename); + } + + close(fd); + + /* Check if we close the fd correctly */ + ret = fcntl(fd, F_GETFD); + if (ret != -1) { + fprintf(stderr, "File descriptor %d was not closed correctly %s\n", fd, filename); + } else { + ret = 0; + } + + return(ret); +} + +#if defined(LIBXML_ZLIB_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) +static int +xmllintGzWrite(void *ctxt, const char *buf, int len) { + return gzwrite(ctxt, buf, len); +} + +static int +xmllintGzClose(void *ctxt) { + if (gzclose(ctxt) != Z_OK) + return -1; + + return 0; +} + +/** + * Parse a file using the reader for Fd and checks that the corresponding fd is + * correctly closed and there's no memory leak + * + * @param filename the file to parse + * @param result the file with expected result + * @param err the file with error messages + * @returns 0 in case of success, an error code otherwise + */ +static int +xmlReaderForFdGzTest(const char *filename, const char *result ATTRIBUTE_UNUSED, + const char *err ATTRIBUTE_UNUSED, int options ATTRIBUTE_UNUSED) { + /** Gzip the file and test again to verify the zipper branch */ + char tmp[500] = {0}; + gzFile gz = NULL; + xmlSaveCtxtPtr ctxt = NULL; + xmlDocPtr doc = NULL; + int ret = 0; + + if (snprintf(tmp, 499, "%s.gz", baseFilename(filename)) >= 499) { + tmp[499] = 0; + } + + gz = gzopen(tmp, "wb9"); + if (gz == NULL) { + fprintf(stderr, "Error creating gz file %s\n", tmp); + return 1; + } + + doc = xmlReadFile(filename, NULL, 0); + if (doc == NULL) { + fprintf(stderr, "Error reading test doc %s\n", filename); + gzclose(gz); + return 1; + } + ctxt = xmlSaveToIO(xmllintGzWrite, xmllintGzClose, gz, NULL, 0); + if (ctxt == NULL) { + fprintf(stderr, "Error creating save contxt %s\n", tmp); + xmlFreeDoc(doc); + gzclose(gz); + return 1; + } + + if (xmlSaveDoc(ctxt, doc) < 0) { + fprintf(stderr, "Error saving file %s\n", tmp); + xmlSaveClose(ctxt); + xmlFreeDoc(doc); + return 1; + } + + xmlSaveClose(ctxt); + xmlFreeDoc(doc); + + ret = xmlReaderForFdTest(tmp, NULL, NULL, 0); + unlink(tmp); + + return(ret); +} +#endif + +#endif + +#ifdef LIBXML_READER_ENABLED +/** + * Checking that xmlTextReaderReadOuterXml copy the XML_DTD_NODE + * + * xmlTextReaderReadOuterXml does not copy XML_DTD_NODE since libxml2 2.13.0 + * https://gitlab.gnome.org/GNOME/libxml2/-/issues/1108 + */ +static int +xmlTextReaderReadOuterXmlTest(const char *filename ATTRIBUTE_UNUSED, + const char *result ATTRIBUTE_UNUSED, + const char *err ATTRIBUTE_UNUSED, + int options ATTRIBUTE_UNUSED) { + xmlTextReaderPtr reader = NULL; + int ret = 0; + int res = 1; + xmlChar *out = NULL; + + const char *doc = "" + "" + "" + " " + ""; + + reader = xmlReaderForMemory(doc, strlen(doc), "doc.svg", NULL, XML_PARSE_NOENT); + + while (res == 1) { + res = xmlTextReaderRead(reader); + if (xmlTextReaderNodeType(reader) == XML_READER_TYPE_DOCUMENT_TYPE) { + out = xmlTextReaderReadOuterXml(reader); + ret = xmlStrEqual(out, BAD_CAST "") == 1; + if (out != NULL) { + xmlFree(out); + out = NULL; + } + break; + } + } + + xmlFreeTextReader(reader); + return(ret); +} +#endif + +/** + * Parse a file using the reader API and check for errors. + * + * @param filename the file to parse + * @param result the file with expected result + * @param err the file with error messages + * @returns 0 in case of success, an error code otherwise + */ +static int +streamParseTest(const char *filename, const char *result, const char *err, + int options) { + xmlTextReaderPtr reader; + int ret; + + reader = xmlReaderForFile(filename, NULL, options); + xmlTextReaderSetStructuredErrorHandler(reader, testStructuredErrorHandler, + NULL); + ret = streamProcessTest(filename, result, err, reader, NULL, options); + xmlFreeTextReader(reader); + return(ret); +} + +/** + * Parse a file using the walker, i.e. a reader built from a atree. + * + * @param filename the file to parse + * @param result the file with expected result + * @param err the file with error messages + * @returns 0 in case of success, an error code otherwise + */ +static int +walkerParseTest(const char *filename, const char *result, const char *err, + int options) { + xmlDocPtr doc; + xmlTextReaderPtr reader; + int ret; + + doc = xmlReadFile(filename, NULL, options | XML_PARSE_NOWARNING); + if (doc == NULL) { + fprintf(stderr, "Failed to parse %s\n", filename); + return(-1); + } + reader = xmlReaderWalker(doc); + ret = streamProcessTest(filename, result, err, reader, NULL, options); + xmlFreeTextReader(reader); + xmlFreeDoc(doc); + return(ret); +} + +/** + * Parse a file using the reader API from memory and check for errors. + * + * @param filename the file to parse + * @param result the file with expected result + * @param err the file with error messages + * @returns 0 in case of success, an error code otherwise + */ +static int +streamMemParseTest(const char *filename, const char *result, const char *err, + int options) { + xmlTextReaderPtr reader; + int ret; + const char *base; + int size; + + /* + * load and parse the memory + */ + if (loadMem(filename, &base, &size) != 0) { + fprintf(stderr, "Failed to load %s\n", filename); + return(-1); + } + reader = xmlReaderForMemory(base, size, filename, NULL, options); + xmlTextReaderSetStructuredErrorHandler(reader, testStructuredErrorHandler, + NULL); + ret = streamProcessTest(filename, result, err, reader, NULL, options); + xmlFree((char *)base); + xmlFreeTextReader(reader); + return(ret); +} +#endif + +#ifdef LIBXML_XPATH_ENABLED +#ifdef LIBXML_DEBUG_ENABLED +/************************************************************************ + * * + * XPath and XPointer based tests * + * * + ************************************************************************/ + +static FILE *xpathOutput; +static xmlDocPtr xpathDocument; + +static void +testXPath(const char *str, int xptr, int expr) { + xmlXPathObjectPtr res; + xmlXPathContextPtr ctxt; + + nb_tests++; +#if defined(LIBXML_XPTR_ENABLED) + if (xptr) { + ctxt = xmlXPathNewContext(xpathDocument); + xmlXPathSetErrorHandler(ctxt, testStructuredErrorHandler, NULL); + res = xmlXPtrEval(BAD_CAST str, ctxt); + } else { +#endif + ctxt = xmlXPathNewContext(xpathDocument); + xmlXPathSetErrorHandler(ctxt, testStructuredErrorHandler, NULL); + ctxt->node = xmlDocGetRootElement(xpathDocument); + if (expr) + res = xmlXPathEvalExpression(BAD_CAST str, ctxt); + else { + /* res = xmlXPathEval(BAD_CAST str, ctxt); */ + xmlXPathCompExprPtr comp; + + comp = xmlXPathCompile(BAD_CAST str); + if (comp != NULL) { + res = xmlXPathCompiledEval(comp, ctxt); + xmlXPathFreeCompExpr(comp); + } else + res = NULL; + } +#if defined(LIBXML_XPTR_ENABLED) + } +#endif + xmlXPathDebugDumpObject(xpathOutput, res, 0); + xmlXPathFreeObject(res); + xmlXPathFreeContext(ctxt); +} + +/** + * Parse a file containing XPath standalone expressions and evaluate them + * + * @param filename the file to parse + * @param result the file with expected result + * @param err the file with error messages + * @returns 0 in case of success, an error code otherwise + */ +static int +xpathCommonTest(const char *filename, const char *result, + int xptr, int expr) { + FILE *input; + char expression[5000]; + int len, ret = 0; + char *temp; + + temp = resultFilename(filename, temp_directory, ".res"); + if (temp == NULL) { + fprintf(stderr, "Out of memory\n"); + fatalError(); + } + xpathOutput = fopen(temp, "wb"); + if (xpathOutput == NULL) { + fprintf(stderr, "failed to open output file %s\n", temp); + xmlFree(temp); + return(-1); + } + + input = fopen(filename, "rb"); + if (input == NULL) { + fprintf(stderr, + "Cannot open %s for reading\n", filename); + xmlFree(temp); + return(-1); + } + while (fgets(expression, 4500, input) != NULL) { + len = strlen(expression); + len--; + while ((len >= 0) && + ((expression[len] == '\n') || (expression[len] == '\t') || + (expression[len] == '\r') || (expression[len] == ' '))) len--; + expression[len + 1] = 0; + if (len >= 0) { + fprintf(xpathOutput, + "\n========================\nExpression: %s\n", + expression) ; + testXPath(expression, xptr, expr); + } + } + + fclose(input); + fclose(xpathOutput); + if (result != NULL) { + ret = compareFiles(temp, result); + if (ret) { + fprintf(stderr, "Result for %s failed in %s\n", filename, result); + } + } + + if (temp != NULL) { + unlink(temp); + xmlFree(temp); + } + return(ret); +} + +/** + * Parse a file containing XPath standalone expressions and evaluate them + * + * @param filename the file to parse + * @param result the file with expected result + * @param err the file with error messages + * @returns 0 in case of success, an error code otherwise + */ +static int +xpathExprTest(const char *filename, const char *result, + const char *err ATTRIBUTE_UNUSED, + int options ATTRIBUTE_UNUSED) { + return(xpathCommonTest(filename, result, 0, 1)); +} + +/** + * Parse a file containing XPath expressions and evaluate them against + * a set of corresponding documents. + * + * @param filename the file to parse + * @param result the file with expected result + * @param err the file with error messages + * @returns 0 in case of success, an error code otherwise + */ +static int +xpathDocTest(const char *filename, + const char *resul ATTRIBUTE_UNUSED, + const char *err ATTRIBUTE_UNUSED, + int options) { + + char pattern[500]; + char result[500]; + glob_t globbuf; + size_t i; + int ret = 0, res; + + xpathDocument = xmlReadFile(filename, NULL, + options | XML_PARSE_DTDATTR | XML_PARSE_NOENT); + if (xpathDocument == NULL) { + fprintf(stderr, "Failed to load %s\n", filename); + return(-1); + } + + res = snprintf(pattern, 499, "./test/XPath/tests/%s*", + baseFilename(filename)); + if (res >= 499) + pattern[499] = 0; + globbuf.gl_offs = 0; + glob(pattern, GLOB_DOOFFS, NULL, &globbuf); + for (i = 0;i < globbuf.gl_pathc;i++) { + res = snprintf(result, 499, "result/XPath/tests/%s", + baseFilename(globbuf.gl_pathv[i])); + if (res >= 499) + result[499] = 0; + res = xpathCommonTest(globbuf.gl_pathv[i], &result[0], 0, 0); + if (res != 0) + ret = res; + } + globfree(&globbuf); + + xmlFreeDoc(xpathDocument); + return(ret); +} + +#ifdef LIBXML_XPTR_ENABLED +/** + * Parse a file containing XPath expressions and evaluate them against + * a set of corresponding documents. + * + * @param filename the file to parse + * @param result the file with expected result + * @param err the file with error messages + * @returns 0 in case of success, an error code otherwise + */ +static int +xptrDocTest(const char *filename, + const char *resul ATTRIBUTE_UNUSED, + const char *err ATTRIBUTE_UNUSED, + int options ATTRIBUTE_UNUSED) { + + char pattern[500]; + char result[500]; + glob_t globbuf; + size_t i; + int ret = 0, res; + + xpathDocument = xmlReadFile(filename, NULL, + XML_PARSE_DTDATTR | XML_PARSE_NOENT); + if (xpathDocument == NULL) { + fprintf(stderr, "Failed to load %s\n", filename); + return(-1); + } + + res = snprintf(pattern, 499, "./test/XPath/xptr/%s*", + baseFilename(filename)); + if (res >= 499) + pattern[499] = 0; + globbuf.gl_offs = 0; + glob(pattern, GLOB_DOOFFS, NULL, &globbuf); + for (i = 0;i < globbuf.gl_pathc;i++) { + res = snprintf(result, 499, "result/XPath/xptr/%s", + baseFilename(globbuf.gl_pathv[i])); + if (res >= 499) + result[499] = 0; + res = xpathCommonTest(globbuf.gl_pathv[i], &result[0], 1, 0); + if (res != 0) + ret = res; + } + globfree(&globbuf); + + xmlFreeDoc(xpathDocument); + return(ret); +} +#endif /* LIBXML_XPTR_ENABLED */ + +#ifdef LIBXML_VALID_ENABLED +/** + * Parse a file containing xml:id and check for errors and verify + * that XPath queries will work on them as expected. + * + * @param filename the file to parse + * @param result the file with expected result + * @param err the file with error messages + * @returns 0 in case of success, an error code otherwise + */ +static int +xmlidDocTest(const char *filename, + const char *result, + const char *err, + int options) { + xmlParserCtxtPtr ctxt; + int res = 0; + int ret = 0; + char *temp; + + ctxt = xmlNewParserCtxt(); + xmlCtxtSetErrorHandler(ctxt, testStructuredErrorHandler, NULL); + xpathDocument = xmlCtxtReadFile(ctxt, filename, NULL, + options | XML_PARSE_DTDATTR | XML_PARSE_NOENT); + xmlFreeParserCtxt(ctxt); + if (xpathDocument == NULL) { + fprintf(stderr, "Failed to load %s\n", filename); + return(-1); + } + + temp = resultFilename(filename, temp_directory, ".res"); + if (temp == NULL) { + fprintf(stderr, "Out of memory\n"); + fatalError(); + } + xpathOutput = fopen(temp, "wb"); + if (xpathOutput == NULL) { + fprintf(stderr, "failed to open output file %s\n", temp); + xmlFreeDoc(xpathDocument); + xmlFree(temp); + return(-1); + } + + testXPath("id('bar')", 0, 0); + + fclose(xpathOutput); + if (result != NULL) { + ret = compareFiles(temp, result); + if (ret) { + fprintf(stderr, "Result for %s failed in %s\n", filename, result); + res = 1; + } + } + + if (temp != NULL) { + unlink(temp); + xmlFree(temp); + } + xmlFreeDoc(xpathDocument); + + if (err != NULL) { + ret = compareFileMem(err, testErrors, testErrorsSize); + if (ret != 0) { + fprintf(stderr, "Error for %s failed\n", filename); + res = 1; + } + } + return(res); +} +#endif /* LIBXML_VALID_ENABLED */ + +#endif /* LIBXML_DEBUG_ENABLED */ +#endif /* XPATH */ +/************************************************************************ + * * + * URI based tests * + * * + ************************************************************************/ + +static void +handleURI(const char *str, const char *base, FILE *o) { + int ret; + xmlURIPtr uri; + xmlChar *res = NULL; + + uri = xmlCreateURI(); + + if (base == NULL) { + ret = xmlParseURIReference(uri, str); + if (ret != 0) + fprintf(o, "%s : error %d\n", str, ret); + else { + xmlNormalizeURIPath(uri->path); + xmlPrintURI(o, uri); + fprintf(o, "\n"); + } + } else { + res = xmlBuildURI((xmlChar *)str, (xmlChar *) base); + if (res != NULL) { + fprintf(o, "%s\n", (char *) res); + } + else + fprintf(o, "::ERROR::\n"); + } + if (res != NULL) + xmlFree(res); + xmlFreeURI(uri); +} + +/** + * Parse a file containing URI and check for errors + * + * @param filename the file to parse + * @param result the file with expected result + * @param err the file with error messages + * @returns 0 in case of success, an error code otherwise + */ +static int +uriCommonTest(const char *filename, + const char *result, + const char *err, + const char *base) { + char *temp; + FILE *o, *f; + char str[1024]; + int res = 0, i, ret; + + temp = resultFilename(filename, temp_directory, ".res"); + if (temp == NULL) { + fprintf(stderr, "Out of memory\n"); + fatalError(); + } + o = fopen(temp, "wb"); + if (o == NULL) { + fprintf(stderr, "failed to open output file %s\n", temp); + xmlFree(temp); + return(-1); + } + f = fopen(filename, "rb"); + if (f == NULL) { + fprintf(stderr, "failed to open input file %s\n", filename); + fclose(o); + if (temp != NULL) { + unlink(temp); + xmlFree(temp); + } + return(-1); + } + + while (1) { + /* + * read one line in string buffer. + */ + if (fgets (&str[0], sizeof (str) - 1, f) == NULL) + break; + + /* + * remove the ending spaces + */ + i = strlen(str); + while ((i > 0) && + ((str[i - 1] == '\n') || (str[i - 1] == '\r') || + (str[i - 1] == ' ') || (str[i - 1] == '\t'))) { + i--; + str[i] = 0; + } + nb_tests++; + handleURI(str, base, o); + } + + fclose(f); + fclose(o); + + if (result != NULL) { + ret = compareFiles(temp, result); + if (ret) { + fprintf(stderr, "Result for %s failed in %s\n", filename, result); + res = 1; + } + } + if (err != NULL) { + ret = compareFileMem(err, testErrors, testErrorsSize); + if (ret != 0) { + fprintf(stderr, "Error for %s failed\n", filename); + res = 1; + } + } + + if (temp != NULL) { + unlink(temp); + xmlFree(temp); + } + return(res); +} + +/** + * Parse a file containing URI and check for errors + * + * @param filename the file to parse + * @param result the file with expected result + * @param err the file with error messages + * @returns 0 in case of success, an error code otherwise + */ +static int +uriParseTest(const char *filename, + const char *result, + const char *err, + int options ATTRIBUTE_UNUSED) { + return(uriCommonTest(filename, result, err, NULL)); +} + +/** + * Parse a file containing URI, compose them against a fixed base and + * check for errors + * + * @param filename the file to parse + * @param result the file with expected result + * @param err the file with error messages + * @returns 0 in case of success, an error code otherwise + */ +static int +uriBaseTest(const char *filename, + const char *result, + const char *err, + int options ATTRIBUTE_UNUSED) { + return(uriCommonTest(filename, result, err, + "http://foo.com/path/to/index.html?orig#help")); +} + +static int urip_success = 1; +static int urip_current = 0; +static const char *urip_testURLs[] = { + "urip://example.com/a b.html", + "urip://example.com/a%20b.html", + "file:///path/to/a b.html", + "file:///path/to/a%20b.html", + "/path/to/a b.html", + "/path/to/a%20b.html", + "urip://example.com/r" "\xe9" "sum" "\xe9" ".html", + "urip://example.com/test?a=1&b=2%263&c=4#foo", + NULL +}; +static const char *urip_rcvsURLs[] = { + /* it is an URI the strings must be escaped */ + "urip://example.com/a%20b.html", + /* check that % escaping is not broken */ + "urip://example.com/a%20b.html", + /* it's an URI path the strings must be escaped */ + "file:///path/to/a%20b.html", + /* check that % escaping is not broken */ + "file:///path/to/a%20b.html", + /* this is not an URI, this is a path, so this should not be escaped */ + "/path/to/a b.html", + /* check that paths with % are not broken */ + "/path/to/a%20b.html", + /* out of context the encoding can't be guessed byte by byte conversion */ + "urip://example.com/r%E9sum%E9.html", + /* verify we don't destroy URIs especially the query part */ + "urip://example.com/test?a=1&b=2%263&c=4#foo", + NULL +}; +static const char *urip_res = ""; +static const char *urip_cur = NULL; +static int urip_rlen; + +/** + * Check for an urip: query + * + * @param URI an URI to test + * @returns 1 if yes and 0 if another Input module should be used + */ +static int +uripMatch(const char * URI) { +#ifdef LIBXML_CATALOG_ENABLED + if ((URI == NULL) || + (!strcmp(URI, "file://" XML_SYSCONFDIR "/xml/catalog"))) + return(0); +#endif + /* Verify we received the escaped URL */ + if (strcmp(urip_rcvsURLs[urip_current], URI)) + urip_success = 0; + return(1); +} + +/** + * Returns a pointer to the urip: query handler, in this example simply + * the urip_current pointer... + * + * @param URI an URI to test + * @returns an Input context or NULL in case or error + */ +static void * +uripOpen(const char * URI) { +#ifdef LIBXML_CATALOG_ENABLED + if ((URI == NULL) || + (!strcmp(URI, "file://" XML_SYSCONFDIR "/xml/catalog"))) + return(NULL); +#endif + /* Verify we received the escaped URL */ + if (strcmp(urip_rcvsURLs[urip_current], URI)) + urip_success = 0; + urip_cur = urip_res; + urip_rlen = strlen(urip_res); + return((void *) urip_cur); +} + +/** + * Close the urip: query handler + * + * @param context the read context + * @returns 0 or -1 in case of error + */ +static int +uripClose(void * context) { + if (context == NULL) return(-1); + urip_cur = NULL; + urip_rlen = 0; + return(0); +} + +/** + * Implement an urip: query read. + * + * @param context the read context + * @param buffer where to store data + * @param len number of bytes to read + * @returns the number of bytes read or -1 in case of error + */ +static int +uripRead(void * context, char * buffer, int len) { + const char *ptr = (const char *) context; + + if ((context == NULL) || (buffer == NULL) || (len < 0)) + return(-1); + + if (len > urip_rlen) len = urip_rlen; + memcpy(buffer, ptr, len); + urip_rlen -= len; + return(len); +} + +static int +urip_checkURL(const char *URL) { + xmlDocPtr doc; + + doc = xmlReadFile(URL, NULL, 0); + if (doc == NULL) + return(-1); + xmlFreeDoc(doc); + return(1); +} + +/** + * Run a set of tests to check how Path and URI are handled before + * being passed to the I/O layer + * + * @param filename ignored + * @param result ignored + * @param err ignored + * @returns 0 in case of success, an error code otherwise + */ +static int +uriPathTest(const char *filename ATTRIBUTE_UNUSED, + const char *result ATTRIBUTE_UNUSED, + const char *err ATTRIBUTE_UNUSED, + int options ATTRIBUTE_UNUSED) { + int parsed; + int failures = 0; + + /* + * register the new I/O handlers + */ + if (xmlRegisterInputCallbacks(uripMatch, uripOpen, uripRead, uripClose) < 0) + { + fprintf(stderr, "failed to register HTTP handler\n"); + return(-1); + } + + for (urip_current = 0;urip_testURLs[urip_current] != NULL;urip_current++) { + urip_success = 1; + parsed = urip_checkURL(urip_testURLs[urip_current]); + if (urip_success != 1) { + fprintf(stderr, "failed the URL passing test for %s", + urip_testURLs[urip_current]); + failures++; + } else if (parsed != 1) { + fprintf(stderr, "failed the parsing test for %s", + urip_testURLs[urip_current]); + failures++; + } + nb_tests++; + } + + xmlPopInputCallbacks(); + return(failures); +} + +/************************************************************************ + * * + * Schemas tests * + * * + ************************************************************************/ + +#ifdef LIBXML_SCHEMAS_ENABLED +static int +schemasOneTest(const char *sch, + const char *filename, + const char *err, + int options, + xmlSchemaPtr schemas) { + int ret = 0; + int i; + int parseErrorsSize = testErrorsSize; + + /* + * Test both memory and streaming validation. + */ + for (i = 0; i < 2; i++) { + xmlSchemaValidCtxtPtr ctxt; + int validResult = 0; + + testErrorsSize = parseErrorsSize; + testErrors[parseErrorsSize] = 0; + + ctxt = xmlSchemaNewValidCtxt(schemas); + xmlSchemaSetValidStructuredErrors(ctxt, testStructuredErrorHandler, + NULL); + + if (i == 0) { + xmlDocPtr doc; + + doc = xmlReadFile(filename, NULL, options); + if (doc == NULL) { + fprintf(stderr, "failed to parse instance %s for %s\n", filename, sch); + xmlSchemaFreeValidCtxt(ctxt); + return(-1); + } + validResult = xmlSchemaValidateDoc(ctxt, doc); + xmlFreeDoc(doc); + } else { + validResult = xmlSchemaValidateFile(ctxt, filename, options); + } + + if (validResult == 0) { + testErrorHandler(NULL, "%s validates\n", filename); + } else if (validResult > 0) { + testErrorHandler(NULL, "%s fails to validate\n", filename); + } else { + testErrorHandler(NULL, "%s validation generated an internal " + "error\n", filename); + } + + xmlSchemaFreeValidCtxt(ctxt); + + if (compareFileMem(err, testErrors, testErrorsSize)) { + fprintf(stderr, "Error for %s on %s failed in round %d: %s\n", + filename, sch, i, testErrors); + ret = 1; + } + } + + return(ret); +} +/** + * Parse a file containing URI, compose them against a fixed base and + * check for errors + * + * @param filename the schemas file + * @param result the file with expected result + * @param err the file with error messages + * @returns 0 in case of success, an error code otherwise + */ +static int +schemasTest(const char *filename, + const char *resul ATTRIBUTE_UNUSED, + const char *errr ATTRIBUTE_UNUSED, + int options) { + const char *base = baseFilename(filename); + const char *base2; + const char *instance; + xmlSchemaParserCtxtPtr ctxt; + xmlSchemaPtr schemas; + int res = 0, len, ret; + int parseErrorsSize; + char pattern[500]; + char prefix[500]; + char err[500]; + glob_t globbuf; + size_t i; + char count = 0; + + /* first compile the schemas if possible */ + ctxt = xmlSchemaNewParserCtxt(filename); + xmlSchemaSetParserStructuredErrors(ctxt, testStructuredErrorHandler, NULL); + schemas = xmlSchemaParse(ctxt); + xmlSchemaFreeParserCtxt(ctxt); + parseErrorsSize = testErrorsSize; + + /* + * most of the mess is about the output filenames generated by the Makefile + */ + len = strlen(base); + if ((len > 499) || (len < 5)) { + xmlSchemaFree(schemas); + return(-1); + } + len -= 4; /* remove trailing .xsd */ + if (base[len - 2] == '_') { + len -= 2; /* remove subtest number */ + } + if (base[len - 2] == '_') { + len -= 2; /* remove subtest number */ + } + memcpy(prefix, base, len); + prefix[len] = 0; + + if (snprintf(pattern, 499, "./test/schemas/%s_*.xml", prefix) >= 499) + pattern[499] = 0; + + if (base[len] == '_') { + len += 2; + memcpy(prefix, base, len); + prefix[len] = 0; + } + + globbuf.gl_offs = 0; + glob(pattern, GLOB_DOOFFS, NULL, &globbuf); + for (i = 0;i < globbuf.gl_pathc;i++) { + testErrorsSize = parseErrorsSize; + testErrors[parseErrorsSize] = 0; + instance = globbuf.gl_pathv[i]; + base2 = baseFilename(instance); + len = strlen(base2); + if ((len > 6) && (base2[len - 6] == '_')) { + count = base2[len - 5]; + ret = snprintf(err, 499, "result/schemas/%s_%c.err", + prefix, count); + if (ret >= 499) + err[499] = 0; + } else { + fprintf(stderr, "don't know how to process %s\n", instance); + continue; + } + + nb_tests++; + if (schemas == NULL) { + /* schema load failed, verify the error message*/ + if (compareFileMem(err, testErrors, testErrorsSize)) { + fprintf(stderr, "Error for %s failed\n", filename); + res = 1; + } + } else { + ret = schemasOneTest(filename, instance, err, options, schemas); + if (ret != 0) + res = ret; + } + } + globfree(&globbuf); + xmlSchemaFree(schemas); + + return(res); +} + +/** + * Validate an XML instance using XSI-based dynamic schema assembly. + * The validation context is created with a NULL schema, so the schema + * is discovered from xsi:schemaLocation in the instance document. + * + * @param filename the XML instance file + * @param result unused + * @param err unused + * @param options parser options + * @returns 0 in case of success, an error code otherwise + */ +static int +schemasXsiTest(const char *filename, + const char *resul ATTRIBUTE_UNUSED, + const char *errr ATTRIBUTE_UNUSED, + int options) { + const char *base = baseFilename(filename); + int len, ret; + char err[500]; + char prefix[500]; + + len = strlen(base); + if ((len > 499) || (len < 5)) + return(-1); + memcpy(prefix, base, len - 4); /* remove .xml */ + prefix[len - 4] = 0; + + ret = snprintf(err, 499, "result/schemas/%s_0.err", prefix); + if (ret >= 499) + err[499] = 0; + + nb_tests++; + return(schemasOneTest(filename, filename, err, options, NULL)); +} +#endif /* LIBXML_SCHEMAS_ENABLED */ + +/************************************************************************ + * * + * RELAX NG tests * + * * + ************************************************************************/ + +#ifdef LIBXML_RELAXNG_ENABLED +static int +rngOneTest(const char *sch, + const char *filename, + int options, + xmlRelaxNGPtr schemas) { + xmlDocPtr doc; + xmlRelaxNGValidCtxtPtr ctxt; + int ret = 0; + + doc = xmlReadFile(filename, NULL, options); + if (doc == NULL) { + fprintf(stderr, "failed to parse instance %s for %s\n", filename, sch); + return(-1); + } + + ctxt = xmlRelaxNGNewValidCtxt(schemas); + xmlRelaxNGSetValidStructuredErrors(ctxt, testStructuredErrorHandler, NULL); + ret = xmlRelaxNGValidateDoc(ctxt, doc); + if (ret == 0) { + testErrorHandler(NULL, "%s validates\n", filename); + } else if (ret > 0) { + testErrorHandler(NULL, "%s fails to validate\n", filename); + } else { + testErrorHandler(NULL, "%s validation generated an internal error\n", + filename); + } + + xmlRelaxNGFreeValidCtxt(ctxt); + xmlFreeDoc(doc); + return(0); +} +/** + * Parse an RNG schemas and then apply it to the related .xml + * + * @param filename the schemas file + * @param result the file with expected result + * @param err the file with error messages + * @returns 0 in case of success, an error code otherwise + */ +static int +rngTest(const char *filename, + const char *resul ATTRIBUTE_UNUSED, + const char *errr ATTRIBUTE_UNUSED, + int options) { + const char *base = baseFilename(filename); + const char *base2; + const char *instance; + xmlRelaxNGParserCtxtPtr ctxt; + xmlRelaxNGPtr schemas; + int res = 0, len, ret = 0; + int parseErrorsSize; + char pattern[500]; + char prefix[500]; + char err[500]; + glob_t globbuf; + size_t i; + char count = 0; + + /* first compile the schemas if possible */ + ctxt = xmlRelaxNGNewParserCtxt(filename); + xmlRelaxNGSetParserStructuredErrors(ctxt, testStructuredErrorHandler, + NULL); + schemas = xmlRelaxNGParse(ctxt); + xmlRelaxNGFreeParserCtxt(ctxt); + if (schemas == NULL) + testErrorHandler(NULL, "Relax-NG schema %s failed to compile\n", + filename); + parseErrorsSize = testErrorsSize; + + /* + * most of the mess is about the output filenames generated by the Makefile + */ + len = strlen(base); + if ((len > 499) || (len < 5)) { + xmlRelaxNGFree(schemas); + return(-1); + } + len -= 4; /* remove trailing .rng */ + memcpy(prefix, base, len); + prefix[len] = 0; + + if (snprintf(pattern, 499, "./test/relaxng/%s_?.xml", prefix) >= 499) + pattern[499] = 0; + + globbuf.gl_offs = 0; + glob(pattern, GLOB_DOOFFS, NULL, &globbuf); + for (i = 0;i < globbuf.gl_pathc;i++) { + testErrorsSize = parseErrorsSize; + testErrors[parseErrorsSize] = 0; + instance = globbuf.gl_pathv[i]; + base2 = baseFilename(instance); + len = strlen(base2); + if ((len > 6) && (base2[len - 6] == '_')) { + count = base2[len - 5]; + res = snprintf(err, 499, "result/relaxng/%s_%c.err", + prefix, count); + if (res >= 499) + err[499] = 0; + } else { + fprintf(stderr, "don't know how to process %s\n", instance); + continue; + } + if (schemas != NULL) { + nb_tests++; + res = rngOneTest(filename, instance, options, schemas); + if (res != 0) + ret = res; + } + if (compareFileMem(err, testErrors, testErrorsSize)) { + fprintf(stderr, "Error for %s on %s failed\n", instance, + filename); + ret = 1; + } + } + globfree(&globbuf); + xmlRelaxNGFree(schemas); + + return(ret); +} + +/** + * Parse an RNG schemas with a custom RNG_INCLUDE_LIMIT + * + * @param filename the schemas file + * @param result the file with expected result + * @param err the file with error messages + * @returns 0 in case of success, an error code otherwise + */ +static int +rngIncludeTest(const char *filename, + const char *resul ATTRIBUTE_UNUSED, + const char *errr ATTRIBUTE_UNUSED, + int options ATTRIBUTE_UNUSED) { + xmlRelaxNGParserCtxtPtr ctxt; + xmlRelaxNGPtr schemas; + int ret = 0; + + /* first compile the schemas if possible */ + ctxt = xmlRelaxNGNewParserCtxt(filename); + xmlRelaxNGSetParserStructuredErrors(ctxt, testStructuredErrorHandler, + NULL); + + /* Should work */ + schemas = xmlRelaxNGParse(ctxt); + if (schemas == NULL) { + testErrorHandler(NULL, "Relax-NG schema %s failed to compile\n", + filename); + ret = -1; + goto done; + } + xmlRelaxNGFree(schemas); + xmlRelaxNGFreeParserCtxt(ctxt); + + ctxt = xmlRelaxNGNewParserCtxt(filename); + /* Should fail */ + xmlRelaxParserSetIncLImit(ctxt, 2); + xmlRelaxNGSetParserStructuredErrors(ctxt, testStructuredErrorHandler, + NULL); + schemas = xmlRelaxNGParse(ctxt); + if (schemas != NULL) { + ret = -1; + xmlRelaxNGFree(schemas); + } + xmlRelaxNGFreeParserCtxt(ctxt); + + ctxt = xmlRelaxNGNewParserCtxt(filename); + /* Should work */ + xmlRelaxParserSetIncLImit(ctxt, 3); + xmlRelaxNGSetParserStructuredErrors(ctxt, testStructuredErrorHandler, + NULL); + schemas = xmlRelaxNGParse(ctxt); + if (schemas == NULL) { + testErrorHandler(NULL, "Relax-NG schema %s failed to compile\n", + filename); + ret = -1; + goto done; + } + xmlRelaxNGFree(schemas); + +done: + xmlRelaxNGFreeParserCtxt(ctxt); + return(ret); +} + +#ifdef LIBXML_READER_ENABLED +/** + * Parse a set of files with streaming, applying an RNG schemas + * + * @param filename the schemas file + * @param result the file with expected result + * @param err the file with error messages + * @returns 0 in case of success, an error code otherwise + */ +static int +rngStreamTest(const char *filename, + const char *resul ATTRIBUTE_UNUSED, + const char *errr ATTRIBUTE_UNUSED, + int options) { + const char *base = baseFilename(filename); + const char *base2; + const char *instance; + int res = 0, len, ret; + char pattern[500]; + char prefix[500]; + char result[500]; + char err[500]; + glob_t globbuf; + size_t i; + char count = 0; + xmlTextReaderPtr reader; + int disable_err = 0; + + /* + * most of the mess is about the output filenames generated by the Makefile + */ + len = strlen(base); + if ((len > 499) || (len < 5)) { + fprintf(stderr, "len(base) == %d !\n", len); + return(-1); + } + len -= 4; /* remove trailing .rng */ + memcpy(prefix, base, len); + prefix[len] = 0; + + /* + * strictly unifying the error messages is nearly impossible this + * hack is also done in the Makefile + */ + if ((!strcmp(prefix, "tutor10_1")) || (!strcmp(prefix, "tutor10_2")) || + (!strcmp(prefix, "tutor3_2")) || (!strcmp(prefix, "307377")) || + (!strcmp(prefix, "tutor8_2")) || (!strcmp(prefix, "simplifyChoiceNotAllowed"))) + disable_err = 1; + + if (snprintf(pattern, 499, "./test/relaxng/%s_?.xml", prefix) >= 499) + pattern[499] = 0; + + globbuf.gl_offs = 0; + glob(pattern, GLOB_DOOFFS, NULL, &globbuf); + for (i = 0;i < globbuf.gl_pathc;i++) { + testErrorsSize = 0; + testErrors[0] = 0; + instance = globbuf.gl_pathv[i]; + base2 = baseFilename(instance); + len = strlen(base2); + if ((len > 6) && (base2[len - 6] == '_')) { + count = base2[len - 5]; + ret = snprintf(result, 499, "result/relaxng/%s_%c", + prefix, count); + if (ret >= 499) + result[499] = 0; + ret = snprintf(err, 499, "result/relaxng/%s_%c.err", + prefix, count); + if (ret >= 499) + err[499] = 0; + } else { + fprintf(stderr, "don't know how to process %s\n", instance); + continue; + } + reader = xmlReaderForFile(instance, NULL, options); + xmlTextReaderSetStructuredErrorHandler(reader, + testStructuredErrorHandler, NULL); + if (reader == NULL) { + fprintf(stderr, "Failed to build reader for %s\n", instance); + } + if (disable_err == 1) + ret = streamProcessTest(instance, result, NULL, reader, filename, + options); + else + ret = streamProcessTest(instance, result, err, reader, filename, + options); + xmlFreeTextReader(reader); + if (ret != 0) { + fprintf(stderr, "instance %s failed\n", instance); + res = ret; + } + } + globfree(&globbuf); + + return(res); +} +#endif /* READER */ + +#endif /* LIBXML_RELAX_ENABLED */ + +/************************************************************************ + * * + * Schematron tests * + * * + ************************************************************************/ + +#ifdef LIBXML_SCHEMATRON_ENABLED +static int +schematronOneTest(const char *sch, const char *filename, int options, + xmlSchematronPtr schematron) { + xmlDocPtr doc; + xmlSchematronValidCtxtPtr ctxt; + int ret; + + doc = xmlReadFile(filename, NULL, options); + if (doc == NULL) { + fprintf(stderr, "failed to parse instance %s for %s\n", filename, sch); + return(-1); + } + + ctxt = xmlSchematronNewValidCtxt(schematron, XML_SCHEMATRON_OUT_ERROR); + xmlSchematronSetValidStructuredErrors(ctxt, testStructuredErrorHandler, + NULL); + ret = xmlSchematronValidateDoc(ctxt, doc); + if (ret == 0) { + testErrorHandler(NULL, "%s validates\n", filename); + } else if (ret > 0) { + testErrorHandler(NULL, "%s fails to validate\n", filename); + } else { + testErrorHandler(NULL, "%s validation generated an internal error\n", + filename); + } + + xmlSchematronFreeValidCtxt(ctxt); + xmlFreeDoc(doc); + return(0); +} + +/** + * @param filename the schemas file + * @param result the file with expected result + * @param err the file with error messages + * @returns 0 in case of success, an error code otherwise + */ +static int +schematronTest(const char *filename, + const char *resul ATTRIBUTE_UNUSED, + const char *errr ATTRIBUTE_UNUSED, + int options) { + const char *base = baseFilename(filename); + const char *base2; + const char *instance; + xmlSchematronParserCtxtPtr pctxt; + xmlSchematronPtr schematron; + int res = 0, len, ret = 0; + int parseErrorsSize; + char pattern[500]; + char prefix[500]; + char err[500]; + glob_t globbuf; + size_t i; + char count = 0; + + /* Redirect XPath errors */ + xmlSetStructuredErrorFunc(NULL, testStructuredErrorHandler); + + pctxt = xmlSchematronNewParserCtxt(filename); + schematron = xmlSchematronParse(pctxt); + xmlSchematronFreeParserCtxt(pctxt); + if (schematron == NULL) + testErrorHandler(NULL, "Schematron schema %s failed to compile\n", + filename); + parseErrorsSize = testErrorsSize; + + /* + * most of the mess is about the output filenames generated by the Makefile + */ + len = strlen(base); + if ((len > 499) || (len < 5)) { + ret = -1; + goto done; + } + len -= 4; /* remove trailing .sct */ + memcpy(prefix, base, len); + prefix[len] = 0; + + if (snprintf(pattern, 499, "./test/schematron/%s_?.xml", prefix) >= 499) + pattern[499] = 0; + + globbuf.gl_offs = 0; + glob(pattern, GLOB_DOOFFS, NULL, &globbuf); + for (i = 0;i < globbuf.gl_pathc;i++) { + testErrorsSize = parseErrorsSize; + testErrors[parseErrorsSize] = 0; + instance = globbuf.gl_pathv[i]; + base2 = baseFilename(instance); + len = strlen(base2); + if ((len > 6) && (base2[len - 6] == '_')) { + count = base2[len - 5]; + res = snprintf(err, 499, "result/schematron/%s_%c.err", + prefix, count); + if (res >= 499) + err[499] = 0; + } else { + fprintf(stderr, "don't know how to process %s\n", instance); + continue; + } + if (schematron != NULL) { + nb_tests++; + res = schematronOneTest(filename, instance, options, schematron); + if (res != 0) + ret = res; + } + if (compareFileMem(err, testErrors, testErrorsSize)) { + fprintf(stderr, "Error for %s on %s failed\n", instance, + filename); + ret = 1; + } + } + globfree(&globbuf); + +done: + xmlSchematronFree(schematron); + xmlSetStructuredErrorFunc(NULL, NULL); + return(ret); +} +#endif /* LIBXML_SCHEMATRON_ENABLED */ + +#ifdef LIBXML_PATTERN_ENABLED +#ifdef LIBXML_READER_ENABLED +/************************************************************************ + * * + * Patterns tests * + * * + ************************************************************************/ +static void patternNode(FILE *out, xmlTextReaderPtr reader, + const char *pattern, xmlPatternPtr patternc, + xmlStreamCtxtPtr patstream) { + xmlChar *path = NULL; + int match = -1; + int type, empty; + + type = xmlTextReaderNodeType(reader); + empty = xmlTextReaderIsEmptyElement(reader); + + if (type == XML_READER_TYPE_ELEMENT) { + /* do the check only on element start */ + match = xmlPatternMatch(patternc, xmlTextReaderCurrentNode(reader)); + + if (match) { + path = xmlGetNodePath(xmlTextReaderCurrentNode(reader)); + fprintf(out, "Node %s matches pattern %s\n", path, pattern); + } + } + if (patstream != NULL) { + int ret; + + if (type == XML_READER_TYPE_ELEMENT) { + ret = xmlStreamPush(patstream, + xmlTextReaderConstLocalName(reader), + xmlTextReaderConstNamespaceUri(reader)); + if (ret < 0) { + fprintf(out, "xmlStreamPush() failure\n"); + xmlFreeStreamCtxt(patstream); + patstream = NULL; + } else if (ret != match) { + if (path == NULL) { + path = xmlGetNodePath( + xmlTextReaderCurrentNode(reader)); + } + fprintf(out, + "xmlPatternMatch and xmlStreamPush disagree\n"); + fprintf(out, + " pattern %s node %s\n", + pattern, path); + } + + + } + if ((type == XML_READER_TYPE_END_ELEMENT) || + ((type == XML_READER_TYPE_ELEMENT) && (empty))) { + ret = xmlStreamPop(patstream); + if (ret < 0) { + fprintf(out, "xmlStreamPop() failure\n"); + xmlFreeStreamCtxt(patstream); + patstream = NULL; + } + } + } + if (path != NULL) + xmlFree(path); +} + +/** + * Parse a set of files with streaming, applying an RNG schemas + * + * @param filename the schemas file + * @param result the file with expected result + * @param err the file with error messages + * @returns 0 in case of success, an error code otherwise + */ +static int +patternTest(const char *filename, + const char *resul ATTRIBUTE_UNUSED, + const char *err ATTRIBUTE_UNUSED, + int options) { + xmlPatternPtr patternc = NULL; + xmlStreamCtxtPtr patstream = NULL; + FILE *o, *f; + char str[1024]; + char xml[500]; + char result[500]; + int len, i; + int ret = 0, res; + char *temp; + xmlTextReaderPtr reader; + xmlDocPtr doc; + + len = strlen(filename); + len -= 4; + memcpy(xml, filename, len); + xml[len] = 0; + if (snprintf(result, 499, "result/pattern/%s", baseFilename(xml)) >= 499) + result[499] = 0; + memcpy(xml + len, ".xml", 5); + + if (!checkTestFile(xml) && !update_results) { + fprintf(stderr, "Missing xml file %s\n", xml); + return(-1); + } + f = fopen(filename, "rb"); + if (f == NULL) { + fprintf(stderr, "Failed to open %s\n", filename); + return(-1); + } + temp = resultFilename(filename, temp_directory, ".res"); + if (temp == NULL) { + fprintf(stderr, "Out of memory\n"); + fatalError(); + } + o = fopen(temp, "wb"); + if (o == NULL) { + fprintf(stderr, "failed to open output file %s\n", temp); + fclose(f); + xmlFree(temp); + return(-1); + } + while (1) { + /* + * read one line in string buffer. + */ + if (fgets (&str[0], sizeof (str) - 1, f) == NULL) + break; + + /* + * remove the ending spaces + */ + i = strlen(str); + while ((i > 0) && + ((str[i - 1] == '\n') || (str[i - 1] == '\r') || + (str[i - 1] == ' ') || (str[i - 1] == '\t'))) { + i--; + str[i] = 0; + } + doc = xmlReadFile(xml, NULL, options); + if (doc == NULL) { + fprintf(stderr, "Failed to parse %s\n", xml); + ret = 1; + } else { + xmlNodePtr root; + const xmlChar *namespaces[22]; + int j; + xmlNsPtr ns; + + root = xmlDocGetRootElement(doc); + for (ns = root->nsDef, j = 0;ns != NULL && j < 20;ns=ns->next) { + namespaces[j++] = ns->href; + namespaces[j++] = ns->prefix; + } + namespaces[j++] = NULL; + namespaces[j] = NULL; + + patternc = xmlPatterncompile((const xmlChar *) str, doc->dict, + 0, &namespaces[0]); + if (patternc == NULL) { + testErrorHandler(NULL, + "Pattern %s failed to compile\n", str); + xmlFreeDoc(doc); + ret = 1; + continue; + } + patstream = xmlPatternGetStreamCtxt(patternc); + if (patstream != NULL) { + ret = xmlStreamPush(patstream, NULL, NULL); + if (ret < 0) { + fprintf(stderr, "xmlStreamPush() failure\n"); + xmlFreeStreamCtxt(patstream); + patstream = NULL; + } + } + nb_tests++; + + reader = xmlReaderWalker(doc); + res = xmlTextReaderRead(reader); + while (res == 1) { + patternNode(o, reader, str, patternc, patstream); + res = xmlTextReaderRead(reader); + } + if (res != 0) { + fprintf(o, "%s : failed to parse\n", filename); + } + xmlFreeTextReader(reader); + xmlFreeDoc(doc); + xmlFreeStreamCtxt(patstream); + patstream = NULL; + xmlFreePattern(patternc); + + } + } + + fclose(f); + fclose(o); + + ret = compareFiles(temp, result); + if (ret) { + fprintf(stderr, "Result for %s failed in %s\n", filename, result); + ret = 1; + } + if (temp != NULL) { + unlink(temp); + xmlFree(temp); + } + return(ret); +} +#endif /* READER */ +#endif /* PATTERN */ +#ifdef LIBXML_C14N_ENABLED +/************************************************************************ + * * + * Canonicalization tests * + * * + ************************************************************************/ +static xmlXPathObjectPtr +load_xpath_expr (xmlDocPtr parent_doc, const char* filename) { + xmlXPathObjectPtr xpath; + xmlDocPtr doc; + xmlChar *expr; + xmlXPathContextPtr ctx; + xmlNodePtr node; + xmlNsPtr ns; + + /* + * load XPath expr as a file + */ + doc = xmlReadFile(filename, NULL, XML_PARSE_DTDATTR | XML_PARSE_NOENT); + if (doc == NULL) { + fprintf(stderr, "Error: unable to parse file \"%s\"\n", filename); + return(NULL); + } + + /* + * Check the document is of the right kind + */ + if(xmlDocGetRootElement(doc) == NULL) { + fprintf(stderr,"Error: empty document for file \"%s\"\n", filename); + xmlFreeDoc(doc); + return(NULL); + } + + node = doc->children; + while(node != NULL && !xmlStrEqual(node->name, (const xmlChar *)"XPath")) { + node = node->next; + } + + if(node == NULL) { + fprintf(stderr,"Error: XPath element expected in the file \"%s\"\n", filename); + xmlFreeDoc(doc); + return(NULL); + } + + expr = xmlNodeGetContent(node); + if(expr == NULL) { + fprintf(stderr,"Error: XPath content element is NULL \"%s\"\n", filename); + xmlFreeDoc(doc); + return(NULL); + } + + ctx = xmlXPathNewContext(parent_doc); + if(ctx == NULL) { + fprintf(stderr,"Error: unable to create new context\n"); + xmlFree(expr); + xmlFreeDoc(doc); + return(NULL); + } + + /* + * Register namespaces + */ + ns = node->nsDef; + while(ns != NULL) { + if(xmlXPathRegisterNs(ctx, ns->prefix, ns->href) != 0) { + fprintf(stderr,"Error: unable to register NS with prefix=\"%s\" and href=\"%s\"\n", ns->prefix, ns->href); + xmlFree(expr); + xmlXPathFreeContext(ctx); + xmlFreeDoc(doc); + return(NULL); + } + ns = ns->next; + } + + /* + * Evaluate xpath + */ + xpath = xmlXPathEvalExpression(expr, ctx); + if(xpath == NULL) { + fprintf(stderr,"Error: unable to evaluate xpath expression\n"); +xmlFree(expr); + xmlXPathFreeContext(ctx); + xmlFreeDoc(doc); + return(NULL); + } + + /* print_xpath_nodes(xpath->nodesetval); */ + + xmlFree(expr); + xmlXPathFreeContext(ctx); + xmlFreeDoc(doc); + return(xpath); +} + +/* + * Macro used to grow the current buffer. + */ +#define xxx_growBufferReentrant() { \ + buffer_size *= 2; \ + buffer = (xmlChar **) \ + xmlRealloc(buffer, buffer_size * sizeof(xmlChar*)); \ + if (buffer == NULL) { \ + perror("xmlRealloc failed"); \ + return(NULL); \ + } \ +} + +static xmlChar ** +parse_list(xmlChar *str) { + xmlChar **buffer; + xmlChar **out = NULL; + int buffer_size = 0; + int len; + + if(str == NULL) { + return(NULL); + } + + len = xmlStrlen(str); + if((str[0] == '\'') && (str[len - 1] == '\'')) { + str[len - 1] = '\0'; + str++; + } + /* + * allocate an translation buffer. + */ + buffer_size = 1000; + buffer = (xmlChar **) xmlMalloc(buffer_size * sizeof(xmlChar*)); + if (buffer == NULL) { + perror("xmlMalloc failed"); + return(NULL); + } + out = buffer; + + while(*str != '\0') { + if (out - buffer > buffer_size - 10) { + int indx = out - buffer; + + xxx_growBufferReentrant(); + out = &buffer[indx]; + } + (*out++) = str; + while(*str != ',' && *str != '\0') ++str; + if(*str == ',') *(str++) = '\0'; + } + (*out) = NULL; + return buffer; +} + +static int +c14nRunTest(const char* xml_filename, int with_comments, int mode, + const char* xpath_filename, const char *ns_filename, + const char* result_file) { + xmlDocPtr doc; + xmlXPathObjectPtr xpath = NULL; + xmlChar *result = NULL; + int ret; + xmlChar **inclusive_namespaces = NULL; + const char *nslist = NULL; + int nssize; + + + /* + * build an XML tree from a the file; we need to add default + * attributes and resolve all character and entities references + */ + doc = xmlReadFile(xml_filename, NULL, + XML_PARSE_DTDATTR | XML_PARSE_NOENT | XML_PARSE_NOWARNING); + if (doc == NULL) { + fprintf(stderr, "Error: unable to parse file \"%s\"\n", xml_filename); + return(-1); + } + + /* + * Check the document is of the right kind + */ + if(xmlDocGetRootElement(doc) == NULL) { + fprintf(stderr,"Error: empty document for file \"%s\"\n", xml_filename); + xmlFreeDoc(doc); + return(-1); + } + + /* + * load xpath file if specified + */ + if(xpath_filename) { + xpath = load_xpath_expr(doc, xpath_filename); + if(xpath == NULL) { + fprintf(stderr,"Error: unable to evaluate xpath expression\n"); + xmlFreeDoc(doc); + return(-1); + } + } + + if (ns_filename != NULL) { + if (loadMem(ns_filename, &nslist, &nssize)) { + fprintf(stderr,"Error: unable to evaluate xpath expression\n"); + if(xpath != NULL) xmlXPathFreeObject(xpath); + xmlFreeDoc(doc); + return(-1); + } + inclusive_namespaces = parse_list((xmlChar *) nslist); + } + + /* + * Canonical form + */ + /* fprintf(stderr,"File \"%s\" loaded: start canonization\n", xml_filename); */ + ret = xmlC14NDocDumpMemory(doc, + (xpath) ? xpath->nodesetval : NULL, + mode, inclusive_namespaces, + with_comments, &result); + if (ret >= 0) { + if(result != NULL) { + if (compareFileMem(result_file, (const char *) result, ret)) { + fprintf(stderr, "Result mismatch for %s\n", xml_filename); + fprintf(stderr, "RESULT:\n%s\n", (const char*)result); + ret = -1; + } + } + } else { + fprintf(stderr,"Error: failed to canonicalize XML file \"%s\" (ret=%d)\n", xml_filename, ret); + ret = -1; + } + + /* + * Cleanup + */ + if (result != NULL) xmlFree(result); + if(xpath != NULL) xmlXPathFreeObject(xpath); + if (inclusive_namespaces != NULL) xmlFree(inclusive_namespaces); + if (nslist != NULL) xmlFree((char *) nslist); + xmlFreeDoc(doc); + + return(ret); +} + +static int +c14nCommonTest(const char *filename, int with_comments, int mode, + const char *subdir) { + char buf[500]; + char prefix[500]; + const char *base; + int len; + char *result = NULL; + char *xpath = NULL; + char *ns = NULL; + int ret = 0; + + base = baseFilename(filename); + len = strlen(base); + len -= 4; + memcpy(prefix, base, len); + prefix[len] = 0; + + if (snprintf(buf, 499, "result/c14n/%s/%s", subdir, prefix) >= 499) + buf[499] = 0; + result = xmlMemStrdup(buf); + if (snprintf(buf, 499, "test/c14n/%s/%s.xpath", subdir, prefix) >= 499) + buf[499] = 0; + if (checkTestFile(buf)) { + xpath = xmlMemStrdup(buf); + } + if (snprintf(buf, 499, "test/c14n/%s/%s.ns", subdir, prefix) >= 499) + buf[499] = 0; + if (checkTestFile(buf)) { + ns = xmlMemStrdup(buf); + } + + nb_tests++; + if (c14nRunTest(filename, with_comments, mode, + xpath, ns, result) < 0) + ret = 1; + + if (result != NULL) xmlFree(result); + if (xpath != NULL) xmlFree(xpath); + if (ns != NULL) xmlFree(ns); + return(ret); +} + +static int +c14nWithCommentTest(const char *filename, + const char *resul ATTRIBUTE_UNUSED, + const char *err ATTRIBUTE_UNUSED, + int options ATTRIBUTE_UNUSED) { + return(c14nCommonTest(filename, 1, XML_C14N_1_0, "with-comments")); +} +static int +c14nWithoutCommentTest(const char *filename, + const char *resul ATTRIBUTE_UNUSED, + const char *err ATTRIBUTE_UNUSED, + int options ATTRIBUTE_UNUSED) { + return(c14nCommonTest(filename, 0, XML_C14N_1_0, "without-comments")); +} +static int +c14nExcWithoutCommentTest(const char *filename, + const char *resul ATTRIBUTE_UNUSED, + const char *err ATTRIBUTE_UNUSED, + int options ATTRIBUTE_UNUSED) { + return(c14nCommonTest(filename, 0, XML_C14N_EXCLUSIVE_1_0, "exc-without-comments")); +} +static int +c14n11WithoutCommentTest(const char *filename, + const char *resul ATTRIBUTE_UNUSED, + const char *err ATTRIBUTE_UNUSED, + int options ATTRIBUTE_UNUSED) { + return(c14nCommonTest(filename, 0, XML_C14N_1_1, "1-1-without-comments")); +} +#endif +#if defined(LIBXML_THREAD_ENABLED) && defined(LIBXML_CATALOG_ENABLED) +/************************************************************************ + * * + * Catalog and threads test * + * * + ************************************************************************/ + +#define MAX_ARGC 20 + +typedef struct { + const char *filename; + int okay; +} xmlThreadParams; + +static const char *catalog = "test/threads/complex.xml"; +static xmlThreadParams threadParams[] = { + { "test/threads/abc.xml", 0 }, + { "test/threads/acb.xml", 0 }, + { "test/threads/bac.xml", 0 }, + { "test/threads/bca.xml", 0 }, + { "test/threads/cab.xml", 0 }, + { "test/threads/cba.xml", 0 }, + { "test/threads/invalid.xml", 0 } +}; +static const unsigned int num_threads = sizeof(threadParams) / + sizeof(threadParams[0]); + +static void * +thread_specific_data(void *private_data) +{ + xmlDocPtr myDoc; + xmlThreadParams *params = (xmlThreadParams *) private_data; + const char *filename = params->filename; + int okay = 1; + + if (xmlCheckThreadLocalStorage() != 0) { + printf("xmlCheckThreadLocalStorage failed\n"); + params->okay = 0; + return(NULL); + } + +#ifdef LIBXML_THREAD_ALLOC_ENABLED + xmlMemSetup(xmlMemFree, xmlMemMalloc, xmlMemRealloc, xmlMemoryStrdup); +#endif + + myDoc = xmlReadFile(filename, NULL, XML_PARSE_NOENT | XML_PARSE_DTDLOAD); + if (myDoc) { + xmlFreeDoc(myDoc); + } else { + printf("parse failed\n"); + okay = 0; + } + params->okay = okay; + return(NULL); +} + +#if defined(_WIN32) +#include +#include + +#define TEST_REPEAT_COUNT 500 + +static HANDLE tid[MAX_ARGC]; + +static DWORD WINAPI +win32_thread_specific_data(void *private_data) +{ + thread_specific_data(private_data); + return(0); +} + +static int +testThread(void) +{ + unsigned int i, repeat; + BOOL ret; + int res = 0; + + xmlInitParser(); + for (repeat = 0; repeat < TEST_REPEAT_COUNT; repeat++) { + xmlLoadCatalog(catalog); + nb_tests++; + + for (i = 0; i < num_threads; i++) { + tid[i] = (HANDLE) - 1; + } + + for (i = 0; i < num_threads; i++) { + DWORD useless; + + tid[i] = CreateThread(NULL, 0, + win32_thread_specific_data, + (void *) &threadParams[i], 0, + &useless); + if (tid[i] == NULL) { + fprintf(stderr, "CreateThread failed\n"); + return(1); + } + } + + if (WaitForMultipleObjects(num_threads, tid, TRUE, INFINITE) == + WAIT_FAILED) { + fprintf(stderr, "WaitForMultipleObjects failed\n"); + return(1); + } + + for (i = 0; i < num_threads; i++) { + DWORD exitCode; + ret = GetExitCodeThread(tid[i], &exitCode); + if (ret == 0) { + fprintf(stderr, "GetExitCodeThread failed\n"); + return(1); + } + CloseHandle(tid[i]); + } + + xmlCatalogCleanup(); + for (i = 0; i < num_threads; i++) { + if (threadParams[i].okay == 0) { + fprintf(stderr, "Thread %d handling %s failed\n", + i, threadParams[i].filename); + res = 1; + } + } + } + + return (res); +} + +#else +#include + +static pthread_t tid[MAX_ARGC]; + +static int +testThread(void) +{ + unsigned int i, repeat; + int ret; + int res = 0; + + xmlInitParser(); + + for (repeat = 0; repeat < 500; repeat++) { + xmlLoadCatalog(catalog); + nb_tests++; + + for (i = 0; i < num_threads; i++) { + tid[i] = (pthread_t) - 1; + } + + for (i = 0; i < num_threads; i++) { + ret = pthread_create(&tid[i], 0, thread_specific_data, + (void *) &threadParams[i]); + if (ret != 0) { + fprintf(stderr, "pthread_create failed\n"); + return (1); + } + } + for (i = 0; i < num_threads; i++) { + void *result; + ret = pthread_join(tid[i], &result); + if (ret != 0) { + fprintf(stderr, "pthread_join failed\n"); + return (1); + } + } + + xmlCatalogCleanup(); + for (i = 0; i < num_threads; i++) + if (threadParams[i].okay == 0) { + fprintf(stderr, "Thread %d handling %s failed\n", + i, threadParams[i].filename); + res = 1; + } + } + return (res); +} +#endif +static int +threadsTest(const char *filename ATTRIBUTE_UNUSED, + const char *resul ATTRIBUTE_UNUSED, + const char *err ATTRIBUTE_UNUSED, + int options ATTRIBUTE_UNUSED) { + return(testThread()); +} +#endif + +#if defined(LIBXML_REGEXP_ENABLED) +/************************************************************************ + * * + * Regexp tests * + * * + ************************************************************************/ + +static void testRegexp(FILE *output, xmlRegexpPtr comp, const char *value) { + int ret; + + ret = xmlRegexpExec(comp, (const xmlChar *) value); + if (ret == 1) + fprintf(output, "%s: Ok\n", value); + else if (ret == 0) + fprintf(output, "%s: Fail\n", value); + else + fprintf(output, "%s: Error: %d\n", value, ret); +} + +static int +regexpTest(const char *filename, const char *result, const char *err, + int options ATTRIBUTE_UNUSED) { + xmlRegexpPtr comp = NULL; + FILE *input, *output; + char *temp; + char expression[5000]; + int len, ret, res = 0; + + /* + * TODO: Custom error handler for regexp + */ + xmlSetStructuredErrorFunc(NULL, testStructuredErrorHandler); + + nb_tests++; + + input = fopen(filename, "rb"); + if (input == NULL) { + fprintf(stderr, + "Cannot open %s for reading\n", filename); + ret = -1; + goto done; + } + temp = resultFilename(filename, "", ".res"); + if (temp == NULL) { + fprintf(stderr, "Out of memory\n"); + fatalError(); + } + output = fopen(temp, "wb"); + if (output == NULL) { + fprintf(stderr, "failed to open output file %s\n", temp); + xmlFree(temp); + ret = -1; + goto done; + } + while (fgets(expression, 4500, input) != NULL) { + len = strlen(expression); + len--; + while ((len >= 0) && + ((expression[len] == '\n') || (expression[len] == '\t') || + (expression[len] == '\r') || (expression[len] == ' '))) len--; + expression[len + 1] = 0; + if (len >= 0) { + if (expression[0] == '#') + continue; + if ((expression[0] == '=') && (expression[1] == '>')) { + char *pattern = &expression[2]; + + if (comp != NULL) { + xmlRegFreeRegexp(comp); + comp = NULL; + } + fprintf(output, "Regexp: %s\n", pattern) ; + comp = xmlRegexpCompile((const xmlChar *) pattern); + if (comp == NULL) { + fprintf(output, " failed to compile\n"); + break; + } + } else if (comp == NULL) { + fprintf(output, "Regexp: %s\n", expression) ; + comp = xmlRegexpCompile((const xmlChar *) expression); + if (comp == NULL) { + fprintf(output, " failed to compile\n"); + break; + } + } else if (comp != NULL) { + testRegexp(output, comp, expression); + } + } + } + fclose(output); + fclose(input); + if (comp != NULL) + xmlRegFreeRegexp(comp); + + ret = compareFiles(temp, result); + if (ret) { + fprintf(stderr, "Result for %s failed in %s\n", filename, result); + res = 1; + } + if (temp != NULL) { + unlink(temp); + xmlFree(temp); + } + + ret = compareFileMem(err, testErrors, testErrorsSize); + if (ret != 0) { + fprintf(stderr, "Error for %s failed\n", filename); + res = 1; + } + +done: + xmlSetStructuredErrorFunc(NULL, NULL); + + return(res); +} + +/************************************************************************ + * * + * Automata tests * + * * + ************************************************************************/ + +static int scanNumber(char **ptr) { + int ret = 0; + char *cur; + + cur = *ptr; + while ((*cur >= '0') && (*cur <= '9')) { + ret = ret * 10 + (*cur - '0'); + cur++; + } + *ptr = cur; + return(ret); +} + +static int +automataTest(const char *filename, const char *result, + const char *err ATTRIBUTE_UNUSED, int options ATTRIBUTE_UNUSED) { + FILE *input, *output; + char *temp; + char expr[5000]; + int len; + int ret; + int i; + int res = 0; + xmlAutomataPtr am; + xmlAutomataStatePtr states[1000]; + xmlRegexpPtr regexp = NULL; + xmlRegExecCtxtPtr exec = NULL; + + nb_tests++; + + for (i = 0;i<1000;i++) + states[i] = NULL; + + input = fopen(filename, "rb"); + if (input == NULL) { + fprintf(stderr, + "Cannot open %s for reading\n", filename); + return(-1); + } + temp = resultFilename(filename, "", ".res"); + if (temp == NULL) { + fprintf(stderr, "Out of memory\n"); + fatalError(); + } + output = fopen(temp, "wb"); + if (output == NULL) { + fprintf(stderr, "failed to open output file %s\n", temp); + xmlFree(temp); + return(-1); + } + + am = xmlNewAutomata(); + if (am == NULL) { + fprintf(stderr, + "Cannot create automata\n"); + fclose(input); + return(-1); + } + states[0] = xmlAutomataGetInitState(am); + if (states[0] == NULL) { + fprintf(stderr, + "Cannot get start state\n"); + xmlFreeAutomata(am); + fclose(input); + return(-1); + } + ret = 0; + + while (fgets(expr, 4500, input) != NULL) { + if (expr[0] == '#') + continue; + len = strlen(expr); + len--; + while ((len >= 0) && + ((expr[len] == '\n') || (expr[len] == '\t') || + (expr[len] == '\r') || (expr[len] == ' '))) len--; + expr[len + 1] = 0; + if (len >= 0) { + if ((am != NULL) && (expr[0] == 't') && (expr[1] == ' ')) { + char *ptr = &expr[2]; + int from, to; + + from = scanNumber(&ptr); + if (*ptr != ' ') { + fprintf(stderr, + "Bad line %s\n", expr); + break; + } + if (states[from] == NULL) + states[from] = xmlAutomataNewState(am); + ptr++; + to = scanNumber(&ptr); + if (*ptr != ' ') { + fprintf(stderr, + "Bad line %s\n", expr); + break; + } + if (states[to] == NULL) + states[to] = xmlAutomataNewState(am); + ptr++; + xmlAutomataNewTransition(am, states[from], states[to], + BAD_CAST ptr, NULL); + } else if ((am != NULL) && (expr[0] == 'e') && (expr[1] == ' ')) { + char *ptr = &expr[2]; + int from, to; + + from = scanNumber(&ptr); + if (*ptr != ' ') { + fprintf(stderr, + "Bad line %s\n", expr); + break; + } + if (states[from] == NULL) + states[from] = xmlAutomataNewState(am); + ptr++; + to = scanNumber(&ptr); + if (states[to] == NULL) + states[to] = xmlAutomataNewState(am); + xmlAutomataNewEpsilon(am, states[from], states[to]); + } else if ((am != NULL) && (expr[0] == 'f') && (expr[1] == ' ')) { + char *ptr = &expr[2]; + int state; + + state = scanNumber(&ptr); + if (states[state] == NULL) { + fprintf(stderr, + "Bad state %d : %s\n", state, expr); + break; + } + xmlAutomataSetFinalState(am, states[state]); + } else if ((am != NULL) && (expr[0] == 'c') && (expr[1] == ' ')) { + char *ptr = &expr[2]; + int from, to; + int min, max; + + from = scanNumber(&ptr); + if (*ptr != ' ') { + fprintf(stderr, + "Bad line %s\n", expr); + break; + } + if (states[from] == NULL) + states[from] = xmlAutomataNewState(am); + ptr++; + to = scanNumber(&ptr); + if (*ptr != ' ') { + fprintf(stderr, + "Bad line %s\n", expr); + break; + } + if (states[to] == NULL) + states[to] = xmlAutomataNewState(am); + ptr++; + min = scanNumber(&ptr); + if (*ptr != ' ') { + fprintf(stderr, + "Bad line %s\n", expr); + break; + } + ptr++; + max = scanNumber(&ptr); + if (*ptr != ' ') { + fprintf(stderr, + "Bad line %s\n", expr); + break; + } + ptr++; + xmlAutomataNewCountTrans(am, states[from], states[to], + BAD_CAST ptr, min, max, NULL); + } else if ((am != NULL) && (expr[0] == '-') && (expr[1] == '-')) { + /* end of the automata */ + regexp = xmlAutomataCompile(am); + xmlFreeAutomata(am); + am = NULL; + if (regexp == NULL) { + fprintf(stderr, + "Failed to compile the automata"); + break; + } + } else if ((expr[0] == '=') && (expr[1] == '>')) { + if (regexp == NULL) { + fprintf(output, "=> failed not compiled\n"); + } else { + if (exec == NULL) + exec = xmlRegNewExecCtxt(regexp, NULL, NULL); + if (ret == 0) { + ret = xmlRegExecPushString(exec, NULL, NULL); + } + if (ret == 1) + fprintf(output, "=> Passed\n"); + else if ((ret == 0) || (ret == -1)) + fprintf(output, "=> Failed\n"); + else if (ret < 0) + fprintf(output, "=> Error\n"); + xmlRegFreeExecCtxt(exec); + exec = NULL; + } + ret = 0; + } else if (regexp != NULL) { + if (exec == NULL) + exec = xmlRegNewExecCtxt(regexp, NULL, NULL); + ret = xmlRegExecPushString(exec, BAD_CAST expr, NULL); + } else { + fprintf(stderr, + "Unexpected line %s\n", expr); + } + } + } + fclose(output); + fclose(input); + if (regexp != NULL) + xmlRegFreeRegexp(regexp); + if (exec != NULL) + xmlRegFreeExecCtxt(exec); + if (am != NULL) + xmlFreeAutomata(am); + + ret = compareFiles(temp, result); + if (ret) { + fprintf(stderr, "Result for %s failed in %s\n", filename, result); + res = 1; + } + if (temp != NULL) { + unlink(temp); + xmlFree(temp); + } + + return(res); +} + +#endif /* LIBXML_REGEXP_ENABLED */ + +/************************************************************************ + * * + * xmlCopy Tests * + * * + ************************************************************************/ +static int +xmlCopyEntityTest(const char *filename ATTRIBUTE_UNUSED, + const char *result ATTRIBUTE_UNUSED, + const char *err ATTRIBUTE_UNUSED, + int options ATTRIBUTE_UNUSED) { + + int ret = 0; + xmlDocPtr doc = NULL; + xmlDocPtr copy = NULL; + xmlChar *before = NULL; + xmlChar *after = NULL; + const char *xml = + "]>" + ""; + + doc = xmlReadMemory(xml, (int)strlen(xml), "doc.xml", NULL, 0); + if (!doc) { + fprintf(stderr, "xmlReadMemory failed\n"); + ret = 1; + goto done; + } + copy = xmlCopyDoc(doc, 1); + if (!copy) { + fprintf(stderr, "xmlCopyDoc failed\n"); + ret = 1; + goto done; + } + + before = xmlGetProp(xmlDocGetRootElement(doc), BAD_CAST "ID"); + after = xmlGetProp(xmlDocGetRootElement(copy), BAD_CAST "ID"); + + if (xmlStrcmp(before, after) != 0) { + fprintf(stderr, "RESET Attribute value changed after copy!\n"); + ret = 1; + } + +done: + xmlFree(before); + xmlFree(after); + xmlFreeDoc(doc); + xmlFreeDoc(copy); + + return ret; +} + +static int +xmlEntityValueNormTest(const char *filename ATTRIBUTE_UNUSED, + const char *result ATTRIBUTE_UNUSED, + const char *err ATTRIBUTE_UNUSED, + int options ATTRIBUTE_UNUSED) { + int ret = 0; + xmlAttrPtr prop = NULL; + const char *str = "\n" + "\n" + "\n" + "\n" + "]>\n" + ""; + xmlDoc *doc1 = xmlReadDoc(BAD_CAST str, NULL, NULL, 0); + xmlDoc *doc2 = xmlReadDoc(BAD_CAST str, NULL, NULL, XML_PARSE_NOENT); + + prop = doc1->children->next->properties; + while (prop != NULL) { + xmlChar *content1 = xmlGetProp(doc1->children->next, BAD_CAST prop->name); + xmlChar *content2 = xmlGetProp(doc2->children->next, BAD_CAST prop->name); + + if (!xmlStrEqual(content1, content2)) { + ret = 1; + fprintf(stderr, "entity resolution differs %s\n", prop->name); + } + + xmlFree(content1); + xmlFree(content2); + + prop = prop->next; + } + + xmlFreeDoc(doc1); + xmlFreeDoc(doc2); + + return ret; +} + +/************************************************************************ + * * + * Tests Descriptions * + * * + ************************************************************************/ + +static +testDesc testDescriptions[] = { + { "XML regression tests" , + oldParseTest, "./test/*", "result/", "", NULL, + 0 }, + { "XML regression tests on memory" , + memParseTest, "./test/*", "result/", "", NULL, + 0 }, + { "XML entity subst regression tests" , + noentParseTest, "./test/*", "result/noent/", "", NULL, + XML_PARSE_NOENT }, + { "XML Namespaces regression tests", + errParseTest, "./test/namespaces/*", "result/namespaces/", "", ".err", + 0 }, +#ifdef LIBXML_VALID_ENABLED + { "Error cases regression tests", + errParseTest, "./test/errors/*.xml", "result/errors/", "", ".err", + 0 }, + { "Error cases regression tests from file descriptor", + fdParseTest, "./test/errors/*.xml", "result/errors/", "", ".err", + 0 }, + { "Error cases regression tests with entity substitution", + errParseTest, "./test/errors/*.xml", "result/errors/", NULL, ".ent", + XML_PARSE_NOENT }, + { "Error cases regression tests (old 1.0)", + errParseTest, "./test/errors10/*.xml", "result/errors10/", "", ".err", + XML_PARSE_OLD10 }, +#endif +#ifdef LIBXML_READER_ENABLED +#ifdef LIBXML_VALID_ENABLED + { "Error cases stream regression tests", + streamParseTest, "./test/errors/*.xml", "result/errors/", NULL, ".str", + 0 }, +#endif + { "Reader regression tests", + streamParseTest, "./test/*", "result/", ".rdr", NULL, + 0 }, + { "Reader entities substitution regression tests", + streamParseTest, "./test/*", "result/", ".rde", NULL, + XML_PARSE_NOENT }, + { "Reader on memory regression tests", + streamMemParseTest, "./test/*", "result/", ".rdr", NULL, + 0 }, + { "Walker regression tests", + walkerParseTest, "./test/*", "result/", ".rdr", NULL, + 0 }, +#endif +#ifdef LIBXML_SAX1_ENABLED + { "SAX1 callbacks regression tests" , + saxParseTest, "./test/*", "result/", ".sax", NULL, + XML_PARSE_SAX1 }, +#endif + { "SAX2 callbacks regression tests" , + saxParseTest, "./test/*", "result/", ".sax2", NULL, + 0 }, + { "SAX2 callbacks regression tests with entity substitution" , + saxParseTest, "./test/*", "result/noent/", ".sax2", NULL, + XML_PARSE_NOENT }, +#ifdef LIBXML_PUSH_ENABLED + { "XML push regression tests" , + pushParseTest, "./test/*", "result/", "", NULL, + 0 }, + { "XML push boundary tests" , + pushBoundaryTest, "./test/*", "result/", "", NULL, + 0 }, +#endif +#ifdef LIBXML_HTML_ENABLED + { "HTML regression tests" , + errParseTest, "./test/HTML/*", "result/HTML/", "", ".err", + XML_PARSE_HTML }, + { "HTML regression tests from file descriptor", + fdParseTest, "./test/HTML/*", "result/HTML/", "", ".err", + XML_PARSE_HTML }, +#ifdef LIBXML_PUSH_ENABLED + { "Push HTML regression tests" , + pushParseTest, "./test/HTML/*", "result/HTML/", "", ".err", + XML_PARSE_HTML }, + { "Push HTML boundary tests" , + pushBoundaryTest, "./test/HTML/*", "result/HTML/", "", NULL, + XML_PARSE_HTML }, +#endif + { "HTML SAX regression tests" , + saxParseTest, "./test/HTML/*", "result/HTML/", ".sax", NULL, + XML_PARSE_HTML }, +#ifdef LIBXML_PUSH_ENABLED + { "HTML tokenization tests", + htmlTokenizerTest, + "./test/html-tokenizer/*.test", "result/html-tokenizer/", "", NULL, 0 }, +#endif +#endif +#ifdef LIBXML_VALID_ENABLED + { "Valid documents regression tests" , + errParseTest, "./test/VCM/*", NULL, NULL, NULL, + XML_PARSE_DTDVALID }, + { "Validity checking regression tests" , + errParseTest, "./test/VC/*", "result/VC/", NULL, "", + XML_PARSE_DTDVALID }, +#ifdef LIBXML_READER_ENABLED + { "Streaming validity checking regression tests" , + streamParseTest, "./test/valid/*.xml", "result/valid/", NULL, ".err.rdr", + XML_PARSE_DTDVALID }, + { "Streaming validity error checking regression tests" , + streamParseTest, "./test/VC/*", "result/VC/", NULL, ".rdr", + XML_PARSE_DTDVALID }, +#endif + { "General documents valid regression tests" , + errParseTest, "./test/valid/*", "result/valid/", "", ".err", + XML_PARSE_DTDVALID }, +#endif +#ifdef LIBXML_XINCLUDE_ENABLED + { "XInclude regression tests" , + errParseTest, "./test/XInclude/docs/*", "result/XInclude/", "", ".err", + XML_PARSE_XINCLUDE }, +#ifdef LIBXML_READER_ENABLED + { "XInclude xmlReader regression tests", + streamParseTest, "./test/XInclude/docs/*", "result/XInclude/", ".rdr", + ".err", XML_PARSE_XINCLUDE }, +#endif + { "XInclude regression tests stripping include nodes" , + errParseTest, "./test/XInclude/docs/*", "result/XInclude/", "", ".err", + XML_PARSE_XINCLUDE | XML_PARSE_NOXINCNODE }, +#ifdef LIBXML_READER_ENABLED + { "XInclude xmlReader regression tests stripping include nodes", + streamParseTest, "./test/XInclude/docs/*", "result/XInclude/", ".rdr", + ".err", XML_PARSE_XINCLUDE | XML_PARSE_NOXINCNODE }, +#endif + { "XInclude regression tests without reader", + errParseTest, "./test/XInclude/without-reader/*", "result/XInclude/", "", + ".err", XML_PARSE_XINCLUDE }, + { "XInclude issue1120 regression tests", + errParseTest, "./test/XInclude/issue1120/*", "result/XInclude/", "", + ".err", XML_PARSE_XINCLUDE | XML_PARSE_NONET }, + { "XInclude xmlXIncludeProcess() issue1120 regression tests", + xincludeProcessTest, "./test/XInclude/issue1120/*", "result/XInclude/", + "", ".err", XML_PARSE_NONET }, +#endif +#ifdef LIBXML_XPATH_ENABLED +#ifdef LIBXML_DEBUG_ENABLED + { "XPath expressions regression tests" , + xpathExprTest, "./test/XPath/expr/*", "result/XPath/expr/", "", NULL, + 0 }, + { "XPath document queries regression tests" , + xpathDocTest, "./test/XPath/docs/*", NULL, NULL, NULL, + 0 }, +#ifdef LIBXML_XPTR_ENABLED + { "XPointer document queries regression tests" , + xptrDocTest, "./test/XPath/docs/*", NULL, NULL, NULL, + 0 }, +#endif +#ifdef LIBXML_VALID_ENABLED + { "xml:id regression tests" , + xmlidDocTest, "./test/xmlid/*", "result/xmlid/", "", ".err", + 0 }, +#endif +#endif +#endif + { "URI parsing tests" , + uriParseTest, "./test/URI/*.uri", "result/URI/", "", NULL, + 0 }, + { "URI base composition tests" , + uriBaseTest, "./test/URI/*.data", "result/URI/", "", NULL, + 0 }, + { "Path URI conversion tests" , + uriPathTest, NULL, NULL, NULL, NULL, + 0 }, +#ifdef LIBXML_SCHEMAS_ENABLED + { "Schemas regression tests" , + schemasTest, "./test/schemas/*_*.xsd", NULL, NULL, NULL, + 0 }, + { "Schemas XSI assembly tests" , + schemasXsiTest, "./test/schemas/any1_0.xml", "result/schemas/", NULL, NULL, + 0 }, +#endif +#ifdef LIBXML_RELAXNG_ENABLED + { "Relax-NG regression tests" , + rngTest, "./test/relaxng/*.rng", NULL, NULL, NULL, + XML_PARSE_DTDATTR | XML_PARSE_NOENT }, + { "Relax-NG include limit tests" , + rngIncludeTest, "./test/relaxng/include/include-limit.rng", NULL, NULL, NULL, + 0 }, +#ifdef LIBXML_READER_ENABLED + { "Relax-NG streaming regression tests" , + rngStreamTest, "./test/relaxng/*.rng", NULL, NULL, NULL, + XML_PARSE_DTDATTR | XML_PARSE_NOENT }, +#endif +#endif +#if defined(LIBXML_SCHEMATRON_ENABLED) + { "Schematron regression tests" , + schematronTest, "./test/schematron/*.sct", NULL, NULL, NULL, + 0 }, +#endif +#ifdef LIBXML_PATTERN_ENABLED +#ifdef LIBXML_READER_ENABLED + { "Pattern regression tests" , + patternTest, "./test/pattern/*.pat", "result/pattern/", NULL, NULL, + 0 }, +#endif +#endif +#ifdef LIBXML_C14N_ENABLED + { "C14N with comments regression tests" , + c14nWithCommentTest, "./test/c14n/with-comments/*.xml", NULL, NULL, NULL, + 0 }, + { "C14N without comments regression tests" , + c14nWithoutCommentTest, "./test/c14n/without-comments/*.xml", NULL, NULL, NULL, + 0 }, + { "C14N exclusive without comments regression tests" , + c14nExcWithoutCommentTest, "./test/c14n/exc-without-comments/*.xml", NULL, NULL, NULL, + 0 }, + { "C14N 1.1 without comments regression tests" , + c14n11WithoutCommentTest, "./test/c14n/1-1-without-comments/*.xml", NULL, NULL, NULL, + 0 }, +#endif +#if defined(LIBXML_THREAD_ENABLED) && defined(LIBXML_CATALOG_ENABLED) + { "Catalog and Threads regression tests" , + threadsTest, NULL, NULL, NULL, NULL, + 0 }, +#endif + { "SVG parsing regression tests" , + oldParseTest, "./test/SVG/*.xml", "result/SVG/", "", NULL, + 0 }, +#if defined(LIBXML_REGEXP_ENABLED) + { "Regexp regression tests" , + regexpTest, "./test/regexp/*", "result/regexp/", "", ".err", + 0 }, + { "Automata regression tests" , + automataTest, "./test/automata/*", "result/automata/", "", NULL, + 0 }, +#endif + +#if defined(LIBXML_READER_ENABLED) && defined(__linux__) + { "xmlReaderForFd memory leak tests", + xmlReaderForFdTest, "./test/slashdot.xml", NULL, NULL, NULL, 0 }, +#if defined(LIBXML_OUTPUT_ENABLED) && defined(LIBXML_ZLIB_ENABLED) + { "xmlReaderForFdGz memory leak tests", + xmlReaderForFdGzTest, "./test/slashdot.xml", NULL, NULL, NULL, 0 }, +#endif +#endif +#if defined(LIBXML_OUTPUT_ENABLED) && defined(LIBXML_READER_ENABLED) + { "xmlTextReaderReadOuterXml copy XML_DTD_NODE", + xmlTextReaderReadOuterXmlTest, NULL, NULL, NULL, NULL, 0 }, +#endif + { "xmlCopyEntity children test" , xmlCopyEntityTest, NULL, NULL, NULL, NULL, 0 }, + { "xml Entity values normalization" , xmlEntityValueNormTest, NULL, NULL, NULL, NULL, 0 }, + + {NULL, NULL, NULL, NULL, NULL, NULL, 0} +}; + +/************************************************************************ + * * + * The main code driving the tests * + * * + ************************************************************************/ + +static int +launchTests(testDescPtr tst) { + int res = 0, err = 0; + size_t i; + char *result; + char *error; + int mem; + xmlCharEncodingHandlerPtr ebcdicHandler, ibm1141Handler, eucJpHandler; + + ebcdicHandler = xmlGetCharEncodingHandler(XML_CHAR_ENCODING_EBCDIC); + ibm1141Handler = xmlFindCharEncodingHandler("IBM-1141"); + + /* + * When decoding EUC-JP, musl doesn't seem to support 0x8F control + * codes. + */ + eucJpHandler = xmlGetCharEncodingHandler(XML_CHAR_ENCODING_EUC_JP); + if (eucJpHandler != NULL) { + xmlBufferPtr in, out; + + in = xmlBufferCreateSize(10); + xmlBufferCCat(in, "\x8f\xe9\xae"); + out = xmlBufferCreateSize(10); + if (xmlCharEncInFunc(eucJpHandler, out, in) != 3) { + xmlCharEncCloseFunc(eucJpHandler); + eucJpHandler = NULL; + } + xmlBufferFree(out); + xmlBufferFree(in); + } + + if (tst == NULL) return(-1); + if (tst->in != NULL) { + glob_t globbuf; + + globbuf.gl_offs = 0; + glob(tst->in, GLOB_DOOFFS, NULL, &globbuf); + for (i = 0;i < globbuf.gl_pathc;i++) { + if (!checkTestFile(globbuf.gl_pathv[i])) + continue; + if ((((ebcdicHandler == NULL) || (ibm1141Handler == NULL)) && + (strstr(globbuf.gl_pathv[i], "ebcdic") != NULL)) || + ((eucJpHandler == NULL) && + (strstr(globbuf.gl_pathv[i], "icu_parse_test") != NULL))) + continue; +#if !defined(LIBXML_ICONV_ENABLED) && !defined(LIBXML_ICU_ENABLED) && \ + !defined(LIBXML_ISO8859X_ENABLED) + if (strstr(globbuf.gl_pathv[i], "iso-8859-5") != NULL) + continue; +#endif + if (tst->suffix != NULL) { + result = resultFilename(globbuf.gl_pathv[i], tst->out, + tst->suffix); + if (result == NULL) { + fprintf(stderr, "Out of memory !\n"); + fatalError(); + } + } else { + result = NULL; + } + if (tst->err != NULL) { + error = resultFilename(globbuf.gl_pathv[i], tst->out, + tst->err); + if (error == NULL) { + fprintf(stderr, "Out of memory !\n"); + fatalError(); + } + } else { + error = NULL; + } + mem = xmlMemUsed(); + testErrorsSize = 0; + testErrors[0] = 0; + res = tst->func(globbuf.gl_pathv[i], result, error, + tst->options | XML_PARSE_COMPACT); + xmlResetLastError(); + if (res != 0) { + fprintf(stderr, "File %s generated an error\n", + globbuf.gl_pathv[i]); + nb_errors++; + err++; + } + else if (xmlMemUsed() != mem) { + fprintf(stderr, "File %s leaked %d bytes\n", + globbuf.gl_pathv[i], xmlMemUsed() - mem); + nb_leaks++; + err++; + } + testErrorsSize = 0; + if (result) + xmlFree(result); + if (error) + xmlFree(error); + } + globfree(&globbuf); + } else { + testErrorsSize = 0; + testErrors[0] = 0; + res = tst->func(NULL, NULL, NULL, tst->options); + xmlResetLastError(); + if (res != 0) { + nb_errors++; + err++; + } + } + + xmlCharEncCloseFunc(ebcdicHandler); + xmlCharEncCloseFunc(ibm1141Handler); + xmlCharEncCloseFunc(eucJpHandler); + + return(err); +} + +static int verbose = 0; +static int tests_quiet = 0; + +static int +runtest(int i) { + int ret = 0, res; + int old_errors, old_tests, old_leaks; + + old_errors = nb_errors; + old_tests = nb_tests; + old_leaks = nb_leaks; + if ((tests_quiet == 0) && (testDescriptions[i].desc != NULL)) + printf("## %s\n", testDescriptions[i].desc); + res = launchTests(&testDescriptions[i]); + if (res != 0) + ret++; + if (verbose) { + if ((nb_errors == old_errors) && (nb_leaks == old_leaks)) + printf("Ran %d tests, no errors\n", nb_tests - old_tests); + else + printf("Ran %d tests, %d errors, %d leaks\n", + nb_tests - old_tests, + nb_errors - old_errors, + nb_leaks - old_leaks); + } + return(ret); +} + +int +main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { + int i, a, ret = 0; + int subset = 0; + +#if defined(_WIN32) + setvbuf(stdout, NULL, _IONBF, 0); + setvbuf(stderr, NULL, _IONBF, 0); +#endif + +#if defined(_MSC_VER) && _MSC_VER >= 1400 && _MSC_VER < 1900 + _set_output_format(_TWO_DIGIT_EXPONENT); +#endif + + initializeLibxml2(); + + for (a = 1; a < argc;a++) { + if (!strcmp(argv[a], "-v")) + verbose = 1; + else if (!strcmp(argv[a], "-u")) + update_results = 1; + else if (!strcmp(argv[a], "-quiet")) + tests_quiet = 1; + else if (!strcmp(argv[a], "--out")) + temp_directory = argv[++a]; + else { + for (i = 0; testDescriptions[i].func != NULL; i++) { + if (strstr(testDescriptions[i].desc, argv[a])) { + ret += runtest(i); + subset++; + } + } + } + } + if (subset == 0) { + for (i = 0; testDescriptions[i].func != NULL; i++) { + ret += runtest(i); + } + } + if ((nb_errors == 0) && (nb_leaks == 0)) { + ret = 0; + printf("Total %d tests, no errors\n", + nb_tests); + } else { + ret = 1; + printf("Total %d tests, %d errors, %d leaks\n", + nb_tests, nb_errors, nb_leaks); + } + xmlCleanupParser(); + + return(ret); +} + +#else /* ! LIBXML_OUTPUT_ENABLED */ +int +main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { + fprintf(stderr, "runtest requires output to be enabled in libxml2\n"); + return(0); +} +#endif diff --git a/libxml2/runxmlconf.c b/libxml2/runxmlconf.c new file mode 100644 index 0000000..e1e1d46 --- /dev/null +++ b/libxml2/runxmlconf.c @@ -0,0 +1,613 @@ +/* + * runxmlconf.c: C program to run XML W3C conformance testsuites + * + * See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#include "libxml.h" +#include +#include + +#if defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_VALID_ENABLED) + +#include +#include + +#include +#include +#include +#include +#include +#include + +#include +#include + +#define LOGFILE "runxmlconf.log" +static FILE *logfile = NULL; +static int verbose = 0; + +#define NB_EXPECTED_ERRORS 5 + + +static const char *const skipped_tests[] = { +/* http://lists.w3.org/Archives/Public/public-xml-testsuite/2008Jul/0000.html */ + "rmt-ns10-035", + NULL +}; + +/************************************************************************ + * * + * File name and path utilities * + * * + ************************************************************************/ + +static int checkTestFile(const char *filename) { + struct stat buf; + + if (stat(filename, &buf) == -1) + return(0); + +#if defined(_WIN32) + if (!(buf.st_mode & _S_IFREG)) + return(0); +#else + if (!S_ISREG(buf.st_mode)) + return(0); +#endif + + return(1); +} + +static xmlChar *composeDir(const xmlChar *dir, const xmlChar *path) { + char buf[500]; + + if (dir == NULL) return(xmlStrdup(path)); + if (path == NULL) return(NULL); + + snprintf(buf, 500, "%s/%s", (const char *) dir, (const char *) path); + return(xmlStrdup((const xmlChar *) buf)); +} + +/************************************************************************ + * * + * Libxml2 specific routines * + * * + ************************************************************************/ + +static int nb_skipped = 0; +static int nb_tests = 0; +static int nb_errors = 0; +static int nb_leaks = 0; + +/* + * Trapping the error messages at the generic level to grab the equivalent of + * stderr messages on CLI tools. + */ +static char testErrors[32769]; +static int testErrorsSize = 0; +static int nbError = 0; +static int nbFatal = 0; + +static void test_log(const char *msg, ...) { + va_list args; + if (logfile != NULL) { + fprintf(logfile, "\n------------\n"); + va_start(args, msg); + vfprintf(logfile, msg, args); + va_end(args); + fprintf(logfile, "%s", testErrors); + testErrorsSize = 0; testErrors[0] = 0; + } + if (verbose) { + va_start(args, msg); + vfprintf(stderr, msg, args); + va_end(args); + } +} + +static void +testErrorHandler(void *userData ATTRIBUTE_UNUSED, const xmlError *error) { + int res; + + if (testErrorsSize >= 32768) + return; + res = snprintf(&testErrors[testErrorsSize], + 32768 - testErrorsSize, + "%s:%d: %s\n", (error->file ? error->file : "entity"), + error->line, error->message); + if (error->level == XML_ERR_FATAL) + nbFatal++; + else if (error->level == XML_ERR_ERROR) + nbError++; + if (testErrorsSize + res >= 32768) { + /* buffer is full */ + testErrorsSize = 32768; + testErrors[testErrorsSize] = 0; + } else { + testErrorsSize += res; + } + testErrors[testErrorsSize] = 0; +} + +static xmlXPathContextPtr ctxtXPath; + +static void +initializeLibxml2(void) { + xmlMemSetup(xmlMemFree, xmlMemMalloc, xmlMemRealloc, xmlMemoryStrdup); + xmlInitParser(); +#ifdef LIBXML_CATALOG_ENABLED + xmlInitializeCatalog(); + xmlCatalogSetDefaults(XML_CATA_ALLOW_NONE); +#endif + ctxtXPath = xmlXPathNewContext(NULL); + /* + * Deactivate the cache if created; otherwise we have to create/free it + * for every test, since it will confuse the memory leak detection. + * Note that normally this need not be done, since the cache is not + * created until set explicitly with xmlXPathContextSetCache(); + * but for test purposes it is sometimes useful to activate the + * cache by default for the whole library. + */ + if (ctxtXPath->cache != NULL) + xmlXPathContextSetCache(ctxtXPath, 0, -1, 0); +} + +/************************************************************************ + * * + * Run the xmlconf test if found * + * * + ************************************************************************/ + +static int +xmlconfTestInvalid(const char *id, const char *filename, int options) { + xmlDocPtr doc; + xmlParserCtxtPtr ctxt; + int ret = 1; + + ctxt = xmlNewParserCtxt(); + if (ctxt == NULL) { + test_log("test %s : %s out of memory\n", + id, filename); + return(0); + } + xmlCtxtSetErrorHandler(ctxt, testErrorHandler, NULL); + doc = xmlCtxtReadFile(ctxt, filename, NULL, options); + if (doc == NULL) { + test_log("test %s : %s invalid document turned not well-formed too\n", + id, filename); + nb_errors++; + ret = 0; + } else { + /* invalidity should be reported both in the context and in the document */ + if ((ctxt->valid != 0) || (doc->properties & XML_DOC_DTDVALID)) { + test_log("test %s : %s failed to detect invalid document\n", + id, filename); + nb_errors++; + ret = 0; + } + xmlFreeDoc(doc); + } + xmlFreeParserCtxt(ctxt); + return(ret); +} + +static int +xmlconfTestValid(const char *id, const char *filename, int options) { + xmlDocPtr doc; + xmlParserCtxtPtr ctxt; + int ret = 1; + + ctxt = xmlNewParserCtxt(); + if (ctxt == NULL) { + test_log("test %s : %s out of memory\n", + id, filename); + return(0); + } + xmlCtxtSetErrorHandler(ctxt, testErrorHandler, NULL); + doc = xmlCtxtReadFile(ctxt, filename, NULL, options); + if (doc == NULL) { + test_log("test %s : %s failed to parse a valid document\n", + id, filename); + nb_errors++; + ret = 0; + } else { + /* validity should be reported both in the context and in the document */ + if ((ctxt->valid == 0) || ((doc->properties & XML_DOC_DTDVALID) == 0)) { + test_log("test %s : %s failed to validate a valid document\n", + id, filename); + nb_errors++; + ret = 0; + } + xmlFreeDoc(doc); + } + xmlFreeParserCtxt(ctxt); + return(ret); +} + +static int +xmlconfTestNotNSWF(const char *id, const char *filename, int options) { + xmlParserCtxtPtr ctxt; + xmlDocPtr doc; + int ret = 1; + + ctxt = xmlNewParserCtxt(); + xmlCtxtSetErrorHandler(ctxt, testErrorHandler, NULL); + /* + * In case of Namespace errors, libxml2 will still parse the document + * but log a Namespace error. + */ + doc = xmlCtxtReadFile(ctxt, filename, NULL, options); + if (doc == NULL) { + test_log("test %s : %s failed to parse the XML\n", + id, filename); + nb_errors++; + ret = 0; + } else { + const xmlError *error = xmlGetLastError(); + + if ((error->code == XML_ERR_OK) || + (error->domain != XML_FROM_NAMESPACE)) { + test_log("test %s : %s failed to detect namespace error\n", + id, filename); + nb_errors++; + ret = 0; + } + xmlFreeDoc(doc); + } + xmlFreeParserCtxt(ctxt); + return(ret); +} + +static int +xmlconfTestNotWF(const char *id, const char *filename, int options) { + xmlParserCtxtPtr ctxt; + xmlDocPtr doc; + int ret = 1; + + ctxt = xmlNewParserCtxt(); + xmlCtxtSetErrorHandler(ctxt, testErrorHandler, NULL); + doc = xmlCtxtReadFile(ctxt, filename, NULL, options); + if (doc != NULL) { + test_log("test %s : %s failed to detect not well formedness\n", + id, filename); + nb_errors++; + xmlFreeDoc(doc); + ret = 0; + } + xmlFreeParserCtxt(ctxt); + return(ret); +} + +static int +xmlconfTestItem(xmlDocPtr doc, xmlNodePtr cur) { + int ret = -1; + xmlChar *type = NULL; + xmlChar *filename = NULL; + xmlChar *uri = NULL; + xmlChar *base = NULL; + xmlChar *id = NULL; + xmlChar *rec = NULL; + xmlChar *version = NULL; + xmlChar *entities = NULL; + xmlChar *edition = NULL; + int options = 0; + int nstest = 0; + int mem, final; + int i; + + testErrorsSize = 0; testErrors[0] = 0; + nbError = 0; + nbFatal = 0; + id = xmlGetProp(cur, BAD_CAST "ID"); + if (id == NULL) { + test_log("test missing ID, line %ld\n", xmlGetLineNo(cur)); + goto error; + } + for (i = 0;skipped_tests[i] != NULL;i++) { + if (!strcmp(skipped_tests[i], (char *) id)) { + test_log("Skipping test %s from skipped list\n", (char *) id); + ret = 0; + nb_skipped++; + goto error; + } + } + type = xmlGetProp(cur, BAD_CAST "TYPE"); + if (type == NULL) { + test_log("test %s missing TYPE\n", (char *) id); + goto error; + } + uri = xmlGetProp(cur, BAD_CAST "URI"); + if (uri == NULL) { + test_log("test %s missing URI\n", (char *) id); + goto error; + } + base = xmlNodeGetBase(doc, cur); + filename = composeDir(base, uri); + if (!checkTestFile((char *) filename)) { + test_log("test %s missing file %s \n", id, + (filename ? (char *)filename : "NULL")); + goto error; + } + + version = xmlGetProp(cur, BAD_CAST "VERSION"); + + entities = xmlGetProp(cur, BAD_CAST "ENTITIES"); + if (!xmlStrEqual(entities, BAD_CAST "none")) { + options |= XML_PARSE_DTDLOAD; + options |= XML_PARSE_NOENT; + } + rec = xmlGetProp(cur, BAD_CAST "RECOMMENDATION"); + if ((rec == NULL) || + (xmlStrEqual(rec, BAD_CAST "XML1.0")) || + (xmlStrEqual(rec, BAD_CAST "XML1.0-errata2e")) || + (xmlStrEqual(rec, BAD_CAST "XML1.0-errata3e")) || + (xmlStrEqual(rec, BAD_CAST "XML1.0-errata4e"))) { + if ((version != NULL) && (!xmlStrEqual(version, BAD_CAST "1.0"))) { + test_log("Skipping test %s for %s\n", (char *) id, + (char *) version); + ret = 0; + nb_skipped++; + goto error; + } + ret = 1; + } else if ((xmlStrEqual(rec, BAD_CAST "NS1.0")) || + (xmlStrEqual(rec, BAD_CAST "NS1.0-errata1e"))) { + ret = 1; + nstest = 1; + } else { + test_log("Skipping test %s for REC %s\n", (char *) id, (char *) rec); + ret = 0; + nb_skipped++; + goto error; + } + edition = xmlGetProp(cur, BAD_CAST "EDITION"); + if ((edition != NULL) && (xmlStrchr(edition, '5') == NULL)) { + /* test limited to all versions before 5th */ + options |= XML_PARSE_OLD10; + } + + /* + * Reset errors and check memory usage before the test + */ + xmlResetLastError(); + testErrorsSize = 0; testErrors[0] = 0; + mem = xmlMemUsed(); + + if (xmlStrEqual(type, BAD_CAST "not-wf")) { + if (nstest == 0) + xmlconfTestNotWF((char *) id, (char *) filename, options); + else + xmlconfTestNotNSWF((char *) id, (char *) filename, options); + } else if (xmlStrEqual(type, BAD_CAST "valid")) { + options |= XML_PARSE_DTDVALID; + xmlconfTestValid((char *) id, (char *) filename, options); + } else if (xmlStrEqual(type, BAD_CAST "invalid")) { + options |= XML_PARSE_DTDVALID; + xmlconfTestInvalid((char *) id, (char *) filename, options); + } else if (xmlStrEqual(type, BAD_CAST "error")) { + test_log("Skipping error test %s \n", (char *) id); + ret = 0; + nb_skipped++; + goto error; + } else { + test_log("test %s unknown TYPE value %s\n", (char *) id, (char *)type); + ret = -1; + goto error; + } + + /* + * Reset errors and check memory usage after the test + */ + xmlResetLastError(); + final = xmlMemUsed(); + if (final > mem) { + test_log("test %s : %s leaked %d bytes\n", + id, filename, final - mem); + nb_leaks++; + } + nb_tests++; + +error: + if (type != NULL) + xmlFree(type); + if (entities != NULL) + xmlFree(entities); + if (edition != NULL) + xmlFree(edition); + if (version != NULL) + xmlFree(version); + if (filename != NULL) + xmlFree(filename); + if (uri != NULL) + xmlFree(uri); + if (base != NULL) + xmlFree(base); + if (id != NULL) + xmlFree(id); + if (rec != NULL) + xmlFree(rec); + return(ret); +} + +static int +xmlconfTestCases(xmlDocPtr doc, xmlNodePtr cur, int level) { + xmlChar *profile; + int ret = 0; + int tests = 0; + int output = 0; + + if (level == 1) { + profile = xmlGetProp(cur, BAD_CAST "PROFILE"); + if (profile != NULL) { + output = 1; + level++; + printf("Test cases: %s\n", (char *) profile); + xmlFree(profile); + } + } + cur = cur->children; + while (cur != NULL) { + /* look only at elements we ignore everything else */ + if (cur->type == XML_ELEMENT_NODE) { + if (xmlStrEqual(cur->name, BAD_CAST "TESTCASES")) { + ret += xmlconfTestCases(doc, cur, level); + } else if (xmlStrEqual(cur->name, BAD_CAST "TEST")) { + if (xmlconfTestItem(doc, cur) >= 0) + ret++; + tests++; + } else { + fprintf(stderr, "Unhandled element %s\n", (char *)cur->name); + } + } + cur = cur->next; + } + if (output == 1) { + if (tests > 0) + printf("Test cases: %d tests\n", tests); + } + return(ret); +} + +static int +xmlconfTestSuite(xmlDocPtr doc, xmlNodePtr cur) { + xmlChar *profile; + int ret = 0; + + profile = xmlGetProp(cur, BAD_CAST "PROFILE"); + if (profile != NULL) { + printf("Test suite: %s\n", (char *) profile); + xmlFree(profile); + } else + printf("Test suite\n"); + cur = cur->children; + while (cur != NULL) { + /* look only at elements we ignore everything else */ + if (cur->type == XML_ELEMENT_NODE) { + if (xmlStrEqual(cur->name, BAD_CAST "TESTCASES")) { + ret += xmlconfTestCases(doc, cur, 1); + } else { + fprintf(stderr, "Unhandled element %s\n", (char *)cur->name); + } + } + cur = cur->next; + } + return(ret); +} + +static void +xmlconfInfo(void) { + fprintf(stderr, " you need to fetch and extract the\n"); + fprintf(stderr, " latest XML Conformance Test Suites\n"); + fprintf(stderr, " http://www.w3.org/XML/Test/xmlts20080827.tar.gz\n"); + fprintf(stderr, " see http://www.w3.org/XML/Test/ for information\n"); +} + +static int +xmlconfTest(const char *dir) { + char confxml[500]; + xmlDocPtr doc; + xmlNodePtr cur; + int ret = 0; + + snprintf(confxml, sizeof(confxml), "%s/xmlconf.xml", dir); + + if (!checkTestFile(confxml)) { + fprintf(stderr, "%s is missing \n", confxml); + xmlconfInfo(); + return(-1); + } + doc = xmlReadFile(confxml, NULL, XML_PARSE_NOENT); + if (doc == NULL) { + fprintf(stderr, "%s is corrupted \n", confxml); + xmlconfInfo(); + return(-1); + } + + cur = xmlDocGetRootElement(doc); + if ((cur == NULL) || (!xmlStrEqual(cur->name, BAD_CAST "TESTSUITE"))) { + fprintf(stderr, "Unexpected format %s\n", confxml); + xmlconfInfo(); + ret = -1; + } else { + ret = xmlconfTestSuite(doc, cur); + } + xmlFreeDoc(doc); + return(ret); +} + +/************************************************************************ + * * + * The driver for the tests * + * * + ************************************************************************/ + +int +main(int argc, char **argv) { + int ret = 0; + int old_errors, old_tests, old_leaks; + const char *dir = "xmlconf"; + int i; + + logfile = fopen(LOGFILE, "wb"); + if (logfile == NULL) { + fprintf(stderr, + "Could not open the log file, running in verbose mode\n"); + verbose = 1; + } + initializeLibxml2(); + + for (i = 1; i < argc; i++) { + if (strcmp(argv[i], "-v") == 0) { + verbose = 1; + } else if (strcmp(argv[i], "-d") == 0 && i + 1 < argc) { + i += 1; + dir = argv[i]; + } else { + fprintf(stderr, "invalid argument: %s\n", argv[i]); + return 1; + } + } + + old_errors = nb_errors; + old_tests = nb_tests; + old_leaks = nb_leaks; + xmlconfTest(dir); + if ((nb_errors == old_errors) && (nb_leaks == old_leaks)) + printf("Ran %d tests, no errors\n", nb_tests - old_tests); + else + printf("Ran %d tests, %d errors, %d leaks\n", + nb_tests - old_tests, + nb_errors - old_errors, + nb_leaks - old_leaks); + if ((nb_errors == 0) && (nb_leaks == 0)) { + ret = 0; + printf("Total %d tests, no errors\n", + nb_tests); + } else { + ret = 1; + printf("Total %d tests, %d errors, %d leaks\n", + nb_tests, nb_errors, nb_leaks); + printf("See %s for detailed output\n", LOGFILE); + if ((nb_leaks == 0) && (nb_errors == NB_EXPECTED_ERRORS)) { + printf("%d errors were expected\n", nb_errors); + ret = 0; + } + } + xmlXPathFreeContext(ctxtXPath); + xmlCleanupParser(); + + if (logfile != NULL) + fclose(logfile); + return(ret); +} + +#else /* ! LIBXML_XPATH_ENABLED */ +int +main(int argc ATTRIBUTE_UNUSED, char **argv) { + fprintf(stderr, "%s need XPath and validation support\n", argv[0]); + return(0); +} +#endif diff --git a/libxml2/schematron.c b/libxml2/schematron.c new file mode 100644 index 0000000..5bbd77a --- /dev/null +++ b/libxml2/schematron.c @@ -0,0 +1,2013 @@ +/* + * schematron.c : implementation of the Schematron schema validity checking + * + * See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +/* + * TODO: + * + double check the semantic, especially + * - multiple rules applying in a single pattern/node + * - the semantic of libxml2 patterns vs. XSLT production referenced + * by the spec. + * + export of results in SVRL + * + full parsing and coverage of the spec, conformance of the input to the + * spec + * + divergences between the draft and the ISO proposed standard :-( + * + hook and test include + * + try and compare with the XSLT version + */ + +#define IN_LIBXML +#include "libxml.h" + +#ifdef LIBXML_SCHEMATRON_ENABLED + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "private/error.h" +#include "private/memory.h" + +#define SCHEMATRON_PARSE_OPTIONS XML_PARSE_NOENT + +#define SCT_OLD_NS BAD_CAST "http://www.ascc.net/xml/schematron" + +#define XML_SCHEMATRON_NS BAD_CAST "http://purl.oclc.org/dsdl/schematron" + + +static const xmlChar *xmlSchematronNs = XML_SCHEMATRON_NS; +static const xmlChar *xmlOldSchematronNs = SCT_OLD_NS; + +#define IS_SCHEMATRON(node, elem) \ + ((node != NULL) && (node->type == XML_ELEMENT_NODE ) && \ + (node->ns != NULL) && \ + (xmlStrEqual(node->name, (const xmlChar *) elem)) && \ + ((xmlStrEqual(node->ns->href, xmlSchematronNs)) || \ + (xmlStrEqual(node->ns->href, xmlOldSchematronNs)))) + +#define NEXT_SCHEMATRON(node) \ + while (node != NULL) { \ + if ((node->type == XML_ELEMENT_NODE ) && (node->ns != NULL) && \ + ((xmlStrEqual(node->ns->href, xmlSchematronNs)) || \ + (xmlStrEqual(node->ns->href, xmlOldSchematronNs)))) \ + break; \ + node = node->next; \ + } + +typedef enum { + XML_SCHEMATRON_ASSERT=1, + XML_SCHEMATRON_REPORT=2 +} xmlSchematronTestType; + +/** + * A Schematron let variable + */ +typedef struct _xmlSchematronLet xmlSchematronLet; +typedef xmlSchematronLet *xmlSchematronLetPtr; +struct _xmlSchematronLet { + xmlSchematronLetPtr next; /* the next let variable in the list */ + xmlChar *name; /* the name of the variable */ + xmlXPathCompExprPtr comp; /* the compiled expression */ +}; + +/** + * A Schematrons test, either an assert or a report + */ +typedef struct _xmlSchematronTest xmlSchematronTest; +typedef xmlSchematronTest *xmlSchematronTestPtr; +struct _xmlSchematronTest { + xmlSchematronTestPtr next; /* the next test in the list */ + xmlSchematronTestType type; /* the test type */ + xmlNodePtr node; /* the node in the tree */ + xmlChar *test; /* the expression to test */ + xmlXPathCompExprPtr comp; /* the compiled expression */ + xmlChar *report; /* the message to report */ +}; + +/** + * A Schematrons rule + */ +typedef struct _xmlSchematronRule xmlSchematronRule; +typedef xmlSchematronRule *xmlSchematronRulePtr; +struct _xmlSchematronRule { + xmlSchematronRulePtr next; /* the next rule in the list */ + xmlSchematronRulePtr patnext;/* the next rule in the pattern list */ + xmlNodePtr node; /* the node in the tree */ + xmlChar *context; /* the context evaluation rule */ + xmlSchematronTestPtr tests; /* the list of tests */ + xmlPatternPtr pattern; /* the compiled pattern associated */ + xmlChar *report; /* the message to report */ + xmlSchematronLetPtr lets; /* the list of let variables */ +}; + +/** + * A Schematrons pattern + */ +typedef struct _xmlSchematronPattern xmlSchematronPattern; +typedef xmlSchematronPattern *xmlSchematronPatternPtr; +struct _xmlSchematronPattern { + xmlSchematronPatternPtr next;/* the next pattern in the list */ + xmlSchematronRulePtr rules; /* the list of rules */ + xmlChar *name; /* the name of the pattern */ +}; + +/** + * A Schematrons definition + */ +struct _xmlSchematron { + const xmlChar *name; /* schema name */ + int preserve; /* was the document passed by the user */ + xmlDocPtr doc; /* pointer to the parsed document */ + int flags; /* specific to this schematron */ + + void *_private; /* unused by the library */ + xmlDictPtr dict; /* the dictionary used internally */ + + const xmlChar *title; /* the title if any */ + + int nbNs; /* the number of namespaces */ + + int nbPattern; /* the number of patterns */ + xmlSchematronPatternPtr patterns;/* the patterns found */ + xmlSchematronRulePtr rules; /* the rules gathered */ + int nbNamespaces; /* number of namespaces in the array */ + int maxNamespaces; /* size of the array */ + const xmlChar **namespaces; /* the array of namespaces */ +}; + +/** + * A Schematrons validation context + */ +struct _xmlSchematronValidCtxt { + int type; + int flags; /* an or of xmlSchematronValidOptions */ + + xmlDictPtr dict; + int nberrors; + int err; + + xmlSchematronPtr schema; + xmlXPathContextPtr xctxt; + + FILE *outputFile; /* if using XML_SCHEMATRON_OUT_FILE */ + xmlBufferPtr outputBuffer; /* if using XML_SCHEMATRON_OUT_BUFFER */ +#ifdef LIBXML_OUTPUT_ENABLED + xmlOutputWriteCallback iowrite; /* if using XML_SCHEMATRON_OUT_IO */ + xmlOutputCloseCallback ioclose; +#endif + void *ioctx; + + /* error reporting data */ + void *userData; /* user specific data block */ + xmlSchematronValidityErrorFunc error;/* the callback in case of errors */ + xmlSchematronValidityWarningFunc warning;/* callback in case of warning */ + xmlStructuredErrorFunc serror; /* the structured function */ +}; + +struct _xmlSchematronParserCtxt { + int type; + const xmlChar *URL; + xmlDocPtr doc; + int preserve; /* Whether the doc should be freed */ + const char *buffer; + int size; + + xmlDictPtr dict; /* dictionary for interned string names */ + + int nberrors; + int err; + xmlXPathContextPtr xctxt; /* the XPath context used for compilation */ + xmlSchematronPtr schema; + + int nbNamespaces; /* number of namespaces in the array */ + int maxNamespaces; /* size of the array */ + const xmlChar **namespaces; /* the array of namespaces */ + + int nbIncludes; /* number of includes in the array */ + int maxIncludes; /* size of the array */ + xmlNodePtr *includes; /* the array of includes */ + + /* error reporting data */ + void *userData; /* user specific data block */ + xmlSchematronValidityErrorFunc error;/* the callback in case of errors */ + xmlSchematronValidityWarningFunc warning;/* callback in case of warning */ + xmlStructuredErrorFunc serror; /* the structured function */ +}; + +#define XML_STRON_CTXT_PARSER 1 +#define XML_STRON_CTXT_VALIDATOR 2 + +/************************************************************************ + * * + * Error reporting * + * * + ************************************************************************/ + +/** + * Handle an out of memory condition + * + * @param ctxt parser context + */ +static void +xmlSchematronPErrMemory(xmlSchematronParserCtxtPtr ctxt) +{ + if (ctxt != NULL) + ctxt->nberrors++; + xmlRaiseMemoryError(NULL, NULL, NULL, XML_FROM_SCHEMASP, NULL); +} + +/** + * Handle a parser error + * + * @param ctxt the parsing context + * @param node the context node + * @param error the error code + * @param msg the error message + * @param str1 extra data + * @param str2 extra data + */ +static void LIBXML_ATTR_FORMAT(4,0) +xmlSchematronPErr(xmlSchematronParserCtxtPtr ctxt, xmlNodePtr node, int error, + const char *msg, const xmlChar * str1, const xmlChar * str2) +{ + xmlGenericErrorFunc channel = NULL; + xmlStructuredErrorFunc schannel = NULL; + void *data = NULL; + int res; + + if (ctxt != NULL) { + ctxt->nberrors++; + channel = ctxt->error; + data = ctxt->userData; + schannel = ctxt->serror; + } + + if ((channel == NULL) && (schannel == NULL)) { + channel = xmlGenericError; + data = xmlGenericErrorContext; + } + + res = xmlRaiseError(schannel, channel, data, ctxt, node, + XML_FROM_SCHEMASP, error, XML_ERR_ERROR, NULL, 0, + (const char *) str1, (const char *) str2, NULL, 0, 0, + msg, str1, str2); + if (res < 0) + xmlSchematronPErrMemory(ctxt); +} + +/** + * Handle an out of memory condition + * + * @param ctxt validation context + */ +static void +xmlSchematronVErrMemory(xmlSchematronValidCtxtPtr ctxt) +{ + if (ctxt != NULL) { + ctxt->nberrors++; + ctxt->err = XML_SCHEMAV_INTERNAL; + } + xmlRaiseMemoryError(NULL, NULL, NULL, XML_FROM_SCHEMASV, NULL); +} + +/** + * Handle a validation error + * + * @param ctxt validation context + * @param error the error code + * @param msg the error message + * @param str1 extra data + */ +static void LIBXML_ATTR_FORMAT(3,0) +xmlSchematronVErr(xmlSchematronValidCtxtPtr ctxt, int error, + const char *msg, const xmlChar * str1) +{ + xmlGenericErrorFunc channel = NULL; + xmlStructuredErrorFunc schannel = NULL; + void *data = NULL; + int res; + + if (ctxt != NULL) { + ctxt->nberrors++; + channel = ctxt->error; + data = ctxt->userData; + schannel = ctxt->serror; + } + + if ((channel == NULL) && (schannel == NULL)) { + channel = xmlGenericError; + data = xmlGenericErrorContext; + } + + res = xmlRaiseError(schannel, channel, data, ctxt, NULL, + XML_FROM_SCHEMASV, error, XML_ERR_ERROR, NULL, 0, + (const char *) str1, NULL, NULL, 0, 0, + msg, str1); + if (res < 0) + xmlSchematronVErrMemory(ctxt); +} + +/************************************************************************ + * * + * Parsing and compilation of the Schematrontrons * + * * + ************************************************************************/ + +/** + * Add a test to a schematron + * + * @param ctxt the schema parsing context + * @param type the type of test + * @param rule the parent rule + * @param node the node hosting the test + * @param test the associated test + * @param report the associated report string + * @returns the new pointer or NULL in case of error + */ +static xmlSchematronTestPtr +xmlSchematronAddTest(xmlSchematronParserCtxtPtr ctxt, + xmlSchematronTestType type, + xmlSchematronRulePtr rule, + xmlNodePtr node, xmlChar *test, xmlChar *report) +{ + xmlSchematronTestPtr ret; + xmlXPathCompExprPtr comp; + + if ((ctxt == NULL) || (rule == NULL) || (node == NULL) || + (test == NULL)) + return(NULL); + + /* + * try first to compile the test expression + */ + comp = xmlXPathCtxtCompile(ctxt->xctxt, test); + if (comp == NULL) { + xmlSchematronPErr(ctxt, node, + XML_SCHEMAP_NOROOT, + "Failed to compile test expression %s", + test, NULL); + return(NULL); + } + + ret = (xmlSchematronTestPtr) xmlMalloc(sizeof(xmlSchematronTest)); + if (ret == NULL) { + xmlSchematronPErrMemory(ctxt); + xmlXPathFreeCompExpr(comp); + return (NULL); + } + memset(ret, 0, sizeof(xmlSchematronTest)); + ret->type = type; + ret->node = node; + ret->test = test; + ret->comp = comp; + ret->report = report; + ret->next = NULL; + if (rule->tests == NULL) { + rule->tests = ret; + } else { + xmlSchematronTestPtr prev = rule->tests; + + while (prev->next != NULL) + prev = prev->next; + prev->next = ret; + } + return (ret); +} + +/** + * Free a list of tests. + * + * @param tests a list of tests + */ +static void +xmlSchematronFreeTests(xmlSchematronTestPtr tests) { + xmlSchematronTestPtr next; + + while (tests != NULL) { + next = tests->next; + if (tests->test != NULL) + xmlFree(tests->test); + if (tests->comp != NULL) + xmlXPathFreeCompExpr(tests->comp); + if (tests->report != NULL) + xmlFree(tests->report); + xmlFree(tests); + tests = next; + } +} + +/** + * Free a list of let variables. + * + * @param lets a list of let variables + */ +static void +xmlSchematronFreeLets(xmlSchematronLetPtr lets) { + xmlSchematronLetPtr next; + + while (lets != NULL) { + next = lets->next; + if (lets->name != NULL) + xmlFree(lets->name); + if (lets->comp != NULL) + xmlXPathFreeCompExpr(lets->comp); + xmlFree(lets); + lets = next; + } +} + +/** + * Add a rule to a schematron + * + * @param ctxt the schema parsing context + * @param schema a schema structure + * @param pat a pattern + * @param node the node hosting the rule + * @param context the associated context string + * @param report the associated report string + * @returns the new pointer or NULL in case of error + */ +static xmlSchematronRulePtr +xmlSchematronAddRule(xmlSchematronParserCtxtPtr ctxt, xmlSchematronPtr schema, + xmlSchematronPatternPtr pat, xmlNodePtr node, + xmlChar *context, xmlChar *report) +{ + xmlSchematronRulePtr ret; + xmlPatternPtr pattern; + + if ((ctxt == NULL) || (schema == NULL) || (node == NULL) || + (context == NULL)) + return(NULL); + + /* + * Try first to compile the pattern + */ + pattern = xmlPatterncompile(context, ctxt->dict, XML_PATTERN_XPATH, + ctxt->namespaces); + if (pattern == NULL) { + xmlSchematronPErr(ctxt, node, + XML_SCHEMAP_NOROOT, + "Failed to compile context expression %s", + context, NULL); + } + + ret = (xmlSchematronRulePtr) xmlMalloc(sizeof(xmlSchematronRule)); + if (ret == NULL) { + xmlSchematronPErrMemory(ctxt); + return (NULL); + } + memset(ret, 0, sizeof(xmlSchematronRule)); + ret->node = node; + ret->context = context; + ret->pattern = pattern; + ret->report = report; + ret->next = NULL; + ret->lets = NULL; + if (schema->rules == NULL) { + schema->rules = ret; + } else { + xmlSchematronRulePtr prev = schema->rules; + + while (prev->next != NULL) + prev = prev->next; + prev->next = ret; + } + ret->patnext = NULL; + if (pat->rules == NULL) { + pat->rules = ret; + } else { + xmlSchematronRulePtr prev = pat->rules; + + while (prev->patnext != NULL) + prev = prev->patnext; + prev->patnext = ret; + } + return (ret); +} + +/** + * Free a list of rules. + * + * @param rules a list of rules + */ +static void +xmlSchematronFreeRules(xmlSchematronRulePtr rules) { + xmlSchematronRulePtr next; + + while (rules != NULL) { + next = rules->next; + if (rules->tests) + xmlSchematronFreeTests(rules->tests); + if (rules->context != NULL) + xmlFree(rules->context); + if (rules->pattern) + xmlFreePattern(rules->pattern); + if (rules->report != NULL) + xmlFree(rules->report); + if (rules->lets != NULL) + xmlSchematronFreeLets(rules->lets); + xmlFree(rules); + rules = next; + } +} + +/** + * Add a pattern to a schematron + * + * @param ctxt the schema parsing context + * @param schema a schema structure + * @param node the node hosting the pattern + * @param name the name of the pattern + * @returns the new pointer or NULL in case of error + */ +static xmlSchematronPatternPtr +xmlSchematronAddPattern(xmlSchematronParserCtxtPtr ctxt, + xmlSchematronPtr schema, xmlNodePtr node, xmlChar *name) +{ + xmlSchematronPatternPtr ret; + + if ((ctxt == NULL) || (schema == NULL) || (node == NULL) || (name == NULL)) + return(NULL); + + ret = (xmlSchematronPatternPtr) xmlMalloc(sizeof(xmlSchematronPattern)); + if (ret == NULL) { + xmlSchematronPErrMemory(ctxt); + return (NULL); + } + memset(ret, 0, sizeof(xmlSchematronPattern)); + ret->name = name; + ret->next = NULL; + if (schema->patterns == NULL) { + schema->patterns = ret; + } else { + xmlSchematronPatternPtr prev = schema->patterns; + + while (prev->next != NULL) + prev = prev->next; + prev->next = ret; + } + return (ret); +} + +/** + * Free a list of patterns. + * + * @param patterns a list of patterns + */ +static void +xmlSchematronFreePatterns(xmlSchematronPatternPtr patterns) { + xmlSchematronPatternPtr next; + + while (patterns != NULL) { + next = patterns->next; + if (patterns->name != NULL) + xmlFree(patterns->name); + xmlFree(patterns); + patterns = next; + } +} + +/** + * Allocate a new Schematron structure. + * + * @param ctxt a schema validation context + * @returns the newly allocated structure or NULL in case or error + */ +static xmlSchematronPtr +xmlSchematronNewSchematron(xmlSchematronParserCtxtPtr ctxt) +{ + xmlSchematronPtr ret; + + ret = (xmlSchematronPtr) xmlMalloc(sizeof(xmlSchematron)); + if (ret == NULL) { + xmlSchematronPErrMemory(ctxt); + return (NULL); + } + memset(ret, 0, sizeof(xmlSchematron)); + ret->dict = ctxt->dict; + xmlDictReference(ret->dict); + + return (ret); +} + +/** + * Deallocate a Schematron structure. + * + * @param schema a schema structure + */ +void +xmlSchematronFree(xmlSchematron *schema) +{ + if (schema == NULL) + return; + + if ((schema->doc != NULL) && (!(schema->preserve))) + xmlFreeDoc(schema->doc); + + if (schema->namespaces != NULL) + xmlFree((char **) schema->namespaces); + + xmlSchematronFreeRules(schema->rules); + xmlSchematronFreePatterns(schema->patterns); + xmlDictFree(schema->dict); + xmlFree(schema); +} + +/** + * Create an XML Schematrons parse context for that file/resource expected + * to contain an XML Schematrons file. + * + * @param URL the location of the schema + * @returns the parser context or NULL in case of error + */ +xmlSchematronParserCtxt * +xmlSchematronNewParserCtxt(const char *URL) +{ + xmlSchematronParserCtxtPtr ret; + + if (URL == NULL) + return (NULL); + + ret = + (xmlSchematronParserCtxtPtr) + xmlMalloc(sizeof(xmlSchematronParserCtxt)); + if (ret == NULL) { + xmlSchematronPErrMemory(NULL); + return (NULL); + } + memset(ret, 0, sizeof(xmlSchematronParserCtxt)); + ret->type = XML_STRON_CTXT_PARSER; + ret->dict = xmlDictCreate(); + ret->URL = xmlDictLookup(ret->dict, (const xmlChar *) URL, -1); + ret->includes = NULL; + ret->xctxt = xmlXPathNewContext(NULL); + if (ret->xctxt == NULL) { + xmlSchematronPErrMemory(NULL); + xmlSchematronFreeParserCtxt(ret); + return (NULL); + } + ret->xctxt->flags = XML_XPATH_CHECKNS; + return (ret); +} + +/** + * Create an XML Schematrons parse context for that memory buffer expected + * to contain an XML Schematrons file. + * + * @param buffer a pointer to a char array containing the schemas + * @param size the size of the array + * @returns the parser context or NULL in case of error + */ +xmlSchematronParserCtxt * +xmlSchematronNewMemParserCtxt(const char *buffer, int size) +{ + xmlSchematronParserCtxtPtr ret; + + if ((buffer == NULL) || (size <= 0)) + return (NULL); + + ret = + (xmlSchematronParserCtxtPtr) + xmlMalloc(sizeof(xmlSchematronParserCtxt)); + if (ret == NULL) { + xmlSchematronPErrMemory(NULL); + return (NULL); + } + memset(ret, 0, sizeof(xmlSchematronParserCtxt)); + ret->buffer = buffer; + ret->size = size; + ret->dict = xmlDictCreate(); + ret->xctxt = xmlXPathNewContext(NULL); + if (ret->xctxt == NULL) { + xmlSchematronPErrMemory(NULL); + xmlSchematronFreeParserCtxt(ret); + return (NULL); + } + return (ret); +} + +/** + * Create an XML Schematrons parse context for that document. + * NB. The document may be modified during the parsing process. + * + * @param doc a preparsed document tree + * @returns the parser context or NULL in case of error + */ +xmlSchematronParserCtxt * +xmlSchematronNewDocParserCtxt(xmlDoc *doc) +{ + xmlSchematronParserCtxtPtr ret; + + if (doc == NULL) + return (NULL); + + ret = + (xmlSchematronParserCtxtPtr) + xmlMalloc(sizeof(xmlSchematronParserCtxt)); + if (ret == NULL) { + xmlSchematronPErrMemory(NULL); + return (NULL); + } + memset(ret, 0, sizeof(xmlSchematronParserCtxt)); + ret->doc = doc; + ret->dict = xmlDictCreate(); + /* The application has responsibility for the document */ + ret->preserve = 1; + ret->xctxt = xmlXPathNewContext(doc); + if (ret->xctxt == NULL) { + xmlSchematronPErrMemory(NULL); + xmlSchematronFreeParserCtxt(ret); + return (NULL); + } + + return (ret); +} + +/** + * Free the resources associated to the schema parser context + * + * @param ctxt the schema parser context + */ +void +xmlSchematronFreeParserCtxt(xmlSchematronParserCtxt *ctxt) +{ + if (ctxt == NULL) + return; + if (ctxt->doc != NULL && !ctxt->preserve) + xmlFreeDoc(ctxt->doc); + if (ctxt->xctxt != NULL) { + xmlXPathFreeContext(ctxt->xctxt); + } + if (ctxt->namespaces != NULL) + xmlFree((char **) ctxt->namespaces); + xmlDictFree(ctxt->dict); + xmlFree(ctxt); +} + +#if 0 +/** + * Add an included document + * + * @param ctxt the schema parser context + * @param doc the included document + * @param cur the current include node + */ +static void +xmlSchematronPushInclude(xmlSchematronParserCtxtPtr ctxt, + xmlDocPtr doc, xmlNodePtr cur) +{ + if (ctxt->includes == NULL) { + ctxt->maxIncludes = 10; + ctxt->includes = (xmlNodePtr *) + xmlMalloc(ctxt->maxIncludes * 2 * sizeof(xmlNodePtr)); + if (ctxt->includes == NULL) { + xmlSchematronPErrMemory(NULL); + return; + } + ctxt->nbIncludes = 0; + } else if (ctxt->nbIncludes + 2 >= ctxt->maxIncludes) { + xmlNodePtr *tmp; + + tmp = (xmlNodePtr *) xmlGrowArray(ctxt->includes, + 2 * sizeof(xmlNodePtr), &ctxt->maxIncludes, + 10, XML_MAX_ITEMS); + if (tmp == NULL) { + xmlSchematronPErrMemory(NULL); + return; + } + ctxt->includes = tmp; + } + ctxt->includes[2 * ctxt->nbIncludes] = cur; + ctxt->includes[2 * ctxt->nbIncludes + 1] = (xmlNodePtr) doc; + ctxt->nbIncludes++; +} + +/** + * Pop an include level. The included document is being freed + * + * @param ctxt the schema parser context + * @returns the node immediately following the include or NULL if the + * include list was empty. + */ +static xmlNodePtr +xmlSchematronPopInclude(xmlSchematronParserCtxtPtr ctxt) +{ + xmlDocPtr doc; + xmlNodePtr ret; + + if (ctxt->nbIncludes <= 0) + return(NULL); + ctxt->nbIncludes--; + doc = (xmlDocPtr) ctxt->includes[2 * ctxt->nbIncludes + 1]; + ret = ctxt->includes[2 * ctxt->nbIncludes]; + xmlFreeDoc(doc); + if (ret != NULL) + ret = ret->next; + if (ret == NULL) + return(xmlSchematronPopInclude(ctxt)); + return(ret); +} +#endif + +/** + * Add a namespace definition in the context + * + * @param ctxt the schema parser context + * @param prefix the namespace prefix + * @param ns the namespace name + */ +static void +xmlSchematronAddNamespace(xmlSchematronParserCtxtPtr ctxt, + const xmlChar *prefix, const xmlChar *ns) +{ + if (ctxt->namespaces == NULL) { + ctxt->maxNamespaces = 10; + ctxt->namespaces = (const xmlChar **) + xmlMalloc(ctxt->maxNamespaces * 2 * sizeof(const xmlChar *)); + if (ctxt->namespaces == NULL) { + xmlSchematronPErrMemory(NULL); + return; + } + ctxt->nbNamespaces = 0; + } else if (ctxt->nbNamespaces + 2 >= ctxt->maxNamespaces) { + const xmlChar **tmp; + + tmp = (const xmlChar **) xmlGrowArray((xmlChar **) ctxt->namespaces, + 2 * sizeof(const xmlChar *), &ctxt->maxNamespaces, + 10, XML_MAX_ITEMS); + if (tmp == NULL) { + xmlSchematronPErrMemory(NULL); + return; + } + ctxt->namespaces = tmp; + } + ctxt->namespaces[2 * ctxt->nbNamespaces] = + xmlDictLookup(ctxt->dict, ns, -1); + ctxt->namespaces[2 * ctxt->nbNamespaces + 1] = + xmlDictLookup(ctxt->dict, prefix, -1); + ctxt->nbNamespaces++; + ctxt->namespaces[2 * ctxt->nbNamespaces] = NULL; + ctxt->namespaces[2 * ctxt->nbNamespaces + 1] = NULL; + +} + +/** + * Format the message content of the assert or report test + * + * @param ctxt the schema parser context + * @param con the assert or report node + */ +static void +xmlSchematronParseTestReportMsg(xmlSchematronParserCtxtPtr ctxt, xmlNodePtr con) +{ + xmlNodePtr child; + xmlXPathCompExprPtr comp; + + child = con->children; + while (child != NULL) { + if ((child->type == XML_TEXT_NODE) || + (child->type == XML_CDATA_SECTION_NODE)) + /* Do Nothing */ + {} + else if (IS_SCHEMATRON(child, "name")) { + /* Do Nothing */ + } else if (IS_SCHEMATRON(child, "value-of")) { + xmlChar *select; + + select = xmlGetNoNsProp(child, BAD_CAST "select"); + + if (select == NULL) { + xmlSchematronPErr(ctxt, child, + XML_SCHEMAV_ATTRINVALID, + "value-of has no select attribute", + NULL, NULL); + } else { + /* + * try first to compile the test expression + */ + comp = xmlXPathCtxtCompile(ctxt->xctxt, select); + if (comp == NULL) { + xmlSchematronPErr(ctxt, child, + XML_SCHEMAV_ATTRINVALID, + "Failed to compile select expression %s", + select, NULL); + } + xmlXPathFreeCompExpr(comp); + } + xmlFree(select); + } + child = child->next; + } +} + +/** + * parse a rule element + * + * @param ctxt a schema validation context + * @param pattern a pattern + * @param rule the rule node + */ +static void +xmlSchematronParseRule(xmlSchematronParserCtxtPtr ctxt, + xmlSchematronPatternPtr pattern, + xmlNodePtr rule) +{ + xmlNodePtr cur; + int nbChecks = 0; + xmlChar *test; + xmlChar *context; + xmlChar *report; + xmlChar *name; + xmlChar *value; + xmlSchematronRulePtr ruleptr; + xmlSchematronTestPtr testptr; + + if ((ctxt == NULL) || (rule == NULL)) return; + + context = xmlGetNoNsProp(rule, BAD_CAST "context"); + if (context == NULL) { + xmlSchematronPErr(ctxt, rule, + XML_SCHEMAP_NOROOT, + "rule has no context attribute", + NULL, NULL); + return; + } else if (context[0] == 0) { + xmlSchematronPErr(ctxt, rule, + XML_SCHEMAP_NOROOT, + "rule has an empty context attribute", + NULL, NULL); + xmlFree(context); + return; + } else { + ruleptr = xmlSchematronAddRule(ctxt, ctxt->schema, pattern, + rule, context, NULL); + if (ruleptr == NULL) { + xmlFree(context); + return; + } + } + + cur = rule->children; + NEXT_SCHEMATRON(cur); + while (cur != NULL) { + if (IS_SCHEMATRON(cur, "let")) { + xmlXPathCompExprPtr var_comp; + xmlSchematronLetPtr let; + + name = xmlGetNoNsProp(cur, BAD_CAST "name"); + if (name == NULL) { + xmlSchematronPErr(ctxt, cur, + XML_SCHEMAP_NOROOT, + "let has no name attribute", + NULL, NULL); + return; + } else if (name[0] == 0) { + xmlSchematronPErr(ctxt, cur, + XML_SCHEMAP_NOROOT, + "let has an empty name attribute", + NULL, NULL); + xmlFree(name); + return; + } + value = xmlGetNoNsProp(cur, BAD_CAST "value"); + if (value == NULL) { + xmlSchematronPErr(ctxt, cur, + XML_SCHEMAP_NOROOT, + "let has no value attribute", + NULL, NULL); + xmlFree(name); + return; + } else if (value[0] == 0) { + xmlSchematronPErr(ctxt, cur, + XML_SCHEMAP_NOROOT, + "let has an empty value attribute", + NULL, NULL); + xmlFree(name); + xmlFree(value); + return; + } + + var_comp = xmlXPathCtxtCompile(ctxt->xctxt, value); + if (var_comp == NULL) { + xmlSchematronPErr(ctxt, cur, + XML_SCHEMAP_NOROOT, + "Failed to compile let expression %s", + value, NULL); + xmlFree(name); + xmlFree(value); + return; + } + + let = (xmlSchematronLetPtr) xmlMalloc(sizeof(xmlSchematronLet)); + if (let == NULL) { + xmlSchematronPErrMemory(ctxt); + xmlFree(name); + xmlFree(value); + xmlXPathFreeCompExpr(var_comp); + return; + } + let->name = name; + let->comp = var_comp; + let->next = NULL; + + /* add new let variable to the beginning of the list */ + if (ruleptr->lets != NULL) { + let->next = ruleptr->lets; + } + ruleptr->lets = let; + + xmlFree(value); + } else if (IS_SCHEMATRON(cur, "assert")) { + nbChecks++; + test = xmlGetNoNsProp(cur, BAD_CAST "test"); + if (test == NULL) { + xmlSchematronPErr(ctxt, cur, + XML_SCHEMAP_NOROOT, + "assert has no test attribute", + NULL, NULL); + } else if (test[0] == 0) { + xmlSchematronPErr(ctxt, cur, + XML_SCHEMAP_NOROOT, + "assert has an empty test attribute", + NULL, NULL); + xmlFree(test); + } else { + xmlSchematronParseTestReportMsg(ctxt, cur); + report = xmlNodeGetContent(cur); + + testptr = xmlSchematronAddTest(ctxt, XML_SCHEMATRON_ASSERT, + ruleptr, cur, test, report); + if (testptr == NULL) { + xmlFree(test); + xmlFree(report); + } + } + } else if (IS_SCHEMATRON(cur, "report")) { + nbChecks++; + test = xmlGetNoNsProp(cur, BAD_CAST "test"); + if (test == NULL) { + xmlSchematronPErr(ctxt, cur, + XML_SCHEMAP_NOROOT, + "assert has no test attribute", + NULL, NULL); + } else if (test[0] == 0) { + xmlSchematronPErr(ctxt, cur, + XML_SCHEMAP_NOROOT, + "assert has an empty test attribute", + NULL, NULL); + xmlFree(test); + } else { + xmlSchematronParseTestReportMsg(ctxt, cur); + report = xmlNodeGetContent(cur); + + testptr = xmlSchematronAddTest(ctxt, XML_SCHEMATRON_REPORT, + ruleptr, cur, test, report); + if (testptr == NULL) { + xmlFree(test); + xmlFree(report); + } + } + } else { + xmlSchematronPErr(ctxt, cur, + XML_SCHEMAP_NOROOT, + "Expecting an assert or a report element instead of %s", + cur->name, NULL); + } + cur = cur->next; + NEXT_SCHEMATRON(cur); + } + if (nbChecks == 0) { + xmlSchematronPErr(ctxt, rule, + XML_SCHEMAP_NOROOT, + "rule has no assert nor report element", NULL, NULL); + } +} + +/** + * parse a pattern element + * + * @param ctxt a schema validation context + * @param pat the pattern node + */ +static void +xmlSchematronParsePattern(xmlSchematronParserCtxtPtr ctxt, xmlNodePtr pat) +{ + xmlNodePtr cur; + xmlSchematronPatternPtr pattern; + int nbRules = 0; + xmlChar *id; + + if ((ctxt == NULL) || (pat == NULL)) return; + + id = xmlGetNoNsProp(pat, BAD_CAST "id"); + if (id == NULL) { + id = xmlGetNoNsProp(pat, BAD_CAST "name"); + } + pattern = xmlSchematronAddPattern(ctxt, ctxt->schema, pat, id); + if (pattern == NULL) { + if (id != NULL) + xmlFree(id); + return; + } + cur = pat->children; + NEXT_SCHEMATRON(cur); + while (cur != NULL) { + if (IS_SCHEMATRON(cur, "rule")) { + xmlSchematronParseRule(ctxt, pattern, cur); + nbRules++; + } else { + xmlSchematronPErr(ctxt, cur, + XML_SCHEMAP_NOROOT, + "Expecting a rule element instead of %s", cur->name, NULL); + } + cur = cur->next; + NEXT_SCHEMATRON(cur); + } + if (nbRules == 0) { + xmlSchematronPErr(ctxt, pat, + XML_SCHEMAP_NOROOT, + "Pattern has no rule element", NULL, NULL); + } +} + +#if 0 +/** + * Load the include document, Push the current pointer + * + * @param ctxt a schema validation context + * @param cur the include element + * @returns the updated node pointer + */ +static xmlNodePtr +xmlSchematronLoadInclude(xmlSchematronParserCtxtPtr ctxt, xmlNodePtr cur) +{ + xmlNodePtr ret = NULL; + xmlDocPtr doc = NULL; + xmlChar *href = NULL; + xmlChar *base = NULL; + xmlChar *URI = NULL; + + if ((ctxt == NULL) || (cur == NULL)) + return(NULL); + + href = xmlGetNoNsProp(cur, BAD_CAST "href"); + if (href == NULL) { + xmlSchematronPErr(ctxt, cur, + XML_SCHEMAP_NOROOT, + "Include has no href attribute", NULL, NULL); + return(cur->next); + } + + /* do the URI base composition, load and find the root */ + base = xmlNodeGetBase(cur->doc, cur); + URI = xmlBuildURI(href, base); + doc = xmlReadFile((const char *) URI, NULL, SCHEMATRON_PARSE_OPTIONS); + if (doc == NULL) { + xmlSchematronPErr(ctxt, cur, + XML_SCHEMAP_FAILED_LOAD, + "could not load include '%s'.\n", + URI, NULL); + goto done; + } + ret = xmlDocGetRootElement(doc); + if (ret == NULL) { + xmlSchematronPErr(ctxt, cur, + XML_SCHEMAP_FAILED_LOAD, + "could not find root from include '%s'.\n", + URI, NULL); + goto done; + } + + /* Success, push the include for rollback on exit */ + xmlSchematronPushInclude(ctxt, doc, cur); + +done: + if (ret == NULL) { + if (doc != NULL) + xmlFreeDoc(doc); + } + xmlFree(href); + if (base != NULL) + xmlFree(base); + if (URI != NULL) + xmlFree(URI); + return(ret); +} +#endif + +/** + * parse a schema definition resource and build an internal + * XML Schema structure which can be used to validate instances. + * + * @param ctxt a schema validation context + * @returns the internal XML Schematron structure built from the resource or + * NULL in case of error + */ +xmlSchematron * +xmlSchematronParse(xmlSchematronParserCtxt *ctxt) +{ + xmlSchematronPtr ret = NULL; + xmlDocPtr doc; + xmlNodePtr root, cur; + int preserve = 0; + + if (ctxt == NULL) + return (NULL); + + ctxt->nberrors = 0; + + /* + * First step is to parse the input document into an DOM/Infoset + */ + if (ctxt->URL != NULL) { + doc = xmlReadFile((const char *) ctxt->URL, NULL, + SCHEMATRON_PARSE_OPTIONS); + if (doc == NULL) { + xmlSchematronPErr(ctxt, NULL, + XML_SCHEMAP_FAILED_LOAD, + "xmlSchematronParse: could not load '%s'.\n", + ctxt->URL, NULL); + return (NULL); + } + ctxt->preserve = 0; + } else if (ctxt->buffer != NULL) { + doc = xmlReadMemory(ctxt->buffer, ctxt->size, NULL, NULL, + SCHEMATRON_PARSE_OPTIONS); + if (doc == NULL) { + xmlSchematronPErr(ctxt, NULL, + XML_SCHEMAP_FAILED_PARSE, + "xmlSchematronParse: could not parse.\n", + NULL, NULL); + return (NULL); + } + doc->URL = xmlStrdup(BAD_CAST "in_memory_buffer"); + ctxt->URL = xmlDictLookup(ctxt->dict, BAD_CAST "in_memory_buffer", -1); + ctxt->preserve = 0; + } else if (ctxt->doc != NULL) { + doc = ctxt->doc; + preserve = 1; + ctxt->preserve = 1; + } else { + xmlSchematronPErr(ctxt, NULL, + XML_SCHEMAP_NOTHING_TO_PARSE, + "xmlSchematronParse: could not parse.\n", + NULL, NULL); + return (NULL); + } + + /* + * Then extract the root and Schematron parse it + */ + root = xmlDocGetRootElement(doc); + if (root == NULL) { + xmlSchematronPErr(ctxt, (xmlNodePtr) doc, + XML_SCHEMAP_NOROOT, + "The schema has no document element.\n", NULL, NULL); + if (!preserve) { + xmlFreeDoc(doc); + } + return (NULL); + } + + if (!IS_SCHEMATRON(root, "schema")) { + xmlSchematronPErr(ctxt, root, + XML_SCHEMAP_NOROOT, + "The XML document '%s' is not a XML schematron document", + ctxt->URL, NULL); + goto exit; + } + ret = xmlSchematronNewSchematron(ctxt); + if (ret == NULL) + goto exit; + ctxt->schema = ret; + + /* + * scan the schema elements + */ + cur = root->children; + NEXT_SCHEMATRON(cur); + if (IS_SCHEMATRON(cur, "title")) { + xmlChar *title = xmlNodeGetContent(cur); + if (title != NULL) { + ret->title = xmlDictLookup(ret->dict, title, -1); + xmlFree(title); + } + cur = cur->next; + NEXT_SCHEMATRON(cur); + } + while (IS_SCHEMATRON(cur, "ns")) { + xmlChar *prefix = xmlGetNoNsProp(cur, BAD_CAST "prefix"); + xmlChar *uri = xmlGetNoNsProp(cur, BAD_CAST "uri"); + if ((uri == NULL) || (uri[0] == 0)) { + xmlSchematronPErr(ctxt, cur, + XML_SCHEMAP_NOROOT, + "ns element has no uri", NULL, NULL); + } + if ((prefix == NULL) || (prefix[0] == 0)) { + xmlSchematronPErr(ctxt, cur, + XML_SCHEMAP_NOROOT, + "ns element has no prefix", NULL, NULL); + } + if ((prefix) && (uri)) { + xmlXPathRegisterNs(ctxt->xctxt, prefix, uri); + xmlSchematronAddNamespace(ctxt, prefix, uri); + ret->nbNs++; + } + if (uri) + xmlFree(uri); + if (prefix) + xmlFree(prefix); + cur = cur->next; + NEXT_SCHEMATRON(cur); + } + while (cur != NULL) { + if (IS_SCHEMATRON(cur, "pattern")) { + xmlSchematronParsePattern(ctxt, cur); + ret->nbPattern++; + } else { + xmlSchematronPErr(ctxt, cur, + XML_SCHEMAP_NOROOT, + "Expecting a pattern element instead of %s", cur->name, NULL); + } + cur = cur->next; + NEXT_SCHEMATRON(cur); + } + if (ret->nbPattern == 0) { + xmlSchematronPErr(ctxt, root, + XML_SCHEMAP_NOROOT, + "The schematron document '%s' has no pattern", + ctxt->URL, NULL); + goto exit; + } + /* the original document must be kept for reporting */ + ret->doc = doc; + if (preserve) { + ret->preserve = 1; + } + preserve = 1; + +exit: + if (!preserve) { + xmlFreeDoc(doc); + } + if (ret != NULL) { + if (ctxt->nberrors != 0) { + xmlSchematronFree(ret); + ret = NULL; + } else { + ret->namespaces = ctxt->namespaces; + ret->nbNamespaces = ctxt->nbNamespaces; + ctxt->namespaces = NULL; + } + } + return (ret); +} + +/************************************************************************ + * * + * Schematrontron Reports handler * + * * + ************************************************************************/ + +static xmlXPathObjectPtr +xmlSchematronGetNode(xmlSchematronValidCtxtPtr ctxt, + xmlNodePtr cur, const xmlChar *xpath) { + if ((ctxt == NULL) || (cur == NULL) || (xpath == NULL)) + return(NULL); + + ctxt->xctxt->doc = cur->doc; + ctxt->xctxt->node = cur; + return(xmlXPathEval(xpath, ctxt->xctxt)); +} + +/** + * Output part of the report to whatever channel the user selected + * + * @param ctxt the validation context + * @param cur the current node tested + * @param msg the message output + */ +static void +xmlSchematronReportOutput(xmlSchematronValidCtxtPtr ctxt ATTRIBUTE_UNUSED, + xmlNodePtr cur ATTRIBUTE_UNUSED, + const char *msg) { + /* TODO */ + xmlPrintErrorMessage("%s", msg); +} + +/** + * Build the string being reported to the user. + * + * @param ctxt the validation context + * @param test the test node + * @param cur the current node tested + * @returns a report string or NULL in case of error. The string needs + * to be deallocated by the caller + */ +static xmlChar * +xmlSchematronFormatReport(xmlSchematronValidCtxtPtr ctxt, + xmlNodePtr test, xmlNodePtr cur) { + xmlChar *ret = NULL; + xmlNodePtr child, node; + xmlXPathCompExprPtr comp; + + if ((test == NULL) || (cur == NULL)) + return(ret); + + child = test->children; + while (child != NULL) { + if ((child->type == XML_TEXT_NODE) || + (child->type == XML_CDATA_SECTION_NODE)) + ret = xmlStrcat(ret, child->content); + else if (IS_SCHEMATRON(child, "name")) { + xmlXPathObject *obj = NULL; + xmlChar *path; + + path = xmlGetNoNsProp(child, BAD_CAST "path"); + + node = cur; + if (path != NULL) { + obj = xmlSchematronGetNode(ctxt, cur, path); + if ((obj != NULL) && + (obj->type == XPATH_NODESET) && + (obj->nodesetval != NULL) && + (obj->nodesetval->nodeNr > 0)) + node = obj->nodesetval->nodeTab[0]; + xmlFree(path); + } + + switch (node->type) { + case XML_ELEMENT_NODE: + case XML_ATTRIBUTE_NODE: + if ((node->ns == NULL) || (node->ns->prefix == NULL)) + ret = xmlStrcat(ret, node->name); + else { + ret = xmlStrcat(ret, node->ns->prefix); + ret = xmlStrcat(ret, BAD_CAST ":"); + ret = xmlStrcat(ret, node->name); + } + break; + + /* TODO: handle other node types */ + default: + break; + } + + xmlXPathFreeObject(obj); + } else if (IS_SCHEMATRON(child, "value-of")) { + xmlChar *select; + xmlXPathObjectPtr eval; + + select = xmlGetNoNsProp(child, BAD_CAST "select"); + comp = xmlXPathCtxtCompile(ctxt->xctxt, select); + eval = xmlXPathCompiledEval(comp, ctxt->xctxt); + if (eval == NULL) { + xmlXPathFreeCompExpr(comp); + xmlFree(select); + return ret; + } + + switch (eval->type) { + case XPATH_NODESET: { + int indx; + xmlChar *spacer = BAD_CAST " "; + + if (eval->nodesetval) { + for (indx = 0; indx < eval->nodesetval->nodeNr; indx++) { + if (indx > 0) + ret = xmlStrcat(ret, spacer); + ret = xmlStrcat(ret, eval->nodesetval->nodeTab[indx]->name); + } + } + break; + } + case XPATH_BOOLEAN: { + const char *str = eval->boolval ? "True" : "False"; + ret = xmlStrcat(ret, BAD_CAST str); + break; + } + case XPATH_NUMBER: { + xmlChar *buf; + int size; + + size = snprintf(NULL, 0, "%0g", eval->floatval); + buf = (xmlChar *) xmlMalloc(size + 1); + if (buf != NULL) { + snprintf((char *) buf, size + 1, "%0g", eval->floatval); + ret = xmlStrcat(ret, buf); + xmlFree(buf); + } + break; + } + case XPATH_STRING: + ret = xmlStrcat(ret, eval->stringval); + break; + default: + xmlSchematronVErr(ctxt, XML_ERR_INTERNAL_ERROR, + "Unsupported XPATH Type\n", NULL); + } + xmlXPathFreeObject(eval); + xmlXPathFreeCompExpr(comp); + xmlFree(select); + } else { + child = child->next; + continue; + } + + /* + * remove superfluous \n + */ + if (ret != NULL) { + int len = xmlStrlen(ret); + xmlChar c; + + if (len > 0) { + c = ret[len - 1]; + if ((c == ' ') || (c == '\n') || (c == '\r') || (c == '\t')) { + while ((c == ' ') || (c == '\n') || + (c == '\r') || (c == '\t')) { + len--; + if (len == 0) + break; + c = ret[len - 1]; + } + ret[len] = ' '; + ret[len + 1] = 0; + } + } + } + + child = child->next; + } + return(ret); +} + +/** + * called from the validation engine when an assert or report test have + * been done. + * + * @param ctxt the validation context + * @param test the compiled test + * @param cur the current node tested + * @param pattern a pattern + * @param success boolean value for the result + */ +static void +xmlSchematronReportSuccess(xmlSchematronValidCtxtPtr ctxt, + xmlSchematronTestPtr test, xmlNodePtr cur, xmlSchematronPatternPtr pattern, int success) { + if ((ctxt == NULL) || (cur == NULL) || (test == NULL)) + return; + /* if quiet and not SVRL report only failures */ + if ((ctxt->flags & XML_SCHEMATRON_OUT_QUIET) && + ((ctxt->flags & XML_SCHEMATRON_OUT_XML) == 0) && + (test->type == XML_SCHEMATRON_REPORT)) + return; + if (ctxt->flags & XML_SCHEMATRON_OUT_XML) { + /* TODO */ + } else { + xmlChar *path; + char msg[1000]; + long line; + const xmlChar *report = NULL; + + if (((test->type == XML_SCHEMATRON_REPORT) && (!success)) || + ((test->type == XML_SCHEMATRON_ASSERT) && (success))) + return; + line = xmlGetLineNo(cur); + path = xmlGetNodePath(cur); + if (path == NULL) + path = (xmlChar *) cur->name; +#if 0 + if ((test->report != NULL) && (test->report[0] != 0)) + report = test->report; +#endif + if (test->node != NULL) + report = xmlSchematronFormatReport(ctxt, test->node, cur); + if (report == NULL) { + if (test->type == XML_SCHEMATRON_ASSERT) { + report = xmlStrdup((const xmlChar *) "node failed assert"); + } else { + report = xmlStrdup((const xmlChar *) "node failed report"); + } + } + snprintf(msg, 999, "%s line %ld: %s\n", (const char *) path, + line, (const char *) report); + + if (ctxt->flags & XML_SCHEMATRON_OUT_ERROR) { + xmlStructuredErrorFunc schannel; + xmlGenericErrorFunc channel; + void *data; + int res; + + schannel = ctxt->serror; + channel = ctxt->error; + data = ctxt->userData; + + if ((channel == NULL) && (schannel == NULL)) { + channel = xmlGenericError; + data = xmlGenericErrorContext; + } + + res = xmlRaiseError(schannel, channel, data, NULL, cur, + XML_FROM_SCHEMATRONV, + (test->type == XML_SCHEMATRON_ASSERT) ? + XML_SCHEMATRONV_ASSERT : + XML_SCHEMATRONV_REPORT, + XML_ERR_ERROR, NULL, line, + (pattern == NULL) ? + NULL : + (const char *) pattern->name, + (const char *) path, (const char *) report, 0, 0, + "%s", msg); + if (res < 0) + xmlSchematronVErrMemory(ctxt); + } else { + xmlSchematronReportOutput(ctxt, cur, &msg[0]); + } + + xmlFree((char *) report); + + if ((path != NULL) && (path != (xmlChar *) cur->name)) + xmlFree(path); + } +} + +/** + * called from the validation engine when starting to check a pattern + * + * @param ctxt the validation context + * @param pattern the current pattern + */ +static void +xmlSchematronReportPattern(xmlSchematronValidCtxtPtr ctxt, + xmlSchematronPatternPtr pattern) { + if ((ctxt == NULL) || (pattern == NULL)) + return; + if ((ctxt->flags & XML_SCHEMATRON_OUT_QUIET) || (ctxt->flags & XML_SCHEMATRON_OUT_ERROR)) /* Error gives pattern name as part of error */ + return; + if (ctxt->flags & XML_SCHEMATRON_OUT_XML) { + /* TODO */ + } else { + char msg[1000]; + + if (pattern->name == NULL) + return; + snprintf(msg, 999, "Pattern: %s\n", (const char *) pattern->name); + xmlSchematronReportOutput(ctxt, NULL, &msg[0]); + } +} + + +/************************************************************************ + * * + * Validation against a Schematrontron * + * * + ************************************************************************/ + +/** + * Set the structured error callback + * + * @param ctxt a Schematron validation context + * @param serror the structured error function + * @param ctx the functions context + */ +void +xmlSchematronSetValidStructuredErrors(xmlSchematronValidCtxt *ctxt, + xmlStructuredErrorFunc serror, void *ctx) +{ + if (ctxt == NULL) + return; + ctxt->serror = serror; + ctxt->error = NULL; + ctxt->warning = NULL; + ctxt->userData = ctx; +} + +/** + * Create an XML Schematrons validation context based on the given schema. + * + * @param schema a precompiled XML Schematrons + * @param options a set of xmlSchematronValidOptions + * @returns the validation context or NULL in case of error + */ +xmlSchematronValidCtxt * +xmlSchematronNewValidCtxt(xmlSchematron *schema, int options) +{ + int i; + xmlSchematronValidCtxtPtr ret; + + if (schema == NULL) + return(NULL); + + ret = (xmlSchematronValidCtxtPtr) xmlMalloc(sizeof(xmlSchematronValidCtxt)); + if (ret == NULL) { + xmlSchematronVErrMemory(NULL); + return (NULL); + } + memset(ret, 0, sizeof(xmlSchematronValidCtxt)); + ret->type = XML_STRON_CTXT_VALIDATOR; + ret->schema = schema; + ret->xctxt = xmlXPathNewContext(NULL); + ret->flags = options; + if (ret->xctxt == NULL) { + xmlSchematronPErrMemory(NULL); + xmlSchematronFreeValidCtxt(ret); + return (NULL); + } + for (i = 0;i < schema->nbNamespaces;i++) { + if ((schema->namespaces[2 * i] == NULL) || + (schema->namespaces[2 * i + 1] == NULL)) + break; + xmlXPathRegisterNs(ret->xctxt, schema->namespaces[2 * i + 1], + schema->namespaces[2 * i]); + } + return (ret); +} + +/** + * Free the resources associated to the schema validation context + * + * @param ctxt the schema validation context + */ +void +xmlSchematronFreeValidCtxt(xmlSchematronValidCtxt *ctxt) +{ + if (ctxt == NULL) + return; + if (ctxt->xctxt != NULL) + xmlXPathFreeContext(ctxt->xctxt); + if (ctxt->dict != NULL) + xmlDictFree(ctxt->dict); + xmlFree(ctxt); +} + +static xmlNodePtr +xmlSchematronNextNode(xmlNodePtr cur) { + if (cur->children != NULL) { + /* + * Do not descend on entities declarations + */ + if (cur->children->type != XML_ENTITY_DECL) { + cur = cur->children; + /* + * Skip DTDs + */ + if (cur->type != XML_DTD_NODE) + return(cur); + } + } + + while (cur->next != NULL) { + cur = cur->next; + if ((cur->type != XML_ENTITY_DECL) && + (cur->type != XML_DTD_NODE)) + return(cur); + } + + do { + cur = cur->parent; + if (cur == NULL) break; + if (cur->type == XML_DOCUMENT_NODE) return(NULL); + if (cur->next != NULL) { + cur = cur->next; + return(cur); + } + } while (cur != NULL); + return(cur); +} + +/** + * Validate a rule against a tree instance at a given position + * + * @param ctxt the schema validation context + * @param test the current test + * @param instance the document instance tree + * @param cur the current node in the instance + * @param pattern a pattern + * @returns 1 in case of success, 0 if error and -1 in case of internal error + */ +static int +xmlSchematronRunTest(xmlSchematronValidCtxtPtr ctxt, + xmlSchematronTestPtr test, xmlDocPtr instance, xmlNodePtr cur, xmlSchematronPatternPtr pattern) +{ + xmlXPathObjectPtr ret; + int failed; + + failed = 0; + ctxt->xctxt->doc = instance; + ctxt->xctxt->node = cur; + ret = xmlXPathCompiledEval(test->comp, ctxt->xctxt); + if (ret == NULL) { + failed = 1; + } else { + switch (ret->type) { + case XPATH_XSLT_TREE: + case XPATH_NODESET: + if ((ret->nodesetval == NULL) || + (ret->nodesetval->nodeNr == 0)) + failed = 1; + break; + case XPATH_BOOLEAN: + failed = !ret->boolval; + break; + case XPATH_NUMBER: + if ((xmlXPathIsNaN(ret->floatval)) || + (ret->floatval == 0.0)) + failed = 1; + break; + case XPATH_STRING: + if ((ret->stringval == NULL) || + (ret->stringval[0] == 0)) + failed = 1; + break; + case XPATH_UNDEFINED: + case XPATH_USERS: + failed = 1; + break; + } + xmlXPathFreeObject(ret); + } + if ((failed) && (test->type == XML_SCHEMATRON_ASSERT)) + ctxt->nberrors++; + else if ((!failed) && (test->type == XML_SCHEMATRON_REPORT)) + ctxt->nberrors++; + + xmlSchematronReportSuccess(ctxt, test, cur, pattern, !failed); + + return(!failed); +} + +/** + * Registers a list of let variables to the current context of `cur` + * + * @param vctxt the schema validation context + * @param ctxt an XPath context + * @param let the list of let variables + * @param instance the document instance tree + * @param cur the current node + * @returns -1 in case of errors, otherwise 0 + */ +static int +xmlSchematronRegisterVariables(xmlSchematronValidCtxtPtr vctxt, + xmlXPathContextPtr ctxt, + xmlSchematronLetPtr let, + xmlDocPtr instance, xmlNodePtr cur) +{ + xmlXPathObjectPtr let_eval; + + ctxt->doc = instance; + ctxt->node = cur; + while (let != NULL) { + let_eval = xmlXPathCompiledEval(let->comp, ctxt); + if (let_eval == NULL) { + xmlSchematronVErr(vctxt, XML_ERR_INTERNAL_ERROR, + "Evaluation of compiled expression failed\n", + NULL); + return -1; + } + if(xmlXPathRegisterVariableNS(ctxt, let->name, NULL, let_eval)) { + xmlSchematronVErr(vctxt, XML_ERR_INTERNAL_ERROR, + "Registering a let variable failed\n", NULL); + return -1; + } + let = let->next; + } + return 0; +} + +/** + * Unregisters a list of let variables from the context + * + * @param vctxt the schema validation context + * @param ctxt an XPath context + * @param let the list of let variables + * @returns -1 in case of errors, otherwise 0 + */ +static int +xmlSchematronUnregisterVariables(xmlSchematronValidCtxtPtr vctxt, + xmlXPathContextPtr ctxt, + xmlSchematronLetPtr let) +{ + while (let != NULL) { + if (xmlXPathRegisterVariableNS(ctxt, let->name, NULL, NULL)) { + xmlSchematronVErr(vctxt, XML_ERR_INTERNAL_ERROR, + "Unregistering a let variable failed\n", NULL); + return -1; + } + let = let->next; + } + return 0; +} + +/** + * Validate a tree instance against the schematron + * + * @param ctxt the schema validation context + * @param instance the document instance tree + * @returns 0 in case of success, -1 in case of internal error + * and an error count otherwise. + */ +int +xmlSchematronValidateDoc(xmlSchematronValidCtxt *ctxt, xmlDoc *instance) +{ + xmlNodePtr cur, root; + xmlSchematronPatternPtr pattern; + xmlSchematronRulePtr rule; + xmlSchematronTestPtr test; + + if ((ctxt == NULL) || (ctxt->schema == NULL) || + (ctxt->schema->rules == NULL) || (instance == NULL)) + return(-1); + ctxt->nberrors = 0; + root = xmlDocGetRootElement(instance); + if (root == NULL) { + /* TODO */ + ctxt->nberrors++; + return(1); + } + if ((ctxt->flags & XML_SCHEMATRON_OUT_QUIET) || + (ctxt->flags == 0)) { + /* + * we are just trying to assert the validity of the document, + * speed primes over the output, run in a single pass + */ + cur = root; + while (cur != NULL) { + rule = ctxt->schema->rules; + while (rule != NULL) { + if (xmlPatternMatch(rule->pattern, cur) == 1) { + test = rule->tests; + + if (xmlSchematronRegisterVariables(ctxt, ctxt->xctxt, + rule->lets, instance, cur)) + return -1; + + while (test != NULL) { + xmlSchematronRunTest(ctxt, test, instance, cur, (xmlSchematronPatternPtr)rule->pattern); + test = test->next; + } + + if (xmlSchematronUnregisterVariables(ctxt, ctxt->xctxt, + rule->lets)) + return -1; + + } + rule = rule->next; + } + + cur = xmlSchematronNextNode(cur); + } + } else { + /* + * Process all contexts one at a time + */ + pattern = ctxt->schema->patterns; + + while (pattern != NULL) { + xmlSchematronReportPattern(ctxt, pattern); + + /* + * TODO convert the pattern rule to a direct XPath and + * compute directly instead of using the pattern matching + * over the full document... + * Check the exact semantic + */ + cur = root; + while (cur != NULL) { + rule = pattern->rules; + while (rule != NULL) { + if (xmlPatternMatch(rule->pattern, cur) == 1) { + test = rule->tests; + xmlSchematronRegisterVariables(ctxt, ctxt->xctxt, + rule->lets, instance, cur); + + while (test != NULL) { + xmlSchematronRunTest(ctxt, test, instance, cur, pattern); + test = test->next; + } + + xmlSchematronUnregisterVariables(ctxt, ctxt->xctxt, + rule->lets); + } + rule = rule->patnext; + } + + cur = xmlSchematronNextNode(cur); + } + pattern = pattern->next; + } + } + return(ctxt->nberrors); +} + +#endif /* LIBXML_SCHEMATRON_ENABLED */ diff --git a/libxml2/shell.c b/libxml2/shell.c new file mode 100644 index 0000000..67f61c3 --- /dev/null +++ b/libxml2/shell.c @@ -0,0 +1,1598 @@ +/* + * shell.c: The xmllint shell + * + * See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#include "libxml.h" + +#include +#include +#include + +#ifdef _WIN32 + #include +#else + #include +#endif + +#ifdef HAVE_LIBREADLINE +#include +#ifdef HAVE_LIBHISTORY +#include +#endif +#endif + +#include +#include +#include +#include +#include +#include +#ifdef LIBXML_RELAXNG_ENABLED +#include +#endif + +#include "private/lint.h" + +#ifndef STDIN_FILENO + #define STDIN_FILENO 0 +#endif + +/* + * TODO: Improvement/cleanups for the XML shell + * - allow to shell out an editor on a subpart + * - cleanup function registrations (with help) and calling + * - provide registration routines + */ + +typedef struct _xmllintShellCtxt xmllintShellCtxt; +typedef xmllintShellCtxt *xmllintShellCtxtPtr; +struct _xmllintShellCtxt { + char *filename; + xmlDocPtr doc; + xmlNodePtr node; +#ifdef LIBXML_XPATH_ENABLED + xmlXPathContextPtr pctxt; +#endif + int loaded; + FILE *output; +}; + +/** + * Count the children of `node`. + * + * @param node the node to count + * @returns the number of children of `node`. + */ +static int +xmllintLsCountNode(xmlNodePtr node) { + int ret = 0; + xmlNodePtr list = NULL; + + if (node == NULL) + return(0); + + switch (node->type) { + case XML_ELEMENT_NODE: + list = node->children; + break; + case XML_DOCUMENT_NODE: + case XML_HTML_DOCUMENT_NODE: + list = ((xmlDocPtr) node)->children; + break; + case XML_ATTRIBUTE_NODE: + list = ((xmlAttrPtr) node)->children; + break; + case XML_TEXT_NODE: + case XML_CDATA_SECTION_NODE: + case XML_PI_NODE: + case XML_COMMENT_NODE: + if (node->content != NULL) { + ret = xmlStrlen(node->content); + } + break; + case XML_ENTITY_REF_NODE: + case XML_DOCUMENT_TYPE_NODE: + case XML_ENTITY_NODE: + case XML_DOCUMENT_FRAG_NODE: + case XML_NOTATION_NODE: + case XML_DTD_NODE: + case XML_ELEMENT_DECL: + case XML_ATTRIBUTE_DECL: + case XML_ENTITY_DECL: + case XML_NAMESPACE_DECL: + case XML_XINCLUDE_START: + case XML_XINCLUDE_END: + ret = 1; + break; + } + for (;list != NULL;ret++) + list = list->next; + return(ret); +} + +/** + * Dump to `output` the type and name of `node`. + * + * @param output the FILE * for the output + * @param node the node to dump + */ +static void +xmllintLsOneNode(FILE *output, xmlNodePtr node) { + if (output == NULL) return; + if (node == NULL) { + fprintf(output, "NULL\n"); + return; + } + switch (node->type) { + case XML_ELEMENT_NODE: + fprintf(output, "-"); + break; + case XML_ATTRIBUTE_NODE: + fprintf(output, "a"); + break; + case XML_TEXT_NODE: + fprintf(output, "t"); + break; + case XML_CDATA_SECTION_NODE: + fprintf(output, "C"); + break; + case XML_ENTITY_REF_NODE: + fprintf(output, "e"); + break; + case XML_ENTITY_NODE: + fprintf(output, "E"); + break; + case XML_PI_NODE: + fprintf(output, "p"); + break; + case XML_COMMENT_NODE: + fprintf(output, "c"); + break; + case XML_DOCUMENT_NODE: + fprintf(output, "d"); + break; + case XML_HTML_DOCUMENT_NODE: + fprintf(output, "h"); + break; + case XML_DOCUMENT_TYPE_NODE: + fprintf(output, "T"); + break; + case XML_DOCUMENT_FRAG_NODE: + fprintf(output, "F"); + break; + case XML_NOTATION_NODE: + fprintf(output, "N"); + break; + case XML_NAMESPACE_DECL: + fprintf(output, "n"); + break; + default: + fprintf(output, "?"); + } + if (node->type != XML_NAMESPACE_DECL) { + if (node->properties != NULL) + fprintf(output, "a"); + else + fprintf(output, "-"); + if (node->nsDef != NULL) + fprintf(output, "n"); + else + fprintf(output, "-"); + } + + fprintf(output, " %8d ", xmllintLsCountNode(node)); + + switch (node->type) { + case XML_ELEMENT_NODE: + if (node->name != NULL) { + if ((node->ns != NULL) && (node->ns->prefix != NULL)) + fprintf(output, "%s:", node->ns->prefix); + fprintf(output, "%s", (const char *) node->name); + } + break; + case XML_ATTRIBUTE_NODE: + if (node->name != NULL) + fprintf(output, "%s", (const char *) node->name); + break; + case XML_TEXT_NODE: +#ifdef LIBXML_DEBUG_ENABLED + if (node->content != NULL) { + xmlDebugDumpString(output, node->content); + } +#endif + break; + case XML_CDATA_SECTION_NODE: + break; + case XML_ENTITY_REF_NODE: + if (node->name != NULL) + fprintf(output, "%s", (const char *) node->name); + break; + case XML_ENTITY_NODE: + if (node->name != NULL) + fprintf(output, "%s", (const char *) node->name); + break; + case XML_PI_NODE: + if (node->name != NULL) + fprintf(output, "%s", (const char *) node->name); + break; + case XML_COMMENT_NODE: + break; + case XML_DOCUMENT_NODE: + break; + case XML_HTML_DOCUMENT_NODE: + break; + case XML_DOCUMENT_TYPE_NODE: + break; + case XML_DOCUMENT_FRAG_NODE: + break; + case XML_NOTATION_NODE: + break; + case XML_NAMESPACE_DECL: { + xmlNsPtr ns = (xmlNsPtr) node; + + if (ns->prefix == NULL) + fprintf(output, "default -> %s", (char *)ns->href); + else + fprintf(output, "%s -> %s", (char *)ns->prefix, + (char *)ns->href); + break; + } + default: + if (node->name != NULL) + fprintf(output, "%s", (const char *) node->name); + } + fprintf(output, "\n"); +} + +/** + * Implements the XML shell function "ls" + * Does an Unix like listing of the given node (like a directory) + * + * @param ctxt the shell context + * @param arg unused + * @param node a node + * @param node2 unused + * @returns 0 + */ +static int +xmllintShellList(xmllintShellCtxtPtr ctxt, + char *arg ATTRIBUTE_UNUSED, xmlNodePtr node, + xmlNodePtr node2 ATTRIBUTE_UNUSED) +{ + xmlNodePtr cur; + if (!ctxt) + return (0); + if (node == NULL) { + fprintf(ctxt->output, "NULL\n"); + return (0); + } + if ((node->type == XML_DOCUMENT_NODE) || + (node->type == XML_HTML_DOCUMENT_NODE)) { + cur = ((xmlDocPtr) node)->children; + } else if (node->type == XML_NAMESPACE_DECL) { + xmllintLsOneNode(ctxt->output, node); + return (0); + } else if (node->children != NULL) { + cur = node->children; + } else { + xmllintLsOneNode(ctxt->output, node); + return (0); + } + while (cur != NULL) { + xmllintLsOneNode(ctxt->output, cur); + cur = cur->next; + } + return (0); +} + +/** + * Implements the XML shell function "base" + * dumps the current XML base of the node + * + * @param ctxt the shell context + * @param arg unused + * @param node a node + * @param node2 unused + * @returns 0 + */ +static int +xmllintShellBase(xmllintShellCtxtPtr ctxt, + char *arg ATTRIBUTE_UNUSED, xmlNodePtr node, + xmlNodePtr node2 ATTRIBUTE_UNUSED) +{ + xmlChar *base; + if (!ctxt) + return 0; + if (node == NULL) { + fprintf(ctxt->output, "NULL\n"); + return (0); + } + + base = xmlNodeGetBase(node->doc, node); + + if (base == NULL) { + fprintf(ctxt->output, " No base found !!!\n"); + } else { + fprintf(ctxt->output, "%s\n", base); + xmlFree(base); + } + return (0); +} + +/** + * Implements the XML shell function "setbase" + * change the current XML base of the node + * + * @param ctxt the shell context + * @param arg the new base + * @param node a node + * @param node2 unused + * @returns 0 + */ +static int +xmllintShellSetBase(xmllintShellCtxtPtr ctxt ATTRIBUTE_UNUSED, + char *arg ATTRIBUTE_UNUSED, xmlNodePtr node, + xmlNodePtr node2 ATTRIBUTE_UNUSED) +{ + xmlNodeSetBase(node, (xmlChar*) arg); + return (0); +} + +#ifdef LIBXML_XPATH_ENABLED +/** + * Implements the XML shell function "setns" + * register/unregister a prefix=namespace pair + * on the XPath context + * + * @param ctxt the shell context + * @param arg a string in prefix=nsuri format + * @param node unused + * @param node2 unused + * @returns 0 on success and a negative value otherwise. + */ +static int +xmllintShellRegisterNamespace(xmllintShellCtxtPtr ctxt, char *arg, + xmlNodePtr node ATTRIBUTE_UNUSED, xmlNodePtr node2 ATTRIBUTE_UNUSED) +{ + xmlChar* nsListDup; + xmlChar* prefix; + xmlChar* href; + xmlChar* next; + + nsListDup = xmlStrdup((xmlChar *) arg); + next = nsListDup; + while(next != NULL) { + /* skip spaces */ + /*while((*next) == ' ') next++;*/ + if((*next) == '\0') break; + + /* find prefix */ + prefix = next; + next = (xmlChar*)xmlStrchr(next, '='); + if(next == NULL) { + fprintf(ctxt->output, "setns: prefix=[nsuri] required\n"); + xmlFree(nsListDup); + return(-1); + } + *(next++) = '\0'; + + /* find href */ + href = next; + next = (xmlChar*)xmlStrchr(next, ' '); + if(next != NULL) { + *(next++) = '\0'; + } + + /* do register namespace */ + if(xmlXPathRegisterNs(ctxt->pctxt, prefix, href) != 0) { + fprintf(ctxt->output,"Error: unable to register NS with prefix=\"%s\" and href=\"%s\"\n", prefix, href); + xmlFree(nsListDup); + return(-1); + } + } + + xmlFree(nsListDup); + return(0); +} +/** + * Implements the XML shell function "setrootns" + * which registers all namespaces declarations found on the root element. + * + * @param ctxt the shell context + * @param arg unused + * @param root the root element + * @param node2 unused + * @returns 0 on success and a negative value otherwise. + */ +static int +xmllintShellRegisterRootNamespaces(xmllintShellCtxtPtr ctxt, char *arg ATTRIBUTE_UNUSED, + xmlNodePtr root, xmlNodePtr node2 ATTRIBUTE_UNUSED) +{ + xmlNsPtr ns; + + if ((root == NULL) || (root->type != XML_ELEMENT_NODE) || + (root->nsDef == NULL) || (ctxt == NULL) || (ctxt->pctxt == NULL)) + return(-1); + ns = root->nsDef; + while (ns != NULL) { + if (ns->prefix == NULL) + xmlXPathRegisterNs(ctxt->pctxt, BAD_CAST "defaultns", ns->href); + else + xmlXPathRegisterNs(ctxt->pctxt, ns->prefix, ns->href); + ns = ns->next; + } + return(0); +} +#endif + +/** + * Implements the XML shell function "grep" + * dumps information about the node (namespace, attributes, content). + * + * @param ctxt the shell context + * @param arg the string or regular expression to find + * @param node a node + * @param node2 unused + * @returns 0 + */ +static int +xmllintShellGrep(xmllintShellCtxtPtr ctxt ATTRIBUTE_UNUSED, + char *arg, xmlNodePtr node, xmlNodePtr node2 ATTRIBUTE_UNUSED) +{ + if (!ctxt) + return (0); + if (node == NULL) + return (0); + if (arg == NULL) + return (0); +#ifdef LIBXML_REGEXP_ENABLED + if ((xmlStrchr((xmlChar *) arg, '?')) || + (xmlStrchr((xmlChar *) arg, '*')) || + (xmlStrchr((xmlChar *) arg, '.')) || + (xmlStrchr((xmlChar *) arg, '['))) { + } +#endif + while (node != NULL) { + if (node->type == XML_COMMENT_NODE) { + if (xmlStrstr(node->content, (xmlChar *) arg)) { + fprintf(ctxt->output, "%s : ", xmlGetNodePath(node)); + xmllintShellList(ctxt, NULL, node, NULL); + } + } else if (node->type == XML_TEXT_NODE) { + if (xmlStrstr(node->content, (xmlChar *) arg)) { + fprintf(ctxt->output, "%s : ", xmlGetNodePath(node->parent)); + xmllintShellList(ctxt, NULL, node->parent, NULL); + } + } + + /* + * Browse the full subtree, deep first + */ + + if ((node->type == XML_DOCUMENT_NODE) || + (node->type == XML_HTML_DOCUMENT_NODE)) { + node = ((xmlDocPtr) node)->children; + } else if ((node->children != NULL) + && (node->type != XML_ENTITY_REF_NODE)) { + /* deep first */ + node = node->children; + } else if (node->next != NULL) { + /* then siblings */ + node = node->next; + } else { + /* go up to parents->next if needed */ + while (node != NULL) { + if (node->parent != NULL) { + node = node->parent; + } + if (node->next != NULL) { + node = node->next; + break; + } + if (node->parent == NULL) { + node = NULL; + break; + } + } + } + } + return (0); +} + +/** + * Implements the XML shell function "dir" + * dumps information about the node (namespace, attributes, content). + * + * @param ctxt the shell context + * @param arg unused + * @param node a node + * @param node2 unused + * @returns 0 + */ +static int +xmllintShellDir(xmllintShellCtxtPtr ctxt ATTRIBUTE_UNUSED, + char *arg ATTRIBUTE_UNUSED, xmlNodePtr node, + xmlNodePtr node2 ATTRIBUTE_UNUSED) +{ + if (!ctxt) + return (0); + if (node == NULL) { + fprintf(ctxt->output, "NULL\n"); + return (0); + } +#ifdef LIBXML_DEBUG_ENABLED + if ((node->type == XML_DOCUMENT_NODE) || + (node->type == XML_HTML_DOCUMENT_NODE)) { + xmlDebugDumpDocumentHead(ctxt->output, (xmlDocPtr) node); + } else if (node->type == XML_ATTRIBUTE_NODE) { + xmlDebugDumpAttr(ctxt->output, (xmlAttrPtr) node, 0); + } else { + xmlDebugDumpOneNode(ctxt->output, node, 0); + } +#endif + return (0); +} + +/** + * Implements the XML shell function "dir" + * dumps information about the node (namespace, attributes, content). + * + * @param ctxt the shell context + * @param value the content as a string + * @param node a node + * @param node2 unused + * @returns 0 + */ +static int +xmllintShellSetContent(xmllintShellCtxtPtr ctxt ATTRIBUTE_UNUSED, + char *value, xmlNodePtr node, + xmlNodePtr node2 ATTRIBUTE_UNUSED) +{ + xmlNodePtr results; + xmlParserErrors ret; + + if (!ctxt) + return (0); + if (node == NULL) { + fprintf(ctxt->output, "NULL\n"); + return (0); + } + if (value == NULL) { + fprintf(ctxt->output, "NULL\n"); + return (0); + } + + ret = xmlParseInNodeContext(node, value, strlen(value), 0, &results); + if (ret == XML_ERR_OK) { + if (node->children != NULL) { + xmlFreeNodeList(node->children); + node->children = NULL; + node->last = NULL; + } + xmlAddChildList(node, results); + } else { + fprintf(ctxt->output, "failed to parse content\n"); + } + return (0); +} + +#if defined(LIBXML_VALID_ENABLED) || defined(LIBXML_RELAXNG_ENABLED) +static void +xmllintShellPrintf(void *ctx, const char *msg, ...) { + xmllintShellCtxtPtr sctxt = ctx; + va_list ap; + + va_start(ap, msg); + vfprintf(sctxt->output, msg, ap); + va_end(ap); +} +#endif /* defined(LIBXML_VALID_ENABLED) || defined(LIBXML_RELAXNG_ENABLED) */ + +#ifdef LIBXML_RELAXNG_ENABLED +/** + * Implements the XML shell function "relaxng" + * validating the instance against a Relax-NG schemas + * + * @param sctxt the shell context + * @param schemas the path to the Relax-NG schemas + * @param node a node + * @param node2 unused + * @returns 0 + */ +static int +xmllintShellRNGValidate(xmllintShellCtxtPtr sctxt, char *schemas, + xmlNodePtr node ATTRIBUTE_UNUSED, + xmlNodePtr node2 ATTRIBUTE_UNUSED) +{ + xmlRelaxNGPtr relaxngschemas; + xmlRelaxNGParserCtxtPtr ctxt; + xmlRelaxNGValidCtxtPtr vctxt; + int ret; + + ctxt = xmlRelaxNGNewParserCtxt(schemas); + xmlRelaxNGSetParserErrors(ctxt, xmllintShellPrintf, xmllintShellPrintf, sctxt); + relaxngschemas = xmlRelaxNGParse(ctxt); + xmlRelaxNGFreeParserCtxt(ctxt); + if (relaxngschemas == NULL) { + fprintf(sctxt->output, + "Relax-NG schema %s failed to compile\n", schemas); + return(-1); + } + vctxt = xmlRelaxNGNewValidCtxt(relaxngschemas); + xmlRelaxNGSetValidErrors(vctxt, xmllintShellPrintf, xmllintShellPrintf, sctxt); + ret = xmlRelaxNGValidateDoc(vctxt, sctxt->doc); + if (ret == 0) { + fprintf(sctxt->output, "%s validates\n", sctxt->filename); + } else if (ret > 0) { + fprintf(sctxt->output, "%s fails to validate\n", sctxt->filename); + } else { + fprintf(sctxt->output, "%s validation generated an internal error\n", + sctxt->filename); + } + xmlRelaxNGFreeValidCtxt(vctxt); + if (relaxngschemas != NULL) + xmlRelaxNGFree(relaxngschemas); + return(0); +} +#endif + +#ifdef LIBXML_OUTPUT_ENABLED +/** + * Implements the XML shell function "cat" + * dumps the serialization node content (XML or HTML). + * + * @param ctxt the shell context + * @param arg unused + * @param node a node + * @param node2 unused + * @returns 0 + */ +static int +xmllintShellCat(xmllintShellCtxtPtr ctxt, char *arg ATTRIBUTE_UNUSED, + xmlNodePtr node, xmlNodePtr node2 ATTRIBUTE_UNUSED) +{ + if (!ctxt) + return (0); + if (node == NULL) { + fprintf(ctxt->output, "NULL\n"); + return (0); + } + if (ctxt->doc->type == XML_HTML_DOCUMENT_NODE) { +#ifdef LIBXML_HTML_ENABLED + if (node->type == XML_HTML_DOCUMENT_NODE) + htmlDocDump(ctxt->output, (htmlDocPtr) node); + else + htmlNodeDumpFile(ctxt->output, ctxt->doc, node); +#else + if (node->type == XML_DOCUMENT_NODE) + xmlDocDump(ctxt->output, (xmlDocPtr) node); + else + xmlElemDump(ctxt->output, ctxt->doc, node); +#endif /* LIBXML_HTML_ENABLED */ + } else { + if (node->type == XML_DOCUMENT_NODE) + xmlDocDump(ctxt->output, (xmlDocPtr) node); + else + xmlElemDump(ctxt->output, ctxt->doc, node); + } + fprintf(ctxt->output, "\n"); + return (0); +} +#endif /* LIBXML_OUTPUT_ENABLED */ + +/** + * Implements the XML shell function "load" + * loads a new document specified by the filename + * + * @param ctxt the shell context + * @param filename the file name + * @param node unused + * @param node2 unused + * @returns 0 or -1 if loading failed + */ +static int +xmllintShellLoad(xmllintShellCtxtPtr ctxt, char *filename, + xmlNodePtr node ATTRIBUTE_UNUSED, + xmlNodePtr node2 ATTRIBUTE_UNUSED) +{ + xmlDocPtr doc; + int html = 0; + + if ((ctxt == NULL) || (filename == NULL)) return(-1); + if (ctxt->doc != NULL) + html = (ctxt->doc->type == XML_HTML_DOCUMENT_NODE); + + if (html) { +#ifdef LIBXML_HTML_ENABLED + doc = htmlParseFile(filename, NULL); +#else + fprintf(ctxt->output, "HTML support not compiled in\n"); + doc = NULL; +#endif /* LIBXML_HTML_ENABLED */ + } else { + doc = xmlReadFile(filename,NULL,0); + } + if (doc != NULL) { + if (ctxt->loaded == 1) { + xmlFreeDoc(ctxt->doc); + } + ctxt->loaded = 1; +#ifdef LIBXML_XPATH_ENABLED + xmlXPathFreeContext(ctxt->pctxt); +#endif /* LIBXML_XPATH_ENABLED */ + xmlFree(ctxt->filename); + ctxt->doc = doc; + ctxt->node = (xmlNodePtr) doc; +#ifdef LIBXML_XPATH_ENABLED + ctxt->pctxt = xmlXPathNewContext(doc); +#endif /* LIBXML_XPATH_ENABLED */ + ctxt->filename = (char *) xmlCanonicPath((xmlChar *) filename); + } else + return (-1); + return (0); +} + +#ifdef LIBXML_OUTPUT_ENABLED +/** + * Implements the XML shell function "write" + * Write the current node to the filename, it saves the serialization + * of the subtree under the `node` specified + * + * @param ctxt the shell context + * @param filename the file name + * @param node a node in the tree + * @param node2 unused + * @returns 0 or -1 in case of error + */ +static int +xmllintShellWrite(xmllintShellCtxtPtr ctxt, char *filename, xmlNodePtr node, + xmlNodePtr node2 ATTRIBUTE_UNUSED) +{ + if (node == NULL) + return (-1); + if ((filename == NULL) || (filename[0] == 0)) { + return (-1); + } + switch (node->type) { + case XML_DOCUMENT_NODE: + if (xmlSaveFile((char *) filename, ctxt->doc) < -1) { + fprintf(ctxt->output, + "Failed to write to %s\n", filename); + return (-1); + } + break; + case XML_HTML_DOCUMENT_NODE: +#ifdef LIBXML_HTML_ENABLED + if (htmlSaveFile((char *) filename, ctxt->doc) < 0) { + fprintf(ctxt->output, + "Failed to write to %s\n", filename); + return (-1); + } +#else + if (xmlSaveFile((char *) filename, ctxt->doc) < -1) { + fprintf(ctxt->output, + "Failed to write to %s\n", filename); + return (-1); + } +#endif /* LIBXML_HTML_ENABLED */ + break; + default:{ + FILE *f; + + f = fopen((char *) filename, "wb"); + if (f == NULL) { + fprintf(ctxt->output, + "Failed to write to %s\n", filename); + return (-1); + } + xmlElemDump(f, ctxt->doc, node); + fclose(f); + } + } + return (0); +} + +/** + * Implements the XML shell function "save" + * Write the current document to the filename, or it's original name + * + * @param ctxt the shell context + * @param filename the file name (optional) + * @param node unused + * @param node2 unused + * @returns 0 or -1 in case of error + */ +static int +xmllintShellSave(xmllintShellCtxtPtr ctxt, char *filename, + xmlNodePtr node ATTRIBUTE_UNUSED, + xmlNodePtr node2 ATTRIBUTE_UNUSED) +{ + if ((ctxt == NULL) || (ctxt->doc == NULL)) + return (-1); + if ((filename == NULL) || (filename[0] == 0)) + filename = ctxt->filename; + if (filename == NULL) + return (-1); + switch (ctxt->doc->type) { + case XML_DOCUMENT_NODE: + if (xmlSaveFile((char *) filename, ctxt->doc) < 0) { + fprintf(ctxt->output, + "Failed to save to %s\n", filename); + } + break; + case XML_HTML_DOCUMENT_NODE: +#ifdef LIBXML_HTML_ENABLED + if (htmlSaveFile((char *) filename, ctxt->doc) < 0) { + fprintf(ctxt->output, + "Failed to save to %s\n", filename); + } +#else + if (xmlSaveFile((char *) filename, ctxt->doc) < 0) { + fprintf(ctxt->output, + "Failed to save to %s\n", filename); + } +#endif /* LIBXML_HTML_ENABLED */ + break; + default: + fprintf(ctxt->output, + "To save to subparts of a document use the 'write' command\n"); + return (-1); + + } + return (0); +} +#endif /* LIBXML_OUTPUT_ENABLED */ + +#ifdef LIBXML_VALID_ENABLED +/** + * Implements the XML shell function "validate" + * Validate the document, if a DTD path is provided, then the validation + * is done against the given DTD. + * + * @param ctxt the shell context + * @param dtd the DTD URI (optional) + * @param node unused + * @param node2 unused + * @returns 0 or -1 in case of error + */ +static int +xmllintShellValidate(xmllintShellCtxtPtr ctxt, char *dtd, + xmlNodePtr node ATTRIBUTE_UNUSED, + xmlNodePtr node2 ATTRIBUTE_UNUSED) +{ + xmlValidCtxt vctxt; + int res = -1; + + if ((ctxt == NULL) || (ctxt->doc == NULL)) return(-1); + memset(&vctxt, 0, sizeof(vctxt)); + vctxt.error = xmllintShellPrintf; + vctxt.warning = xmllintShellPrintf; + vctxt.userData = ctxt; + + if ((dtd == NULL) || (dtd[0] == 0)) { + res = xmlValidateDocument(&vctxt, ctxt->doc); + } else { + xmlDtdPtr subset; + + subset = xmlParseDTD(NULL, (xmlChar *) dtd); + if (subset != NULL) { + res = xmlValidateDtd(&vctxt, ctxt->doc, subset); + + xmlFreeDtd(subset); + } + } + return (res); +} +#endif /* LIBXML_VALID_ENABLED */ + +/** + * Implements the XML shell function "du" + * show the structure of the subtree under node `tree` + * If `tree` is null, the command works on the current node. + * + * @param ctxt the shell context + * @param arg unused + * @param tree a node defining a subtree + * @param node2 unused + * @returns 0 or -1 in case of error + */ +static int +xmllintShellDu(xmllintShellCtxtPtr ctxt, + char *arg ATTRIBUTE_UNUSED, xmlNodePtr tree, + xmlNodePtr node2 ATTRIBUTE_UNUSED) +{ + xmlNodePtr node; + int indent = 0, i; + + if (!ctxt) + return (-1); + + if (tree == NULL) + return (-1); + node = tree; + while (node != NULL) { + if ((node->type == XML_DOCUMENT_NODE) || + (node->type == XML_HTML_DOCUMENT_NODE)) { + fprintf(ctxt->output, "/\n"); + } else if (node->type == XML_ELEMENT_NODE) { + for (i = 0; i < indent; i++) + fprintf(ctxt->output, " "); + if ((node->ns) && (node->ns->prefix)) + fprintf(ctxt->output, "%s:", node->ns->prefix); + fprintf(ctxt->output, "%s\n", node->name); + } else { + } + + /* + * Browse the full subtree, deep first + */ + + if ((node->type == XML_DOCUMENT_NODE) || + (node->type == XML_HTML_DOCUMENT_NODE)) { + node = ((xmlDocPtr) node)->children; + } else if ((node->children != NULL) + && (node->type != XML_ENTITY_REF_NODE)) { + /* deep first */ + node = node->children; + indent++; + } else if ((node != tree) && (node->next != NULL)) { + /* then siblings */ + node = node->next; + } else if (node != tree) { + /* go up to parents->next if needed */ + while (node != tree) { + if (node->parent != NULL) { + node = node->parent; + indent--; + } + if ((node != tree) && (node->next != NULL)) { + node = node->next; + break; + } + if (node->parent == NULL) { + node = NULL; + break; + } + if (node == tree) { + node = NULL; + break; + } + } + /* exit condition */ + if (node == tree) + node = NULL; + } else + node = NULL; + } + return (0); +} + +/** + * Implements the XML shell function "pwd" + * Show the full path from the root to the node, if needed building + * thumblers when similar elements exists at a given ancestor level. + * The output is compatible with XPath commands. + * + * @param ctxt the shell context + * @param buffer the output buffer + * @param node a node + * @param node2 unused + * @returns 0 or -1 in case of error + */ +static int +xmllintShellPwd(xmllintShellCtxtPtr ctxt ATTRIBUTE_UNUSED, char *buffer, + xmlNodePtr node, xmlNodePtr node2 ATTRIBUTE_UNUSED) +{ + xmlChar *path; + + if ((node == NULL) || (buffer == NULL)) + return (-1); + + path = xmlGetNodePath(node); + if (path == NULL) + return (-1); + + /* + * This test prevents buffer overflow, because this routine + * is only called by xmllintShell, in which the second argument is + * 500 chars long. + * It is a dirty hack before a cleaner solution is found. + * Documentation should mention that the second argument must + * be at least 500 chars long, and could be stripped if too long. + */ + snprintf(buffer, 499, "%s", path); + buffer[499] = '0'; + xmlFree(path); + + return (0); +} + +#define MAX_PROMPT_SIZE 500 +#define MAX_ARG_SIZE 400 +#define MAX_COMMAND_SIZE 100 + +/** + * Read a string + * + * @param prompt the prompt value + * @returns a pointer to it or NULL on EOF the caller is expected to + * free the returned string. + */ +static char * +xmllintShellReadline(char *prompt) { + char buf[MAX_PROMPT_SIZE+1]; + char *ret; + int len; + +#ifdef HAVE_LIBREADLINE + if (isatty(STDIN_FILENO)) { + char *line_read; + + /* Get a line from the user. */ + line_read = readline (prompt); + +#ifdef HAVE_LIBHISTORY + /* If the line has any text in it, save it on the history. */ + if (line_read && *line_read) + add_history (line_read); +#endif + + return (line_read); + } +#endif + + if (prompt != NULL) + fprintf(stdout, "%s", prompt); + fflush(stdout); + if (!fgets(buf, MAX_PROMPT_SIZE, stdin)) + return(NULL); + buf[MAX_PROMPT_SIZE] = 0; + len = strlen(buf); + ret = (char *) malloc(len + 1); + if (ret != NULL) { + memcpy (ret, buf, len + 1); + } + return(ret); +} + +/** + * Implements the XML shell + * This allow to load, validate, view, modify and save a document + * using a environment similar to a UNIX commandline. + * + * @param doc the initial document + * @param filename the output buffer + * @param output the output FILE*, defaults to stdout if NULL + */ +void +xmllintShell(xmlDoc *doc, const char *filename, FILE * output) +{ + char prompt[MAX_PROMPT_SIZE] = "/ > "; + char *cmdline = NULL, *cur; + char command[MAX_COMMAND_SIZE]; + char arg[MAX_ARG_SIZE]; + int i; + xmllintShellCtxtPtr ctxt; +#ifdef LIBXML_XPATH_ENABLED + xmlXPathObjectPtr list; +#endif + + if (doc == NULL) + return; + if (filename == NULL) + return; + if (output == NULL) + output = stdout; + ctxt = (xmllintShellCtxtPtr) xmlMalloc(sizeof(xmllintShellCtxt)); + if (ctxt == NULL) + return; + ctxt->loaded = 0; + ctxt->doc = doc; + ctxt->output = output; + ctxt->filename = (char *) xmlStrdup((xmlChar *) filename); + ctxt->node = (xmlNodePtr) ctxt->doc; + +#ifdef LIBXML_XPATH_ENABLED + ctxt->pctxt = xmlXPathNewContext(ctxt->doc); + if (ctxt->pctxt == NULL) { + xmlFree(ctxt); + return; + } +#endif /* LIBXML_XPATH_ENABLED */ + while (1) { + if (ctxt->node == (xmlNodePtr) ctxt->doc) + snprintf(prompt, sizeof(prompt), "%s > ", "/"); + else if ((ctxt->node != NULL) && (ctxt->node->name) && + (ctxt->node->ns) && (ctxt->node->ns->prefix)) + snprintf(prompt, sizeof(prompt), "%s:%s > ", + (ctxt->node->ns->prefix), ctxt->node->name); + else if ((ctxt->node != NULL) && (ctxt->node->name)) + snprintf(prompt, sizeof(prompt), "%s > ", ctxt->node->name); + else + snprintf(prompt, sizeof(prompt), "? > "); + prompt[sizeof(prompt) - 1] = 0; + + /* + * Get a new command line + */ + cmdline = xmllintShellReadline(prompt); + if (cmdline == NULL) + break; + + /* + * Parse the command itself + */ + cur = cmdline; + while ((*cur == ' ') || (*cur == '\t')) + cur++; + i = 0; + while ((*cur != ' ') && (*cur != '\t') && + (*cur != '\n') && (*cur != '\r') && + (i < (MAX_COMMAND_SIZE - 1))) { + if (*cur == 0) + break; + command[i++] = *cur++; + } + command[i] = 0; + if (i == 0) { + free(cmdline); + cmdline = NULL; + continue; + } + + /* + * Parse the argument + */ + while ((*cur == ' ') || (*cur == '\t')) + cur++; + i = 0; + while ((*cur != '\n') && (*cur != '\r') && (*cur != 0) && (i < (MAX_ARG_SIZE-1))) { + if (*cur == 0) + break; + arg[i++] = *cur++; + } + arg[i] = 0; + + /* + * start interpreting the command + */ + if (!strcmp(command, "exit")) + break; + if (!strcmp(command, "quit")) + break; + if (!strcmp(command, "bye")) + break; + if (!strcmp(command, "help")) { + fprintf(ctxt->output, "\tbase display XML base of the node\n"); + fprintf(ctxt->output, "\tsetbase URI change the XML base of the node\n"); + fprintf(ctxt->output, "\tbye leave shell\n"); + fprintf(ctxt->output, "\tcat [node] display node or current node\n"); + fprintf(ctxt->output, "\tcd [path] change directory to path or to root\n"); + fprintf(ctxt->output, "\tdir [path] dumps information about the node (namespace, attributes, content)\n"); + fprintf(ctxt->output, "\tdu [path] show the structure of the subtree under path or the current node\n"); + fprintf(ctxt->output, "\texit leave shell\n"); + fprintf(ctxt->output, "\thelp display this help\n"); + fprintf(ctxt->output, "\tfree display memory usage\n"); + fprintf(ctxt->output, "\tload [name] load a new document with name\n"); + fprintf(ctxt->output, "\tls [path] list contents of path or the current directory\n"); + fprintf(ctxt->output, "\tset xml_fragment replace the current node content with the fragment parsed in context\n"); +#ifdef LIBXML_XPATH_ENABLED + fprintf(ctxt->output, "\txpath expr evaluate the XPath expression in that context and print the result\n"); + fprintf(ctxt->output, "\tsetns nsreg register a namespace to a prefix in the XPath evaluation context\n"); + fprintf(ctxt->output, "\t format for nsreg is: prefix=[nsuri] (i.e. prefix= unsets a prefix)\n"); + fprintf(ctxt->output, "\tsetrootns register all namespace found on the root element\n"); + fprintf(ctxt->output, "\t the default namespace if any uses 'defaultns' prefix\n"); +#endif /* LIBXML_XPATH_ENABLED */ + fprintf(ctxt->output, "\tpwd display current working directory\n"); + fprintf(ctxt->output, "\twhereis display absolute path of [path] or current working directory\n"); + fprintf(ctxt->output, "\tquit leave shell\n"); +#ifdef LIBXML_OUTPUT_ENABLED + fprintf(ctxt->output, "\tsave [name] save this document to name or the original name\n"); + fprintf(ctxt->output, "\twrite [name] write the current node to the filename\n"); +#endif /* LIBXML_OUTPUT_ENABLED */ +#ifdef LIBXML_VALID_ENABLED + fprintf(ctxt->output, "\tvalidate check the document for errors\n"); +#endif /* LIBXML_VALID_ENABLED */ +#ifdef LIBXML_RELAXNG_ENABLED + fprintf(ctxt->output, "\trelaxng rng validate the document against the Relax-NG schemas\n"); +#endif + fprintf(ctxt->output, "\tgrep string search for a string in the subtree\n"); +#ifdef LIBXML_VALID_ENABLED + } else if (!strcmp(command, "validate")) { + xmllintShellValidate(ctxt, arg, NULL, NULL); +#endif /* LIBXML_VALID_ENABLED */ + } else if (!strcmp(command, "load")) { + xmllintShellLoad(ctxt, arg, NULL, NULL); +#ifdef LIBXML_RELAXNG_ENABLED + } else if (!strcmp(command, "relaxng")) { + xmllintShellRNGValidate(ctxt, arg, NULL, NULL); +#endif +#ifdef LIBXML_OUTPUT_ENABLED + } else if (!strcmp(command, "save")) { + xmllintShellSave(ctxt, arg, NULL, NULL); + } else if (!strcmp(command, "write")) { + if (arg[0] == 0) + fprintf(ctxt->output, + "Write command requires a filename argument\n"); + else + xmllintShellWrite(ctxt, arg, ctxt->node, NULL); +#endif /* LIBXML_OUTPUT_ENABLED */ + } else if (!strcmp(command, "grep")) { + xmllintShellGrep(ctxt, arg, ctxt->node, NULL); + } else if (!strcmp(command, "pwd")) { + char dir[500]; + + if (!xmllintShellPwd(ctxt, dir, ctxt->node, NULL)) + fprintf(ctxt->output, "%s\n", dir); + } else if (!strcmp(command, "du")) { + if (arg[0] == 0) { + xmllintShellDu(ctxt, NULL, ctxt->node, NULL); + } else { +#ifdef LIBXML_XPATH_ENABLED + ctxt->pctxt->node = ctxt->node; + list = xmlXPathEval((xmlChar *) arg, ctxt->pctxt); + if (list != NULL) { + switch (list->type) { + case XPATH_UNDEFINED: + fprintf(ctxt->output, + "%s: no such node\n", arg); + break; + case XPATH_NODESET:{ + int indx; + + if (list->nodesetval == NULL) + break; + + for (indx = 0; + indx < list->nodesetval->nodeNr; + indx++) + xmllintShellDu(ctxt, NULL, + list->nodesetval-> + nodeTab[indx], NULL); + break; + } + case XPATH_BOOLEAN: + fprintf(ctxt->output, + "%s is a Boolean\n", arg); + break; + case XPATH_NUMBER: + fprintf(ctxt->output, + "%s is a number\n", arg); + break; + case XPATH_STRING: + fprintf(ctxt->output, + "%s is a string\n", arg); + break; + case XPATH_USERS: + fprintf(ctxt->output, + "%s is user-defined\n", arg); + break; + case XPATH_XSLT_TREE: + fprintf(ctxt->output, + "%s is an XSLT value tree\n", + arg); + break; + } + xmlXPathFreeObject(list); + } else { + fprintf(ctxt->output, + "%s: no such node\n", arg); + } + ctxt->pctxt->node = NULL; +#endif /* LIBXML_XPATH_ENABLED */ + } + } else if (!strcmp(command, "base")) { + xmllintShellBase(ctxt, NULL, ctxt->node, NULL); + } else if (!strcmp(command, "set")) { + xmllintShellSetContent(ctxt, arg, ctxt->node, NULL); +#ifdef LIBXML_XPATH_ENABLED + } else if (!strcmp(command, "setns")) { + if (arg[0] == 0) { + fprintf(ctxt->output, + "setns: prefix=[nsuri] required\n"); + } else { + xmllintShellRegisterNamespace(ctxt, arg, NULL, NULL); + } + } else if (!strcmp(command, "setrootns")) { + xmlNodePtr root; + + root = xmlDocGetRootElement(ctxt->doc); + xmllintShellRegisterRootNamespaces(ctxt, NULL, root, NULL); +#ifdef LIBXML_DEBUG_ENABLED + } else if (!strcmp(command, "xpath")) { + if (arg[0] == 0) { + fprintf(ctxt->output, + "xpath: expression required\n"); + } else { + ctxt->pctxt->node = ctxt->node; + list = xmlXPathEval((xmlChar *) arg, ctxt->pctxt); + xmlXPathDebugDumpObject(ctxt->output, list, 0); + xmlXPathFreeObject(list); + } +#endif /* LIBXML_DEBUG_ENABLED */ +#endif /* LIBXML_XPATH_ENABLED */ + } else if (!strcmp(command, "setbase")) { + xmllintShellSetBase(ctxt, arg, ctxt->node, NULL); + } else if ((!strcmp(command, "ls")) || (!strcmp(command, "dir"))) { + int dir = (!strcmp(command, "dir")); + + if (arg[0] == 0) { + if (dir) + xmllintShellDir(ctxt, NULL, ctxt->node, NULL); + else + xmllintShellList(ctxt, NULL, ctxt->node, NULL); + } else { +#ifdef LIBXML_XPATH_ENABLED + ctxt->pctxt->node = ctxt->node; + list = xmlXPathEval((xmlChar *) arg, ctxt->pctxt); + if (list != NULL) { + switch (list->type) { + case XPATH_UNDEFINED: + fprintf(ctxt->output, + "%s: no such node\n", arg); + break; + case XPATH_NODESET:{ + int indx; + + if (list->nodesetval == NULL) + break; + + for (indx = 0; + indx < list->nodesetval->nodeNr; + indx++) { + if (dir) + xmllintShellDir(ctxt, NULL, + list->nodesetval-> + nodeTab[indx], NULL); + else + xmllintShellList(ctxt, NULL, + list->nodesetval-> + nodeTab[indx], NULL); + } + break; + } + case XPATH_BOOLEAN: + fprintf(ctxt->output, + "%s is a Boolean\n", arg); + break; + case XPATH_NUMBER: + fprintf(ctxt->output, + "%s is a number\n", arg); + break; + case XPATH_STRING: + fprintf(ctxt->output, + "%s is a string\n", arg); + break; + case XPATH_USERS: + fprintf(ctxt->output, + "%s is user-defined\n", arg); + break; + case XPATH_XSLT_TREE: + fprintf(ctxt->output, + "%s is an XSLT value tree\n", + arg); + break; + } + xmlXPathFreeObject(list); + } else { + fprintf(ctxt->output, + "%s: no such node\n", arg); + } + ctxt->pctxt->node = NULL; +#endif /* LIBXML_XPATH_ENABLED */ + } + } else if (!strcmp(command, "whereis")) { + char dir[500]; + + if (arg[0] == 0) { + if (!xmllintShellPwd(ctxt, dir, ctxt->node, NULL)) + fprintf(ctxt->output, "%s\n", dir); + } else { +#ifdef LIBXML_XPATH_ENABLED + ctxt->pctxt->node = ctxt->node; + list = xmlXPathEval((xmlChar *) arg, ctxt->pctxt); + if (list != NULL) { + switch (list->type) { + case XPATH_UNDEFINED: + fprintf(ctxt->output, + "%s: no such node\n", arg); + break; + case XPATH_NODESET:{ + int indx; + + if (list->nodesetval == NULL) + break; + + for (indx = 0; + indx < list->nodesetval->nodeNr; + indx++) { + if (!xmllintShellPwd(ctxt, dir, list->nodesetval-> + nodeTab[indx], NULL)) + fprintf(ctxt->output, "%s\n", dir); + } + break; + } + case XPATH_BOOLEAN: + fprintf(ctxt->output, + "%s is a Boolean\n", arg); + break; + case XPATH_NUMBER: + fprintf(ctxt->output, + "%s is a number\n", arg); + break; + case XPATH_STRING: + fprintf(ctxt->output, + "%s is a string\n", arg); + break; + case XPATH_USERS: + fprintf(ctxt->output, + "%s is user-defined\n", arg); + break; + case XPATH_XSLT_TREE: + fprintf(ctxt->output, + "%s is an XSLT value tree\n", + arg); + break; + } + xmlXPathFreeObject(list); + } else { + fprintf(ctxt->output, + "%s: no such node\n", arg); + } + ctxt->pctxt->node = NULL; +#endif /* LIBXML_XPATH_ENABLED */ + } + } else if (!strcmp(command, "cd")) { + if (arg[0] == 0) { + ctxt->node = (xmlNodePtr) ctxt->doc; + } else { +#ifdef LIBXML_XPATH_ENABLED + int l; + + ctxt->pctxt->node = ctxt->node; + l = strlen(arg); + if ((l >= 2) && (arg[l - 1] == '/')) + arg[l - 1] = 0; + list = xmlXPathEval((xmlChar *) arg, ctxt->pctxt); + if (list != NULL) { + switch (list->type) { + case XPATH_UNDEFINED: + fprintf(ctxt->output, + "%s: no such node\n", arg); + break; + case XPATH_NODESET: + if (list->nodesetval != NULL) { + if (list->nodesetval->nodeNr == 1) { + ctxt->node = list->nodesetval->nodeTab[0]; + if ((ctxt->node != NULL) && + (ctxt->node->type == + XML_NAMESPACE_DECL)) { + fprintf(ctxt->output, + "cannot cd to namespace\n"); + ctxt->node = NULL; + } + } else + fprintf(ctxt->output, + "%s is a %d Node Set\n", + arg, + list->nodesetval->nodeNr); + } else + fprintf(ctxt->output, + "%s is an empty Node Set\n", + arg); + break; + case XPATH_BOOLEAN: + fprintf(ctxt->output, + "%s is a Boolean\n", arg); + break; + case XPATH_NUMBER: + fprintf(ctxt->output, + "%s is a number\n", arg); + break; + case XPATH_STRING: + fprintf(ctxt->output, + "%s is a string\n", arg); + break; + case XPATH_USERS: + fprintf(ctxt->output, + "%s is user-defined\n", arg); + break; + case XPATH_XSLT_TREE: + fprintf(ctxt->output, + "%s is an XSLT value tree\n", + arg); + break; + } + xmlXPathFreeObject(list); + } else { + fprintf(ctxt->output, + "%s: no such node\n", arg); + } + ctxt->pctxt->node = NULL; +#endif /* LIBXML_XPATH_ENABLED */ + } +#ifdef LIBXML_OUTPUT_ENABLED + } else if (!strcmp(command, "cat")) { + if (arg[0] == 0) { + xmllintShellCat(ctxt, NULL, ctxt->node, NULL); + } else { +#ifdef LIBXML_XPATH_ENABLED + ctxt->pctxt->node = ctxt->node; + list = xmlXPathEval((xmlChar *) arg, ctxt->pctxt); + if (list != NULL) { + switch (list->type) { + case XPATH_UNDEFINED: + fprintf(ctxt->output, + "%s: no such node\n", arg); + break; + case XPATH_NODESET:{ + int indx; + + if (list->nodesetval == NULL) + break; + + for (indx = 0; + indx < list->nodesetval->nodeNr; + indx++) { + if (i > 0) + fprintf(ctxt->output, " -------\n"); + xmllintShellCat(ctxt, NULL, + list->nodesetval-> + nodeTab[indx], NULL); + } + break; + } + case XPATH_BOOLEAN: + fprintf(ctxt->output, + "%s is a Boolean\n", arg); + break; + case XPATH_NUMBER: + fprintf(ctxt->output, + "%s is a number\n", arg); + break; + case XPATH_STRING: + fprintf(ctxt->output, + "%s is a string\n", arg); + break; + case XPATH_USERS: + fprintf(ctxt->output, + "%s is user-defined\n", arg); + break; + case XPATH_XSLT_TREE: + fprintf(ctxt->output, + "%s is an XSLT value tree\n", + arg); + break; + } + xmlXPathFreeObject(list); + } else { + fprintf(ctxt->output, + "%s: no such node\n", arg); + } + ctxt->pctxt->node = NULL; +#endif /* LIBXML_XPATH_ENABLED */ + } +#endif /* LIBXML_OUTPUT_ENABLED */ + } else { + fprintf(ctxt->output, + "Unknown command %s\n", command); + } + free(cmdline); /* not xmlFree here ! */ + cmdline = NULL; + } +#ifdef LIBXML_XPATH_ENABLED + xmlXPathFreeContext(ctxt->pctxt); +#endif /* LIBXML_XPATH_ENABLED */ + if (ctxt->loaded) { + xmlFreeDoc(ctxt->doc); + } + if (ctxt->filename != NULL) + xmlFree(ctxt->filename); + xmlFree(ctxt); + if (cmdline != NULL) + free(cmdline); /* not xmlFree here ! */ +} diff --git a/libxml2/test/HTML/53867.html b/libxml2/test/HTML/53867.html new file mode 100644 index 0000000..ac27999 --- /dev/null +++ b/libxml2/test/HTML/53867.html @@ -0,0 +1,69 @@ + + + + + diff --git a/libxml2/test/HTML/758518-entity.html b/libxml2/test/HTML/758518-entity.html new file mode 100644 index 0000000..d31c8ff --- /dev/null +++ b/libxml2/test/HTML/758518-entity.html @@ -0,0 +1 @@ +&jÙ \ No newline at end of file diff --git a/libxml2/test/HTML/758518-tag.html b/libxml2/test/HTML/758518-tag.html new file mode 100644 index 0000000..935e752 --- /dev/null +++ b/libxml2/test/HTML/758518-tag.html @@ -0,0 +1 @@ + + + This service is temporary down + + + +

    Sorry, this service is temporary down

    +We are doing our best to get it back on-line, + +

    The W3C system administrators

    + + diff --git a/libxml2/test/HTML/attr-ents.html b/libxml2/test/HTML/attr-ents.html new file mode 100644 index 0000000..a566561 --- /dev/null +++ b/libxml2/test/HTML/attr-ents.html @@ -0,0 +1,7 @@ + + +link +link +link + + diff --git a/libxml2/test/HTML/attrents.html b/libxml2/test/HTML/attrents.html new file mode 100644 index 0000000..8486ec0 --- /dev/null +++ b/libxml2/test/HTML/attrents.html @@ -0,0 +1,5 @@ + + +
    + + diff --git a/libxml2/test/HTML/autoclose.html b/libxml2/test/HTML/autoclose.html new file mode 100644 index 0000000..e123ba7 --- /dev/null +++ b/libxml2/test/HTML/autoclose.html @@ -0,0 +1 @@ +
    diff --git a/libxml2/test/HTML/autoclose2.html b/libxml2/test/HTML/autoclose2.html new file mode 100644 index 0000000..d40082c --- /dev/null +++ b/libxml2/test/HTML/autoclose2.html @@ -0,0 +1 @@ +

    toto diff --git a/libxml2/test/HTML/autoclose3.html b/libxml2/test/HTML/autoclose3.html new file mode 100644 index 0000000..8c7a45a --- /dev/null +++ b/libxml2/test/HTML/autoclose3.html @@ -0,0 +1,3 @@ +